public void ChangeModeAttackDirection(CallbackOnPress callback, bool isCurrentUnitGrid = false)
        {
            if (mode == Mode.AttackDirection)
            {
                return;
            }
            mode = Mode.AttackDirection;

            coGrid.StopCurrent();
            coFloor.StopCurrent();

            if (isCurrentUnitGrid)
            {
                coGrid.Add(Coroutine_.Action.LerpColor(this.imageGrid, this.imageGrid.color, COLOR_GRID_ATTACK_DIRECTION_CURRENT, SECOND_FADE_IN, Easing.QuadInOut));
                coFloor.Add(Coroutine_.Action.LerpColor(this.image, this.image.color, COLOR_ATTACK_DIRECTION_CURRENT, SECOND_FADE_IN, Easing.QuadInOut));
            }
            else
            {
                coGrid.Add(Coroutine_.Action.LerpColor(this.imageGrid, this.imageGrid.color, COLOR_GRID_ATTACK_DIRECTION, SECOND_FADE_IN, Easing.QuadInOut));
                coFloor.Add(Coroutine_.Action.LerpColor(this.image, this.image.color, COLOR_ATTACK_DIRECTION, SECOND_FADE_IN, Easing.QuadInOut));
            }

            this.button.enabled = true;
            this.callbackOnPress = callback;
        }
        public void ChangeModeTarget(CallbackOnPress callback)
        {
            if (mode == Mode.Target)
            {
                return;
            }
            mode = Mode.Target;

            coGrid.StopCurrent();
            coFloor.StopCurrent();

            coGrid.Add(Coroutine_.Action.LerpColor(this.imageGrid, this.imageGrid.color, COLOR_GRID_TARGET, SECOND_FADE_IN, Easing.QuadInOut));
            coFloor.Add(Coroutine_.Action.LerpColor(this.image, this.image.color, COLOR_TARGET, SECOND_FADE_IN, Easing.QuadInOut));

            this.button.enabled = true;
            this.callbackOnPress = callback;
        }
        public void ChangeModeGridOnly()
        {
            if (mode == Mode.GridOnly)
            {
                return;
            }
            mode = Mode.GridOnly;

            coGrid.StopCurrent();
            coFloor.StopCurrent();

            coGrid.Add(Coroutine_.Action.LerpColor(this.imageGrid, this.imageGrid.color, COLOR_GRID_GRIDONLY, SECOND_FADE_IN, Easing.QuadInOut));
            coFloor.Add(Coroutine_.Action.LerpColor(this.image, this.image.color, COLOR_GRIDONLY, SECOND_FADE_IN, Easing.QuadInOut));

            this.button.enabled = false;
            this.callbackOnPress = null;
        }