ProjectDDD/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantInteractionComponent.cs

46 lines
1.3 KiB
C#

using UnityEngine;
namespace DDD
{
public class RestaurantInteractionComponent : MonoBehaviour, IInteractable
{
[SerializeField] private InteractionType _interactionType = InteractionType.None;
[SerializeField] private float _holdTime = 1f;
public bool CanInteract()
{
return true;
}
public bool OnInteracted(IInteractor interactor, ScriptableObject interactionPayloadSo = null)
{
if (CanInteract() == false)
{
return false;
}
bool interactionResult = RestaurantInteractionEvents.RestaurantInteraction.RequestInteraction(interactor.GetInteractorGameObject(),
GetInteractableGameObject(), GetInteractionType(), interactionPayloadSo, true);
return interactionResult;
}
public InteractionType GetInteractionType()
{
return _interactionType;
}
public GameObject GetInteractableGameObject()
{
return gameObject;
}
public void InitializeInteraction(InteractionType interactionType)
{
_interactionType = interactionType;
}
public float GetRequiredHoldTime()
{
return _holdTime;
}
}
}