@Foxman2025

Как сделать, чтобы кнопка хода была видна(или активна) у того игрока, чей сейчас ход?

Использую 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);
    }
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы