change multiple scene system to dynamic indoor scene

This commit is contained in:
Vova
2024-05-27 08:23:54 +03:00
parent e071a29c90
commit 4a59cee5e6
109 changed files with 3740 additions and 83901 deletions
+38
View File
@@ -0,0 +1,38 @@
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()
{
GameManager.Instance.UI.ShowTimeSliderDialog("Sleep", "Wake up in", OnCancel, OnConfirm);
}
private void OnCancel()
{
OnFastForwardEnd();
}
private void OnConfirm(TimeSpan time)
{
_player.SetPlayerActing(PlayerStates.Sleeping);
GameManager.Instance.Time.FastForward(time);
GameManager.Instance.Time.OnFastForwardEnd += OnFastForwardEnd;
}
private void OnFastForwardEnd()
{
_player.SetPlayerActing(PlayerStates.Awake);
_player.SetPlayerAnimation(AnimationStates.Standing);
GameManager.Instance.Time.OnFastForwardEnd -= OnFastForwardEnd;
}
}