public void Setup()
        {
            engine            = EngineFactory.CreateEngine();
            toolSelectionMenu = new ToolSelectionMenu();

            engine.AddSimulator(new BasicSimulator(() =>
            {
                toolSelectionMenu.ProcessUserInput();
            }));

            TW.Graphics.SpectaterCamera.EnableUserInput = false;
        }
Пример #2
0
        public void Simulate()
        {
            if (UserInputDisabled)
            {
                return;
            }
            toolSelectionMenu.ProcessUserInput();

            /*if (TW.Graphics.Mouse.RelativeScrollWheel < 0 || TW.Graphics.Keyboard.IsKeyPressed(Key.UpArrow))
             *  inputHandler.OnPreviousTool();
             * if (TW.Graphics.Mouse.RelativeScrollWheel > 0 || TW.Graphics.Keyboard.IsKeyPressed(Key.DownArrow))
             *  inputHandler.OnNextTool();*/

            if (TW.Graphics.Keyboard.IsKeyPressed(Key.O))
            {
                inputHandler.OnSave();
            }

            if (trySimulateUIControls())
            {
                return;
            }

            var target = GetTargetedVoxel();

            if (target == null)
            {
                return;
            }
            if (target != previousTarget)
            {
                inputHandler.OnTargetChanged(target);
            }
            previousTarget = target;

            if (TW.Graphics.Mouse.LeftMouseJustPressed)
            {
                inputHandler.OnLeftClick(target);
            }
            if (TW.Graphics.Mouse.RightMouseJustPressed)
            {
                inputHandler.OnRightClick(target);
            }
            foreach (var k in TW.Graphics.Keyboard.PressedKeys.Where(k => TW.Graphics.Keyboard.IsKeyPressed(k)))
            {
                inputHandler.OnKeyPressed(target, k);
            }
        }