//サビ private IEnumerator Phase1_Melody_Main_Cor(NemunoBGMTimeKeeper _BGM) { //弾幕前溜め _attack_Func.StartCoroutine("High_Jump_Cor", -1); yield return(new WaitUntil(_attack_Func.Is_End_Move)); //サビ開始までの時間を計算 float wait_Time = _BGM.BGM_Time_Keeper[4] - (Time.unscaledTime - _BGM.Get_BGM_Launch_Time()) % _BGM.BGM_Time_Keeper[5]; if (wait_Time < 0 || wait_Time > 10) { wait_Time = 2.0f; } transform.localScale = new Vector3(1, 1, 1); _controller.Play_Charge_Effect(wait_Time); //移動 _controller.Change_Animation("ShootBool"); _controller.Change_Fly_Parameter(); yield return(new WaitForSecondsRealtime(1.03f)); _move_Two_Points.Start_Move(new Vector3(160f, 8f), 4); yield return(new WaitForSeconds(wait_Time - 1.0f)); //弾幕攻撃 _controller.Play_Burst_Effect(); _shoot.Start_Kunai_Shoot(); UsualSoundManager.Instance.Play_Shoot_Sound(); yield return(new WaitForSeconds(10.51f)); if (_BGM.Get_Now_Melody() != NemunoBGMTimeKeeper.Melody.main) { _controller.Change_Land_Paramter(); _controller.Change_Animation("IdleBool"); yield return(new WaitForSeconds(1.38f)); } can_Attack = true; }
//バックジャンプ // 自機と反対側に決まった座標に飛ぶ public IEnumerator Back_Jump_Cor() { is_End_Move = false; int direction = -Player_Direction(); transform.localScale = new Vector3(direction, 1, 1); _controller.Change_Fly_Parameter(); _controller.Change_Animation("BackJumpBool"); yield return(new WaitForSeconds(0.2f)); _sound.Play_Jump_Sound(0.04f); _move_Two_Points.Start_Move(new Vector3(160f * direction, transform.position.y), 0); yield return(new WaitUntil(_move_Two_Points.End_Move)); _sound.Play_Land_Sound(); _controller.Change_Land_Paramter(); _controller.Change_Animation("IdleBool"); is_End_Move = true; }