예제 #1
0
    public override LocationGraphicsData Draw(HomelandsLocation location, Stats stats)
    {
        Color c = Color.black;
        LocationGraphicsData lgd = new LocationGraphicsData(c);

        return(lgd);
    }
예제 #2
0
    public override LocationGraphicsData Draw(HomelandsLocation location, Stats stats)
    {
        Color        c             = GetFogOfWarColor(location, stats);
        PlayerSystem ps            = _game._playerSystem;
        Player       currentPlayer = ps._currentPlayer;

        c = stats._control._controllingPlayers[currentPlayer]  ? Color.white : c;
        return(new LocationGraphicsData(c));
    }
예제 #3
0
    public HomelandsStructure(HomelandsGame game, dStructurePlacement placementData)
    {
        _game     = game;
        _location = placementData.location;
        _owner    = placementData.creator;

        _cost      = placementData.data.cost;
        _hitPoints = placementData.data.hitPoints;
        _radii     = placementData.data.radii;
    }
예제 #4
0
    public static List <HomelandsLocation> GetLocationsInRadius(HomelandsLocation location, RadiusRange radiusRange)
    {
        List <Pos> posInRadius             = Pathfinder.GetPosInRadius(location._game._locations.Keys.ToList(), location._pos, radiusRange);
        List <HomelandsLocation> locations = new List <HomelandsLocation>();

        foreach (Pos p in posInRadius)
        {
            locations.Add(location._game._locations[p]);
        }
        return(locations);
    }
예제 #5
0
    public virtual List <GraphicsData> Draw()
    {
        List <GraphicsData> graphics = new List <GraphicsData>();

        foreach (Pos p in _locations.Keys)
        {
            HomelandsLocation location = _locations[p];
            graphics.Add(location.Draw());
        }
        return(graphics);
    }
예제 #6
0
    SelectedData GetSelectedData(MouseHandlerInfo mhi)
    {
        SelectedData sd = null;

        if (mhi._pos != null)
        {
            HomelandsLocation loc = _locations[mhi._pos];
            sd = new SelectedData(loc);
        }
        return(sd);
    }
예제 #7
0
    public override LocationGraphicsData Draw(HomelandsLocation location, Stats stats)
    {
        Color c = GetFogOfWarColor(location, stats);
        Dictionary <Player, float> extractions = stats._extraction._extractionRate;
        float extraction = extractions[_game._playerSystem._currentPlayer];

        if (extraction > 0f)
        {
            c = Color.Lerp(Color.white, Color.black, extraction / 5f);
        }

        return(new LocationGraphicsData(c));
    }
예제 #8
0
    public override LocationGraphicsData Draw(HomelandsLocation location, Stats stats)
    {
        Color c = GetFogOfWarColor(location, stats);
        Dictionary <Player, float> militaryDict = stats._military._attack;
        float military = militaryDict[_game._playerSystem._currentPlayer];

        if (military > 0f)
        {
            c = Color.Lerp(Color.white, Color.red, military / 5f);
        }

        return(new LocationGraphicsData(c));
    }
예제 #9
0
    void InitializePlayerStarts()
    {
        UpdateGame();
        Dictionary <Player, Pos> startingPositions = _startPositioner.GetStartingPos();

        foreach (Player player in startingPositions.Keys)
        {
            Pos p = startingPositions[player];
            HomelandsLocation   location  = _locations[p];
            dStructurePlacement structure = location.Click(player);
            player._buildQueue.TryToAddStructureToBuildQueue(structure);
        }
        EndTurn();
    }
예제 #10
0
    protected Color GetFogOfWarColor(HomelandsLocation location, Stats stats)
    {
        Color       c          = Color.magenta;
        eVisibility visibility = stats._vision._visibility[_game._playerSystem._currentPlayer];

        if (visibility == eVisibility.Visible)
        {
            c = GetColorFromTerrain(location._terrain._type);
        }
        else if (visibility == eVisibility.Fog)
        {
            c = Color.Lerp(GetColorFromTerrain(location._terrain._type), Color.black, 0.5f);
        }
        else if (visibility == eVisibility.Unexplored)
        {
            c = Color.black;
        }
        else
        {
            throw new System.NotImplementedException();
        }
        return(c);
    }
예제 #11
0
    public override LocationGraphicsData Draw(HomelandsLocation location, Stats stats)
    {
        Color c = GetColorFromTerrain(location._terrain._type);

        return(new LocationGraphicsData(c));
    }
예제 #12
0
 public abstract LocationGraphicsData Draw(HomelandsLocation location, Stats stats);
 public dStructurePlacement(dStructure d, Player p, HomelandsLocation l)
 {
     data     = d;
     creator  = p;
     location = l;
 }
예제 #14
0
 public LocationGraphicsData Draw(HomelandsLocation location, Stats stats)
 {
     return(_view.Draw(location, stats));
 }
예제 #15
0
 public SelectedData(HomelandsLocation location)
 {
     _pos       = location._pos;
     _terrain   = location._terrain._type;
     _structure = location._structure;
 }
예제 #16
0
    public override LocationGraphicsData Draw(HomelandsLocation location, Stats stats)
    {
        Color c = GetFogOfWarColor(location, stats);

        return(new LocationGraphicsData(c));
    }