Files
SimUL/Assets/Scripts/InteractableObjects/Bed.cs
T
2023-11-17 15:02:33 +02:00

39 lines
1.0 KiB
C#

using System;
public class Bed : BaseInteractableObject
{
protected override void PrepareMenuActions()
{
_menuActions[RadialMenuActions.Sleep].IsEnabled = true;
}
protected override void InteractAction(RadialMenuActions 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;
}
}