//==========================================フェーズ1=================================== public void Phase1(NemunoBGMTimeKeeper _BGM) { //フェーズ開始時の処理 if (start_Phase[0]) { start_Phase[0] = false; _controller.Play_Battle_Effect(); } if (!can_Attack) { return; } //BGMのタイミングによって攻撃を変える switch (_BGM.Get_Now_Melody()) { case NemunoBGMTimeKeeper.Melody.A: Phase1_Melody_A(10); break; case NemunoBGMTimeKeeper.Melody.B: Phase1_Melody_B(18); break; case NemunoBGMTimeKeeper.Melody.main: StartCoroutine("Phase1_Melody_Main_Cor", _BGM); can_Attack = false; break; } }
public void Phase2(NemunoBGMTimeKeeper _BGM) { //フェーズ開始時の処理 if (start_Phase[1]) { Stop_Phase1(); Raise_Move_Speed(); start_Phase[1] = false; can_Attack = false; StartCoroutine("Phase2_Launch_Attack"); } if (!can_Attack) { return; } //BGMのタイミングによって攻撃を変える switch (_BGM.Get_Now_Melody()) { case NemunoBGMTimeKeeper.Melody.A: Phase1_Melody_A(25); break; case NemunoBGMTimeKeeper.Melody.B: Phase1_Melody_B(50); break; case NemunoBGMTimeKeeper.Melody.main: StartCoroutine("Phase2_Melody_Main_Cor", _BGM); can_Attack = false; break; } }
new void Awake() { base.Awake(); //取得 _anim = GetComponent <Animator>(); _rigid = GetComponent <Rigidbody2D>(); _collider = GetComponent <CapsuleCollider2D>(); _attack = GetComponent <NemunoAttack>(); _BGM = new NemunoBGMTimeKeeper(); }
private void Awake() { //取得 _anim = GetComponent <Animator>(); _rigid = GetComponent <Rigidbody2D>(); _collider = GetComponent <CapsuleCollider2D>(); _boss_Controller = GetComponent <BossEnemy>(); _attack = GetComponent <NemunoAttack>(); _BGM = new NemunoBGMTimeKeeper(); }
//フェーズ2サビ private IEnumerator Phase2_Melody_Main_Cor(NemunoBGMTimeKeeper _BGM) { int direction = transform.localScale.x.CompareTo(0); if (Mathf.Approximately(direction, 0)) { direction = 1; } //大ジャンプ _attack_Func.StartCoroutine("High_Jump_Cor", direction); 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; } //溜め開始 _controller.Play_Charge_Effect(wait_Time); //移動 _controller.Change_Animation("ShootBool"); _controller.Change_Fly_Parameter(); _move_Two_Points.Start_Move(new Vector3(160f * -direction, 8f), 4); yield return(new WaitForSeconds(1.74f)); yield return(new WaitForSeconds(wait_Time - 1.5f)); //弾幕攻撃 _shoot.Start_Knife_Shoot(); yield return(new WaitForSeconds(6.3f)); _controller.Play_Burst_Effect(); UsualSoundManager.Instance.Play_Shoot_Sound(); yield return(new WaitForSeconds(1.74f)); _controller.Change_Land_Paramter(); _controller.Change_Animation("IdleBool"); yield return(new WaitForSeconds(4.2f)); can_Attack = true; }
//サビ 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; }