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(); } } }
//판넬 키는 부분 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"); } }