private void BuildGraph(AttackGraph graph, List <Ant> ours, List <Ant> theirs, TacticalMap map) { for (int i = 0; i < ours.Count; i++) { Ant myAnt = ours[i]; // // Get all tiles on tactical map that our ant can navigate on // IEnumerable <TacticalMap.Tile> tiles = Vector2i.AllDirections .Select(direction => Vector2i.Wrap(myAnt.position + direction, map.Width, map.Height)) .Select(p => map[p.x, p.y]); // // Identify enemies // IEnumerable <int> enemies = IdentifyEnemies(tiles); foreach (int enemyId in enemies) { graph.AddNodeGroup(i, enemyId, BuildLinksAssociatedToEnemy(enemyId, tiles)); } } }
public AttackManager(GameState state) { map = new TacticalMap(state.Width, state.Height, state.AttackRadius2); }