Ejemplo n.º 1
0
 /// <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();
 }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
 /// <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);
         }
     }
 }
Ejemplo n.º 4
0
 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);
         }
     }
 }
Ejemplo n.º 5
0
        /// <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);
            }
        }
Ejemplo n.º 6
0
        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);
            }
        }