using System; using UnityEngine; namespace AibisDream { [RequireComponent(typeof(Animator))] public class AnimatorScenePart : AbsScenePart { private Animator _animator; public override void Init(TimesOfDay timesOfDay, Weather weather = Weather.Sunny) { _animator = GetComponent(); curWeather = weather; OnTimeChange(timesOfDay); } public override void OnTimeChange(TimesOfDay time) { curTime = time; ResetTriggers(); _animator.SetTrigger(time.ToString()); } public override void OnWeatherChange(Weather weather) { curWeather = weather; ResetTriggers(); _animator.SetTrigger(weather.ToString()); } private void ResetTriggers() { foreach (var timeStr in Enum.GetNames(typeof(TimesOfDay))) { _animator.ResetTrigger(timeStr); } foreach (var weatherStr in Enum.GetNames(typeof(Weather))) { _animator.ResetTrigger(weatherStr); } } } }