Files
SimUL/Assets/Scripts/InteractableObjects/BaseInteractableObject.cs
T
Vova 1774ab5b18 refactor interact system
interact only after PopupItemMenu button clicked
2023-11-16 16:11:39 +02:00

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()
{
}
}