示例#1
0
    public void Update()
    {
        if (isActive)
        {
            pressing = GetPressState();

            if (pressing)
            {
                if (!setted)
                {
                    PressedAction?.Invoke();
                    setted = true;
                }

                PressingAction?.Invoke();
            }
            else if (!pressing)
            {
                if (setted)
                {
                    ReleasedAction?.Invoke();
                }
                setted = false;
            }
        }
    }
 void ActionInput()
 {
     if (Input.GetMouseButtonDown(0))
     {
         PressedAction?.Invoke();
     }
 }
示例#3
0
 public void Pressed(int index)
 {
     if (pressedLastIndex != index)
     {
         pressedLastIndex = index;
         PressedAction?.Invoke();
     }
 }
示例#4
0
 public override void Enter()
 {
     editorBase   = MainGame.Instance.GetState <EditorBase>() ?? throw new InvalidOperationException("The sprite editor must be stacked on top of the editor base.");
     spritePicker = new SpritePicker();
     MainGame.Instance.Push(spritePicker);
     deleteSpriteAction = InputManager.NewPressedAction(Keys.Delete);
     currentMode        = Select;
 }
示例#5
0
        public override void Enter()
        {
            spriteEditor = new SpriteEditorBase();
            mapEditor    = new MapEditorBase();

            gotoSpriteEditor = InputManager.NewPressedAction(Keys.D1);
            gotoTileEditor   = InputManager.NewPressedAction(Keys.D2);
            toggleGame       = InputManager.NewPressedAction(Keys.OemTilde);

            Commands = new CommandQueue();
            Font     = MainGame.Instance.Content.Load <SpriteFont>("Font/BasicFont");

            MainGame.Instance.Push(spriteEditor);
        }
示例#6
0
 public void Assign(PressedAction action)
 {
     Assign <PressedEvent, PressedAction>(PressedActions, action);
 }