public override void Move()
    {
        switch (current_state)
        {
        case PercentageState.FirstHalf:
            base.Move();

            Vector2 pos        = transform.position;
            Vector2 player_pos = Player.instance.transform.position;

            if (player_pos.y > pos.y)
            {
                pos.y += vertical_speed * Time.deltaTime;
            }
            else if (player_pos.y < pos.y)
            {
                pos.y -= vertical_speed * Time.deltaTime;
            }

            transform.position = pos;

            if (transform.position.x <= mid_point)
            {
                current_state = PercentageState.Shooting;
            }
            break;

        case PercentageState.Shooting:
            if (!anim_started)
            {
                anim.SetTrigger("Spin");
                anim_started = true;
            }
            break;

        case PercentageState.Ending:
            base.Move();
            break;
        }
    }
 public void EndSpinAnim()
 {
     current_state = PercentageState.Ending;
     anim_started  = false;
 }