public Game1() { this._graphics = new GraphicsDeviceManager(this); this.Content.RootDirectory = "Content"; this.Window.Title = "Move on map 3d"; this.IsMouseVisible = true; this._componentInputs = new ComponentInputs(this); this._componentInputs.UpdateOrder = 1; this.Components.Add(this._componentInputs); this._componentMap = new ComponentMap(this, this._componentInputs); this._componentMap.UpdateOrder = 2; this.Components.Add(this._componentMap); this._componentRender = new ComponentRender(this, this._componentMap); this._componentRender.UpdateOrder = 3; this.Components.Add(this._componentRender); }
public virtual ComponentRender TransformRender(SegmentTile tile, TerrainComponent component, ComponentRender render) { return(render); }
public override ComponentRender TransformRender(SegmentTile tile, TerrainComponent component, ComponentRender render) { //is there a better way to do this? var wallComponent = tile.GetComponents <WallComponent>(); var floorComponent = tile.GetComponents <FloorComponent>(); var obstructionComponent = tile.GetComponents <ObstructionComponent>(); var counterComponent = tile.GetComponents <CounterComponent>(); var altarComponent = tile.GetComponents <AltarComponent>(); if (!floorComponent.Any() && !wallComponent.Any(wall => wall.IsIndestructible) && !obstructionComponent.Any() && !counterComponent.Any() && !altarComponent.Any()) { render.Color = Color.Red; // statics that are walkable without floors to go along with them. } if (render.Color.Equals(Color.Black)) { render.Color = Color.DimGray; } return(render); }
public override ComponentRender TransformRender(SegmentTile tile, TerrainComponent component, ComponentRender render) { var floorComponents = tile.GetComponents <FloorComponent>(); if (component is WallComponent wall && wall.IsIndestructible) { if (floorComponents.Any()) { render.Color = Color.Yellow; } else { render.Color = Color.Red; } }
public override ComponentRender TransformRender(SegmentTile tile, TerrainComponent component, ComponentRender render) { var wallComponent = tile.GetComponents <WallComponent>(); if (wallComponent.Any(wall => wall.IsIndestructible)) { render.Color = Color.Red; } if (render.Color.Equals(Color.Black)) { render.Color = Color.DimGray; } return(render); }