public AttackAction(FSMState owner, AI.AIController aiController) : base(owner, aiController) { }
protected void loadMap(string mapName) { // clear all lists pathNodes.Clear(); DynamicObjs.Clear(); AllObjects.Clear(); DynamicObjs.Clear(); Fighters.Clear(); Destroyers.Clear(); Towers.Clear(); Asteroids.Clear(); Projectiles.Clear(); spawnPoints.Clear(); //First read in map: XmlReader reader = XmlReader.Create(mapName); while (reader.Read()) if (reader.NodeType == XmlNodeType.Element) if (reader.Name == "Map") readMapContent(reader.ReadSubtree()); else throw new Exception("Expected Token: Map"); reader.Close(); //Setup controllers: navComputer = new AI.NavigationComputer(gameGrid); aiController = new AI.AIController(gameGrid, navComputer, this, Towers); //Initially Spawn players: spawnPlayer(Objects.Team.Red, game); spawnPlayer(Objects.Team.Blue, game); //Setup teams: List<Objects.Turret> team1InitialTurrets = new List<Objects.Turret>(); List<Objects.Turret> team2InitialTurrets = new List<Objects.Turret>(); foreach (Objects.Turret tr in Towers) if (tr.Team == Objects.Team.Red) team1InitialTurrets.Add(tr); else if (tr.Team == Objects.Team.Blue) team2InitialTurrets.Add(tr); List<AI.Node> team1OwnedNodes = new List<AI.Node>(); List<AI.Node> team2OwnedNodes = new List<AI.Node>(); foreach (AI.Node n in pathNodes.Values) if (n.OwningTeam == 0) team1OwnedNodes.Add(n); else if (n.OwningTeam == 1) team2OwnedNodes.Add(n); List<AI.SpawnPoint> team1OwnedSpawnPoints = new List<AI.SpawnPoint>(); List<AI.SpawnPoint> team2OwnedSpawnPoints = new List<AI.SpawnPoint>(); foreach (AI.SpawnPoint n in spawnPoints) if (n.OwningTeam == 0) team1OwnedSpawnPoints.Add(n); else if (n.OwningTeam == 1) team2OwnedSpawnPoints.Add(n); team1 = new AI.TeamInformation(Objects.Team.Red, false, team1InitialTurrets, TradingInformation.startingCreditsPerTeam, Player1, team1OwnedNodes, team1OwnedSpawnPoints, MAX_NUM_FIGHTERS_PER_TEAM, MAX_NUM_DESTROYERS_PER_TEAM, Team1Base, Team1SpawnPoint); team2 = new AI.TeamInformation(Objects.Team.Blue, numPlayers.Equals(Players.single) ? true : false, team2InitialTurrets, TradingInformation.startingCreditsPerTeam, Player2, team2OwnedNodes, team2OwnedSpawnPoints, MAX_NUM_FIGHTERS_PER_TEAM, MAX_NUM_DESTROYERS_PER_TEAM, Team2Base, Team2SpawnPoint); aiController.registerTeam(team1); aiController.registerTeam(team2); }
public TextAction(FSMState owner, AI.AIController aiController) : base(owner, aiController) { }
public FSMAction(FSMState owner, AI.AIController aiController) { this.owner = owner; this.aiController = aiController; }