示例#1
0
        public override void OnVoxelsDragged(List <VoxelHandle> voxels, InputManager.MouseButton button)
        {
            MouseState mouse = Mouse.GetState();

            if (mouse.RightButton == ButtonState.Pressed)
            {
                DestroyZoneTool.OnVoxelsDragged(voxels, button);
            }
            else
            {
                Player.Faction.RoomBuilder.OnVoxelsDragged(voxels, button);
            }
        }
示例#2
0
        public override void OnVoxelsDragged(List <VoxelHandle> voxels, InputManager.MouseButton button)
        {
            MouseState mouse = Mouse.GetState();

            if (mouse.RightButton == ButtonState.Pressed)
            {
                DestroyZoneTool.OnVoxelsDragged(voxels, button);
            }
            else
            {
                World.UserInterface.VoxSelector.SelectionColor = Color.White;

                foreach (var order in World.PersistentData.BuildDesignations)
                {
                    order.SetTint(Color.White);
                }

                foreach (var room in World.EnumerateZones())
                {
                    room.SetTint(Color.White);
                }

                if (CurrentZoneType == null)
                {
                    return;
                }

                if (button == InputManager.MouseButton.Left)
                {
                    World.Tutorial("build " + CurrentZoneType.Name);

                    if (CurrentZoneType.CanBuildHere(voxels, World))
                    {
                        World.UserInterface.ShowTooltip("Release to build here.");
                    }
                    else
                    {
                        World.UserInterface.VoxSelector.SelectionColor = GameSettings.Default.Colors.GetColor("Negative", Color.Red);
                    }
                }
            }
        }