Пример #1
0
 private IEnumerator Countdown()
 {
     for (ushort i = CountdownFrom; i > 0; i--)
     {
         SyncGameServer.Countdown(i);
         yield return(new WaitForSeconds(1));
     }
     SyncGameServer.Countdown(0);
     Finish();
 }
Пример #2
0
        public void StartLevel()
        {
            SyncGameServer.StartLevel();

            foreach (var playerManager in _controlSLA.PlayerManagers.Values)
            {
                ServerManager.Instance.Server.Dispatcher.InvokeAsync(() =>
                {
                    playerManager.Shield.SetActive(false);
                });
                playerManager.IsInvulnerable = false;
            }

            _score.StartScore();
        }
Пример #3
0
        private IEnumerator PrepareLevel()
        {
            // Show Highscore and current level
            SyncGameServer.PrepareLevel(CurrentLevel);
            yield return(new WaitForSeconds(3));

            SyncGameServer.HidePanels();
            yield return(new WaitForSeconds(1));

            ServerManager.Instance.Server.Dispatcher.InvokeAsync(() =>
            {
                Text.text = "Level " + CurrentLevel;
            });

            // Spawn Players and Drones
            var playerStates = new List <PlayerState>();

            foreach (var playerManager in PlayerManagers.Values)
            {
                playerStates.Add(_initializeGame.SpawnPlayer(playerManager));
            }

            SyncPlayerServer.SpawnPlayers(playerStates);

            _levelManager.LoadDrones(CurrentLevel);

            yield return(new WaitForSeconds(1));

            // Countdown
            for (ushort i = 3; i > 0; i--)
            {
                SyncGameServer.Countdown(i);
                yield return(new WaitForSeconds(1));
            }
            SyncGameServer.Countdown(0);

            _initializeGame.StartLevel();
        }