Exemple #1
0
        private static void goofTime()
        {
            foreach (Client _client in Server.clients.Values)
            {
                if (_client.player != null)
                {
                    _client.player.Update();
                }
            }
            foreach (Spell _spell in Spell.AllSpells)
            {
                _spell.update();
            }
            #region Cleanup
            foreach (Spell _spell in Spell.spellsToRemove)
            {
                ServerSend.removeSpell(_spell);
                Spell.AllSpells.Remove(_spell);
            }
            Spell.spellsToRemove = new List <Spell> ();
            #endregion
            if (players > 1)
            {
                if (!endGoofTime)
                {
                    Console.WriteLine("more than 2 players, restarting in 10 sec");
                    time = DateTime.Now;
                }
                endGoofTime = true;
            }
            TimeSpan TimeElapsed = DateTime.Now - time;
            if (endGoofTime && TimeElapsed.TotalSeconds > 10)
            {
                Console.WriteLine("ending goof round");
                round       = true;
                init        = true;
                endGoofTime = false;
                for (int i = 1; i <= ServerHandle.playersInGame; i++)
                {
                    ServerSend.DespawnPlayer(Server.clients[i].player);
                    Wait(DateTime.Now, 2000);
                }
            }

            ThreadManager.UpdateMain();
        }
Exemple #2
0
        private static void gameRound()
        {
            foreach (Client _client in Server.clients.Values)
            {
                if (_client.player != null)
                {
                    _client.player.Update();
                }
            }
            foreach (Spell _spell in Spell.AllSpells)
            {
                _spell.update();
            }
            #region Cleanup
            foreach (Spell _spell in Spell.spellsToRemove)
            {
                ServerSend.removeSpell(_spell);
                Spell.AllSpells.Remove(_spell);
            }

            foreach (Player _player in Player.playersToDespawn)
            {
                ServerSend.DespawnPlayer(_player);
            }

            Spell.spellsToRemove    = new List <Spell> ();
            Player.playersToDespawn = new List <Player> ();
            #endregion

            if (players == deadPlayers + 1)
            {
                Console.WriteLine("time to restart round");
                for (int i = 1; i <= ServerHandle.playersInGame; i++)
                {
                    ServerSend.DespawnPlayer(Server.clients[i].player);
                    Wait(DateTime.Now, 2000);
                }
                init  = true;
                round = false;
            }

            ThreadManager.UpdateMain();
        }