Два объекта от одного префаба ведут себя по разному

Программирование на Юнити.

Два объекта от одного префаба ведут себя по разному

Сообщение Georgeo 13 сен 2019, 20:03

Ситуация такая.
Делаю пошаговую игру, в ней есть два юнита, они должны двинутся в конец хода. Есть скрипт на канвасе с public переменной eot1 и eot2, обозначающие конец хода игрока1 и игрока2 соответственно. На самих юнитах, которые должны двинуться вперед висит такой скрипт:

public static bool Action = false;
public GameObject field;
private GameController GC;
void Start()
{
Action = true;
field = GameObject.Find("Canvas");
GC = field.GetComponent<GameController>();
}


void FixedUpdate()
{

if (Action == true && GC.eot1 == true)
{
Action = false;
transform.Translate( new Vector3(-6.2f,0f,0f));
Debug.Log("UnitAction");
}
else if (Action == false && GC.eot1 == false)
{
Action = true;
}
}

Всё работает, пока юнит в игре один, однако, если появляется его точная копия, то действие выполняет только тот юнит, который был создан последним. Как быть? Возможно это проблема с прочтением переменной eot1? Заранее благодарен любой помощи...
Georgeo
UNец
 
Сообщения: 6
Зарегистрирован: 13 сен 2019, 18:49

Re: Два объекта от одного префаба ведут себя по разному

Сообщение Georgeo 16 сен 2019, 12:33

Нашёл сам у себя ошибку, проблема в том, что переменная Action была static)
Georgeo
UNец
 
Сообщения: 6
Зарегистрирован: 13 сен 2019, 18:49


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 10