コード例 #1
0
ファイル: StageList.cs プロジェクト: Theoretical/bunnyemu
        public void CreateClanwar(List<Client> red, List<Client> blue)
        {
            var traits = new StageTraits();

            traits.StageId = Globals.StageCounter.GetNext();
            traits.Name = "LADDER_GAME";
            traits.MaxPlayers = (byte)(red.Count + blue.Count);
            traits.RoundCount = 4;
            traits.Locked = true;
            traits.Gametype = ObjectStageGameType.TeamDeathMatch;
            traits.Password = "******";
            traits.Master = red[0];
            traits.Map = "Town"; //default for now
            traits.CurrentMap = Globals.Maps.GetMap(traits.Map);
            traits.WinThePoint = true;

            var stage = new Stage(traits);
            traits.Ruleset = new TeamDeathmatch(stage);

            foreach (var client in red)
            {
                client.ClientPlayer.PlayerTeam = Team.Red;
                stage.Join(client);
                StagePackets.LadderPrepare(client, (int)Team.Red);
            }
            StagePackets.ResponseSettings(red, traits);
            foreach (var client in blue)
            {
                client.ClientPlayer.PlayerTeam = Team.Blue;
                stage.Join(client);
                StagePackets.LadderPrepare(client, (int)Team.Blue);
            }
            StagePackets.ResponseSettings(blue, traits);

            traits.Ruleset.GameStartCallback(red[0], true);
        }