/// <summary> /// クリアシーケンスを開始します。 /// </summary> public static void Clear(ClearObject co) { state = StateType.Clear; waitStartTime = Time.time; SoundController.PlayBGM(SoundController.BgmType.Clear); ClearSequencer.Start(co); }
public static void Start(ClearObject clearObject) { CanNext = false; // 残り時間をボーナス点にまるめこむ int leftTime = Mathf.FloorToInt(GameParams.playTime * GameParams.TimeBonus); GameParams.playTime = ((float)leftTime / GameParams.TimeBonus) + (0.1f / GameParams.TimeBonus); GameManager.instance.StartCoroutine(ClearCoroutine(clearObject)); }
static IEnumerator ClearCoroutine(ClearObject clearObject) { // ブラックホールに吸い込まれる yield return(clearObject.ToBlackhole()); Blackhole.instance.ClearDone(); Graviy.instance.StartEat(); // 落下 yield return(clearObject.Fall()); // 口を閉じてクリア表示 Graviy.AddEnergy(Graviy.EnergyMax); Graviy.instance.CloseMouth(); GameManager.ShowClear(); yield return(WaitForSecondsOrClick(WaitNextSeconds)); // タイムボーナス yield return(TimeBonus()); yield return(WaitForSecondsOrClick(WaitNextSeconds)); // ライフボーナス yield return(LifeBonus()); yield return(WaitForSecondsOrClick(WaitNextSeconds)); // アイテムパーフェクトボーナス if (GameManager.GetItem >= GameManager.ItemCount) { GameManager.instance.PerfectBonusText(PerfectBonusMessage); GameParams.AddScore(PerfectPoint); SoundController.Play(SoundController.SeType.Start); } else { GameManager.instance.PerfectBonusText($"{GameManager.ItemCount}{Kosu}コ</size>中{GameManager.GetItem}{Kosu}コ</size>ゲット。{GameManager.ItemCount - GameManager.GetItem}{Kosu}コ</size>とりのがし..."); } yield return(WaitForSecondsOrClick(WaitNextSeconds)); GameManager.ShowClick(); CanNext = true; }