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); }
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); }
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))); }
public virtual IEnumerable <MonsterFighter> CreateFighters(FightMonsterTeam team) => m_monsters.Select(monster => monster.CreateFighter(team));