public override void NetworkStart() { base.NetworkStart(); if (!IsServer) { enabled = false; } else { m_NetPortal = GameObject.FindGameObjectWithTag("GameNetPortal").GetComponent <GameNetPortal>(); m_ServerNetPortal = m_NetPortal.GetComponent <ServerGameNetPortal>(); m_NetPortal.ClientSceneChanged += OnClientSceneChanged; // retrieve the lobby state info so that the players we're about to spawn can query it var o = GameStateRelay.GetRelayObject(); if (o != null && o.GetType() != typeof(LobbyResults)) { throw new System.Exception("No LobbyResults found!"); } m_LobbyResults = (LobbyResults)o; DoInitialSpawnIfPossible(); } }
private IEnumerator CoroGameOver(float wait, bool gameWon) { // wait 5 seconds for game animations to finish yield return(new WaitForSeconds(wait)); GameStateRelay.SetRelayObject(gameWon); MLAPI.SceneManagement.NetworkSceneManager.SwitchScene("PostGame"); }
private void SaveLobbyResults() { LobbyResults lobbyResults = new LobbyResults(); foreach (CharSelectData.LobbyPlayerState playerInfo in CharSelectData.LobbyPlayers) { lobbyResults.Choices[playerInfo.ClientId] = new LobbyResults.CharSelectChoice(playerInfo.PlayerNum, CharSelectData.LobbySeatConfigurations[playerInfo.SeatIdx].Class, CharSelectData.LobbySeatConfigurations[playerInfo.SeatIdx].CharacterArtIdx); } GameStateRelay.SetRelayObject(lobbyResults); }
public override void NetworkStart() { base.NetworkStart(); if (!IsServer) { enabled = false; } else { bool won = (bool)GameStateRelay.GetRelayObject(); StartCoroutine(CoroSetWinLoss(won)); } }
/// <summary> /// Temp code to spawn an enemy /// </summary> private void Update() { if (Input.GetKeyDown(KeyCode.E)) { var newEnemy = Instantiate(m_EnemyPrefab); newEnemy.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); } if (Input.GetKeyDown(KeyCode.B)) { var newEnemy = Instantiate(m_BossPrefab); newEnemy.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId); } if (Input.GetKeyDown(KeyCode.Q)) { GameStateRelay.SetRelayObject(false); MLAPI.SceneManagement.NetworkSceneManager.SwitchScene("PostGame"); } }