Ejemplo n.º 1
0
    void InitNetwork()
    {
        WSServerState.Reset();

        if (DebugStandalone)
        {
            WSServer.Stop();
            WSServerState.Reset();
            WSClient.Disconnect();
            WSClientState.Reset();
            WSServer.StartFake();
            WSClient.ConnectFake();
        }
        else if (IsClient)
        {
            WSServer.Stop();
            WSServerState.Reset();
            WSClient.Connect();
        }
        else
        {
            WSClient.Disconnect();
            WSClientState.Reset();
            if (!WSServer.IsRunning)
            {
                WSServer.Start();
            }
        }
    }
Ejemplo n.º 2
0
    //판넬 키는 부분
    void Update()
    {
        ScoreView.Set(Score.P1Score, Score.P2Score);
        TimerView.Set((int)ServerGameTime);

        if (GameState == 0)
        {
            if (Players.ContainsKey(WSConfig.DeviceId))
            {
                ReadyButton.SetActive(false);
            }

            if (Init.DebugStandalone)
            {
                GameStart();
            }
            else if (Players.Count >= 2)
            {
                WSClient.Join();
                ReadyPanel.SetActive(false);
                Invoke("GameStart", 0.5f);
            }
            else
            {
                ReadyPanel.SetActive(true);
            }
        }
        else if (GameState == 1)
        {
            if (ServerGameTime < 0.0f || Score.P1Score == 10 || Score.P2Score == 10)
            {
                var maybeMyTeam = MyTeam;
                int myTeam      = 0;
                if (maybeMyTeam.HasValue)
                {
                    myTeam = maybeMyTeam.Value;
                }
                else
                {
                    Debug.LogError("My player not found");
                    myTeam = 0;
                }

                GameState = 2;
                var meWinState = 0;
                ResultPanel.SetActive(true);
                if (Score.P1Score > Score.P2Score)
                {
                    ManWin.SetActive(true);
                    GirlLose.SetActive(true);
                    meWinState = (myTeam == 0) ? 1 : -1;
                }
                else if (Score.P1Score == Score.P2Score)
                {
                    ManLose.SetActive(true);
                    GirlLose.SetActive(true);
                    meWinState = 0;
                }
                else
                {
                    ManLose.SetActive(true);
                    GirlWin.SetActive(true);
                    meWinState = (myTeam == 0) ? -1 : 1;
                }

                if (meWinState == 1)
                {
                    WinButton.SetActive(true);
                }
                if (meWinState == 0)
                {
                    DrawButton.SetActive(true);
                }
                if (meWinState == -1)
                {
                    LoseButton.SetActive(true);
                }
            }
        }

        if (ResetServer && WSServer.IsRunning)
        {
            ResetServer = false;
            if (WSServerState.JoinedPlayers.Count < 2)
            {
                WSServerState.Reset();
            }
            SceneManager.LoadScene("main");
        }
    }