1774ab5b18
interact only after PopupItemMenu button clicked
47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
public class BaseInteractableObject : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
public Transform _interactionPoint;
|
|
[SerializeField]
|
|
public PopupItemMenu _radialMenuPrefab;
|
|
protected 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;
|
|
}
|
|
|
|
private void PopupMenuCallback()
|
|
{
|
|
_currentStatus = InteractionStatus.InProgress;
|
|
}
|
|
|
|
protected virtual void InteractAction()
|
|
{
|
|
|
|
}
|
|
}
|