public Transform pObject;//(player object)
public Transform eObject;//(enemy object)
void Awake () {здесь вам нужно назначить ОБА объектам начальные позиции, под обоими объектами я подразумеваю два элемента, которые вы хотите породить их в следующем.Я не уверен, как вы назначаете это, но так как я использую публичные переменные, вы можете просто перетащить оба объекта в этот скрипт в инспекторе, но если вы используете теги, вы получите их в:
void Awake(){
}
тогда вы можете просто сделать это:
private IEnumerator WhoTurn()
{
if (whosTurn == 1)
{
GameController.MovePlayer(1);
CameraController.isTurnPlayer1 = true;
CameraController.isTurnPlayer2 = false;
transform.position=pObject.position;
}
else if (whosTurn == -1)
{
GameController.MovePlayer(2);
CameraController.isTurnPlayer2 = true;
CameraController.isTurnPlayer1 = false;
transform.position=eObject.position;
}
whosTurn = whosTurn * -1;
yield return 0;
, поэтому вам понадобится переменная для обоих местоположений, тогда вы можете просто переключаться назад и вперед.этот скрипт будет работать на объекте, который вы хотите переместить.
в качестве альтернативы, я знаю, что вы не хотите использовать создание экземпляров, но вы можете просто создать один экземпляр, когда начинается ход игрока, затем Destroy(gameObject)
, когда заканчивается ход..