示例#1
0
        public Fight CreatePvMFight(Map map)
        {
            FightPlayerTeam  redTeam  = new FightPlayerTeam(0, map.GetRedFightPlacement());
            FightMonsterTeam blueTeam = new FightMonsterTeam(1, map.GetBlueFightPlacement());
            FightPvM         fightPvM = new FightPvM(this.m_idProvider.Pop(), map, blueTeam, redTeam);

            base.AddEntity(fightPvM.Id, fightPvM);
            return(fightPvM);
        }
示例#2
0
        public FightPvM CreatePvMFight(Map map)
        {
            var challengersTeam = new FightPlayerTeam(TeamEnum.TEAM_CHALLENGER, map.GetRedFightPlacement());
            var defendersTeam   = new FightMonsterTeam(TeamEnum.TEAM_DEFENDER, map.GetBlueFightPlacement());

            var fight = new FightPvM(m_idProvider.Pop(), map, defendersTeam, challengersTeam);

            AddEntity(fight.Id, fight);

            return(fight);
        }
示例#3
0
        public override IEnumerable <MonsterFighter> CreateFighters(FightMonsterTeam team)
        {
            var group = m_monstersByMembersCount.OrderByDescending(x => x.Key).FirstOrDefault(x => x.Key <= 1).Value ?? GetMonsters();

            team.OpposedTeam.FighterAdded   += OnFighterAddedOrRemoved;
            team.OpposedTeam.FighterRemoved += OnFighterAddedOrRemoved;
            team.Fight.FightStarted         += FightOnFightStarted;
            m_lastGroupMinPlayers            = 1;

            return(group.Select(x => x.CreateFighter(team)));
        }
示例#4
0
 public virtual IEnumerable <MonsterFighter> CreateFighters(FightMonsterTeam team) => m_monsters.Select(monster => monster.CreateFighter(team));