//フェーズ切り替え時の攻撃
    private IEnumerator Phase_Change_Attack_Cor()
    {
        Set_Can_Switch_Attack(false);

        //取得
        BossCollisionDetection _collision = GetComponent <BossCollisionDetection>();

        //無敵化
        _collision.Become_Invincible();
        foot_Collider.Delete_Collision();
        yield return(new WaitForSeconds(1.0f));

        //移動
        StartCoroutine("High_Jump_Move_Cor", new Vector2(0, transform.position.y + 4));
        yield return(new WaitForSeconds(2.5f));

        //無敵解除
        _collision.Release_Invincible();
        foot_Collider.Activate_Collision();

        _controller.Change_Fly_Parameter();
        _controller.Change_Animation("ShootPoseBool");
        _move_Const_Speed.Start_Move(new Vector3(0, transform.position.y + 80f), 1);
        yield return(new WaitUntil(_move_Const_Speed.End_Move));

        //ショット
        _shoot.Shoot_Aunn_Word_Bullet();
        yield return(new WaitForSeconds(3.0f));

        _controller.Change_Land_Parameter();

        yield return(new WaitForSeconds(4.0f));

        //攻撃再開
        Set_Can_Switch_Attack(true);
        Restart_Attack();
    }
    private IEnumerator Dive_And_Jump_Shoot_Cor()
    {
        //取得
        BossCollisionDetection _collision = GetComponent <BossCollisionDetection>();
        TracePlayer            _trace     = GetComponent <TracePlayer>();

        //地面に潜る
        _controller.Change_Fly_Parameter();
        _move.Start_Move(0);
        yield return(new WaitUntil(_move.Is_End_Move));

        //当たり判定を消して自機を追いかける
        _collision.Become_Invincible();
        _trace.enabled = true;
        yield return(new WaitForSeconds(2.2f));

        _trace.enabled = false;

        yield return(new WaitForSeconds(0.8f));

        //ジャンプして弾幕発射
        _collision.Release_Invincible();
        _move.Start_Move(1);
        yield return(new WaitUntil(_move.Is_End_Move));

        _shoot.Shoot_Short_Curve_Laser();
        yield return(new WaitForSeconds(0.5f));

        //落下
        _controller.Change_Land_Parameter();
        yield return(new WaitUntil(foot_Collision.Hit_Trigger));

        yield return(new WaitForSeconds(0.8f));

        _attack.can_Attack = true;
    }
    private IEnumerator Attack_In_Melody_Intro_Cor()
    {
        Set_Can_Switch_Attack(false);

        //取得
        BossCollisionDetection _collision = GetComponent <BossCollisionDetection>();
        TracePlayer            _trace     = Get_Trace_Player();

        _trace.enabled = false;

        //地面に潜る
        _effect.Jump_And_Landing_Effect();
        _collision.Become_Invincible();
        _controller.Change_Fly_Parameter();
        _sprite.sortingOrder = -6;
        _se.Play("Dive");

        _move_Motion.Start_Move(0);
        yield return(new WaitUntil(_move_Motion.Is_End_Move));

        _controller.Change_Animation("DivingGroundBool");
        yield return(new WaitForSeconds(0.1f));

        _sprite.sortingOrder = 3;

        //コピーの生成
        if (_controller.Get_Now_Phase() == 2)
        {
            Vector2 position = new Vector2(-transform.position.x, transform.position.y);
            if (Mathf.Abs(transform.position.x) < 5f)
            {
                position = new Vector2(120f, transform.position.y);
            }
            _copy.Create_Copy(80, false, position);
        }

        //自機を追いかける
        _trace.enabled = true;
        yield return(new WaitForSeconds(2.09f));

        _trace.enabled = false;

        yield return(new WaitForSeconds(0.33f));

        //ジャンプ
        _collision.Release_Invincible();
        _controller.Change_Animation("HighJumpBool");
        _move_Motion.Start_Move(1);
        _effect.Play_A_Letter_Effect();
        _effect.Play_Burst_Effect_Red();
        UsualSoundManager.Instance.Play_Attack_Sound();
        yield return(new WaitForSeconds(1.03f));

        //レーザー
        _controller.Change_Animation("ShootPoseBool");
        _effect.Play_Unn_Letter_Effect();
        _effect.Play_Burst_Effect_Red();
        _shoot.Shoot_Short_Curve_Laser(0.33f);
        if (_copy.gameObject.activeSelf)
        {
            _copy_Shoot.Shoot_Short_Curve_Laser(0.33f);
        }
        yield return(new WaitForSeconds(1.65f));

        //落下
        _controller.Change_Land_Parameter();
        yield return(new WaitUntil(foot_Collider.Hit_Trigger));

        _effect.Jump_And_Landing_Effect();
        _controller.Change_Animation("SquatBool");

        //コピーの消去
        if (_copy.gameObject.activeSelf)
        {
            _copy.Delete_Copy();
        }

        yield return(new WaitForSeconds(1.65f));

        //次の攻撃へ
        Set_Can_Switch_Attack(true);
        Restart_Attack();
    }