From 4c7d9c17e694c4bd6f7c52f07b3948f547ed2d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=82=B0?= Date: Wed, 20 Aug 2025 15:30:08 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B8=ED=84=B0=EB=A0=89=EC=85=98=20?= =?UTF-8?q?=EC=84=9C=EB=B8=8C=20=EC=8B=9C=EC=8A=A4=ED=85=9C=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 --- .../Props/Prop_CustomerTable.prefab | 276 +++++++++++++++++- .../Prop/Brazier1/Mat_Brazier1.mat | 2 +- .../Prop/Brazier2/Mat_Brazier2.mat | 2 +- .../Prop/Brazier3/Mat_Brazier3.mat | 2 +- .../Prop/Brazier4/Mat_Brazier4.mat | 2 +- .../Prop/DreamSeaweed/Mat_DreamSeaweed.mat | 2 +- .../Environments/Prop/Duck/Mat_Duck.mat | 2 +- .../Environments/Prop/Fried/Mat_Fried.mat | 2 +- .../Environments/Prop/Fried2/Mat_Fried2.mat | 2 +- .../Environments/Prop/Fried3/Mat_Fried3.mat | 2 +- .../Environments/Prop/Fried4/Mat_Fried4.mat | 2 +- .../Environments/Prop/Pot1/Mat_Pot1.mat | 2 +- .../Environments/Prop/Pot2/Mat_Pot2.mat | 2 +- .../Environments/Prop/Pot3/Mat_Pot3.mat | 2 +- .../Environments/Prop/Pot4/Mat_Pot4.mat | 2 +- .../Prefabs/RestaurantPlayer.prefab | 2 +- .../GameEvent/InteractionSubsystem.cs | 14 +- .../RestaurantManagementInteraction.cs | 16 + .../RestaurantManagementInteraction.cs.meta | 3 + .../RestaurantOrderInteraction.cs | 57 ++-- .../RestaurantInteractionComponent.cs | 14 +- .../Solvers/RestaurantOrderSolver.cs | 17 +- ProjectSettings/EditorBuildSettings.asset | 2 +- ProjectSettings/EntitiesClientSettings.asset | 3 + 24 files changed, 378 insertions(+), 54 deletions(-) create mode 100644 Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteraction.cs create mode 100644 Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteraction.cs.meta create mode 100644 ProjectSettings/EntitiesClientSettings.asset diff --git a/Assets/_DDD/Restaurant/Environments/Props/Prop_CustomerTable.prefab b/Assets/_DDD/Restaurant/Environments/Props/Prop_CustomerTable.prefab index f05b17a99..7d256654c 100644 --- a/Assets/_DDD/Restaurant/Environments/Props/Prop_CustomerTable.prefab +++ b/Assets/_DDD/Restaurant/Environments/Props/Prop_CustomerTable.prefab @@ -99,5 +99,279 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} + insertIndex: -1 + addedObject: {fileID: 8605899758048842936} + - targetCorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} + insertIndex: -1 + addedObject: {fileID: 6282952769554945552} + - targetCorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} + insertIndex: -1 + addedObject: {fileID: 4598203232635129220} m_SourcePrefab: {fileID: 100100000, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} +--- !u!1 &9211739394093953175 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} + m_PrefabInstance: {fileID: 4777358697124966162} + m_PrefabAsset: {fileID: 0} +--- !u!114 &8605899758048842936 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9211739394093953175} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c0b1e0992510498b8d33d5b6094b8f4b, type: 3} + m_Name: + m_EditorClassIdentifier: + _interactionType: 4 + _executionParameters: + _holdTime: 1 + _displayParameters: + _messageKey: + _interactionAvailableFlows: 1 + _aiInteractionPoints: [] + _initialOrderInteractionType: 0 +--- !u!114 &6282952769554945552 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9211739394093953175} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 888380afc233049ce9e618f9f36c8ba8, type: 3} + m_Name: + m_EditorClassIdentifier: + profile: {fileID: 0} + profileSync: 0 + camerasLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + effectGroup: 0 + effectTarget: {fileID: 0} + effectGroupLayer: + serializedVersion: 2 + m_Bits: 4294967295 + effectNameFilter: + effectNameUseRegEx: 0 + combineMeshes: 0 + alphaCutOff: 0 + cullBackFaces: 1 + padding: 0 + ignoreObjectVisibility: 0 + reflectionProbes: 0 + GPUInstancing: 1 + sortingPriority: 0 + optimizeSkinnedMesh: 1 + depthClip: 0 + cameraDistanceFade: 0 + cameraDistanceFadeNear: 0 + cameraDistanceFadeFar: 1000 + normalsOption: 0 + ignore: 0 + _highlighted: 0 + fadeInDuration: 0 + fadeOutDuration: 0 + flipY: 0 + constantWidth: 1 + extraCoveragePixels: 0 + minimumWidth: 0 + subMeshMask: -1 + overlay: 0 + overlayMode: 0 + overlayColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + overlayAnimationSpeed: 1 + overlayMinIntensity: 0.5 + overlayBlending: 1 + overlayTexture: {fileID: 0} + overlayTextureUVSpace: 0 + overlayTextureScale: 1 + overlayTextureScrolling: {x: 0, y: 0} + overlayVisibility: 0 + outline: 1 + outlineColor: {r: 0, g: 0, b: 0, a: 1} + outlineColorStyle: 0 + outlineGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + outlineGradientInLocalSpace: 0 + outlineWidth: 0.45 + outlineBlurPasses: 2 + outlineQuality: 3 + outlineEdgeMode: 0 + outlineEdgeThreshold: 0.995 + outlineSharpness: 1 + outlineDownsampling: 1 + outlineVisibility: 0 + glowBlendMode: 0 + outlineBlitDebug: 0 + outlineIndependent: 0 + outlineContourStyle: 0 + outlineMaskMode: 0 + glow: 0 + glowWidth: 0.4 + glowQuality: 3 + glowBlurMethod: 0 + glowDownsampling: 2 + glowHQColor: {r: 0.64, g: 1, b: 0, a: 1} + glowDithering: 1 + glowDitheringStyle: 0 + glowMagicNumber1: 0.75 + glowMagicNumber2: 0.5 + glowAnimationSpeed: 1 + glowVisibility: 0 + glowBlitDebug: 0 + glowBlendPasses: 1 + glowPasses: + - offset: 4 + alpha: 0.1 + color: {r: 0.64, g: 1, b: 0, a: 1} + - offset: 3 + alpha: 0.2 + color: {r: 0.64, g: 1, b: 0, a: 1} + - offset: 2 + alpha: 0.3 + color: {r: 0.64, g: 1, b: 0, a: 1} + - offset: 1 + alpha: 0.4 + color: {r: 0.64, g: 1, b: 0, a: 1} + glowMaskMode: 0 + innerGlow: 0 + innerGlowWidth: 1 + innerGlowColor: {r: 1, g: 1, b: 1, a: 1} + innerGlowBlendMode: 0 + innerGlowVisibility: 0 + targetFX: 0 + targetFXTexture: {fileID: 0} + targetFXColor: {r: 1, g: 1, b: 1, a: 1} + targetFXCenter: {fileID: 0} + targetFXRotationSpeed: 50 + targetFXInitialScale: 4 + targetFXEndScale: 1.5 + targetFXScaleToRenderBounds: 1 + targetFXUseEnclosingBounds: 0 + targetFXAlignToGround: 0 + targetFXOffset: {x: 0, y: 0, z: 0} + targetFXFadePower: 32 + targetFXGroundMaxDistance: 10 + targetFXGroundLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + targetFXTransitionDuration: 0.5 + targetFXStayDuration: 1.5 + targetFXVisibility: 1 + iconFX: 0 + iconFXMesh: {fileID: 0} + iconFXLightColor: {r: 1, g: 1, b: 1, a: 1} + iconFXDarkColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + iconFXCenter: {fileID: 0} + iconFXRotationSpeed: 50 + iconFXAnimationOption: 0 + iconFXAnimationAmount: 0.1 + iconFXAnimationSpeed: 3 + iconFXScale: 1 + iconFXScaleToRenderBounds: 0 + iconFXOffset: {x: 0, y: 1, z: 0} + iconFXTransitionDuration: 0.5 + iconFXStayDuration: 1.5 + seeThrough: 2 + seeThroughOccluderMask: + serializedVersion: 2 + m_Bits: 4294967295 + seeThroughOccluderThreshold: 0.3 + seeThroughOccluderMaskAccurate: 0 + seeThroughOccluderCheckInterval: 1 + seeThroughOccluderCheckIndividualObjects: 0 + seeThroughDepthOffset: 0 + seeThroughMaxDepth: 0 + seeThroughIntensity: 0.8 + seeThroughTintAlpha: 0.5 + seeThroughTintColor: {r: 1, g: 0, b: 0, a: 1} + seeThroughNoise: 1 + seeThroughBorder: 0 + seeThroughBorderColor: {r: 0, g: 0, b: 0, a: 1} + seeThroughBorderOnly: 0 + seeThroughBorderWidth: 0.45 + seeThroughOrdered: 0 + seeThroughTexture: {fileID: 0} + seeThroughTextureUVSpace: 0 + seeThroughTextureScale: 1 + seeThroughChildrenSortingMode: 0 + rmsCount: 1 + hitFxInitialIntensity: 0 + hitFxMode: 0 + hitFxFadeOutDuration: 0.25 + hitFxColor: {r: 1, g: 1, b: 1, a: 1} + hitFxRadius: 0.5 +--- !u!114 &4598203232635129220 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9211739394093953175} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f0feb22ab60a4d1885271637838f43b9, type: 3} + m_Name: + m_EditorClassIdentifier: + _availableStyle: + Color: {r: 1, g: 1, b: 1, a: 1} + Width: 1 + Opacity: 1 + _focusedStyle: + Color: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + Width: 1 + Opacity: 1 + _unavailableStyle: + Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} + Width: 0.5 + Opacity: 1 + _objectiveStyle: + Color: {r: 0, g: 1, b: 1, a: 1} + Width: 1 + Opacity: 1 + _breathingSpeed: 2 + _breathingRange: 0.3 + _enableBreathingEffect: 1 + _alphaCutOff: 0.5 + _combineMeshes: 1 + _constantWidth: 1 + _outlineQuality: 2 + _outlineIndependent: 1 + _outlineBlurPasses: 1 + _outlineSharpness: 8 + _currentOutlineType: 0 + _currentOpacityMultiplier: 1 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Brazier1/Mat_Brazier1.mat b/Assets/_DDD/_Addressables/Environments/Prop/Brazier1/Mat_Brazier1.mat index 647d83081..29c00b75b 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Brazier1/Mat_Brazier1.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Brazier1/Mat_Brazier1.mat @@ -34,7 +34,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Brazier2/Mat_Brazier2.mat b/Assets/_DDD/_Addressables/Environments/Prop/Brazier2/Mat_Brazier2.mat index f735857d9..f1003b969 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Brazier2/Mat_Brazier2.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Brazier2/Mat_Brazier2.mat @@ -21,7 +21,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Brazier3/Mat_Brazier3.mat b/Assets/_DDD/_Addressables/Environments/Prop/Brazier3/Mat_Brazier3.mat index 3a2fe671b..b1f8866c3 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Brazier3/Mat_Brazier3.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Brazier3/Mat_Brazier3.mat @@ -21,7 +21,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Brazier4/Mat_Brazier4.mat b/Assets/_DDD/_Addressables/Environments/Prop/Brazier4/Mat_Brazier4.mat index 9e3fd6944..e71a81b58 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Brazier4/Mat_Brazier4.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Brazier4/Mat_Brazier4.mat @@ -34,7 +34,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/DreamSeaweed/Mat_DreamSeaweed.mat b/Assets/_DDD/_Addressables/Environments/Prop/DreamSeaweed/Mat_DreamSeaweed.mat index 8fefba955..31d7318e1 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/DreamSeaweed/Mat_DreamSeaweed.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/DreamSeaweed/Mat_DreamSeaweed.mat @@ -21,7 +21,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Duck/Mat_Duck.mat b/Assets/_DDD/_Addressables/Environments/Prop/Duck/Mat_Duck.mat index b587b5c03..344e1affc 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Duck/Mat_Duck.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Duck/Mat_Duck.mat @@ -34,7 +34,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Fried/Mat_Fried.mat b/Assets/_DDD/_Addressables/Environments/Prop/Fried/Mat_Fried.mat index 904a5d256..66faed0bf 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Fried/Mat_Fried.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Fried/Mat_Fried.mat @@ -21,7 +21,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Fried2/Mat_Fried2.mat b/Assets/_DDD/_Addressables/Environments/Prop/Fried2/Mat_Fried2.mat index 6e519d0a6..2fec2d8ec 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Fried2/Mat_Fried2.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Fried2/Mat_Fried2.mat @@ -34,7 +34,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Fried3/Mat_Fried3.mat b/Assets/_DDD/_Addressables/Environments/Prop/Fried3/Mat_Fried3.mat index 714898f02..ea91bd3db 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Fried3/Mat_Fried3.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Fried3/Mat_Fried3.mat @@ -21,7 +21,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Fried4/Mat_Fried4.mat b/Assets/_DDD/_Addressables/Environments/Prop/Fried4/Mat_Fried4.mat index 74e4f7fc3..c73583cdb 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Fried4/Mat_Fried4.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Fried4/Mat_Fried4.mat @@ -21,7 +21,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Pot1/Mat_Pot1.mat b/Assets/_DDD/_Addressables/Environments/Prop/Pot1/Mat_Pot1.mat index 8fdcb7a91..8b44fbd7f 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Pot1/Mat_Pot1.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Pot1/Mat_Pot1.mat @@ -34,7 +34,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Pot2/Mat_Pot2.mat b/Assets/_DDD/_Addressables/Environments/Prop/Pot2/Mat_Pot2.mat index 53c7f07d6..0f4c37073 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Pot2/Mat_Pot2.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Pot2/Mat_Pot2.mat @@ -21,7 +21,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Pot3/Mat_Pot3.mat b/Assets/_DDD/_Addressables/Environments/Prop/Pot3/Mat_Pot3.mat index da3c48f99..742bb6d22 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Pot3/Mat_Pot3.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Pot3/Mat_Pot3.mat @@ -34,7 +34,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Pot4/Mat_Pot4.mat b/Assets/_DDD/_Addressables/Environments/Prop/Pot4/Mat_Pot4.mat index 6bc0d0e21..9b2c73cc4 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Pot4/Mat_Pot4.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Pot4/Mat_Pot4.mat @@ -34,7 +34,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: diff --git a/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab b/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab index 92d5aded1..c1e3a3a75 100644 --- a/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab +++ b/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab @@ -423,7 +423,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 81e01dd8c1cc3404d805400eba1bb4ae, type: 3} m_Name: m_EditorClassIdentifier: - _interactionType: 4294967295 + _interactionType: 4294967287 _nearColliders: - {fileID: 0} - {fileID: 0} diff --git a/Assets/_DDD/_Scripts/GameEvent/InteractionSubsystem.cs b/Assets/_DDD/_Scripts/GameEvent/InteractionSubsystem.cs index 8ca5eefc8..c5b79395d 100644 --- a/Assets/_DDD/_Scripts/GameEvent/InteractionSubsystem.cs +++ b/Assets/_DDD/_Scripts/GameEvent/InteractionSubsystem.cs @@ -1,4 +1,16 @@ +using System; +using UnityEngine; + namespace DDD { - + public interface IInteractionSubsystemObject where T : Enum + { + T GetInteractionSubsystemType(); + } + public interface IInteractionSubsystemSolver where T : Enum + { + bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payloadSo = null); + bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, + ScriptableObject payloadSo = null); + } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteraction.cs b/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteraction.cs new file mode 100644 index 000000000..c2df3a351 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteraction.cs @@ -0,0 +1,16 @@ +using System; + +namespace DDD +{ + [Flags] + public enum RestaurantManagementType : uint + { + OpenRestaurantMenu = 0, + StartRestaurant = 1, + } + + //public class RestaurantManagementInteraction : RestaurantInteractionComponent, IInteractionSubsystemObject + //{ + // + //} +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteraction.cs.meta b/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteraction.cs.meta new file mode 100644 index 000000000..2cf0b9e79 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantManagementInteraction.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1235f6bde9304d8f85079f2777bd4b3c +timeCreated: 1755671037 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantOrderInteraction.cs b/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantOrderInteraction.cs index 8c3ca91c1..d39dd3d8f 100644 --- a/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantOrderInteraction.cs +++ b/Assets/_DDD/_Scripts/RestaurantEnvironment/Interactions/RestaurantOrderInteraction.cs @@ -3,29 +3,12 @@ namespace DDD { - public interface IInteractionSubsystemObject where T : Enum - { - T GetInteractionSubsystemType(); - } - public interface IInteractionSubsystemSolver where T : Enum - { - bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payloadSo = null); - bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, - ScriptableObject payloadSo = null); - } - - public interface IInteractionSubsystemSubject where T : Enum - { - bool CanSolveInteractionType(T interactionSubsystemType); - bool CanInteractTo(IInteractionSubsystemObject interactableSubsystemObject, - ScriptableObject payloadSo = null); - } - [Flags] public enum RestaurantOrderInteractionType : uint { // None = 0u, - WaitCustomer = 1u << 0, + WaitCustomer = 0, + // WaitCustomer = 1u << 0, // WaitOrder = 1u << 1, // WaitServe = 1u << 2, // All = 0xFFFFFFFFu @@ -48,26 +31,46 @@ private void OnValidate() private void Start() { - + _currentRestaurantOrderInteractionType = _initialOrderInteractionType; } private void SetInteractionTypeToRestaurantOrder() { _interactionType = InteractionType.RestaurantOrder; } - InteractionType GetInteractionType() + public override InteractionType GetInteractionType() { return InteractionType.RestaurantOrder; } - bool CanInteract() + public override bool CanInteract() { - return TODO_IMPLEMENT_ME; + // 현재 RestaurantOrderInteractionType를 수행할 수 있는지? + if (GetInteractionSubsystemType() == RestaurantOrderInteractionType.WaitCustomer) + { + // Check WaitCustomer + return true; + } + + return false; } - bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null); - void InitializeInteraction(InteractionType interactionType); - InteractionExecutionParameters GetExecutionParameters(); - InteractionDisplayParameters GetDisplayParameters(); + public override bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null) + { + // _currentRestaurantOrderInteractionType에 따라 동작이 달라지겠지 + if (GetInteractionSubsystemType() == RestaurantOrderInteractionType.WaitCustomer) + { + // DO WAIT CUSTOMER + } + return base.OnInteracted(interactor, payloadSo); + } + + public override void InitializeInteraction(InteractionType interactionType) + { + // RestaurantOrderInteractionType에 따른 동작들을 초기화 + // Initialize WaitCustomer actions + base.InitializeInteraction(interactionType); + } + public RestaurantOrderInteractionType GetInteractionSubsystemType() { return _currentRestaurantOrderInteractionType; diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantInteractionComponent.cs b/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantInteractionComponent.cs index fcd7860d7..d88aefe9c 100644 --- a/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantInteractionComponent.cs +++ b/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantInteractionComponent.cs @@ -11,19 +11,19 @@ public class RestaurantInteractionComponent : MonoBehaviour, IInteractable [SerializeField] protected GameFlowState _interactionAvailableFlows; [SerializeField] private Transform[] _aiInteractionPoints; - public bool CanInteract() + public virtual bool CanInteract() { return !IsInteractionHidden(); } - public bool IsInteractionHidden() + public virtual bool IsInteractionHidden() { var currentGameFlowState = GameFlowManager.Instance.GameFlowDataSo.CurrentGameState; var flowDisabled = (currentGameFlowState & _interactionAvailableFlows) == 0; return flowDisabled; } - public bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null) + public virtual bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = null) { if (CanInteract() == false) { @@ -34,7 +34,7 @@ public bool OnInteracted(IInteractor interactor, ScriptableObject payloadSo = nu return interactionResult; } - public InteractionType GetInteractionType() + public virtual InteractionType GetInteractionType() { return _interactionType; } @@ -44,18 +44,18 @@ public GameObject GetInteractableGameObject() return gameObject; } - public void InitializeInteraction(InteractionType interactionType) + public virtual void InitializeInteraction(InteractionType interactionType) { _interactionType = interactionType; } // 새로운 스트럭트 기반 메서드들 - public InteractionExecutionParameters GetExecutionParameters() + public virtual InteractionExecutionParameters GetExecutionParameters() { return _executionParameters; } - public InteractionDisplayParameters GetDisplayParameters() + public virtual InteractionDisplayParameters GetDisplayParameters() { return _displayParameters; } diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrderSolver.cs b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrderSolver.cs index 653b7e355..3f8089dee 100644 --- a/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrderSolver.cs +++ b/Assets/_DDD/_Scripts/RestaurantEvent/Solvers/RestaurantOrderSolver.cs @@ -17,7 +17,17 @@ public bool CanExecuteInteraction(IInteractor interactor = null, IInteractable i public bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payloadSo = null) { - TODO_IMPLEMENT_ME + if (interactable is IInteractionSubsystemObject subsystem) + { + RestaurantOrderInteractionType interactionType = subsystem.GetInteractionSubsystemType(); + // Can I solve this interaction type? + if (interactionType == RestaurantOrderInteractionType.WaitCustomer) + { + // DO SOMETHING!!! + return true; + } + } + return false; } public bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, @@ -27,7 +37,10 @@ public bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInter { RestaurantOrderInteractionType interactionType = subsystem.GetInteractionSubsystemType(); // Can I solve this interaction type? - TODO_IMPLEMENT_ME + if (interactionType == RestaurantOrderInteractionType.WaitCustomer) + { + return true; + } } return false; } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index ed8485fa0..6459f8e33 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f86abe14bf9fc4c7c93dfa96efd110ef0f56c3fb96a952c57e06a723fc87c352 +oid sha256:b8ae76b7c8f92890e759f46ff36b5db6b9e756533c8f14d3ef3ea41df7f4c5ad size 1075 diff --git a/ProjectSettings/EntitiesClientSettings.asset b/ProjectSettings/EntitiesClientSettings.asset new file mode 100644 index 000000000..5f47f97f5 --- /dev/null +++ b/ProjectSettings/EntitiesClientSettings.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0197d88686b9f0693f82b87bb787205373c1a8b7c6f1ff8d89d8ed61355369e8 +size 440