/// <summary> /// /// </summary> /// <param name="source"></param> /// <param name="location"></param> /// <param name="ab"></param> public override void OnClick(MapViewWindow source, Location location, Point ab) { if (anchor == unplaced) { anchor = location; sameLevelDisambiguator = new SameLevelDisambiguator(anchor.z); } else { if (anchor != location) { if (IsPlacing) { // build new railroads. if (!SingleRailRoad.Build(anchor, location)) { MessageBox.Show(Translation.GetString("CONTROLLER_RAIL_OBSTACLES"), "Error"); } } else { // remove existing ones SingleRailRoad.Remove(anchor, location); } } anchor = unplaced; } UpdateDialog(); }
public override void onClick(MapViewWindow source, Location loc, Point ab) { if (anchor == UNPLACED) { anchor = loc; sameLevelDisambiguator = new SameLevelDisambiguator(anchor.z); } else { if (anchor != loc) { if (isPlacing) { // build new railroads. if (!SingleRailRoad.build(anchor, loc)) { MainWindow.showError("There are obstacles"); } //! MainWindow.showError("障害物があります"); } else { // remove existing ones SingleRailRoad.remove(anchor, loc); } } anchor = UNPLACED; } updateDialog(); }
/// <summary> /// /// </summary> /// <param name="view"></param> /// <param name="canvas"></param> public void DrawBefore(QuarterViewDrawer view, DrawContext canvas) { if (anchor != unplaced && IsPlacing) { int cost; canvas.Tag = SingleRailRoad.ComputeRoute(anchor, currentPosition, out cost); if (canvas.Tag != null) { Debug.WriteLine(((IDictionary)canvas.Tag).Count); } } }
public void drawBefore(QuarterViewDrawer view, DrawContextEx canvas) { if (anchor != UNPLACED && isPlacing) { int cost; canvas.tag = SingleRailRoad.comupteRoute(anchor, currentPos, out cost); if (canvas.tag != null) { Debug.WriteLine(((IDictionary)canvas.tag).Count); } } }
/// <summary> /// /// </summary> /// <param name="view"></param> /// <param name="location"></param> /// <param name="ab"></param> public override void OnMouseMove(MapViewWindow view, Location location, Point ab) { if (anchor != unplaced && IsPlacing && currentPosition != location) { // update the screen if (currentPosition != unplaced) { WorldDefinition.World.OnVoxelUpdated(Cube.CreateInclusive(anchor, currentPosition)); } currentPosition = location; WorldDefinition.World.OnVoxelUpdated(Cube.CreateInclusive(anchor, currentPosition)); int cost; SingleRailRoad.ComputeRoute(anchor, currentPosition, out cost); costBox.cost = cost; } if (anchor != unplaced && !IsPlacing) { costBox.cost = SingleRailRoad.CalcCostOfRemoving(anchor, location); } }
public override void onMouseMove(MapViewWindow view, Location loc, Point ab) { if (anchor != UNPLACED && isPlacing && currentPos != loc) { // update the screen if (currentPos != UNPLACED) { World.world.onVoxelUpdated(Cube.createInclusive(anchor, currentPos)); } currentPos = loc; World.world.onVoxelUpdated(Cube.createInclusive(anchor, currentPos)); int cost; SingleRailRoad.comupteRoute(anchor, currentPos, out cost); costBox.cost = cost; } if (anchor != UNPLACED && !isPlacing) { costBox.cost = SingleRailRoad.calcCostOfRemoving(anchor, loc); } }