diff --git a/Assets/01.Scenes/01.Tycoon.unity b/Assets/01.Scenes/01.Tycoon.unity index bc2876812..95057e2ca 100644 --- a/Assets/01.Scenes/01.Tycoon.unity +++ b/Assets/01.Scenes/01.Tycoon.unity @@ -858,11 +858,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: -52.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -968,11 +968,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 95 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -225 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -1379,11 +1379,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 95 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -30 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -2300,11 +2300,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: 37.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -2667,11 +2667,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 95 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -160 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -3393,7 +3393,7 @@ MonoBehaviour: _customerPrefab: {fileID: -2302002259734456648, guid: 23195e611c71ad44b8a1ccb2b6e0efe5, type: 3} _customerSpawnTransform: {fileID: 1038321203} _checkEmptySeatInterval: 0.5 - _instanceCustomers: [] + k__BackingField: [] --- !u!4 &373177640 Transform: m_ObjectHideFlags: 0 @@ -3732,6 +3732,52 @@ Transform: - {fileID: 1243119378} m_Father: {fileID: 1238956752} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &419474698 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 419474699} + - component: {fileID: 419474700} + m_Layer: 0 + m_Name: _OffsetX Override + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &419474699 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 419474698} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 510358307} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &419474700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 419474698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 389648ab9de94296b8f4a6f6957df101, type: 3} + m_Name: + m_EditorClassIdentifier: + propertyName: _OffsetX + propertyValue: -1 --- !u!1 &421610954 GameObject: m_ObjectHideFlags: 0 @@ -3859,11 +3905,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: -142.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -4132,11 +4178,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: -52.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -4275,6 +4321,118 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 444009244} m_CullTransparentMesh: 1 +--- !u!1 &510358306 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 510358307} + - component: {fileID: 510358309} + - component: {fileID: 510358308} + - component: {fileID: 510358311} + - component: {fileID: 510358310} + m_Layer: 5 + m_Name: ClosedUiImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &510358307 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510358306} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 419474699} + m_Father: {fileID: 1733600342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 500, y: 500} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &510358308 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510358306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 2880e34baca6ca04893136786677bf95, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 0fb3805d12084a546b64a73a987927d4, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &510358309 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510358306} + m_CullTransparentMesh: 1 +--- !u!114 &510358310 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510358306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ec7c531f67844491ae84a4f3d1575d01, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!95 &510358311 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510358306} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: d73f9323f07764216b00227f2648356c, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 --- !u!1001 &515003792 PrefabInstance: m_ObjectHideFlags: 0 @@ -4317,11 +4475,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 30 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -160 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -4771,11 +4929,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: 37.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -4892,11 +5050,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: -142.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -5436,11 +5594,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 30 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -95 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -6252,11 +6410,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 30 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -30 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -6401,11 +6559,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 95 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -290 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -6503,11 +6661,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 30 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -225 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -7636,11 +7794,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: -52.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -7798,11 +7956,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: 37.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -7890,6 +8048,7 @@ GameObject: - component: {fileID: 1049919590} - component: {fileID: 1049919589} - component: {fileID: 1049919593} + - component: {fileID: 1049919594} m_Layer: 5 m_Name: Canvas m_TagString: Untagged @@ -7955,7 +8114,7 @@ Canvas: m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 m_VertexColorAlwaysGammaSpace: 1 - m_AdditionalShaderChannelsFlag: 25 + m_AdditionalShaderChannelsFlag: -1 m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 10 @@ -7977,6 +8136,7 @@ RectTransform: - {fileID: 1496452082} - {fileID: 1987164072} - {fileID: 102499728} + - {fileID: 1733600342} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -7998,9 +8158,25 @@ MonoBehaviour: m_EditorClassIdentifier: _persistent: 0 k__BackingField: {fileID: 1049919591} + k__BackingField: {fileID: 437358694} k__BackingField: {fileID: 1496452083} k__BackingField: {fileID: 102499729} - k__BackingField: {fileID: 437358694} + k__BackingField: {fileID: 1733600343} +--- !u!114 &1049919594 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1049919588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e393933351b7da9489595d2aeb25135d, type: 3} + m_Name: + m_EditorClassIdentifier: + _uiIndicator: {fileID: 5148248962339400161, guid: 9c308e38b5681564fbdbad324594baee, type: 3} + _widthPadding: {x: 70, y: 70} + _heightPadding: {x: 70, y: 70} --- !u!1 &1070845212 GameObject: m_ObjectHideFlags: 0 @@ -10838,11 +11014,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: -142.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -11396,11 +11572,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 95 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -95 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -12273,6 +12449,52 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1508199804} m_CullTransparentMesh: 1 +--- !u!1 &1527652764 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1527652765} + - component: {fileID: 1527652766} + m_Layer: 0 + m_Name: _OffsetX Override + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1527652765 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1527652764} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1834176992} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1527652766 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1527652764} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 389648ab9de94296b8f4a6f6957df101, type: 3} + m_Name: + m_EditorClassIdentifier: + propertyName: _OffsetX + propertyValue: -1 --- !u!1 &1552262093 GameObject: m_ObjectHideFlags: 0 @@ -12966,11 +13188,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: 37.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -13461,6 +13683,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _stageDataSo: {fileID: 11400000, guid: 5fd0220da8e388e4c872a9fcc80d2c76, type: 2} + _dailyCustomerVisitInfos: [] --- !u!1 &1670140492 GameObject: m_ObjectHideFlags: 0 @@ -13890,11 +14113,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: -52.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z @@ -14105,6 +14328,100 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1723000583} m_CullTransparentMesh: 1 +--- !u!1 &1733600341 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1733600342} + - component: {fileID: 1733600345} + - component: {fileID: 1733600344} + - component: {fileID: 1733600343} + m_Layer: 5 + m_Name: TycoonStageUi + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1733600342 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1733600341} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1834176992} + - {fileID: 510358307} + m_Father: {fileID: 1049919592} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1733600343 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1733600341} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fe2ca76abb7767459262e2c596bcebe, type: 3} + m_Name: + m_EditorClassIdentifier: + _openUiImage: {fileID: 1834176991} + _openUiAnimator: {fileID: 1834176996} + _closedUiImage: {fileID: 510358306} + _closedUiAnimator: {fileID: 510358311} +--- !u!114 &1733600344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1733600341} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.39215687} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1733600345 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1733600341} + m_CullTransparentMesh: 1 --- !u!1001 &1737090063 PrefabInstance: m_ObjectHideFlags: 0 @@ -15181,11 +15498,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.x - value: 30 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.y - value: -290 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} propertyPath: m_LocalPosition.z @@ -15366,6 +15683,118 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 2 m_VerticalFit: 2 +--- !u!1 &1834176991 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1834176992} + - component: {fileID: 1834176994} + - component: {fileID: 1834176993} + - component: {fileID: 1834176996} + - component: {fileID: 1834176995} + m_Layer: 5 + m_Name: OpenUiImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1834176992 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834176991} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 1527652765} + m_Father: {fileID: 1733600342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 500, y: 500} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1834176993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834176991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 2880e34baca6ca04893136786677bf95, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8a373610dbf3f9a4595fbaf9d7656393, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1834176994 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834176991} + m_CullTransparentMesh: 1 +--- !u!114 &1834176995 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834176991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ec7c531f67844491ae84a4f3d1575d01, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!95 &1834176996 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834176991} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: d73f9323f07764216b00227f2648356c, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 --- !u!1 &1849823319 GameObject: m_ObjectHideFlags: 0 @@ -16194,11 +16623,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.x - value: -142.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.y - value: 5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5685570007726524012, guid: 5fcdc9afc13ca2e49bc954e4fd607a47, type: 3} propertyPath: m_LocalPosition.z diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/CheckOut.cs b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/CheckOut.cs new file mode 100644 index 000000000..400b622a0 --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/CheckOut.cs @@ -0,0 +1,26 @@ +using System; +using BehaviorDesigner.Runtime.Tasks; +using BlueWater.Npcs.Customers; +using Action = BehaviorDesigner.Runtime.Tasks.Action; + +namespace BlueWater.BehaviorTrees.Actions +{ + [TaskCategory("Custom/Npc/Customer")] + [Serializable] + public class CheckOut : Action + { + private Customer _customer; + + public override void OnAwake() + { + _customer = GetComponent(); + } + + public override TaskStatus OnUpdate() + { + _customer.CheckOut(); + + return TaskStatus.Success; + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/CheckOut.cs.meta b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/CheckOut.cs.meta new file mode 100644 index 000000000..65ac9a3de --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/CheckOut.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ba0fdc5ded8c860459e93c7fe829e8db diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderBeverage.cs b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderBeverage.cs similarity index 100% rename from Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderBeverage.cs rename to Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderBeverage.cs diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderBeverage.cs.meta b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderBeverage.cs.meta similarity index 100% rename from Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderBeverage.cs.meta rename to Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderBeverage.cs.meta diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFood.cs b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderFood.cs similarity index 100% rename from Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFood.cs rename to Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderFood.cs diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFood.cs.meta b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderFood.cs.meta similarity index 100% rename from Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFood.cs.meta rename to Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderFood.cs.meta diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/PayMoney.cs b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/PayMoney.cs similarity index 87% rename from Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/PayMoney.cs rename to Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/PayMoney.cs index 2f8914fdf..3de82b9d2 100644 --- a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/PayMoney.cs +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/PayMoney.cs @@ -3,7 +3,6 @@ using BehaviorDesigner.Runtime.Tasks; using BlueWater.Npcs.Customers; using BlueWater.Uis; using PixelCrushers.DialogueSystem; -using UnityEngine; namespace BlueWater.BehaviorTrees.Actions { @@ -60,30 +59,32 @@ namespace BlueWater.BehaviorTrees.Actions { var tycoonPlayer = GameManager.Instance.CurrentTycoonPlayer; var foodPrice = _customer.ItemData.Price; - var tip = 0f; + float tipCoefficient; string barkName; switch (_customer.HappyPoint) { case >= 3: - tip = 2f; + tipCoefficient = 2f; barkName = "SatisfactoryEvaluation"; break; case >= 2: - tip = 1.5f; + tipCoefficient = 1.5f; barkName = "MediocreEvaluation"; break; case >= 1: - tip = 1.1f; + tipCoefficient = 1.1f; barkName = "MediocreEvaluation"; break; default: - tip = 1f; + tipCoefficient = 1f; barkName = "UnsatisfactoryEvaluation"; break; } - var finalPrice = (int)(foodPrice * tip); - tycoonPlayer.GetMoney(finalPrice); - _customer.PayMoney(finalPrice); + + var tipAmount = foodPrice * (int)tipCoefficient; + var paidAmount = foodPrice + tipAmount; + tycoonPlayer.GetMoney(paidAmount); + _customer.PayMoney(foodPrice, tipAmount); _foodBalloonUi.HideUi(); _customer.OnInteraction -= HandlePayMoneyInteraction; _customer.Bark(barkName, BarkOrder.FirstValid); diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/PayMoney.cs.meta b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/PayMoney.cs.meta similarity index 100% rename from Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/PayMoney.cs.meta rename to Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/PayMoney.cs.meta diff --git a/Assets/02.Scripts/Character/Npc/Customer.cs b/Assets/02.Scripts/Character/Npc/Customer.cs index 78a6ef45f..c94896585 100644 --- a/Assets/02.Scripts/Character/Npc/Customer.cs +++ b/Assets/02.Scripts/Character/Npc/Customer.cs @@ -124,6 +124,10 @@ namespace BlueWater.Npcs.Customers } } + private int _paidAmount; + private int _foodPrice; + private int _tipAmount; + private bool _isQuitting; public Action OnInteraction; @@ -294,11 +298,23 @@ namespace BlueWater.Npcs.Customers BarkTrigger.OnUse(); } - public void PayMoney(int gold) + public void PayMoney(int foodPrice, int tipAmount) { + _foodPrice = foodPrice; + _tipAmount = tipAmount; + _paidAmount = _foodPrice + _tipAmount; + PayMoneyParticle.gameObject.SetActive(true); PayMoneyParticle.Play(); - PayMoneyUi.PayMoney(gold); + PayMoneyUi.PayMoney(_paidAmount); + } + + public void CheckOut() + { + var customerVisitInfo = new CustomerVisitInfo(HappyPoint, _foodPrice, _tipAmount, _paidAmount); + TycoonManager.Instance.TycoonStageController.RegisterCustomerVisitInfo(customerVisitInfo); + + Destroy(gameObject); } #endregion diff --git a/Assets/02.Scripts/Character/Npc/CustomerVisitInfo.cs b/Assets/02.Scripts/Character/Npc/CustomerVisitInfo.cs new file mode 100644 index 000000000..2feb90fd3 --- /dev/null +++ b/Assets/02.Scripts/Character/Npc/CustomerVisitInfo.cs @@ -0,0 +1,29 @@ +using System; +using UnityEngine; + +namespace BlueWater.Npcs.Customers +{ + [Serializable] + public class CustomerVisitInfo + { + [field: SerializeField] + public int HappyPoint { get; private set; } + + [field: SerializeField] + public int FoodPrice { get; private set; } + + [field: SerializeField] + public int TipAmount { get; private set; } + + [field: SerializeField] + public int PaidAmount { get; private set; } + + public CustomerVisitInfo(int happyPoint, int foodPrice, int tipAmount, int paidAmount) + { + HappyPoint = happyPoint; + FoodPrice = foodPrice; + TipAmount = tipAmount; + PaidAmount = paidAmount; + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/Character/Npc/CustomerVisitInfo.cs.meta b/Assets/02.Scripts/Character/Npc/CustomerVisitInfo.cs.meta new file mode 100644 index 000000000..e5d801d44 --- /dev/null +++ b/Assets/02.Scripts/Character/Npc/CustomerVisitInfo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 564fcd9f0991dcc4c849c8515f0fdd7c \ No newline at end of file diff --git a/Assets/02.Scripts/GameTimeManager.cs b/Assets/02.Scripts/GameTimeManager.cs index c4331e1b1..785ee73b4 100644 --- a/Assets/02.Scripts/GameTimeManager.cs +++ b/Assets/02.Scripts/GameTimeManager.cs @@ -21,8 +21,6 @@ namespace BlueWater private TimeSpan _closeTime; private float _timeIncrementPerMinutes; - public Action OnTycoonClosedTime; - protected override void OnAwake() { OnTycoonPreparing(); @@ -124,7 +122,6 @@ namespace BlueWater { PauseGameTime(); SetGameTime(GetTycoonCloseTime()); - OnTycoonClosedTime?.Invoke(); } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/Board.cs b/Assets/02.Scripts/Prop/Tycoon/Board.cs index cfb044f6c..38859e7d5 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Board.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Board.cs @@ -9,5 +9,10 @@ namespace BlueWater.Tycoons var tycoonUiManager = TycoonUiManager.Instance; tycoonUiManager.TycoonManagementUi.Open(tycoonUiManager.PopupUiList); } + + public override bool CanInteraction() + { + return !IsOpened; + } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/Cookware.cs b/Assets/02.Scripts/Prop/Tycoon/Cookware.cs index 18a181a06..f1d0b234d 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Cookware.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Cookware.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using BlueWater.Items; using BlueWater.Uis; @@ -36,12 +37,6 @@ namespace BlueWater.Tycoons [SerializeField, BoxGroup("데이터")] protected int FireWoodIdx = 70001; - // TODO : 추후에 다시 활성화 하는 기능 필요 - [Title("실시간 데이터")] - [FormerlySerializedAs("_isOpened")] - [SerializeField] - protected bool IsOpened; - private Queue _cookedFoodDatas; private int _currentFireWoodCount; private float _currentCookGauge; @@ -55,6 +50,13 @@ namespace BlueWater.Tycoons base.OnEnable(); } + private void Start() + { + CookGauge.enabled = false; + FireWoodQuantity.enabled = false; + FoodQuantity.enabled = false; + } + private void Update() { if (!IsOpened || CurrentDailyFoodUi.FoodData is null or { Idx : 0 }) return; @@ -156,10 +158,14 @@ namespace BlueWater.Tycoons VisualLook.material = OriginalMaterial; } - private void OpenTycoonSwitch() + protected override void OpenTycoonSwitch() { if (CurrentDailyFoodUi.FoodData is not null and not { Idx : 0 }) { + CookGauge.enabled = true; + FireWoodQuantity.enabled = true; + FoodQuantity.enabled = true; + _cookedFoodDatas = new Queue(CurrentDailyFoodUi.FoodData.Plate); _currentFireWoodCount = CookwareDataSo.StartFireWoodQuantity; @@ -168,12 +174,32 @@ namespace BlueWater.Tycoons FireShader.enabled = true; } } - IsOpened = true; - _currentCookGauge = 0; + else + { + CookGauge.enabled = false; + FireWoodQuantity.enabled = false; + FoodQuantity.enabled = false; + } - CookGauge.text = "0/0"; - FireWoodQuantity.text = "0/0"; - FoodQuantity.text = "0/0"; + _currentCookGauge = 0; + base.OpenTycoonSwitch(); + } + + protected override void ClosedTycoonSwitch() + { + CurrentDailyFoodUi.SetFoodData(null); + _cookedFoodDatas?.Clear(); + + if (FireShader) + { + FireShader.enabled = false; + } + + CookGauge.enabled = false; + FireWoodQuantity.enabled = false; + FoodQuantity.enabled = false; + + base.ClosedTycoonSwitch(); } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/CustomerTable.cs b/Assets/02.Scripts/Prop/Tycoon/CustomerTable.cs index 328c9ff57..4e2ff1eac 100644 --- a/Assets/02.Scripts/Prop/Tycoon/CustomerTable.cs +++ b/Assets/02.Scripts/Prop/Tycoon/CustomerTable.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; +using Random = System.Random; namespace BlueWater.Tycoons { @@ -9,10 +10,11 @@ namespace BlueWater.Tycoons { [SerializeField] private List _tableSeats; - - private bool _isCleaning; - private TableSeat _tableSeat; + private TycoonManager _tycoonManager; + private TableSeat _tableSeat; + private Random _random = new(); + private bool _isCleaning; protected override void OnEnable() { @@ -46,7 +48,22 @@ namespace BlueWater.Tycoons public TableSeat FindEmptySeat() { - return _tableSeats.FirstOrDefault(tableSeat => !tableSeat.IsReserved && !tableSeat.IsOccupied && tableSeat.IsCleaned); + var seatCount = _tableSeats.Count; + var indices = new List(Enumerable.Range(0, seatCount)); + + while (indices.Count > 0) + { + var randomIndex = _random.Next(indices.Count); + var seatIndex = indices[randomIndex]; + indices.RemoveAt(randomIndex); + + var tableSeat = _tableSeats[seatIndex]; + if (!tableSeat.IsReserved && !tableSeat.IsOccupied && tableSeat.IsCleaned) + { + return tableSeat; + } + } + return null; } private IEnumerator CleanUpTable(TableSeat tableSeat) diff --git a/Assets/02.Scripts/Prop/Tycoon/FireWood.cs b/Assets/02.Scripts/Prop/Tycoon/FireWood.cs index 5f27a3539..c18087abc 100644 --- a/Assets/02.Scripts/Prop/Tycoon/FireWood.cs +++ b/Assets/02.Scripts/Prop/Tycoon/FireWood.cs @@ -4,19 +4,9 @@ namespace BlueWater.Tycoons { public class FireWood : InteractionFurniture { - // TODO : 추후에 다시 활성화 하는 기능 필요 - [SerializeField] - private bool _isOpened; - [SerializeField] private int _itemIdx = 70001; - protected override void OnEnable() - { - TycoonManager.Instance.OnTycoonOpenedEvent += OpenTycoonSwitch; - base.OnEnable(); - } - public override void Interaction() { CurrentTycoonPlayer.CarryItem(_itemIdx); @@ -24,12 +14,7 @@ namespace BlueWater.Tycoons public override bool CanInteraction() { - return _isOpened && !CurrentTycoonPlayer.IsCarriedItem(); - } - - private void OpenTycoonSwitch() - { - _isOpened = true; + return IsOpened && !CurrentTycoonPlayer.IsCarriedItem(); } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs b/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs index e5f711bf8..e3f083aba 100644 --- a/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs +++ b/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs @@ -29,6 +29,11 @@ namespace BlueWater.Tycoons [field: SerializeField, BoxGroup("변수")] public float InteractionRadius { get; private set; } = 2f; + + // TODO : 추후에 다시 활성화 하는 기능 필요 + [Title("실시간 데이터")] + [SerializeField] + protected bool IsOpened; protected TycoonPlayer CurrentTycoonPlayer; protected bool IsQuitting; @@ -50,20 +55,26 @@ namespace BlueWater.Tycoons protected virtual void OnEnable() { + TycoonManager.Instance.OnTycoonOpenedEvent += OpenTycoonSwitch; + TycoonManager.Instance.OnTycoonClosedEvent += ClosedTycoonSwitch; + RegisterPlayerInteraction(); } - - private void OnApplicationQuit() - { - IsQuitting = true; - } protected virtual void OnDisable() { if (IsQuitting) return; + TycoonManager.Instance.OnTycoonOpenedEvent -= OpenTycoonSwitch; + TycoonManager.Instance.OnTycoonClosedEvent -= ClosedTycoonSwitch; + UnregisterPlayerInteraction(); } + + private void OnApplicationQuit() + { + IsQuitting = true; + } [Button("컴포넌트 초기화")] protected virtual void InitializeComponents() @@ -117,5 +128,15 @@ namespace BlueWater.Tycoons GameManager.Instance.CurrentTycoonPlayer.TycoonInput.UnregisterPlayerInteraction(this); } } + + protected virtual void OpenTycoonSwitch() + { + IsOpened = true; + } + + protected virtual void ClosedTycoonSwitch() + { + IsOpened = false; + } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/PowerSwitch.cs b/Assets/02.Scripts/Prop/Tycoon/PowerSwitch.cs index 722186789..fbef3ad3d 100644 --- a/Assets/02.Scripts/Prop/Tycoon/PowerSwitch.cs +++ b/Assets/02.Scripts/Prop/Tycoon/PowerSwitch.cs @@ -8,16 +8,6 @@ namespace BlueWater.Tycoons { [SerializeField, Required] private Transform _visualLook; - - // TODO : 추후에 다시 활성화 하는 기능 필요 - [SerializeField] - private bool _isOpened; - - protected override void OnEnable() - { - TycoonManager.Instance.OnTycoonOpenedEvent += OpenTycoonSwitch; - base.OnEnable(); - } public override void Interaction() { @@ -26,13 +16,19 @@ namespace BlueWater.Tycoons public override bool CanInteraction() { - return !_isOpened && TycoonUiManager.Instance.TycoonManagementUi.CookMenuUi.DailyFoodMenuUi.CanOpen(); + return !IsOpened && TycoonUiManager.Instance.TycoonManagementUi.CookMenuUi.DailyFoodMenuUi.CanOpen(); } - private void OpenTycoonSwitch() + protected override void OpenTycoonSwitch() { - _isOpened = true; + base.OpenTycoonSwitch(); _visualLook.localScale = new Vector3(-1f, 1f, 1f); } + + protected override void ClosedTycoonSwitch() + { + base.ClosedTycoonSwitch(); + _visualLook.localScale = new Vector3(1f, 1f, 1f); + } } } \ No newline at end of file diff --git a/Assets/02.Scripts/ScriptableObject/StageData.asset b/Assets/02.Scripts/ScriptableObject/StageData.asset index 9057dcac8..cf343eacf 100644 --- a/Assets/02.Scripts/ScriptableObject/StageData.asset +++ b/Assets/02.Scripts/ScriptableObject/StageData.asset @@ -13,5 +13,5 @@ MonoBehaviour: m_Name: StageData m_EditorClassIdentifier: k__BackingField: 0c00000012000000180000001e00000024000000 - WaitTimeInStarted: 2 + WaitTimeInStarted: 5 CustomerEntryInterval: 15 diff --git a/Assets/02.Scripts/Tycoon/CustomerManager.cs b/Assets/02.Scripts/Tycoon/CustomerManager.cs index 39066cbb8..63bb92b00 100644 --- a/Assets/02.Scripts/Tycoon/CustomerManager.cs +++ b/Assets/02.Scripts/Tycoon/CustomerManager.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -5,6 +6,7 @@ using BlueWater.Npcs.Customers; using BlueWater.Utility; using Sirenix.OdinInspector; using UnityEngine; +using Random = UnityEngine.Random; namespace BlueWater.Tycoons { @@ -25,8 +27,8 @@ namespace BlueWater.Tycoons [SerializeField] private float _checkEmptySeatInterval = 0.5f; - [SerializeField] - private List _instanceCustomers = new(); + [field: SerializeField] + public List InstanceCustomers { get; private set; } = new(); [ShowInInspector] private Queue _waitingCustomers = new(); @@ -34,6 +36,8 @@ namespace BlueWater.Tycoons private CustomerTableController _customerTableController; private Coroutine _findEmptySeatCoroutineInstance; + public Action OnInstantiateCustomer; + protected override void OnAwake() { _customerDatas = new Dictionary(_customerDataSo.CustomerDatas.Count); @@ -53,6 +57,7 @@ namespace BlueWater.Tycoons var newCustomer = Instantiate(_customerPrefab, _customerSpawnTransform.position, Quaternion.identity); newCustomer.Initialize(); RegisterCustomer(newCustomer); + OnInstantiateCustomer?.Invoke(newCustomer); } public void TryFindEmptySeat(Customer customer) @@ -103,12 +108,12 @@ namespace BlueWater.Tycoons public void RegisterCustomer(Customer customer) { - Utils.RegisterList(_instanceCustomers, customer); + Utils.RegisterList(InstanceCustomers, customer); } public void UnregisterCustomer(Customer customer) { - Utils.UnregisterList(_instanceCustomers, customer); + Utils.UnregisterList(InstanceCustomers, customer); } public CustomerData GetRandomCustomerData() @@ -124,6 +129,6 @@ namespace BlueWater.Tycoons return _customerDatas.ElementAt(randomIndex).Value; } - public List GetCurrentCustomers() => _instanceCustomers; + public List GetCurrentCustomers() => InstanceCustomers; } } \ No newline at end of file diff --git a/Assets/02.Scripts/Tycoon/CustomerTableController.cs b/Assets/02.Scripts/Tycoon/CustomerTableController.cs index d2599f875..be96dbb18 100644 --- a/Assets/02.Scripts/Tycoon/CustomerTableController.cs +++ b/Assets/02.Scripts/Tycoon/CustomerTableController.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using BlueWater.Utility; using UnityEngine; +using Random = System.Random; namespace BlueWater.Tycoons { @@ -9,6 +10,8 @@ namespace BlueWater.Tycoons { [SerializeField] private List _customerTables; + + private Random _random = new(); public void RegisterTable(CustomerTable table) { @@ -22,8 +25,22 @@ namespace BlueWater.Tycoons public TableSeat FindEmptySeat() { - return _customerTables.Select(customerTables => customerTables.FindEmptySeat()) - .FirstOrDefault(emptySeat => emptySeat != null); + var tableCount = _customerTables.Count; + var indices = new List(Enumerable.Range(0, tableCount)); + + while (indices.Count > 0) + { + var randomIndex = _random.Next(indices.Count); + var tableIndex = indices[randomIndex]; + indices.RemoveAt(randomIndex); + + var emptySeat = _customerTables[tableIndex].FindEmptySeat(); + if (emptySeat != null) + { + return emptySeat; + } + } + return null; } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Tycoon/TycoonStageController.cs b/Assets/02.Scripts/Tycoon/TycoonStageController.cs index 4986f38f0..10b157a07 100644 --- a/Assets/02.Scripts/Tycoon/TycoonStageController.cs +++ b/Assets/02.Scripts/Tycoon/TycoonStageController.cs @@ -1,5 +1,7 @@ using System; using System.Collections; +using System.Collections.Generic; +using BlueWater.Npcs.Customers; using BlueWater.Utility; using Sirenix.OdinInspector; using UnityEngine; @@ -11,12 +13,15 @@ namespace BlueWater.Tycoons [SerializeField, Required] private StageDataSo _stageDataSo; + [SerializeField] + private List _dailyCustomerVisitInfos; + private bool _isClosedTime; private GameTimeManager _gameTimeManager; private TycoonManager _tycoonManager; private CustomerManager _customerManager; private Coroutine _startStageCoroutineInstance; - private TimeSpan _closeTime; + private TimeSpan _closedTime; private void Start() { @@ -24,35 +29,36 @@ namespace BlueWater.Tycoons _tycoonManager = TycoonManager.Instance; _customerManager = CustomerManager.Instance; - _gameTimeManager.OnTycoonClosedTime += SetIsClosedTime; + var maxCount = _stageDataSo.MaxCustomersByRating.Length; + _dailyCustomerVisitInfos = new List(maxCount - 1); + _tycoonManager.OnTycoonOpenedEvent += StartStage; } private void OnDestroy() { - _gameTimeManager.OnTycoonClosedTime -= SetIsClosedTime; _tycoonManager.OnTycoonOpenedEvent -= StartStage; } private void StartStage() { + _dailyCustomerVisitInfos.Clear(); Utils.StartUniqueCoroutine(this, ref _startStageCoroutineInstance, StartStageCoroutine()); } private IEnumerator StartStageCoroutine() { yield return new WaitForSeconds(_stageDataSo.WaitTimeInStarted); - - _isClosedTime = false; - _closeTime = _gameTimeManager.GetTycoonCloseTimeSpan(); - _closeTime = _closeTime.Subtract(new TimeSpan(0, 30, 0)); + + _closedTime = _gameTimeManager.GetTycoonCloseTimeSpan(); + _closedTime = _closedTime.Subtract(new TimeSpan(0, 30, 0)); var currentRating = DataManager.Instance.TycoonData.Rating; var maxCustomer = _stageDataSo.MaxCustomersByRating[currentRating - 1]; var entryCustomerCount = 0; var entryInterval = new WaitForSeconds(_stageDataSo.CustomerEntryInterval); - while (_closeTime > _gameTimeManager.GetCurrentGameTime() && entryCustomerCount < maxCustomer) + while (_closedTime > _gameTimeManager.GetCurrentGameTime() && entryCustomerCount < maxCustomer) { var emptySeat = _tycoonManager.CustomerTableController.FindEmptySeat(); if (emptySeat != null) @@ -64,7 +70,7 @@ namespace BlueWater.Tycoons yield return entryInterval; } - while (!_isClosedTime || _customerManager.GetCurrentCustomers().Count > 0) + while (_customerManager.GetCurrentCustomers().Count > 0) { yield return null; } @@ -73,6 +79,14 @@ namespace BlueWater.Tycoons _startStageCoroutineInstance = null; } - private void SetIsClosedTime() => _isClosedTime = true; + public void RegisterCustomerVisitInfo(CustomerVisitInfo customerVisitInfo) + { + Utils.RegisterList(_dailyCustomerVisitInfos, customerVisitInfo); + } + + public void UnregisterCustomerVisitInfo(CustomerVisitInfo customerVisitInfo) + { + Utils.UnregisterList(_dailyCustomerVisitInfos, customerVisitInfo); + } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Ui/Tycoon/CookUi.cs b/Assets/02.Scripts/Ui/Tycoon/CookUi.cs index bdf2e6fd8..661aad91b 100644 --- a/Assets/02.Scripts/Ui/Tycoon/CookUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/CookUi.cs @@ -150,6 +150,7 @@ namespace BlueWater.Uis _selectedFoodImage.sprite = null; _selectedFoodName.text = null; _selectedFoodTasteText.text = null; + SetIngredient(null); } else { @@ -164,6 +165,16 @@ namespace BlueWater.Uis private void SetIngredient(FoodData foodData) { + if (foodData == null) + { + for (var i = 0; i < 5; i++) + { + _normalIngredientSlotUis[i].SetItemSlot(null); + } + CheckCookable(); + return; + } + var ingredients = foodData.GetValidIngredients(); var ingredientCount = ingredients.Count; for (var i = 0; i < 5; i++) @@ -285,5 +296,10 @@ namespace BlueWater.Uis _finishedFoodSlotUis[i].transform.SetSiblingIndex(i); } } + + public void TycoonClosed() + { + SelectFinishedFood(null); + } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Ui/Tycoon/DailyFoodMenuUi.cs b/Assets/02.Scripts/Ui/Tycoon/DailyFoodMenuUi.cs index 74878347b..ee30cc35e 100644 --- a/Assets/02.Scripts/Ui/Tycoon/DailyFoodMenuUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/DailyFoodMenuUi.cs @@ -179,5 +179,42 @@ namespace BlueWater.Uis _skewerFoodSlotUis[index].SetFoodData(null); return _skewerFoodSlotUis[index]; } + + public void TycoonClosed() + { + DailyFoodSlotUis.Clear(); + + foreach (var element in _grillFoodSlotUis) + { + if (!element.GetIsLocked() && element.FoodData is not null) + { + element.SetFoodData(null); + } + } + + foreach (var element in _soupFoodSlotUis) + { + if (!element.GetIsLocked() && element.FoodData is not null) + { + element.SetFoodData(null); + } + } + + foreach (var element in _skewerFoodSlotUis) + { + if (!element.GetIsLocked() && element.FoodData is not null) + { + element.SetFoodData(null); + } + } + + foreach (var element in _dessertPanFoodSlotUis) + { + if (!element.GetIsLocked() && element.FoodData is not null) + { + element.SetFoodData(null); + } + } + } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Ui/Tycoon/GoldUi.cs b/Assets/02.Scripts/Ui/Tycoon/GoldUi.cs index b883e376a..58fd66d9c 100644 --- a/Assets/02.Scripts/Ui/Tycoon/GoldUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/GoldUi.cs @@ -1,4 +1,3 @@ -using System; using System.Collections; using System.Collections.Generic; using Sirenix.OdinInspector; @@ -18,14 +17,20 @@ namespace BlueWater.Uis private Queue _goldQueue = new(); private bool _isGoldAnimating; private bool _isQuitting; - - private const string GoldAnimation = "Gold"; + + // Hashes + private static readonly int _highlightTriggerHash = Animator.StringToHash("highlightTrigger"); private void OnEnable() { DataManager.Instance.OnChangeGold += ChangeGold; } + private void Update() + { + //_goldAnimator.GetComponent().SetMaterialDirty(); + } + private void OnDisable() { if (_isQuitting) return; @@ -55,7 +60,7 @@ namespace BlueWater.Uis var targetGold = _goldQueue.Dequeue(); var currentGold = int.Parse(_goldText.text.Replace(",", "")); var elapsedTime = 0f; - _goldAnimator.Play(GoldAnimation, -1, 0f); + _goldAnimator.SetTrigger(_highlightTriggerHash); while (elapsedTime < 1f) { elapsedTime += Time.deltaTime; diff --git a/Assets/02.Scripts/Ui/Tycoon/IndicatorUi.cs b/Assets/02.Scripts/Ui/Tycoon/IndicatorUi.cs new file mode 100644 index 000000000..0ca8b60dd --- /dev/null +++ b/Assets/02.Scripts/Ui/Tycoon/IndicatorUi.cs @@ -0,0 +1,93 @@ +using System.Collections.Generic; +using BlueWater.Npcs.Customers; +using BlueWater.Tycoons; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace BlueWater.Uis +{ + public class IndicatorUi : MonoBehaviour + { + [SerializeField, Required] + private GameObject _uiIndicator; + + [SerializeField] + private Vector2 _widthPadding; + + [SerializeField] + private Vector2 _heightPadding; + + private RectTransform _canvasRectTransform; + private CustomerManager _customerManager; + private Camera _mainCamera; + private Dictionary _customerindicators = new(); + private int _screenWidth; + private int _screenHeight; + + private void Start() + { + _canvasRectTransform = GetComponent(); + _customerManager = CustomerManager.Instance; + _mainCamera = TycoonCameraManager.Instance.MainCamera; + + _customerManager.OnInstantiateCustomer += AddUiIndicator; + } + + private void OnDestroy() + { + _customerManager.OnInstantiateCustomer -= AddUiIndicator; + } + + private void LateUpdate() + { + _screenWidth = Screen.width; + _screenHeight = Screen.height; + + foreach (var element in _customerindicators) + { + var customer = element.Key; + var indicator = element.Value; + if (!customer) + { + _customerindicators.Remove(customer); + Destroy(indicator.gameObject); + return; + } + var target = customer.FoodBalloonUi.transform; + var screenPosition = _mainCamera.WorldToScreenPoint(target.position); + + if (!target.gameObject.activeSelf) + { + indicator.SetActive(false); + continue; + } + + if (screenPosition.z > 0 && screenPosition.x > 0 && screenPosition.x < _screenWidth && screenPosition.y > 0 && screenPosition.y < _screenHeight) + { + indicator.SetActive(false); + } + else + { + indicator.SetActive(true); + var clampedScreenPosition = screenPosition; + clampedScreenPosition.x = Mathf.Clamp(screenPosition.x, 0f + _widthPadding.x, _screenWidth - _widthPadding.y); + clampedScreenPosition.y = Mathf.Clamp(screenPosition.y, 0f + _heightPadding.x, _screenHeight - _heightPadding.y); + RectTransformUtility.ScreenPointToLocalPointInRectangle(_canvasRectTransform, clampedScreenPosition, _mainCamera, out var localPoint); + indicator.transform.localPosition = localPoint; + + var cameraCenterPosition = new Vector3(_screenWidth * 0.5f, _screenHeight * 0.5f, screenPosition.z); + var direction = (screenPosition - cameraCenterPosition).normalized; + var angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg; + indicator.transform.localRotation = Quaternion.Euler(0f, 0f, angle - 90f); + } + } + } + + private void AddUiIndicator(Customer customer) + { + var newUiIndicator = Instantiate(_uiIndicator, transform); + newUiIndicator.SetActive(false); + _customerindicators.Add(customer, newUiIndicator); + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/Ui/Tycoon/IndicatorUi.cs.meta b/Assets/02.Scripts/Ui/Tycoon/IndicatorUi.cs.meta new file mode 100644 index 000000000..a58825687 --- /dev/null +++ b/Assets/02.Scripts/Ui/Tycoon/IndicatorUi.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e393933351b7da9489595d2aeb25135d \ No newline at end of file diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonManagementUi.cs b/Assets/02.Scripts/Ui/Tycoon/TycoonManagementUi.cs index 3a3f004dd..f12a3d40f 100644 --- a/Assets/02.Scripts/Ui/Tycoon/TycoonManagementUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonManagementUi.cs @@ -1,4 +1,6 @@ +using System; using System.Collections.Generic; +using BlueWater.Tycoons; using DG.Tweening; using Sirenix.OdinInspector; using UnityEngine; @@ -16,14 +18,22 @@ namespace BlueWater.Uis private Tween _openTween; private Tween _closeTween; + private bool _isQuitting; private void Awake() { CookMenuUi.ShowUi(); } + private void OnApplicationQuit() + { + _isQuitting = true; + } + private void OnDestroy() { + if (_isQuitting) return; + _openTween.Kill(); _closeTween.Kill(); } diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs b/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs new file mode 100644 index 000000000..3edcd737c --- /dev/null +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs @@ -0,0 +1,138 @@ +using BlueWater.Tycoons; +using DG.Tweening; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace BlueWater.Uis +{ + public class TycoonStageUi : MonoBehaviour + { + // Variables + #region Variables + + // Components + [SerializeField] + private GameObject _openUiImage; + + [SerializeField] + private Animator _openUiAnimator; + + [SerializeField] + private GameObject _closedUiImage; + + [SerializeField] + private Animator _closedUiAnimator; + + // Variables + private Tween _openUiStartTween; + private Tween _openUiEndTween; + private Tween _closedUiStartTween; + private Tween _closedUiEndTween; + private bool _isQuitting; + + // Hashes + private static readonly int _highlightTriggerHash = Animator.StringToHash("highlightTrigger"); + + #endregion + + // Unity events + #region Unity events + + private void Awake() + { + InitializeComponents(); + } + + private void OnApplicationQuit() + { + _isQuitting = true; + } + + private void OnDestroy() + { + if (_isQuitting) return; + + _openUiStartTween.Kill(); + _openUiEndTween.Kill(); + _closedUiStartTween.Kill(); + _closedUiEndTween.Kill(); + } + + #endregion + + // Initialize methods + #region Initialize methods + + [Button("셋팅 초기화")] + private void InitializeComponents() + { + _openUiImage = transform.Find("OpenUiImage").gameObject; + _openUiAnimator = _openUiImage.GetComponent(); + _closedUiImage = transform.Find("ClosedUiImage").gameObject; + _closedUiAnimator = _closedUiImage.GetComponent(); + } + + #endregion + + // Methods + #region Methods + + public void TycoonOpenUi() + { + _openUiStartTween = _openUiImage.transform.DOScale(1f, 0.3f) + .From(0f) + .SetAutoKill(false) + .OnStart(() => + { + PlayerInputKeyManager.Instance.DisableCurrentPlayerInput(); + gameObject.SetActive(true); + _openUiImage.SetActive(true); + }) + .OnComplete(() => + { + _openUiAnimator.SetTrigger(_highlightTriggerHash); + DOVirtual.DelayedCall(1.5f, () => + { + _openUiEndTween = _openUiImage.transform.DOScale(0f, 0.3f).From(1f) + .OnComplete(() => + { + _openUiImage.SetActive(false); + gameObject.SetActive(false); + PlayerInputKeyManager.Instance.EnableCurrentPlayerInput(); + }); + }); + }); + } + + public void TycoonClosedUi() + { + _closedUiStartTween = _closedUiImage.transform.DOScale(1f, 0.3f) + .From(0f) + .SetAutoKill(false) + .OnStart(() => + { + PlayerInputKeyManager.Instance.DisableCurrentPlayerInput(); + gameObject.SetActive(true); + _closedUiImage.SetActive(true); + }) + .OnComplete(() => + { + _closedUiAnimator.SetTrigger(_highlightTriggerHash); + DOVirtual.DelayedCall(1.5f, () => + { + _closedUiEndTween = _closedUiImage.transform.DOScale(0f, 0.3f).From(1f) + .OnComplete(() => + { + _closedUiImage.SetActive(false); + PlayerInputKeyManager.Instance.EnableCurrentPlayerInput(); + // TODO : 통계창 연결 + + gameObject.SetActive(false); + }); + }); + }); + } + + #endregion + } +} diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs.meta b/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs.meta new file mode 100644 index 000000000..bce05aab3 --- /dev/null +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9fe2ca76abb7767459262e2c596bcebe \ No newline at end of file diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonUiManager.cs b/Assets/02.Scripts/Ui/Tycoon/TycoonUiManager.cs index d98901076..f78164c7d 100644 --- a/Assets/02.Scripts/Ui/Tycoon/TycoonUiManager.cs +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonUiManager.cs @@ -1,7 +1,8 @@ -using System.Collections; +using System; using System.Collections.Generic; +using BlueWater.Tycoons; +using DG.Tweening; using Sirenix.OdinInspector; -using TMPro; using UnityEngine; namespace BlueWater.Uis @@ -14,20 +15,21 @@ namespace BlueWater.Uis [field: SerializeField] public Canvas MainCanvas { get; private set; } + [field: SerializeField] + public GoldUi GoldUi { get; private set; } + [field: SerializeField] public TycoonUpgradeUi TycoonUpgradeUi { get; private set; } [field: SerializeField] public TycoonManagementUi TycoonManagementUi { get; private set; } - + [field: SerializeField] - public GoldUi GoldUi { get; private set; } + public TycoonStageUi TycoonStageUi { get; private set; } // Variables public List PopupUiList { get; private set; } - private DataManager _dataManager; - #endregion // Unity events @@ -38,6 +40,12 @@ namespace BlueWater.Uis InitializeComponents(); } + private void Start() + { + TycoonManager.Instance.OnTycoonOpenedEvent += TycoonOpenEvent; + TycoonManager.Instance.OnTycoonClosedEvent += TycoonClosedEvent; + } + private void OnEnable() { PopupUi.OnPopupUiOpenEvent += RegisterPopup; @@ -49,7 +57,15 @@ namespace BlueWater.Uis PopupUi.OnPopupUiOpenEvent -= RegisterPopup; PopupUi.OnPopupUiCloseEvent -= UnregisterPopup; } - + + private void OnDestroy() + { + if (Quitting) return; + + TycoonManager.Instance.OnTycoonOpenedEvent -= TycoonOpenEvent; + TycoonManager.Instance.OnTycoonClosedEvent -= TycoonClosedEvent; + } + #endregion // Initialize methods @@ -59,10 +75,10 @@ namespace BlueWater.Uis private void InitializeComponents() { MainCanvas = GetComponent(); + GoldUi = transform.Find("GoldUi").GetComponent(); TycoonUpgradeUi = GetComponentInChildren(true); TycoonManagementUi = GetComponentInChildren(true); - GoldUi = transform.Find("GoldUi").GetComponent(); - + TycoonStageUi = GetComponentInChildren(true); PopupUiList = new List(8); } @@ -107,7 +123,19 @@ namespace BlueWater.Uis } public bool IsPopupListEmpty() => PopupUiList.Count == 0; - + + private void TycoonOpenEvent() + { + TycoonStageUi.TycoonOpenUi(); + } + + private void TycoonClosedEvent() + { + TycoonStageUi.TycoonClosedUi(); + TycoonManagementUi.CookMenuUi.CookUi.TycoonClosed(); + TycoonManagementUi.CookMenuUi.DailyFoodMenuUi.TycoonClosed(); + } + #endregion } } \ No newline at end of file diff --git a/Assets/03.Images/Ui/Tycoon/Closed.png b/Assets/03.Images/Ui/Tycoon/Closed.png new file mode 100644 index 000000000..9faff661a Binary files /dev/null and b/Assets/03.Images/Ui/Tycoon/Closed.png differ diff --git a/Assets/03.Images/Ui/Tycoon/Closed.png.meta b/Assets/03.Images/Ui/Tycoon/Closed.png.meta new file mode 100644 index 000000000..3af9eab42 --- /dev/null +++ b/Assets/03.Images/Ui/Tycoon/Closed.png.meta @@ -0,0 +1,141 @@ +fileFormatVersion: 2 +guid: 0fb3805d12084a546b64a73a987927d4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/03.Images/Ui/Tycoon/Open.png b/Assets/03.Images/Ui/Tycoon/Open.png new file mode 100644 index 000000000..49b7b1d6e Binary files /dev/null and b/Assets/03.Images/Ui/Tycoon/Open.png differ diff --git a/Assets/03.Images/Ui/Tycoon/Open.png.meta b/Assets/03.Images/Ui/Tycoon/Open.png.meta new file mode 100644 index 000000000..ef6d79d41 --- /dev/null +++ b/Assets/03.Images/Ui/Tycoon/Open.png.meta @@ -0,0 +1,141 @@ +fileFormatVersion: 2 +guid: 8a373610dbf3f9a4595fbaf9d7656393 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04.Materials/OutlineLit.mat b/Assets/04.Materials/OutlineLit.mat index 3497e4923..7d8d009dd 100644 --- a/Assets/04.Materials/OutlineLit.mat +++ b/Assets/04.Materials/OutlineLit.mat @@ -121,7 +121,7 @@ Material: - _ZWrite: 1 m_Colors: - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 4, g: 4, b: 4, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/04.Materials/OutlineUnlit.mat b/Assets/04.Materials/OutlineUnlit.mat index 55c6a1600..b55457ce6 100644 --- a/Assets/04.Materials/OutlineUnlit.mat +++ b/Assets/04.Materials/OutlineUnlit.mat @@ -121,7 +121,7 @@ Material: - _ZWrite: 1 m_Colors: - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 4, g: 4, b: 4, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/04.Materials/Uis/Gold.mat b/Assets/04.Materials/Uis/HighlightUi.mat similarity index 99% rename from Assets/04.Materials/Uis/Gold.mat rename to Assets/04.Materials/Uis/HighlightUi.mat index ff7411dc3..45720c816 100644 --- a/Assets/04.Materials/Uis/Gold.mat +++ b/Assets/04.Materials/Uis/HighlightUi.mat @@ -7,7 +7,7 @@ Material: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: Gold + m_Name: HighlightUi m_Shader: {fileID: -6465566751694194690, guid: 76014f1b89b5d403c8ff1d5bdff04dc8, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 @@ -108,7 +108,7 @@ Material: - _GlossyReflections: 0 - _Metallic: 0 - _OcclusionStrength: 1 - - _OffsetX: 0 + - _OffsetX: -1 - _Parallax: 0.005 - _QueueOffset: 0 - _ReceiveShadows: 1 diff --git a/Assets/04.Materials/Uis/Gold.mat.meta b/Assets/04.Materials/Uis/HighlightUi.mat.meta similarity index 100% rename from Assets/04.Materials/Uis/Gold.mat.meta rename to Assets/04.Materials/Uis/HighlightUi.mat.meta diff --git a/Assets/05.Prefabs/Maps/Tycoon/TycoonMap.prefab b/Assets/05.Prefabs/Maps/Tycoon/TycoonMap.prefab index d9579ccca..64e35681b 100644 --- a/Assets/05.Prefabs/Maps/Tycoon/TycoonMap.prefab +++ b/Assets/05.Prefabs/Maps/Tycoon/TycoonMap.prefab @@ -1073,6 +1073,41 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &2320023537223616702 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 625538338881475774} + m_Layer: 0 + m_Name: Fishes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &625538338881475774 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2320023537223616702} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 394203940560861307} + - {fileID: 2849375577012588752} + - {fileID: 3329476778901633229} + - {fileID: 8811216800872096282} + m_Father: {fileID: 7906693004392999617} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2362657717095001126 GameObject: m_ObjectHideFlags: 0 @@ -2021,8 +2056,9 @@ Transform: - {fileID: 7876638241830506694} - {fileID: 8880781617610419398} - {fileID: 3761582068579457947} - - {fileID: 8902303721943049359} - {fileID: 4068649883988211428} + - {fileID: 625538338881475774} + - {fileID: 8902303721943049359} - {fileID: 7582037073008409459} - {fileID: 3458041048788596166} m_Father: {fileID: 4449232531499695111} @@ -3092,10 +3128,6 @@ Transform: - {fileID: 4449232531499695111} - {fileID: 3249711671270954515} - {fileID: 6858073917342497661} - - {fileID: 394203940560861307} - - {fileID: 2849375577012588752} - - {fileID: 3329476778901633229} - - {fileID: 8811216800872096282} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &9141378804429029863 @@ -4184,7 +4216,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 2700294535905665279} + m_TransformParent: {fileID: 625538338881475774} m_Modifications: - target: {fileID: 2616002849691754592, guid: 3e9197d023786384d9ebd88bee2c3a51, type: 3} propertyPath: m_Enabled @@ -4480,7 +4512,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 2700294535905665279} + m_TransformParent: {fileID: 625538338881475774} m_Modifications: - target: {fileID: 2616002849691754592, guid: 3e9197d023786384d9ebd88bee2c3a51, type: 3} propertyPath: m_Enabled @@ -6366,7 +6398,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 2700294535905665279} + m_TransformParent: {fileID: 625538338881475774} m_Modifications: - target: {fileID: 2616002849691754592, guid: 3e9197d023786384d9ebd88bee2c3a51, type: 3} propertyPath: m_Enabled @@ -6794,7 +6826,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 2700294535905665279} + m_TransformParent: {fileID: 625538338881475774} m_Modifications: - target: {fileID: 2616002849691754592, guid: 3e9197d023786384d9ebd88bee2c3a51, type: 3} propertyPath: m_Enabled diff --git a/Assets/05.Prefabs/Uis/UiIndicator.prefab b/Assets/05.Prefabs/Uis/UiIndicator.prefab new file mode 100644 index 000000000..73a98942f --- /dev/null +++ b/Assets/05.Prefabs/Uis/UiIndicator.prefab @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5148248962339400161 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1816440787420948145} + - component: {fileID: 8197882333532536118} + m_Layer: 5 + m_Name: UiIndicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1816440787420948145 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5148248962339400161} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6589613949975249672} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!95 &8197882333532536118 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5148248962339400161} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: f5727253e313a8946aac8bea614798bd, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &7237199766590788570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6589613949975249672} + - component: {fileID: 9140966058133963248} + - component: {fileID: 3305063903973033772} + m_Layer: 5 + m_Name: ArrowImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6589613949975249672 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7237199766590788570} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1816440787420948145} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9140966058133963248 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7237199766590788570} + m_CullTransparentMesh: 1 +--- !u!114 &3305063903973033772 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7237199766590788570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.08235294, g: 0.3372549, b: 0.8588236, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 619046f6f725b42f9a2b1575494d7fed, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/05.Prefabs/Uis/UiIndicator.prefab.meta b/Assets/05.Prefabs/Uis/UiIndicator.prefab.meta new file mode 100644 index 000000000..f65553806 --- /dev/null +++ b/Assets/05.Prefabs/Uis/UiIndicator.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9c308e38b5681564fbdbad324594baee +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/07.Animations/Uis.meta b/Assets/07.Animations/Uis.meta new file mode 100644 index 000000000..3fe0d78a6 --- /dev/null +++ b/Assets/07.Animations/Uis.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 74393cf9113c28d4b8da119d575b68a1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/07.Animations/Gold.anim b/Assets/07.Animations/Uis/HighlightUi.anim similarity index 99% rename from Assets/07.Animations/Gold.anim rename to Assets/07.Animations/Uis/HighlightUi.anim index 8e5dc82bd..3c7b0f90a 100644 --- a/Assets/07.Animations/Gold.anim +++ b/Assets/07.Animations/Uis/HighlightUi.anim @@ -6,7 +6,7 @@ AnimationClip: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: Gold + m_Name: HighlightUi serializedVersion: 7 m_Legacy: 0 m_Compressed: 0 diff --git a/Assets/07.Animations/Gold.anim.meta b/Assets/07.Animations/Uis/HighlightUi.anim.meta similarity index 100% rename from Assets/07.Animations/Gold.anim.meta rename to Assets/07.Animations/Uis/HighlightUi.anim.meta diff --git a/Assets/07.Animations/Uis/HighlightUi.controller b/Assets/07.Animations/Uis/HighlightUi.controller new file mode 100644 index 000000000..83660fbcc --- /dev/null +++ b/Assets/07.Animations/Uis/HighlightUi.controller @@ -0,0 +1,156 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-6700782946898877390 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: New State + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 7235158333626864524} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HighlightUi + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: highlightTrigger + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 5311950365962604248} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1107 &5311950365962604248 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 6894255947466453808} + m_Position: {x: 530, y: 110, z: 0} + - serializedVersion: 1 + m_State: {fileID: -6700782946898877390} + m_Position: {x: 280, y: 110, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -6700782946898877390} +--- !u!1101 &6512679981098083894 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -6700782946898877390} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &6894255947466453808 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HighlightUi + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 6512679981098083894} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 417027f3b22e34a8f803d305c02209a9, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &7235158333626864524 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: highlightTrigger + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 6894255947466453808} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 0 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/Assets/07.Animations/Gold.controller.meta b/Assets/07.Animations/Uis/HighlightUi.controller.meta similarity index 100% rename from Assets/07.Animations/Gold.controller.meta rename to Assets/07.Animations/Uis/HighlightUi.controller.meta diff --git a/Assets/07.Animations/Uis/UiIndicator.anim b/Assets/07.Animations/Uis/UiIndicator.anim new file mode 100644 index 000000000..3975b00f7 --- /dev/null +++ b/Assets/07.Animations/Uis/UiIndicator.anim @@ -0,0 +1,227 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UiIndicator + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.25 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.x + path: ArrowImage + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.25 + value: 25 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.y + path: ArrowImage + classID: 224 + script: {fileID: 0} + flags: 0 + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 198550629 + attribute: 538195251 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 198550629 + attribute: 1460864421 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.25 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.x + path: ArrowImage + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.25 + value: 25 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.y + path: ArrowImage + classID: 224 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/07.Animations/Uis/UiIndicator.anim.meta b/Assets/07.Animations/Uis/UiIndicator.anim.meta new file mode 100644 index 000000000..afa127f6c --- /dev/null +++ b/Assets/07.Animations/Uis/UiIndicator.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 698f07df3b0888942a036325ce82613f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/07.Animations/Gold.controller b/Assets/07.Animations/Uis/UiIndicator.controller similarity index 81% rename from Assets/07.Animations/Gold.controller rename to Assets/07.Animations/Uis/UiIndicator.controller index 1cd5a46e2..c7f6fcf3c 100644 --- a/Assets/07.Animations/Gold.controller +++ b/Assets/07.Animations/Uis/UiIndicator.controller @@ -1,28 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!91 &9100000 -AnimatorController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Gold - serializedVersion: 5 - m_AnimatorParameters: [] - m_AnimatorLayers: - - serializedVersion: 5 - m_Name: Base Layer - m_StateMachine: {fileID: 5311950365962604248} - m_Mask: {fileID: 0} - m_Motions: [] - m_Behaviours: [] - m_BlendingMode: 0 - m_SyncedLayerIndex: -1 - m_DefaultWeight: 0 - m_IKPass: 0 - m_SyncedLayerAffectsTiming: 0 - m_Controller: {fileID: 9100000} ---- !u!1107 &5311950365962604248 +--- !u!1107 &-5759869575890646011 AnimatorStateMachine: serializedVersion: 6 m_ObjectHideFlags: 1 @@ -32,8 +10,8 @@ AnimatorStateMachine: m_Name: Base Layer m_ChildStates: - serializedVersion: 1 - m_State: {fileID: 6894255947466453808} - m_Position: {x: 320, y: 100, z: 0} + m_State: {fileID: 7334899626073116293} + m_Position: {x: 400, y: 120, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -43,15 +21,37 @@ AnimatorStateMachine: m_EntryPosition: {x: 50, y: 120, z: 0} m_ExitPosition: {x: 800, y: 120, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 6894255947466453808} ---- !u!1102 &6894255947466453808 + m_DefaultState: {fileID: 7334899626073116293} +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UiIndicator + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -5759869575890646011} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &7334899626073116293 AnimatorState: serializedVersion: 6 m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: Gold + m_Name: UiIndicator m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] @@ -64,7 +64,7 @@ AnimatorState: m_MirrorParameterActive: 0 m_CycleOffsetParameterActive: 0 m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: 417027f3b22e34a8f803d305c02209a9, type: 2} + m_Motion: {fileID: 7400000, guid: 698f07df3b0888942a036325ce82613f, type: 2} m_Tag: m_SpeedParameter: m_MirrorParameter: diff --git a/Assets/07.Animations/Uis/UiIndicator.controller.meta b/Assets/07.Animations/Uis/UiIndicator.controller.meta new file mode 100644 index 000000000..bd19169e1 --- /dev/null +++ b/Assets/07.Animations/Uis/UiIndicator.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f5727253e313a8946aac8bea614798bd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/09.Shaders/Gold.shadergraph b/Assets/09.Shaders/HighlightUi.shadergraph similarity index 100% rename from Assets/09.Shaders/Gold.shadergraph rename to Assets/09.Shaders/HighlightUi.shadergraph diff --git a/Assets/09.Shaders/Gold.shadergraph.meta b/Assets/09.Shaders/HighlightUi.shadergraph.meta similarity index 100% rename from Assets/09.Shaders/Gold.shadergraph.meta rename to Assets/09.Shaders/HighlightUi.shadergraph.meta diff --git a/Assets/09.Shaders/OutlineLit.shadergraph b/Assets/09.Shaders/OutlineLit.shadergraph index 941c57f1c..5b8e45d16 100644 --- a/Assets/09.Shaders/OutlineLit.shadergraph +++ b/Assets/09.Shaders/OutlineLit.shadergraph @@ -3480,7 +3480,7 @@ "m_ZTestMode": 4, "m_ZWriteControl": 0, "m_AlphaMode": 0, - "m_RenderFace": 2, + "m_RenderFace": 0, "m_AlphaClip": true, "m_CastShadows": true, "m_ReceiveShadows": true, diff --git a/Assets/09.Shaders/OutlineUnlit.shadergraph b/Assets/09.Shaders/OutlineUnlit.shadergraph index ecab50a15..cfecd92ac 100644 --- a/Assets/09.Shaders/OutlineUnlit.shadergraph +++ b/Assets/09.Shaders/OutlineUnlit.shadergraph @@ -3333,7 +3333,7 @@ "m_ZTestMode": 4, "m_ZWriteControl": 0, "m_AlphaMode": 0, - "m_RenderFace": 2, + "m_RenderFace": 0, "m_AlphaClip": true, "m_CastShadows": true, "m_ReceiveShadows": true, diff --git a/Assets/11.BehaviorTree/Customer.asset b/Assets/11.BehaviorTree/Customer.asset index 267d60ef6..1f8d43f00 100644 --- a/Assets/11.BehaviorTree/Customer.asset +++ b/Assets/11.BehaviorTree/Customer.asset @@ -36,7 +36,8 @@ MonoBehaviour: Loop"},"ID":14,"Name":"Play Spine Animation","Instant":true,"String_animationName":"Idle","Boolean_loop":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(286.363831,152.272583)"},"ID":15,"Name":"Order Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-150.783,148.581665)","Comment":"\ud574\ud53c\ud3ec\uc778\ud2b8 == 0"},"ID":16,"Name":"Compare Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(-0.441589355,149.5423)","Comment":"\uc785\uad6c\ub85c - \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":17,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityGameObject.Destroy","NodeData":{"Offset":"(171.113159,154.032043)"},"ID":18,"Name":"Destroy","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},"Singletime":0}]}]}]},{"Type":"BlueWater.BehaviorTrees.Actions.ReturnSuccess","NodeData":{"Offset":"(197.777771,150)","Comment":"\uc74c\ub8cc + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":17,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":18,"Name":"Check + Out","Instant":true}]}]}]},{"Type":"BlueWater.BehaviorTrees.Actions.ReturnSuccess","NodeData":{"Offset":"(197.777771,150)","Comment":"\uc74c\ub8cc \uc8fc\ubb38 \uc2a4\ud0b5"},"ID":19,"Name":"Return Success","Instant":true}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(10.1457214,150)","Comment":"\uc74c\uc2dd\uc744 \uc8fc\ubb38\ud55c\ub2e4"},"ID":20,"Name":"Order Food Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(1.9050293,150.475769)"},"ID":21,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-219.999985,150)"},"ID":22,"Name":"Order Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OrderFood","NodeData":{"Offset":"(-130,150)","Comment":"\uc74c\uc2dd\uc744 @@ -44,12 +45,15 @@ MonoBehaviour: Loop"},"ID":25,"Name":"Play Spine Animation","Instant":true,"String_animationName":"Idle","Boolean_loop":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(290,150)"},"ID":26,"Name":"Order Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-150,150)","Comment":"\ud574\ud53c\ud3ec\uc778\ud2b8 == 0"},"ID":27,"Name":"Compare Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(0,150)","Comment":"\uc785\uad6c\ub85c - \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":28,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityGameObject.Destroy","NodeData":{"Offset":"(170,150)"},"ID":29,"Name":"Destroy","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},"Singletime":0}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(997.6648,150)","Comment":"\uacc4\uc0b0\ud55c\ub2e4"},"ID":30,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(3.58458138,150.277832)"},"ID":31,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-215,150.277832)"},"ID":32,"Name":"Pay + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":28,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":29,"Name":"Check + Out","Instant":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(997.6648,150)","Comment":"\uacc4\uc0b0\ud55c\ub2e4"},"ID":30,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(3.58458138,150.277832)"},"ID":31,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-215,150.277832)"},"ID":32,"Name":"Pay Money Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.PayMoney","NodeData":{"Offset":"(-5.000045,150)","Comment":"\ub3c8\uc744 \uc9c0\ubd88\ud55c\ub2e4"},"ID":33,"Name":"Pay Money","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(295,150.277832)"},"ID":34,"Name":"Pay Money Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(-95.90906,150.277771)","Comment":"\uc785\uad6c\ub85c - \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":35,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityGameObject.Destroy","NodeData":{"Offset":"(74.09094,150.277771)"},"ID":36,"Name":"Destroy","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},"Singletime":0}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1599.93726,154.760559)","Comment":"\ud1f4\uc7a5\ud55c\ub2e4"},"ID":37,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-145.702881,148.345764)"},"ID":38,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(2.761672,146.545288)","Comment":"\uc785\uad6c\ub85c - \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":39,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityGameObject.Destroy","NodeData":{"Offset":"(172.761688,146.545288)"},"ID":40,"Name":"Destroy","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},"Singletime":0}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0}]}' + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":35,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(70,150)"},"ID":36,"Name":"Check + Out","Instant":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1599.93726,154.760559)","Comment":"\ud1f4\uc7a5\ud55c\ub2e4"},"ID":37,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-145.702881,148.345764)"},"ID":38,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(2.761672,146.545288)","Comment":"\uc785\uad6c\ub85c + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":39,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":40,"Name":"Check + Out","Instant":true}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0}]}' fieldSerializationData: typeName: [] fieldNameHash: diff --git a/Assets/AnimateUIMaterials-main/Unity/Animate UI Material/Assets/Plugins/Animate UI Materials/GraphicMaterialOverride.cs b/Assets/AnimateUIMaterials-main/Unity/Animate UI Material/Assets/Plugins/Animate UI Materials/GraphicMaterialOverride.cs index d98979f4d..827b9c5b5 100644 --- a/Assets/AnimateUIMaterials-main/Unity/Animate UI Material/Assets/Plugins/Animate UI Materials/GraphicMaterialOverride.cs +++ b/Assets/AnimateUIMaterials-main/Unity/Animate UI Material/Assets/Plugins/Animate UI Materials/GraphicMaterialOverride.cs @@ -78,7 +78,7 @@ namespace Plugins.Animate_UI_Materials { // Set a new name, to warn about editor modifications name = $"{baseMaterial.name} OVERRIDE", - hideFlags = HideFlags.HideAndDontSave & HideFlags.NotEditable + hideFlags = HideFlags.HideAndDontSave | HideFlags.NotEditable }; #if UNITY_2022_1_OR_NEWER && UNITY_EDITOR modifiedMaterial.parent = baseMaterial; diff --git a/Assets/BlueWater.asset b/Assets/BlueWater.asset index 16a6cc92f..3fb7546f8 100644 --- a/Assets/BlueWater.asset +++ b/Assets/BlueWater.asset @@ -234,7 +234,7 @@ MonoBehaviour: isConnector: 0 priority: 2 conditionsString: - userScript: 'local randomValue = math.random(1, 3) + userScript: 'local randomValue = math.random(1, 5) Variable["RandomChoice"] = randomValue' @@ -243,8 +243,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 289 - y: 49 + x: 496 + y: 50 width: 160 height: 30 - id: 1 @@ -341,8 +341,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 293.59998 - y: 132.39998 + x: 288 + y: 134 width: 160 height: 30 - id: 3 @@ -432,15 +432,15 @@ MonoBehaviour: falseConditionAction: Block conditionPriority: 2 outgoingLinks: [] - conditionsString: + conditionsString: Variable["RandomChoice"] == 4 userScript: onExecute: m_PersistentCalls: m_Calls: [] canvasRect: serializedVersion: 2 - x: 100.99997 - y: 264.80002 + x: 704 + y: 134 width: 160 height: 30 - id: 5 @@ -481,15 +481,15 @@ MonoBehaviour: falseConditionAction: Block conditionPriority: 2 outgoingLinks: [] - conditionsString: + conditionsString: Variable["RandomChoice"] == 5 userScript: onExecute: m_PersistentCalls: m_Calls: [] canvasRect: serializedVersion: 2 - x: 455.40002 - y: 265.6 + x: 912 + y: 134 width: 160 height: 30 entryGroups: [] @@ -604,7 +604,7 @@ MonoBehaviour: isConnector: 0 priority: 2 conditionsString: - userScript: 'local randomValue = math.random(1, 3) + userScript: 'local randomValue = math.random(1, 4) Variable["RandomChoice"] = randomValue' @@ -613,8 +613,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 353 - y: 67 + x: 392 + y: 50 width: 160 height: 30 - id: 1 @@ -662,8 +662,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 129 - y: 172 + x: 80 + y: 134 width: 160 height: 30 - id: 2 @@ -711,8 +711,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 332 - y: 170 + x: 288 + y: 134 width: 160 height: 30 - id: 3 @@ -760,8 +760,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 551 - y: 170 + x: 496 + y: 134 width: 160 height: 30 - id: 4 @@ -803,15 +803,15 @@ MonoBehaviour: falseConditionAction: Block conditionPriority: 2 outgoingLinks: [] - conditionsString: + conditionsString: Variable["RandomChoice"] == 4 userScript: onExecute: m_PersistentCalls: m_Calls: [] canvasRect: serializedVersion: 2 - x: 433.8 - y: 244.99998 + x: 704 + y: 134 width: 160 height: 30 entryGroups: [] @@ -929,8 +929,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 428 - y: 117 + x: 288 + y: 50 width: 160 height: 30 - id: 1 @@ -978,8 +978,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 219 - y: 260 + x: 80 + y: 134 width: 160 height: 30 - id: 2 @@ -1027,8 +1027,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 462 - y: 256 + x: 288 + y: 134 width: 160 height: 30 - id: 3 @@ -1076,8 +1076,8 @@ MonoBehaviour: m_Calls: [] canvasRect: serializedVersion: 2 - x: 717 - y: 253 + x: 496 + y: 134 width: 160 height: 30 entryGroups: []