using System.Collections.Generic; using UnityEngine; namespace DDD { public enum InteractionType { None, RestaurantManagement, Count } public interface IInteractable { bool CanInteract(); bool OnInteracted(IInteractor interactor, ScriptableObject interactionPayloadSo = null); InteractionType GetInteractionType(); GameObject GetInteractableGameObject(); void InitializeInteraction(InteractionType interactionType); } public interface IInteractor { GameObject GetInteractorGameObject(); } public interface IInteractionSolver { bool ExecuteInteraction(IInteractor interactor, ScriptableObject interactionPayloadSo = null); } }