private void Start() { _rewinder = GameObject.Find("__Scene__").GetComponent <Rewinder>(); Core = GetComponent <PlayerCore>(); WorldUIManager.DisplayBanner(WorldUiElement.LeftBanner); UpdateRewindsCountBanner(_rewindsLeft); StartCoroutine(DelayTeleport()); }
// Private private void DisplayDeathUI(bool hasRewindsLeft) { WorldUIManager.DisplayBanner(WorldUiElement.MainBanner); WorldUIManager.DisplayBanner(WorldUiElement.SubBanner); if (hasRewindsLeft) { WorldUIManager.SetBannerText(WorldUiElement.MainBanner, "Try That Again"); WorldUIManager.SetBannerText(WorldUiElement.SubBanner, "Hold L1 or Backspace to rewind."); } else { WorldUIManager.SetBannerText(WorldUiElement.MainBanner, "Out of Rewinds"); WorldUIManager.SetBannerText(WorldUiElement.SubBanner, "Hold L1 or Backspace restart at checkpoint."); } }
private IEnumerator RewindEndingCountdownUi() { WorldUIManager.DisplayBanner(WorldUiElement.SubBanner); var timeWaitedForResume = 0f; while (true) { // Banner will exit when status changes for any reason if (_currentRewindStatus != RewindStatus.SafeFreeze && timeWaitedForResume > 0) { break; } var countdown = Math.Round((Rewinder.WaitBeforeResumeTime - timeWaitedForResume), 1); countdown = countdown < 0 ? 0 : countdown; WorldUIManager.SetBannerText(WorldUiElement.SubBanner, countdown.ToString()); timeWaitedForResume += Time.deltaTime; yield return(null); } WorldUIManager.HideElement(WorldUiElement.SubBanner); }