public void drawAfter(QuarterViewDrawer view, DrawContextEx dc) { if (!isPlacing) { return; } Location loc = lastMouse; if (loc == world.Location.UNPLACED) { return; } if (!SlopeRailRoad.canCreateSlope(loc, direction)) { return; } Surface canvas = dc.surface; int Z = loc.z; for (int i = 0; i < 4; i++) { if (i == 2) { loc.z++; } for (int j = World.world.getGroundLevel(loc); j < Z; j++) { // TODO: ground level handling BridgePierVoxel.defaultSprite.drawAlpha( canvas, view.fromXYZToClient(loc.x, loc.y, j)); } RailPattern.getSlope(direction, i).drawAlpha( canvas, view.fromXYZToClient(loc)); loc += direction; } }
/// <summary> /// /// </summary> /// <param name="view"></param> /// <param name="dc"></param> public void DrawAfter(QuarterViewDrawer view, DrawContext dc) { Train tr = this.selectedTrain; if (tr == null || !tr.head.State.isInside) { return; } // draw an arrow that indicates the direction of the train CarState.Inside ci = tr.head.State.asInside(); Point pt = view.fromXYZToClient(ci.location); pt.Y -= 12; ci.direction.drawArrow(dc.Surface, pt); }
/// <summary> /// /// </summary> /// <param name="view"></param> /// <param name="canvas"></param> /// <param name="location"></param> /// <param name="point"></param> public void DrawVoxel(QuarterViewDrawer view, DrawContext canvas, Location location, Point point) { IDictionary dic = (IDictionary)canvas.Tag; if (dic != null) { RailPattern rp = (RailPattern)dic[location]; if (rp != null) { for (int j = WorldDefinition.World.GetGroundLevel(location); j < location.z; j++) { // TODO: ground level handling BridgePierVoxel.defaultSprite.DrawAlpha( canvas.Surface, view.fromXYZToClient(location.x, location.y, j)); } rp.DrawAlpha(canvas.Surface, point); } } }
public void drawVoxel(QuarterViewDrawer view, DrawContextEx canvas, Location loc, Point pt) { IDictionary dic = (IDictionary)canvas.tag; if (dic != null) { RailPattern rp = (RailPattern)dic[loc]; if (rp != null) { for (int j = World.world.getGroundLevel(loc); j < loc.z; j++) { // TODO: ground level handling BridgePierVoxel.defaultSprite.drawAlpha( canvas.surface, view.fromXYZToClient(loc.x, loc.y, j)); } rp.drawAlpha(canvas.surface, pt); } } }