public GraphicsData(Pos pos, LocationGraphicsData location, StructureGraphicsData structure = null, ResourceGraphicsData resource = null) { _pos = pos; _location = location; _structure = structure; _resource = resource; }
public virtual GraphicsData Draw() { LocationGraphicsData lgd = _viewer.Draw(this, _stats); StructureGraphicsData sgd = null; ResourceGraphicsData rgd = null; Player currentPlayer = _game._playerSystem._currentPlayer; if (currentPlayer != null) { bool visibleToPlayer = _stats._vision._visibility[currentPlayer] == eVisibility.Visible; bool visibleBecauseGodMode = _game._viewer._viewType == eView.God; if (visibleToPlayer || visibleBecauseGodMode) { if (_structure != null) { sgd = _structure.Draw(); } if (_stats._build._buildingsQueued[currentPlayer] != null) { sgd = new StructureGraphicsData(Color.black); } if (_resource != null) { rgd = _resource.Draw(); } } GraphicsData gd = new GraphicsData(_pos, lgd, sgd, rgd); return(gd); } else { return(null); } }