From 8f56d99bf7d4cd95f64aff11d6ec2124e4318b9f Mon Sep 17 00:00:00 2001 From: Jeonghyeon Ha Date: Thu, 21 Aug 2025 16:40:49 +0900 Subject: [PATCH] =?UTF-8?q?=EC=86=90=EB=8B=98=20=EB=B9=84=ED=97=A4?= =?UTF-8?q?=EC=9D=B4=EB=B9=84=EC=96=B4=20=ED=8A=B8=EB=A6=AC=20=EC=B4=88?= =?UTF-8?q?=EC=95=88=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Environments/Props/Prop_Open.prefab | 2 +- .../AI/Customer/Subtree/CustomerDefault.asset | 4 +- .../Prop/MenuBoard/PropMenuBoard.prefab | 4 +- .../_Addressables/Prefabs/CustomerNpc.prefab | 1044 ++++++++++++++++- .../Prefabs/RestaurantNpc.prefab | 12 +- .../Prefabs/RestaurantPlayer.prefab | 33 + .../AutoCreated/So/EnvironmentDataSo.asset | 2 +- .../_DDD/_Scripts/RestaurantCharacter/AI.meta | 3 + .../AI/RestaurantCustomerAiComponent.cs | 57 + .../AI/RestaurantCustomerAiComponent.cs.meta | 3 + .../RestaurantCustomerBlackboardComponent.cs | 21 + ...taurantCustomerBlackboardComponent.cs.meta | 3 + .../Interfaces/IRestaurantCustomerAi.cs | 7 + .../Interfaces/IRestaurantCustomerAi.cs.meta | 3 + .../IRestaurantCustomerBlackboard.cs | 13 + .../IRestaurantCustomerBlackboard.cs.meta | 3 + .../Npc/Customer/CustomerCharacter.cs | 45 +- .../Npc/RestaurantNpcCharacter.cs | 6 +- .../Player/RestaurantPlayerCharacter.cs | 3 + .../Conrtollers/RestaurantRunController.cs | 13 +- .../Run/Customer/CustomerFactory.cs | 64 +- .../RestaurantOrderInteractionSubsystem.cs | 2 + .../Solvers/RestaurantOrderSolver.cs | 4 +- .../RestaurantOrderSolver_Busy.cs | 19 + .../RestaurantOrderSolver_Busy.cs.meta | 3 + .../RestaurantOrderSolver_Dirty.cs | 19 + .../RestaurantOrderSolver_Dirty.cs.meta | 3 + .../FlowStates/RestaurantCustomerState.cs | 97 ++ ProjectSettings/EditorBuildSettings.asset | 2 +- 29 files changed, 1424 insertions(+), 70 deletions(-) create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/AI.meta create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerAiComponent.cs create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerAiComponent.cs.meta create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerBlackboardComponent.cs create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerBlackboardComponent.cs.meta create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerAi.cs create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerAi.cs.meta create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerBlackboard.cs create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerBlackboard.cs.meta create mode 100644 Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Busy.cs create mode 100644 Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Busy.cs.meta create mode 100644 Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Dirty.cs create mode 100644 Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Dirty.cs.meta diff --git a/Assets/_DDD/Restaurant/Environments/Props/Prop_Open.prefab b/Assets/_DDD/Restaurant/Environments/Props/Prop_Open.prefab index e3535c2f0..1cc1d7f89 100644 --- a/Assets/_DDD/Restaurant/Environments/Props/Prop_Open.prefab +++ b/Assets/_DDD/Restaurant/Environments/Props/Prop_Open.prefab @@ -136,7 +136,7 @@ MonoBehaviour: m_EditorClassIdentifier: _interactionType: 1 _executionParameters: - _holdTime: 1 + _holdTime: 0.1 _displayParameters: _messageKey: _interactionAvailableFlows: 1 diff --git a/Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset b/Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset index f1f9e1f9b..fa318032c 100644 --- a/Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset +++ b/Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd8483b8226cbda88852b05e1285b9603516dfd5842972a2e379a43cb91b9a96 -size 676 +oid sha256:948390052ce3eddb7f00b5d0f3286b789c8298f4f327a7843304e44f8a2e6513 +size 87077 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/PropMenuBoard.prefab b/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/PropMenuBoard.prefab index 149bc761d..998c780c5 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/PropMenuBoard.prefab +++ b/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/PropMenuBoard.prefab @@ -120,11 +120,12 @@ MonoBehaviour: m_EditorClassIdentifier: _interactionType: 1 _executionParameters: - _holdTime: 1 + _holdTime: 0 _displayParameters: _messageKey: _interactionAvailableFlows: 1 _aiInteractionPoints: [] + autoInitialize: 1 --- !u!114 &4545680930728379745 MonoBehaviour: m_ObjectHideFlags: 0 @@ -377,3 +378,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1235f6bde9304d8f85079f2777bd4b3c, type: 3} m_Name: m_EditorClassIdentifier: + _managementType: 0 diff --git a/Assets/_DDD/_Addressables/Prefabs/CustomerNpc.prefab b/Assets/_DDD/_Addressables/Prefabs/CustomerNpc.prefab index 4ac33db37..4091378b7 100644 --- a/Assets/_DDD/_Addressables/Prefabs/CustomerNpc.prefab +++ b/Assets/_DDD/_Addressables/Prefabs/CustomerNpc.prefab @@ -9,12 +9,1048 @@ PrefabInstance: m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} - propertyPath: m_Subtree - value: + propertyPath: m_Data.m_UniqueID + value: 2072347169 objectReference: {fileID: 0} - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} - propertyPath: m_GraphName - value: CustomerBehavior + propertyPath: m_Data.m_TaskData.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventTaskData.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_SharedVariableData.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_TaskData.Array.data[0].m_Version + value: 3.4 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventNodePropertiesData.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_LogicNodePropertiesData.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_TaskData.Array.data[0].m_ObjectType + value: Opsive.BehaviorDesigner.Runtime.Tasks.Actions.StackedAction + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventTaskData.Array.data[0].m_Version + value: 3.4 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventTaskData.Array.data[0].m_ObjectType + value: Opsive.BehaviorDesigner.Runtime.Tasks.Events.Start + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_TaskData.Array.data[0].m_Values.Array.size + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[2]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[3]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[4]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[5]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[6]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[10]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[11]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[12]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[13]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[14]' + value: 118 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[15]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[16]' + value: 46 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[17]' + value: 66 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[18]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[19]' + value: 104 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[20]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[21]' + value: 118 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[22]' + value: 105 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[23]' + value: 111 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[24]' + value: 114 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[25]' + value: 68 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[26]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[27]' + value: 115 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[28]' + value: 105 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[29]' + value: 103 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[30]' + value: 110 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[31]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[32]' + value: 114 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[33]' + value: 46 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[34]' + value: 82 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[35]' + value: 117 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[36]' + value: 110 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[37]' + value: 116 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[38]' + value: 105 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[39]' + value: 109 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[40]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[41]' + value: 46 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[42]' + value: 84 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[43]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[44]' + value: 115 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[45]' + value: 107 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[46]' + value: 115 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[47]' + value: 46 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[48]' + value: 65 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[49]' + value: 99 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[50]' + value: 116 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[51]' + value: 105 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[52]' + value: 111 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[53]' + value: 110 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[54]' + value: 115 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[55]' + value: 46 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[56]' + value: 83 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[57]' + value: 116 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[58]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[59]' + value: 114 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[60]' + value: 116 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[61]' + value: 66 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[62]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[63]' + value: 104 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[64]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[65]' + value: 118 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[66]' + value: 105 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[67]' + value: 111 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[68]' + value: 114 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[69]' + value: 84 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[70]' + value: 114 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[71]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[72]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[74]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[75]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[76]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[77]' + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_Values.Array.data[79]' + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventNodePropertiesData.Array.data[0].m_Version + value: 3.4 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventTaskData.Array.data[0].m_Values.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_LogicNodePropertiesData.Array.data[0].m_Version + value: 3.4 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_TaskData.Array.data[0].m_UnityObjects.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventNodePropertiesData.Array.data[0].m_ObjectType + value: Opsive.GraphDesigner.Runtime.NodeProperties + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventTaskData.Array.data[0].m_Values.Array.data[0]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventTaskData.Array.data[0].m_Values.Array.data[1]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_LogicNodePropertiesData.Array.data[0].m_ObjectType + value: Opsive.GraphDesigner.Runtime.LogicNodeProperties + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.size + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.size + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[1]' + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[2]' + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[3]' + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[4]' + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[5]' + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[6]' + value: 73 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[7]' + value: 73 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[8]' + value: 73 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[9]' + value: 74 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[0]' + value: 2962117259717031728 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[1]' + value: 7266922542588021606 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[2]' + value: 7366259733513172608 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[3]' + value: 6380291040478046818 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[4]' + value: -8530567197348880156 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[5]' + value: -3957478287605629114 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[6]' + value: -1500117594402502404 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[7]' + value: -8367522328533733813 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[8]' + value: -2139127302081178988 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[9]' + value: -4449977117559057706 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[10]' + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[11]' + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[12]' + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[13]' + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[14]' + value: 79 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[15]' + value: 83 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_ValuePositions.Array.data[16]' + value: 83 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventTaskData.Array.data[0].m_ValuePositions.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[10]' + value: 1600038550733978463 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[11]' + value: 5078256361681572446 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[12]' + value: 2789843053411464425 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[13]' + value: 256556895345464718 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[14]' + value: 8465553906751671549 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[15]' + value: -8530567197348880156 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_TaskData.Array.data[0].m_LongValueHashes.Array.data[16]' + value: -3957478287605629114 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventTaskData.Array.data[0].m_LongValueHashes.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.size + value: 65 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.size + value: 74 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventTaskData.Array.data[0].m_LongValueHashes.Array.data[0]' + value: -5674111636788395943 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[0]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[1]' + value: 56 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[2]' + value: 52 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[3]' + value: 98 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[4]' + value: 53 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[5]' + value: 49 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[6]' + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[7]' + value: 56 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[8]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[9]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[0]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[1]' + value: 99 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[2]' + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[3]' + value: 99 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[4]' + value: 55 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[5]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[6]' + value: 51 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[7]' + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[8]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[9]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[10]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[11]' + value: 57 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[12]' + value: 56 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[13]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[14]' + value: 52 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[15]' + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[16]' + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[17]' + value: 57 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[18]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[19]' + value: 98 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[20]' + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[21]' + value: 51 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[22]' + value: 52 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[23]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[24]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[25]' + value: 98 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[26]' + value: 51 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[27]' + value: 56 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[28]' + value: 53 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[29]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[30]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[31]' + value: 49 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[32]' + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[33]' + value: 98 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[34]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[35]' + value: 53 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[38]' + value: 112 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[39]' + value: 67 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[42]' + value: 240 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[43]' + value: 66 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[46]' + value: 220 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_Values.Array.data[47]' + value: 66 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[10]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[11]' + value: 49 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[12]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[13]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[14]' + value: 52 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[15]' + value: 99 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[16]' + value: 56 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[17]' + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[18]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[19]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[20]' + value: 57 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[21]' + value: 101 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[22]' + value: 57 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[23]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[24]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[25]' + value: 52 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[26]' + value: 98 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[27]' + value: 53 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[28]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[29]' + value: 98 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[30]' + value: 56 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[31]' + value: 49 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[32]' + value: 52 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[33]' + value: 56 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[34]' + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[35]' + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[38]' + value: 112 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[39]' + value: 67 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[41]' + value: 128 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[42]' + value: 138 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[43]' + value: 67 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[46]' + value: 232 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[47]' + value: 66 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[69]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[70]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[71]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_Values.Array.data[72]' + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventNodePropertiesData.Array.data[0].m_ValuePositions.Array.size + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.size + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_EventNodePropertiesData.Array.data[0].m_LongValueHashes.Array.size + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: m_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.size + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[1]' + value: 36 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[2]' + value: 44 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[3]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[4]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[5]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[6]' + value: 64 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[1]' + value: 36 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[2]' + value: 44 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[3]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[4]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[5]' + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[6]' + value: 64 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[7]' + value: 65 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[8]' + value: 69 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[9]' + value: 69 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[0]' + value: 5480985131265888956 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[1]' + value: -7644563576402514701 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[2]' + value: 2962117259702096269 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[3]' + value: 7257299673358305469 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[4]' + value: 2962820280256717871 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[5]' + value: 2813741625700550223 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_EventNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[6]' + value: 268198477668590510 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[0]' + value: 5480985131265888956 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[1]' + value: -7644563576402514701 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[2]' + value: 2962117259702096269 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[3]' + value: 7257299673358305469 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[4]' + value: 2962820280256717871 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[5]' + value: 2813741625700550223 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[6]' + value: 268198477668590510 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[7]' + value: 1580835718119765152 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[8]' + value: 1324498323093618261 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[9]' + value: -5519571879738437719 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[10]' + value: 71 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_ValuePositions.Array.data[11]' + value: 73 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[10]' + value: -4446844345799519105 + objectReference: {fileID: 0} + - target: {fileID: 3854744934792897056, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} + propertyPath: 'm_Data.m_LogicNodePropertiesData.Array.data[0].m_LongValueHashes.Array.data[11]' + value: 8870558515320684346 objectReference: {fileID: 0} - target: {fileID: 3971935000603232885, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} propertyPath: m_LocalPosition.x diff --git a/Assets/_DDD/_Addressables/Prefabs/RestaurantNpc.prefab b/Assets/_DDD/_Addressables/Prefabs/RestaurantNpc.prefab index d3008f683..992df8657 100644 --- a/Assets/_DDD/_Addressables/Prefabs/RestaurantNpc.prefab +++ b/Assets/_DDD/_Addressables/Prefabs/RestaurantNpc.prefab @@ -234,10 +234,18 @@ MonoBehaviour: m_Data: m_TaskData: [] m_EventTaskData: [] - m_SharedVariableData: [] + m_SharedVariableData: + - m_ObjectType: 'Opsive.GraphDesigner.Runtime.Variables.SharedVariable`1[[UnityEngine.GameObject, + UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]' + m_ValueHashes: + m_LongValueHashes: 0d00eb254f8d1b29baa620a07799d549a996976a4a64278927dafeacd28e0b00 + m_ValuePositions: 000000000e0000000e0000000f000000 + m_Values: 53656c6647616d654f626a65637402ffffffff + m_UnityObjects: [] + m_Version: 3.4 m_DisabledEventNodesData: [] m_DisabledLogicNodesData: [] - m_UniqueID: -1885404201 + m_UniqueID: 1495981264 m_LogicNodePropertiesData: [] m_EventNodePropertiesData: [] m_GroupPropertiesData: [] diff --git a/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab b/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab index cc9051a7a..a66d69676 100644 --- a/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab +++ b/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab @@ -366,6 +366,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 5259510642736920361, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3} insertIndex: -1 addedObject: {fileID: 8993310060139522557} + - targetCorrespondingSourceObject: {fileID: 5259510642736920361, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3} + insertIndex: -1 + addedObject: {fileID: -6848683434426724985} - targetCorrespondingSourceObject: {fileID: 6791841979869644848, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3} insertIndex: -1 addedObject: {fileID: 662634663174340165} @@ -461,6 +464,36 @@ MonoBehaviour: m_EditorClassIdentifier: blockOutlineAndGlow: 1 blockOverlay: 1 +--- !u!114 &-6848683434426724985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7316134055819320434} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cdaa3305fa954c45a80c9662aa6f425, type: 3} + m_Name: + m_EditorClassIdentifier: + m_GraphName: Behavior Tree + m_Index: 0 + m_Data: + m_TaskData: [] + m_EventTaskData: [] + m_SharedVariableData: [] + m_DisabledEventNodesData: [] + m_DisabledLogicNodesData: [] + m_UniqueID: 732308450 + m_LogicNodePropertiesData: [] + m_EventNodePropertiesData: [] + m_GroupPropertiesData: [] + m_StartWhenEnabled: 1 + m_PauseWhenDisabled: 0 + m_UpdateMode: 0 + m_EvaluationType: 0 + m_MaxEvaluationCount: 1 + m_Subtree: {fileID: 0} --- !u!4 &7511707580127947132 stripped Transform: m_CorrespondingSourceObject: {fileID: 4993183601549197863, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3} diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/EnvironmentDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/EnvironmentDataSo.asset index d1b5123d1..98082d99f 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/EnvironmentDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/EnvironmentDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:863b433c27804f5f08c20382a8565fcfa5d4f79c61a0941ba31545db5031e660 +oid sha256:12badc6747a2bc25c321281b29f30d2397cd92a81d87cabed61151c0fb1a65bb size 1534 diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/AI.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/AI.meta new file mode 100644 index 000000000..c89e792df --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/AI.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1fed3b9fae5245cdbf255f627a82a1e6 +timeCreated: 1755747969 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerAiComponent.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerAiComponent.cs new file mode 100644 index 000000000..6206ce2fb --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerAiComponent.cs @@ -0,0 +1,57 @@ +using System; +using System.Threading.Tasks; +using Opsive.BehaviorDesigner.Runtime; +using Unity.Entities; +using UnityEngine; +using UnityEngine.AddressableAssets; + +namespace DDD +{ + [RequireComponent(typeof(BehaviorTree))] + [RequireComponent(typeof(RestaurantCustomerBlackboardComponent))] + public class RestaurantCustomerAiComponent : MonoBehaviour, IRestaurantCustomerAi + { + protected BehaviorTree _behaviorTree; + protected RestaurantCustomerBlackboardComponent _blackboardComponent; + + private void Awake() + { + _behaviorTree = GetComponent(); + _blackboardComponent = GetComponent(); + } + + public void InitializeAi(CustomerData inCustomerData) + { + try + { + InitializeAiInternal(inCustomerData); + } + catch (Exception e) + { + // Log + Debug.LogError(e); + throw; // TODO 예외 처리 + } + } + + private async Task InitializeAiInternal(CustomerData inCustomerData) + { + var customerState = RestaurantState.Instance.CustomerState; + var subtree = customerState.GetLoadedSubtree(inCustomerData.CustomerType); + + if (subtree == null) + { + Debug.LogError( + $"[CustomerCharacter] No preloaded subtree found for CustomerType: {inCustomerData.CustomerType}. Make sure CustomerBehaviorData is loaded."); + subtree = await customerState.GetOrLoadSubtree(inCustomerData.CustomerType); + } + + _behaviorTree.Subgraph = subtree; + _blackboardComponent.InitializeWithBehaviorTree(subtree); + _blackboardComponent.SetCustomerData(inCustomerData); + // TODO : 1. Subtree - Action, Condition + // TODO : 2. Blackboard + _behaviorTree.StartBehavior(); + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerAiComponent.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerAiComponent.cs.meta new file mode 100644 index 000000000..42084712a --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerAiComponent.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: af69e82818254bfa9cabb2dbf9430850 +timeCreated: 1755748000 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerBlackboardComponent.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerBlackboardComponent.cs new file mode 100644 index 000000000..f042b9227 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerBlackboardComponent.cs @@ -0,0 +1,21 @@ +using Opsive.BehaviorDesigner.Runtime; +using UnityEngine; + +namespace DDD +{ + public class RestaurantCustomerBlackboardComponent : MonoBehaviour, IRestaurantCustomerBlackboard + { + private Subtree _subtree; + + public void InitializeWithBehaviorTree(Subtree subtree) + { + _subtree = subtree; + _subtree.SetVariableValue(nameof(RestaurantCustomerBlackboardKey.SelfGameObject), gameObject); + } + + public void SetCustomerData(CustomerData inCustomerData) + { + _subtree.SetVariableValue(nameof(RestaurantCustomerBlackboardKey.CustomerData), inCustomerData);; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerBlackboardComponent.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerBlackboardComponent.cs.meta new file mode 100644 index 000000000..f4ab0960a --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/AI/RestaurantCustomerBlackboardComponent.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 784c770c13244dc0a0804056065eaf92 +timeCreated: 1755748886 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerAi.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerAi.cs new file mode 100644 index 000000000..785b8bb03 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerAi.cs @@ -0,0 +1,7 @@ +namespace DDD +{ + public interface IRestaurantCustomerAi + { + void InitializeAi(CustomerData inCustomerData); + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerAi.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerAi.cs.meta new file mode 100644 index 000000000..0aae47e45 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerAi.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 308488f2a02448d3853514eff04711fa +timeCreated: 1755748296 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerBlackboard.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerBlackboard.cs new file mode 100644 index 000000000..bc261391b --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerBlackboard.cs @@ -0,0 +1,13 @@ +namespace DDD +{ + public enum RestaurantCustomerBlackboardKey + { + SelfGameObject, + CustomerData, + } + + public interface IRestaurantCustomerBlackboard + { + void SetCustomerData(CustomerData inCustomerData); + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerBlackboard.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerBlackboard.cs.meta new file mode 100644 index 000000000..694439b41 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Interfaces/IRestaurantCustomerBlackboard.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a4f20d91da7045e4bc226be60254ef2b +timeCreated: 1755748894 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/Customer/CustomerCharacter.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/Customer/CustomerCharacter.cs index 372a58980..bba008853 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/Customer/CustomerCharacter.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/Customer/CustomerCharacter.cs @@ -5,48 +5,25 @@ namespace DDD { + [RequireComponent(typeof(RestaurantCustomerAiComponent))] public class CustomerCharacter : RestaurantNpcCharacter, ICustomerInitializer { private CustomerData _customerData; - - public async void Initialize(CustomerData customerData) + protected IRestaurantCustomerAi restaurantCustomerAi; + + protected override void Awake() + { + base.Awake(); + restaurantCustomerAi = GetComponent(); + } + + public void Initialize(CustomerData customerData) { _customerData = customerData; + restaurantCustomerAi.InitializeAi(_customerData); // 스킨 설정 _spineController.SetSkin(_customerData.SpineSkinKey); - - // CustomerType에 따른 behavior tree subtree 할당 - await InitializeBehaviorTree(); - } - - private async Task InitializeBehaviorTree() - { - var customerData = RestaurantData.Instance.CustomerData; - - if (customerData?.CustomerBehaviorData?.TryGetValue(_customerData.CustomerType, out var subtreeReference) != true) - { - Debug.LogError($"[CustomerCharacter] No behavior data found for CustomerType: {_customerData.CustomerType}"); - return; - } - - try - { - var subtree = await subtreeReference.LoadAssetAsync().Task; - if (subtree != null) - { - _behaviorTree.Subgraph = subtree; - _behaviorTree.StartBehavior(); - } - else - { - Debug.LogError($"[CustomerCharacter] Failed to load subtree for CustomerType: {_customerData.CustomerType}"); - } - } - catch (System.Exception e) - { - Debug.LogError($"[CustomerCharacter] Error loading subtree for CustomerType {_customerData.CustomerType}: {e.Message}"); - } } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs index 1df86afe0..0b55d5293 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs @@ -3,16 +3,12 @@ namespace DDD { - [RequireComponent(typeof(BehaviorTree))] + [RequireComponent(typeof(RestaurantNpcMovement))] public class RestaurantNpcCharacter : RestaurantCharacter { - protected BehaviorTree _behaviorTree; - protected override void Awake() { base.Awake(); - - _behaviorTree = GetComponent(); } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerCharacter.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerCharacter.cs index ea20068fb..7dad4869f 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerCharacter.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerCharacter.cs @@ -1,5 +1,8 @@ +using UnityEngine; + namespace DDD { + [RequireComponent(typeof(RestaurantPlayerMovement))] public class RestaurantPlayerCharacter : RestaurantCharacter { protected override async void Awake() diff --git a/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/RestaurantRunController.cs b/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/RestaurantRunController.cs index 179f4a908..6bbc05bc3 100644 --- a/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/RestaurantRunController.cs +++ b/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/RestaurantRunController.cs @@ -27,6 +27,9 @@ public override Task InitializeController() { _restaurantCustomerStateSo = RestaurantState.Instance.CustomerState; _restaurantRunStateSo = RestaurantState.Instance.RunState; + + _iCustomerFactory ??= new CustomerFactory(); + return Task.CompletedTask; } @@ -41,6 +44,9 @@ public override async Task OnReadyNewFlow(GameFlowState newFlowState) { if (newFlowState == GameFlowState.RunRestaurant) { + _iCustomerFactory.LoadAssets(); + await _restaurantCustomerStateSo.LoadCustomerBehaviorData(); + _cts?.Cancel(); _cts?.Dispose(); _cts = new CancellationTokenSource(); @@ -52,6 +58,9 @@ public override Task OnExitCurrentFlow(GameFlowState exitingFlowState) { if (exitingFlowState == GameFlowState.RunRestaurant) { + _iCustomerFactory.UnloadAssets(); + _restaurantCustomerStateSo.UnloadCustomerBehaviorData(); + _cts?.Cancel(); _cts?.Dispose(); _cts = null; @@ -61,8 +70,6 @@ public override Task OnExitCurrentFlow(GameFlowState exitingFlowState) private async Task StartSpawnLoopAsync(CancellationToken token) { - _iCustomerFactory ??= new CustomerFactory(); - var currentGameLevel = GameState.Instance.LevelState.Level; _levelDataSo ??= DataManager.Instance.GetDataSo(); _customerDataSo ??= DataManager.Instance.GetDataSo(); @@ -115,7 +122,7 @@ SpawnSchedule MakeSchedule() => scheduleBuilder.Build(new SpawnScheduleBuildArgs { var rotation = Quaternion.identity; - _ = _iCustomerFactory.CreateAsync(new CustomerSpawnArgs + await _iCustomerFactory.CreateAsync(new CustomerSpawnArgs { CustomerData = customerData, Position = _restaurantRunStateSo.SpawnPoint, diff --git a/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/Run/Customer/CustomerFactory.cs b/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/Run/Customer/CustomerFactory.cs index d69b62862..9131469c6 100644 --- a/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/Run/Customer/CustomerFactory.cs +++ b/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/Run/Customer/CustomerFactory.cs @@ -1,11 +1,15 @@ using System.Threading.Tasks; using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.ResourceManagement.AsyncOperations; namespace DDD { public interface ICustomerFactory { Task CreateAsync(CustomerSpawnArgs args); + void LoadAssets(); + void UnloadAssets(); } public interface ICustomerInitializer @@ -24,26 +28,14 @@ public struct CustomerSpawnArgs public class CustomerFactory : ICustomerFactory { private GameObject _customerPrefab; + private AsyncOperationHandle _customerPrefabHandle; public async Task CreateAsync(CustomerSpawnArgs args) { if (!_customerPrefab) { - var customerDataAsset = RestaurantData.Instance ? RestaurantData.Instance.CustomerData : null; - if (customerDataAsset == null || customerDataAsset.CustomerPrefab == null) - { - Debug.LogError("[CustomerFactory] RestaurantCustomerData or its CustomerPrefab reference is not set or not loaded."); - return null; - } - - var handle = customerDataAsset.CustomerPrefab.LoadAssetAsync(); - await handle.Task; - if (handle.Result == null) - { - Debug.LogError("[CustomerFactory] Failed to load customer prefab from AssetReference."); - return null; - } - _customerPrefab = handle.Result; + Debug.LogError("[CustomerFactory] Customer prefab is not loaded. Call LoadAssets() first."); + await LoadCustomerAsset(); } var newCustomer = Object.Instantiate(_customerPrefab, args.Position, args.Rotation, args.Parent); @@ -54,5 +46,47 @@ public async Task CreateAsync(CustomerSpawnArgs args) } return newCustomer; } + + public async void LoadAssets() + { + await LoadCustomerAsset(); + } + + private async Task LoadCustomerAsset() + { + if (_customerPrefab != null) + { + return; + } + + var customerDataAsset = RestaurantData.Instance ? RestaurantData.Instance.CustomerData : null; + if (customerDataAsset == null || customerDataAsset.CustomerPrefab == null) + { + Debug.LogError("[CustomerFactory] RestaurantCustomerData or its CustomerPrefab reference is not set."); + return; + } + + _customerPrefabHandle = customerDataAsset.CustomerPrefab.LoadAssetAsync(); + await _customerPrefabHandle.Task; + + if (_customerPrefabHandle.Result == null) + { + Debug.LogError("[CustomerFactory] Failed to load customer prefab from AssetReference."); + return; + } + + _customerPrefab = _customerPrefabHandle.Result; + Debug.Log("[CustomerFactory] Customer prefab loaded successfully."); + } + + public void UnloadAssets() + { + if (_customerPrefabHandle.IsValid()) + { + Addressables.Release(_customerPrefabHandle); + } + _customerPrefab = null; + Debug.Log("[CustomerFactory] Customer prefab unloaded."); + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantOrderInteractionSubsystem.cs b/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantOrderInteractionSubsystem.cs index b224eb969..26b80cdb9 100644 --- a/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantOrderInteractionSubsystem.cs +++ b/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantOrderInteractionSubsystem.cs @@ -10,6 +10,8 @@ public enum RestaurantOrderType : uint Reserved = 1u, Order = 1u << 1, Serve = 1u << 2, + Busy = 1u << 3, + Dirty = 1u << 4, } public class RestaurantOrderInteractionSubsystem : MonoBehaviour, IInteractionSubsystemObject diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrderSolver.cs b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrderSolver.cs index 7f4019448..e3857aa52 100644 --- a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrderSolver.cs +++ b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrderSolver.cs @@ -12,7 +12,9 @@ public static class RestaurantOrderSolvers { RestaurantOrderType.Wait, typeof(RestaurantOrderSolver_Wait) }, { RestaurantOrderType.Reserved, typeof(RestaurantOrderSolver_Reserved) }, { RestaurantOrderType.Order, typeof(RestaurantOrderSolver_Order) }, - { RestaurantOrderType.Serve, typeof(RestaurantOrderSolver_Serve) } + { RestaurantOrderType.Serve, typeof(RestaurantOrderSolver_Serve) }, + { RestaurantOrderType.Busy, typeof(RestaurantOrderSolver_Busy) }, + { RestaurantOrderType.Dirty, typeof(RestaurantOrderSolver_Dirty) } }; } diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Busy.cs b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Busy.cs new file mode 100644 index 000000000..da7bad36a --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Busy.cs @@ -0,0 +1,19 @@ +using UnityEngine; + +namespace DDD.RestaurantOrders +{ + public class RestaurantOrderSolver_Busy : MonoBehaviour, IInteractionSubsystemSolver + { + public bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payloadSo = null) + { + // TODO : DO SOMETHING!!! + return true; + } + + public bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, + ScriptableObject payloadSo = null) + { + return true; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Busy.cs.meta b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Busy.cs.meta new file mode 100644 index 000000000..c51efc3cf --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Busy.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c185b3957ffe47088703be10e709ff66 +timeCreated: 1755761370 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Dirty.cs b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Dirty.cs new file mode 100644 index 000000000..571cbd9a0 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Dirty.cs @@ -0,0 +1,19 @@ +using UnityEngine; + +namespace DDD.RestaurantOrders +{ + public class RestaurantOrderSolver_Dirty : MonoBehaviour, IInteractionSubsystemSolver + { + public bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payloadSo = null) + { + // TODO : DO SOMETHING!!! + return true; + } + + public bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, + ScriptableObject payloadSo = null) + { + return true; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Dirty.cs.meta b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Dirty.cs.meta new file mode 100644 index 000000000..07cdfe4f7 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrders/RestaurantOrderSolver_Dirty.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b97bc6ce36df4e05a4d329f11daef43f +timeCreated: 1755761294 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/FlowStates/RestaurantCustomerState.cs b/Assets/_DDD/_Scripts/RestaurantState/FlowStates/RestaurantCustomerState.cs index 0c326a38b..b18f09bbe 100644 --- a/Assets/_DDD/_Scripts/RestaurantState/FlowStates/RestaurantCustomerState.cs +++ b/Assets/_DDD/_Scripts/RestaurantState/FlowStates/RestaurantCustomerState.cs @@ -1,9 +1,106 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Opsive.BehaviorDesigner.Runtime; using Sirenix.OdinInspector; using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.ResourceManagement.AsyncOperations; namespace DDD { public class RestaurantCustomerState : ScriptableObject { + private Dictionary _loadedSubtrees = new Dictionary(); + private Dictionary> _subtreeHandles = new Dictionary>(); + + public async Task LoadCustomerBehaviorData() + { + var customerData = RestaurantData.Instance?.CustomerData; + if (customerData?.CustomerBehaviorData == null) + { + Debug.LogError("[RestaurantCustomerState] RestaurantCustomerData or CustomerBehaviorData is null"); + return; + } + + var loadTasks = new List(); + foreach (var behaviorPair in customerData.CustomerBehaviorData) + { + var customerType = behaviorPair.Key; + var subtreeReference = behaviorPair.Value; + + if (_loadedSubtrees.ContainsKey(customerType)) + continue; // Already loaded + + loadTasks.Add(LoadSubtreeAsync(customerType, subtreeReference)); + } + + await Task.WhenAll(loadTasks); + Debug.Log($"[RestaurantCustomerState] Loaded {_loadedSubtrees.Count} customer behavior subtrees"); + } + + private async Task LoadSubtreeAsync(CustomerType customerType, AssetReference subtreeReference) + { + var handle = Addressables.LoadAssetAsync(subtreeReference); + _subtreeHandles[customerType] = handle; + + await handle.Task; + + if (handle.Result != null) + { + _loadedSubtrees[customerType] = handle.Result; + Debug.Log($"[RestaurantCustomerState] Loaded subtree for {customerType}"); + } + else + { + Debug.LogError($"[RestaurantCustomerState] Failed to load subtree for {customerType}"); + } + } + + public void UnloadCustomerBehaviorData() + { + foreach (var handle in _subtreeHandles.Values) + { + if (handle.IsValid()) + { + Addressables.Release(handle); + } + } + + _loadedSubtrees.Clear(); + _subtreeHandles.Clear(); + Debug.Log("[RestaurantCustomerState] Unloaded all customer behavior subtrees"); + } + + public Subtree GetLoadedSubtree(CustomerType customerType) + { + _loadedSubtrees.TryGetValue(customerType, out var subtree); + return subtree; + } + + public async Task GetOrLoadSubtree(CustomerType customerType) + { + if (IsSubtreeLoaded(customerType)) + { + return GetLoadedSubtree(customerType); + } + else + { + var customerData = RestaurantData.Instance?.CustomerData; + if (customerData?.CustomerBehaviorData == null || + !customerData.CustomerBehaviorData.TryGetValue(customerType, out var subtreeReference)) + { + Debug.LogError($"[RestaurantCustomerState] No behavior data found for {customerType}"); + return null; + } + + await LoadSubtreeAsync(customerType, subtreeReference); + return GetLoadedSubtree(customerType); + } + } + + public bool IsSubtreeLoaded(CustomerType customerType) + { + return _loadedSubtrees.ContainsKey(customerType); + } } } \ No newline at end of file diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 6459f8e33..ed8485fa0 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b8ae76b7c8f92890e759f46ff36b5db6b9e756533c8f14d3ef3ea41df7f4c5ad +oid sha256:f86abe14bf9fc4c7c93dfa96efd110ef0f56c3fb96a952c57e06a723fc87c352 size 1075