Dictionary <Pos, StatsMilitary> GetPosViewMilitary() { Dictionary <Pos, Dictionary <Player, float> > military = new Dictionary <Pos, Dictionary <Player, float> >(); List <Player> players = _game._playerSystem._players; foreach (Pos p in _game._locations.Keys) { military[p] = new Dictionary <Player, float>(); foreach (Player player in players) { military[p][player] = 0f; } } foreach (Pos p in _game._locations.Keys) { HomelandsStructure structure = _game._locations[p]._structure; if (structure != null) { List <HomelandsLocation> visibleLocations = structure.GetLocationsInRadius(eRadius.Military); foreach (HomelandsLocation location in visibleLocations) { military[location._pos][structure._owner] += 1f; } } } Dictionary <Pos, StatsMilitary> militaryStats = new Dictionary <Pos, StatsMilitary>(); foreach (Pos p in military.Keys) { militaryStats[p] = new StatsMilitary(military[p]); } return(militaryStats); }
Dictionary <Pos, StatsVision> GetPosViewVision() { Dictionary <Pos, Dictionary <Player, eVisibility> > visibility = new Dictionary <Pos, Dictionary <Player, eVisibility> >(); List <Player> players = _game._playerSystem._players; foreach (Pos p in _game._locations.Keys) { visibility[p] = new Dictionary <Player, eVisibility>(); foreach (Player player in players) { visibility[p][player] = eVisibility.Unexplored; } } foreach (Pos p in _game._locations.Keys) { HomelandsStructure structure = _game._locations[p]._structure; if (structure != null) { List <HomelandsLocation> visibleLocations = structure.GetLocationsInRadius(eRadius.Vision); foreach (HomelandsLocation location in visibleLocations) { visibility[location._pos][structure._owner] = eVisibility.Visible; } } } Dictionary <Pos, StatsVision> visionStats = new Dictionary <Pos, StatsVision>(); foreach (Pos p in visibility.Keys) { visionStats[p] = new StatsVision(visibility[p]); } return(visionStats); }
Dictionary <Pos, StatsExtraction> GetPosViewExtraction() { Dictionary <Pos, Dictionary <Player, float> > extractionRaw = new Dictionary <Pos, Dictionary <Player, float> >(); List <Player> players = _game._playerSystem._players; foreach (Pos p in _game._locations.Keys) { extractionRaw[p] = new Dictionary <Player, float>(); foreach (Player player in players) { extractionRaw[p][player] = 0f; } } foreach (Pos p in _game._locations.Keys) { HomelandsStructure structure = _game._locations[p]._structure; if (structure != null) { List <HomelandsLocation> visibleLocations = structure.GetLocationsInRadius(eRadius.Extraction); foreach (HomelandsLocation location in visibleLocations) { extractionRaw[location._pos][structure._owner] += 1f; } } } Dictionary <Pos, StatsExtraction> extractionStats = new Dictionary <Pos, StatsExtraction>(); foreach (Pos p in extractionRaw.Keys) { extractionStats[p] = new StatsExtraction(extractionRaw[p]); } return(extractionStats); }
Dictionary <Pos, StatsControl> GetPosViewControl() { Dictionary <Pos, Dictionary <Player, bool> > control = new Dictionary <Pos, Dictionary <Player, bool> >(); List <Player> players = _game._playerSystem._players; foreach (Pos p in _game._locations.Keys) { control[p] = new Dictionary <Player, bool>(); foreach (Player player in players) { control[p][player] = false; } } Player currentPlayer = _game._playerSystem._currentPlayer; foreach (Pos p in _game._locations.Keys) { HomelandsStructure structure = _game._locations[p]._structure; if (structure != null) { List <HomelandsLocation> visibleLocations = structure.GetLocationsInRadius(eRadius.Control); foreach (HomelandsLocation location in visibleLocations) { control[location._pos][structure._owner] = true; } } } Dictionary <Pos, StatsControl> controlStats = new Dictionary <Pos, StatsControl>(); foreach (Pos p in control.Keys) { controlStats[p] = new StatsControl(control[p]); } return(controlStats); }