ProjectDDD/Assets/_DDD/_Scripts/GameEvent/InteractionSubsystem.cs
김산 471a436a0c Merge remote-tracking branch 'origin/develop' into feature/customer_behavior
# Conflicts:
#	Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteractionSubsystem.cs
2025-08-26 17:38:48 +09:00

27 lines
1.0 KiB
C#

using System;
using UnityEngine;
namespace DDD
{
public interface IInteractionSubsystemObject
{
void InitializeSubsystem();
bool CanInteract();
bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null);
ScriptableObject GetPayload();
}
public interface IInteractionSubsystemObject<T> : IInteractionSubsystemObject where T : Enum
{
T GetInteractionSubsystemType();
void SetInteractionSubsystemType(T inValue);
}
public interface IInteractionSubsystemSolver
{
}
public interface IInteractionSubsystemSolver<T> : IInteractionSubsystemSolver where T : Enum
{
bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject causerPayload = null, ScriptableObject targetPayloadSo = null);
bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, ScriptableObject causerPayload = null, ScriptableObject targetPayloadSo = null);
}
}