fix radial menu

This commit is contained in:
2023-11-17 13:52:06 +02:00
parent 8456ce0356
commit 37da3bd61a
14 changed files with 40 additions and 27 deletions
@@ -15,27 +15,30 @@ public class BaseInteractableObject : MonoBehaviour
public InteractionStatus Interact(Player player)
{
_player = player;
if (_currentStatus == InteractionStatus.None && _menuActions.Any())
switch (_currentStatus)
{
UIManager.Instance.ShowItemsMenu(_menuActions, PopupMenuCallback);
_currentStatus = InteractionStatus.WaitForChoose;
}
else if (_currentStatus == InteractionStatus.Complete)
{
_currentStatus = InteractionStatus.None;
return InteractionStatus.Complete;
}
else if (_currentStatus != InteractionStatus.WaitForChoose && _currentStatus != InteractionStatus.Complete)
{
if (_player.IsPathComplete(_interactionPoint.position))
{
InteractAction();
_currentStatus = InteractionStatus.Complete;
}
else
{
_currentStatus = InteractionStatus.FarFromPlayer;
}
case InteractionStatus.None when _menuActions.Any():
UIManager.Instance.ShowItemsMenu(_menuActions, PopupMenuCallback);
_currentStatus = InteractionStatus.WaitForChoose;
break;
case InteractionStatus.Complete:
_currentStatus = InteractionStatus.None;
return InteractionStatus.Complete;
default:
if (_currentStatus != InteractionStatus.WaitForChoose && _currentStatus != InteractionStatus.Complete)
{
if (_player.IsPathComplete(_interactionPoint.position))
{
InteractAction();
_currentStatus = InteractionStatus.None;
return InteractionStatus.Complete;
}
else
{
_currentStatus = InteractionStatus.FarFromPlayer;
}
}
break;
}
return _currentStatus;
}