public override void ConfirmDataEdit(DataTarget targetIn)
 {
     MessageServer.SendMessage(MessageID.EDIT_END, new Message());
     GlobalInputController.UpdateAction(InputAction, c_controllerData.k, this.InputType);
     GlobalGameData.SetActionSetting(InputAction, c_controllerData.k, this.InputType);
     MessageServer.SendMessage(MessageID.EDIT_DISPLAY_UPDATE, new Message((int)c_controllerData.k, (uint)InputAction).withInputType(this.InputType));
     Deactivate();
 }
    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;
        }
    }
    // 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));
    }