refactor interact system

interact only after PopupItemMenu button clicked
This commit is contained in:
Vova
2023-11-16 16:11:39 +02:00
parent c2bb35a46d
commit 1774ab5b18
12 changed files with 100 additions and 61 deletions
@@ -1,5 +1,6 @@
using UnityEngine;
using static UnityEditor.Experimental.GraphView.GraphView;
using System;
using System.Collections;
using UnityEngine;
public class BaseInteractableObject : MonoBehaviour
{
@@ -7,15 +8,39 @@ public class BaseInteractableObject : MonoBehaviour
public Transform _interactionPoint;
[SerializeField]
public PopupItemMenu _radialMenuPrefab;
protected Player _player;
public virtual void Interact(Player player)
private InteractionStatus _currentStatus=InteractionStatus.Complete;
public InteractionStatus Interact(Player player)
{
_player=player;
if (_currentStatus == InteractionStatus.Complete)
{
UIManager.Instance.ShowItemsMenu(PopupMenuCallback);
_currentStatus = InteractionStatus.WaitForChoose;
}
else if(_currentStatus!=InteractionStatus.WaitForChoose)
{
if (_player.IsPathComplete(_interactionPoint.position))
{
InteractAction();
_currentStatus = InteractionStatus.Complete;
}
else
{
_currentStatus = InteractionStatus.FarFromPlayer;
}
}
return _currentStatus;
}
public void SpawnMenu()
private void PopupMenuCallback()
{
UIManager.Instance.ShowItemsMenu();
_currentStatus = InteractionStatus.InProgress;
}
protected virtual void InteractAction()
{
}
}