using System; public class Bed : BaseInteractableObject { private Player _player; public override void Interact(Player player) { _player = player; _player.SetPlayerAnimation(AnimationStates.Sitting, OnAnimationFinished); } private void OnAnimationFinished() { TimeManager.Instance.Pause(); SliderUI.Instance.ShowTimeSliderDialog("Go to sleep", "Sleep until", OnCancel,OnConfirm); } private void OnCancel() { TimeManager.Instance.Resume(); OnFastForwardEnd(); } private void OnConfirm(TimeSpan time) { _player.SetPlayerActing(PlayerStates.Sleeping); TimeManager.Instance.FastForward(time, OnFastForwardEnd); } private void OnFastForwardEnd() { _player.SetPlayerActing(PlayerStates.Awake); _player.SetPlayerAnimation(AnimationStates.Standing); } }