using System; using System.Collections; public class Bed : BaseInteractableObject { protected override void InteractAction() { _player.SetPlayerAnimation(AnimationStates.Sitting, OnAnimationFinished); } private void OnAnimationFinished() { UIManager.Instance.ShowTimeSliderDialog("Go to sleep", "Sleep until", OnCancel, OnConfirm); } private void OnCancel() { OnFastForwardEnd(); } private void OnConfirm(TimeSpan time) { _player.SetPlayerActing(PlayerStates.Sleeping); TimeManager.Instance.FastForward(time); TimeManager.Instance.OnFastForwardEnd += OnFastForwardEnd; } private void OnFastForwardEnd() { _player.SetPlayerActing(PlayerStates.Awake); _player.SetPlayerAnimation(AnimationStates.Standing); TimeManager.Instance.OnFastForwardEnd -= OnFastForwardEnd; } }