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); }
public Stats(Pos pos, StatsVision vision, StatsControl control, StatsBuild build, StatsExtraction extraction, StatsMilitary military) { _pos = pos; _vision = vision; _control = control; _build = build; _extraction = extraction; _military = military; }
public List <Stats> GetPosViews() { List <Stats> views = new List <Stats>(); Dictionary <Pos, StatsVision> vision = GetPosViewVision(); Dictionary <Pos, StatsControl> control = GetPosViewControl(); Dictionary <Pos, StatsBuild> build = GetPosViewBuild(); Dictionary <Pos, StatsExtraction> extraction = GetPosViewExtraction(); Dictionary <Pos, StatsMilitary> military = GetPosViewMilitary(); foreach (Pos p in _game._locations.Keys) { StatsVision v = vision.ContainsKey(p) ? vision[p] : new StatsVision(new Dictionary <Player, eVisibility>()); StatsControl c = control.ContainsKey(p) ? control[p] : new StatsControl(new Dictionary <Player, bool>()); StatsBuild b = build.ContainsKey(p) ? build[p] : new StatsBuild(new Dictionary <Player, dStructurePlacement>()); StatsExtraction e = extraction.ContainsKey(p) ? extraction[p] : new StatsExtraction(new Dictionary <Player, float>()); StatsMilitary m = military.ContainsKey(p) ? military[p] : new StatsMilitary(new Dictionary <Player, float>()); Stats view = new Stats(p, v, c, b, e, m); views.Add(view); } return(views); }