refactor interact system
interact only after PopupItemMenu button clicked
This commit is contained in:
@@ -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()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user