Использую PUN 2
Photon создаёт два объекта на сцене. У каждого из объектов есть фигура, которая будет передвигаться по полю и кнопка которая двигает его. Игра идёт по очереди. Первый ход - мастер клиент, второй - другой игрок.
Как сделать, чтобы кнопка хода была видна(или активна) у того игрока, чей сейчас ход?
Если я создаю кнопки вместе с игроком, то кнопки две. Одна из них отключена, а вот вторая видна всем игрокам на сцене.
Скрипт Передвижения куба
public List<Transform> transforms = new();
public GameObject cube;
public static Move instance;
public int stepOfGame;
public int position;
public List<int> viewList = new();
public int cntStepOfgame;
public bool isFirstStep;
private void Start()
{
instance = this;
}
private int RandomizePoint()
{
System.Random random = new System.Random();
return random.Next(1, 4); // Какие значения выпадают
}
private void LateUpdate()
{
viewList.Sort();
if (!isFirstStep) { stepOfGame = viewList[0]; }
}
public void MoveOnClick()
{
int flip = RandomizePoint();
position += flip;
if (position >= 6) //6 клеток для движений
{
position -= 6;
}
Debug.Log(flip.ToString());
if (cntStepOfgame == 2)
cntStepOfgame = 0;
stepOfGame = viewList[cntStepOfgame];
cube.transform.position = transforms[position].position;
cntStepOfgame++;
}
Скрипт Включения и выключения кнопок
public GameObject ClickBtn;
public PhotonView photonView;
public int idPlayer;
private void Start()
{
idPlayer = photonView.ViewID;
Move.instance.viewList.Add(idPlayer);
}
private void Update()
{
if (idPlayer == Move.instance.stepOfGame)
ClickBtn.SetActive(true);
else
ClickBtn.SetActive(false);
}