ProjectDDD/Assets/_DDD/_Scripts/GameEvent/InteractionSubsystem.cs
2025-08-27 13:18:44 +09:00

26 lines
907 B
C#

using System;
using UnityEngine;
namespace DDD
{
public interface IInteractionSubsystemObject
{
void InitializeSubsystem();
bool CanInteract();
bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null);
}
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 payload = null);
bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, ScriptableObject payload = null);
}
}