Пример #1
0
    private void Start()
    {
        if (instance == null)
        {
            instance = this;
        }

        player             = GameObject.FindGameObjectsWithTag("Player");
        PortalAcceptParent = GameObject.Find("PortalPopUp");
        FadeController     = GameObject.Find("FadeController");
        PortalAcceptParent.transform.Find("PortalAccept").gameObject.SetActive(false);
        PortalAcceptParent.transform.Find("WaitingForOtherPlayer").gameObject.SetActive(false);
    }
Пример #2
0
    public void SetPortalUseSelect(int playerNumber, EAccept opinion)
    {
        if (opinion != EAccept._waiting && _playerAccepts[playerNumber] != EAccept._waiting)
        {
            return;
        }
        _playerAccepts[playerNumber] = opinion;
        LoadImage(playerNumber, opinion);

        if (opinion == EAccept._accept)
        {
            _acceptCount++;
            if (Network.CTcpClient.instance != null)
            {
                var packet = Network.CPacketFactory.CreatePortalVote(0);
                Network.CTcpClient.instance.Send(packet.data);
            }
            // 싱글 / 멀티 플레이용 확인
            if (CPlayerCommand.instance.activePlayersCount <= _acceptCount)
            {
                Debug.Log("Go Next Room");
                CPortalManager portalManager = GameObject.Find("PortalManager").GetComponent <CPortalManager>();
                SetActivePortalPopup(false);
                portalManager.MoveToNextRoom();

                ResetPortalUseSelect();
            }
        }
        else if (opinion == EAccept._cancle)
        {
            // 취소 처리하고 몇 초 있다가 복구
            Invoke("CancelPortal", 3.0f);
            if (Network.CTcpClient.instance != null)
            {
                var packet = Network.CPacketFactory.CreatePortalVote(1);
                Network.CTcpClient.instance.Send(packet.data);
            }
        }
    }