Пример #1
0
 void Awake()
 {
     InputSpriteController.initializeSpriteDictionaries();
     InputSpriteController.setInputIconSprites(KeyboardMap.SpriteCodes, KeyboardMap.Sprites, InputType.KEYBOARD_WIN);
     InputSpriteController.setInputIconSprites(PSMap.SpriteCodes, PSMap.Sprites, InputType.CONTROLLER_PS);
     InputSpriteController.setInputIconSprites(XboxMap.SpriteCodes, XboxMap.Sprites, InputType.CONTROLLER_XBOX);
     InputSpriteController.SetEmptySprite(EmptyInputSprite);
 }
Пример #2
0
 // Start is called before the first frame update
 void Start()
 {
     InitializeData();
     InitializeStateMachine();
     if (InputSpriteController.getInputSprite(out spriteOut, c_controllerData.k, this.InputType))
     {
         SpriteDisplay.sprite = spriteOut;
     }
 }
Пример #3
0
    public void InputUnbind()
    {
        c_controllerData.k = KeyCode.None;

        GlobalInputController.UpdateAction(InputAction, c_controllerData.k, this.InputType);
        GlobalGameData.SetActionSetting(InputAction, c_controllerData.k, this.InputType);

        if (InputSpriteController.getInputSprite(out spriteOut, c_controllerData.k, this.InputType))
        {
            SpriteDisplay.sprite = spriteOut;
        }
    }
Пример #4
0
    // TODO: swapping a key with pause will not also update the "other mutex" buttons, allowing for a multiple mapping edge case
    public void InputSwap(KeyCode keyIn)
    {
        c_controllerData.k = keyIn;

        GlobalInputController.UpdateAction(InputAction, c_controllerData.k, this.InputType);
        GlobalGameData.SetActionSetting(InputAction, c_controllerData.k, this.InputType);

        if (InputSpriteController.getInputSprite(out spriteOut, c_controllerData.k, this.InputType))
        {
            SpriteDisplay.sprite = spriteOut;
        }
        MessageServer.SendMessage(MessageID.EDIT_DISPLAY_UPDATE, new Message((int)c_controllerData.k, (uint)InputAction).withInputType(this.InputType));
    }
Пример #5
0
    // Update is called once per frame
    public override void UpdateEditor()
    {
        if (c_controllerData.b_editorActive == false)
        {
            return;
        }

        if (GlobalInputController.GetInputAction(ControlAction.CONFIRM, KeyValue.IDLE))
        {
            GlobalInputController.StartWatchForAnyInput();
            SpriteDisplay.sprite = InputSpriteController.EmptySprite();
        }

        KeyCode keyIn = GlobalInputController.GetAnyKey();

        if (keyIn == KeyCode.Escape)
        {
            GlobalInputController.StopWatchForAnyInput();
            CancelDataEdit();
            if (InputSpriteController.getInputSprite(out spriteOut, c_controllerData.k, this.InputType))
            {
                SpriteDisplay.sprite = spriteOut;
            }
        }

        else if (keyIn != KeyCode.None)
        {
            GlobalInputController.StopWatchForAnyInput();
            VerifyAndUpdateMutex(keyIn);
            if (InputSpriteController.getInputSprite(out spriteOut, keyIn, this.InputType))
            {
                SpriteDisplay.sprite = spriteOut;
            }
            c_controllerData.k = keyIn;
            ConfirmDataEdit(CurrentTarget);
        }

        // no state machine needed, handled by isActive
        EnginePush();
    }