// Start is called before the first frame update IEnumerator Start() { yield return(new WaitForSeconds(.25f)); int currentDay = 0; EffectMixer.SetFloat("NoiseVolume", -80f); start: currentDay %= Days.Length; SpawnTrash(); NewDayEvent?.Invoke(); yield return(RunDay(Days[currentDay])); exited = false; while (true) { yield return(null); if (timeOfDay.DayIsOver) { goto evaluate; } if (exited) { goto evaluate; } } evaluate: Player.GetComponent <Interaction>().DropCurrentObject(); yield return(FadeToBlack.ToBlack(1f)); if (Days[currentDay].EndDayAudio != null) { yield return(PlaySnippet(Days[currentDay].EndDayAudio)); } EffectMixer.SetFloat("NoiseVolume", -80f); yield return(new WaitForSeconds(.5f)); yield return(BreakdownPrint.ShowDayBreakdown(penalty: 50 * BussGenerator.MissedTrash())); BussGenerator.Reset(); currentDay++; goto start; }
private void Start() { if (_preDayEvent == null) { _preDayEvent = new PreDayEvent(); } if (_newDayEvent == null) { _newDayEvent = new NewDayEvent(); } if (_dayEndEvent == null) { _dayEndEvent = new UnityEvent(); } PreDay(); }
public virtual void ProcessEvent(NewDayEvent e) { }
public void GetNewDay(int dayInd) { NewDayEvent?.Invoke(dayInd); }