Пример #1
0
    //==================================================================
    private IEnumerator Attack_Melody_A_Phase1_Cor()
    {
        //中心まで移動
        _move_Const_Speed.Start_Move(new Vector3(0, 0), 1);
        yield return(new WaitUntil(_move_Const_Speed.End_Move));

        //溜めエフェクト
        _effect.Play_Power_Charge_Small();
        yield return(new WaitForSeconds(1.0f));

        _effect.Play_Burst();
        UsualSoundManager.Instance.Play_Shoot_Sound();

        _main.Change_Animation("AttackBool", 1);
        //ブロック生成
        block_Barrier.Create_Barrier(20, 80f, 0.05f, -1);
        //ショット開始
        _shoot.Start_Red_Bullet_Shoot();
        //地面移動開始
        ground_Blocks.Start_Random_Raise(1.0f);
        while (melody_Manager.Get_Now_Melody() == MelodyManager.Melody.A1)
        {
            yield return(null);
        }
        Stop_Melody_A_Phase1();
    }
    private IEnumerator Attack_In_Melody_Pre_Chorus_Cor()
    {
        Set_Can_Switch_Attack(false);

        //ジャンプ移動
        StartCoroutine("High_Jump_Move_Cor", new Vector2(200f, transform.position.y + 4));
        yield return(new WaitForSeconds(0.3f));

        yield return(new WaitUntil(foot_Collider.Hit_Trigger));

        transform.localScale = new Vector3(1, 1, 1);

        yield return(new WaitForSeconds(1.03f));

        //空中移動
        _controller.Change_Fly_Parameter();
        _controller.Change_Animation("ShootPoseBool");
        transform.localScale = new Vector3(1, 1, 1);
        _move_Const_Speed.Start_Move(new Vector3(180f, 0), 1);
        yield return(new WaitUntil(_move_Const_Speed.End_Move));

        //TODO : 弾幕
        //溜め
        _effect.Start_Charge_Effect(10);

        while (melody_Manager.Get_Now_Melody() == MelodyManager.Melody.pre_Chorus)
        {
            yield return(null);
        }

        //TODO : 弾幕中止
        //ため中止
        _effect.Stop_Charge_Effect();

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