private async Task StartGame(ServerBattle battle)
        {
            await battle.RunCommandDirectly <CmdSpecAfk>(null);

            await battle.StartGame();
        }
        public override async Task ExecuteArmed(ServerBattle battle, Say e)
        {
            await battle.RunCommandDirectly <CmdSpec>(null);

            await battle.StartGame();
        }
        private async Task StartBattle(ProposedBattle bat)
        {
            var battleID = Interlocked.Increment(ref server.BattleCounter);

            var battle = new ServerBattle(server, true);
            battle.UpdateWith(new BattleHeader()
            {
                BattleID = battleID,
                Founder = "#MatchMaker_" + battleID,
                Engine = server.Engine,
                Game = server.Game,
                Title = "MatchMaker " + battleID,
                Mode = bat.Mode,
            });
            server.Battles[battleID] = battle;

            //foreach (var plr in bat.Players) battle.Users[plr.Name] = new UserBattleStatus(plr.Name, plr.LobbyUser) { IsSpectator = false, AllyNumber = 0, };

            // also join in lobby
            await server.Broadcast(server.ConnectedUsers.Keys, new BattleAdded() { Header = battle.GetHeader() });
            foreach (var usr in bat.Players) await server.ForceJoinBattle(usr.Name, battle);

            await battle.StartGame();
        }
Beispiel #4
0
 public override async Task ExecuteArmed(ServerBattle battle, Say e)
 {
     await battle.StartGame();
 }
        public override async Task ExecuteArmed(ServerBattle battle, Say e)
        {
            await battle.StartGame();

        }