public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.IsWriting) { if (PhotonNetwork.IsMasterClient) { stream.SendNext(currentGameTime); stream.SendNext((int)CurrentGameTimeState); stream.SendNext(countdownTime); stream.SendNext(notifiedCurrentGameTime); } } else { if (!PhotonNetwork.IsMasterClient) { currentGameTime = (float)stream.ReceiveNext(); GameTimeState syncedState = (GameTimeState)stream.ReceiveNext(); if (syncedState != CurrentGameTimeState) { CurrentGameTimeState = syncedState; } countdownTime = (float)stream.ReceiveNext(); notifiedCurrentGameTime = (bool)stream.ReceiveNext(); } } }
private void HandleState_Ready() { if (!EnoughPeopleToStart()) { CurrentGameTimeState = GameTimeState.WaitingForPlayers; } }
private void HandleState_WaitingForPlayers() { if (EnoughPeopleToStart()) { CurrentGameTimeState = GameTimeState.Ready; } }
private void Start() { // First one to join. if (PhotonNetwork.IsMasterClient) { CurrentGameTimeState = GameTimeState.WaitingForPlayers; } }
private void HandleState_Ending() { countdownTime -= Time.deltaTime; if (countdownTime <= 0) { CurrentGameTimeState = GameTimeState.WaitingForPlayers; } }
private void HandleState_Starting() { countdownTime -= Time.deltaTime; if (countdownTime <= 0) { StartMatch(); } if (!EnoughPeopleToStart()) { CurrentGameTimeState = GameTimeState.WaitingForPlayers; countdownTime = 0; } }
private void StartMatch() { if (CurrentGameTimeState == GameTimeState.InProgress) { return; } currentGameTime = GAME_TIME_IN_SECONDS; CurrentGameTimeState = GameTimeState.InProgress; if (PhotonNetwork.IsMasterClient) { NotificationManager.instance.NewNotification("<color=red>Match Started!"); } }
private void EndMatch() { if (CurrentGameTimeState == GameTimeState.Ending) { return; } currentGameTime = 0; countdownTime = endGameCountdownTime; CurrentGameTimeState = GameTimeState.Ending; if (PhotonNetwork.IsMasterClient) { NotificationManager.instance.NewNotification("<color=red>Match Ended!"); } }
private void TryStartMatch() { if (EnoughPeopleToStart()) { if (CurrentGameTimeState != GameTimeState.Starting) { CurrentGameTimeState = GameTimeState.Starting; } if (PhotonNetwork.IsMasterClient) { countdownTime = startGameCountdownTime; } } else { if (CurrentGameTimeState != GameTimeState.WaitingForPlayers) { CurrentGameTimeState = GameTimeState.WaitingForPlayers; } } }
public void ChangeGameState(GameTimeState gameState) { this.gameState = gameState; if (this.gameState == GameTimeState.Pause) { pauseMenu.SetActive(true); Time.timeScale = 0; Cursor.lockState = CursorLockMode.None; } else if (this.gameState == GameTimeState.Moving) { pauseMenu.SetActive(false); Time.timeScale = 1; Cursor.lockState = CursorLockMode.Locked; } else if (this.gameState == GameTimeState.Talking) { pauseMenu.SetActive(false); Time.timeScale = 1; Cursor.lockState = CursorLockMode.None; } }
public SChangeSubStateAckMessage(GameTimeState state) { State = state; }
public GameRefreshGameRuleInfoAckMessage(GameState _GameState, GameTimeState _GameTimeState, int _ElapsedTime) { GameState = _GameState; GameTimeState = _GameTimeState; ElapsedTime = _ElapsedTime; }
public MustBeTimeState(GameTimeState state) { _state = state; }