diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/ContinueRestaurantOrder.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/ContinueRestaurantOrder.cs new file mode 100644 index 000000000..37397a54b --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/ContinueRestaurantOrder.cs @@ -0,0 +1,7 @@ +namespace DDD +{ + public class ContinueRestaurantOrder + { + // 이미 있는 인터랙션 타겟을 대상으로 진행함 + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/ContinueRestaurantOrder.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/ContinueRestaurantOrder.cs.meta new file mode 100644 index 000000000..bf6373194 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/ContinueRestaurantOrder.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d0b954edf40f4172964dbd6e4fe22b1a +timeCreated: 1755772289 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/StartRestaurantOrder.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/StartRestaurantOrder.cs index f0997393f..a60241585 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/StartRestaurantOrder.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/Customer/Actions/StartRestaurantOrder.cs @@ -41,7 +41,8 @@ public override TaskStatus OnUpdate() { return TaskStatus.Failure; } - + + // TODO : 이벤트 통해서 인터랙션. 직접 호출하지 말 것! var interacted = outInteractable.OnInteracted(_interactor); if (!interacted) { diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Reserved.cs b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Reserved.cs index 7965b8303..5f6fa57dd 100644 --- a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Reserved.cs +++ b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Reserved.cs @@ -12,7 +12,8 @@ public bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable in public bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, ScriptableObject causerPayload = null, ScriptableObject targetPayloadSo = null) { - return true; + // Interactable's CurrentInteractor is me? => Can execute + return false; } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Wait.cs b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Wait.cs index 8667bddda..c1f980df2 100644 --- a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Wait.cs +++ b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Wait.cs @@ -8,7 +8,11 @@ public class RestaurantOrderSolver_Wait : MonoBehaviour, IInteractionSubsystemSo public bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject causerPayload = null, ScriptableObject targetPayloadSo = null) { if (CanExecuteInteractionSubsystem(interactor, interactable, causerPayload, targetPayloadSo) == false) return false; - + // TODO : DO SOMETHING!!! + /* TODO + * OnInteracted에서 상태를 바꾸는 대신, 여기서 직접 바꿔주고, 현재 나에게 점유되어 있다는 사실을 알려주기? 그리고 CanInteractTo에서 이게 일치해야만 참 반환하게? + * 필요하다면 IInteractable 인터페이스에 CurrentInteractor를 등록하는 메소드를 추가해야 할수도? + */ return true; }