/// <summary>
 /// Paintモードに変更
 /// </summary>
 /// <param name="obj">リスナー登録時に必要な引数</param>
 private void modeChangeToPaint(InteractableStateArgs obj)
 {
     if (obj.NewInteractableState == InteractableState.ActionState)
     {
         _paintFunctionState = HpPaintFunctionState.Paint;
     }
 }
        private void Start()
        {
            //Redoボタンが押されたらFunctionステートを変更
            _redoButtonObj.InteractableStateChanged.AddListener(modeChangeToRedo);

            //Undoボタンが押されたらFunctionステートを変更
            _undoButtonObj.InteractableStateChanged.AddListener(modeChangeToUndo);

            //Paintボタンが押されたらFunctionステートを変更
            _paintButtonObj.InteractableStateChanged.AddListener(modeChangeToPaint);

            //機能のステートに応じて処理を行う
            _inputModule.InputDataObservable
            .Subscribe(x =>
            {
                switch (_paintFunctionState)
                {
                case HpPaintFunctionState.Redo:
                    //Redo処理ここに書く
                    redo(x);
                    //使い終わったら機能のステート未使用に戻す
                    _paintFunctionState = HpPaintFunctionState.NoFunc;
                    break;

                case HpPaintFunctionState.Undo:
                    //Undo処理ここに書く
                    undo(x);
                    //使い終わったら機能のステート未使用に戻す
                    _paintFunctionState = HpPaintFunctionState.NoFunc;
                    break;

                case HpPaintFunctionState.Paint:
                    //Paint処理ここに書く
                    paint(x);
                    break;
                }
            })
            .AddTo(this);
        }