fix radial menu
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user