// 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();
    }