示例#1
0
    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);
    }
示例#2
0
    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);
    }
示例#3
0
    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);
    }
示例#4
0
    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);
    }