diff --git a/Assets/01.Scenes/01.Tycoon.unity b/Assets/01.Scenes/01.Tycoon.unity index 1ffa702ff..a75d632ed 100644 --- a/Assets/01.Scenes/01.Tycoon.unity +++ b/Assets/01.Scenes/01.Tycoon.unity @@ -5328,6 +5328,107 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 393212792} m_CullTransparentMesh: 1 +--- !u!1 &410235866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 410235870} + - component: {fileID: 410235869} + - component: {fileID: 410235868} + - component: {fileID: 410235867} + m_Layer: 0 + m_Name: WorldCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &410235867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410235866} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 2148532223 +--- !u!114 &410235868 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410235866} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!223 &410235869 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410235866} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 1 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 5 + m_TargetDisplay: 0 +--- !u!224 &410235870 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410235866} + m_LocalRotation: {x: 0.3420201, y: 0, z: 0, w: 0.9396927} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &414363377 GameObject: m_ObjectHideFlags: 0 @@ -8597,6 +8698,134 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &733323112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 733323113} + - component: {fileID: 733323115} + - component: {fileID: 733323114} + m_Layer: 0 + m_Name: BackgroundUiCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &733323113 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 733323112} + 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: 873223992} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &733323114 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 733323112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 1 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!20 &733323115 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 733323112} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 4 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 300 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 524288 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 --- !u!1001 &738295682 PrefabInstance: m_ObjectHideFlags: 0 @@ -10366,6 +10595,7 @@ MonoBehaviour: m_RequiresOpaqueTextureOption: 2 m_CameraType: 0 m_Cameras: + - {fileID: 733323115} - {fileID: 1985878519} - {fileID: 1355183327} m_RendererIndex: -1 @@ -10475,6 +10705,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 733323113} - {fileID: 1355183324} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 9.569, y: 87.98, z: 0} @@ -11668,7 +11899,7 @@ MonoBehaviour: _playerBalloonImage: {fileID: 21300000, guid: e7b746bc5bff9d64fb1129b9aa8ccf3e, type: 3} _moveToPlayerDuration: 0.2 _moveToCenterDuration: 0.15 - _centerPosition: {x: -300, y: 0, z: 0} + _centerPosition: {x: -340, y: 0, z: 0} _endPositionOffset: {x: 0, y: 20, z: 0} _endScale: {x: 0.3, y: 0.3, z: 0.3} --- !u!1001 &1011627381 @@ -14412,7 +14643,7 @@ Transform: m_GameObject: {fileID: 1247057678} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -300, y: 0, z: 0} + m_LocalPosition: {x: -340, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 m_Children: @@ -15579,6 +15810,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 3040169690825224014, guid: 9a394d3c65c71084d8345c36df67c89c, type: 3} + propertyPath: _instanceLocation + value: + objectReference: {fileID: 410235870} - target: {fileID: 9041926907780427371, guid: 9a394d3c65c71084d8345c36df67c89c, type: 3} propertyPath: m_Name value: NewTycoonMap @@ -22534,7 +22769,7 @@ Canvas: m_Enabled: 1 serializedVersion: 3 m_RenderMode: 2 - m_Camera: {fileID: 1355183327} + m_Camera: {fileID: 733323115} m_PlaneDistance: 100 m_PixelPerfect: 0 m_ReceivesEvents: 1 @@ -29868,7 +30103,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6054159730444663926, guid: 9ce588004bafc1e4e9617fdaa2d77c8d, type: 3} propertyPath: m_ActionEvents.Array.size - value: 30 + value: 31 objectReference: {fileID: 0} - target: {fileID: 6054159730444663926, guid: 9ce588004bafc1e4e9617fdaa2d77c8d, type: 3} propertyPath: m_ActionEvents.Array.data[28].m_ActionId @@ -29886,10 +30121,6 @@ PrefabInstance: propertyPath: m_ActionEvents.Array.data[29].m_ActionName value: 'TycoonUi/CancelManual[/Keyboard/q]' objectReference: {fileID: 0} - - target: {fileID: 6054159730444663926, guid: 9ce588004bafc1e4e9617fdaa2d77c8d, type: 3} - propertyPath: m_ActionEvents.Array.data[28].m_PersistentCalls.m_Calls.Array.data[0].m_MethodName - value: OnManual - objectReference: {fileID: 0} - target: {fileID: 6054159730444663926, guid: 9ce588004bafc1e4e9617fdaa2d77c8d, type: 3} propertyPath: m_ActionEvents.Array.data[29].m_PersistentCalls.m_Calls.Array.data[0].m_MethodName value: OnCancelManual @@ -30781,6 +31012,7 @@ SceneRoots: - {fileID: 1231728096} - {fileID: 1619849090} - {fileID: 1746385717} + - {fileID: 410235870} - {fileID: 1049919592} - {fileID: 1896021280} - {fileID: 1395162455} diff --git a/Assets/02.Scripts/Character/Npc/Customer/Customer.cs b/Assets/02.Scripts/Character/Npc/Customer/Customer.cs index 2ef0b2787..080e391ad 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/Customer.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/Customer.cs @@ -213,11 +213,11 @@ namespace BlueWater.Npcs.Customers CurrentLevelData = levelData; _spawnTransform = spawnTransform; - IdleState = new IdleStateMachine(); - WalkingState = new WalkingStateMachine(); - HappyState = new HappyStateMachine(); - UpsetState = new UpsetStateMachine(); - VomitState = new VomitStateMachine(); + IdleState = new IdleState(); + WalkingState = new WalkingState(); + HappyState = new HappyState(); + UpsetState = new UpsetState(); + VomitState = new VomitState(); StateMachineController = new StateMachineController(this, IdleState); @@ -257,7 +257,6 @@ namespace BlueWater.Npcs.Customers public void SetTableSeat(TableSeat tableSeat) { CurrentTableSeat = tableSeat; - BalloonUi.Initialize(CurrentTableSeat); } public void SetCurrentDirection(Vector3 normalDirection) => CurrentDirection = normalDirection; @@ -472,7 +471,7 @@ namespace BlueWater.Npcs.Customers public bool IsOrderedCocktail() { - return CurrentTableSeat && !IsReceivedItem; + return CurrentTableSeat && CurrentTableSeat.IsOccupied && !IsReceivedItem; } public void TryMatchedServer() diff --git a/Assets/02.Scripts/Character/Npc/Customer/State/HappyState.cs b/Assets/02.Scripts/Character/Npc/Customer/State/HappyState.cs index af72b48b4..16794c105 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/State/HappyState.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/State/HappyState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Npcs.Customers { - public class HappyStateMachine : IStateMachine + public class HappyState : IStateMachine { public void EnterState(Customer character) { diff --git a/Assets/02.Scripts/Character/Npc/Customer/State/IdleState.cs b/Assets/02.Scripts/Character/Npc/Customer/State/IdleState.cs index 600f77998..ea671e684 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/State/IdleState.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/State/IdleState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Npcs.Customers { - public class IdleStateMachine : IStateMachine + public class IdleState : IStateMachine { public void EnterState(Customer character) { diff --git a/Assets/02.Scripts/Character/Npc/Customer/State/UpsetState.cs b/Assets/02.Scripts/Character/Npc/Customer/State/UpsetState.cs index 4464f089c..2764a9211 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/State/UpsetState.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/State/UpsetState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Npcs.Customers { - public class UpsetStateMachine : IStateMachine + public class UpsetState : IStateMachine { public void EnterState(Customer character) { diff --git a/Assets/02.Scripts/Character/Npc/Customer/State/VomitState.cs b/Assets/02.Scripts/Character/Npc/Customer/State/VomitState.cs index 8e6507fae..0ffee9b5a 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/State/VomitState.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/State/VomitState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Npcs.Customers { - public class VomitStateMachine : IStateMachine + public class VomitState : IStateMachine { private bool _isVomiting; diff --git a/Assets/02.Scripts/Character/Npc/Customer/State/WalkingState.cs b/Assets/02.Scripts/Character/Npc/Customer/State/WalkingState.cs index d141346e4..edd1f0c5b 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/State/WalkingState.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/State/WalkingState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Npcs.Customers { - public class WalkingStateMachine : IStateMachine + public class WalkingState : IStateMachine { public void EnterState(Customer character) { diff --git a/Assets/02.Scripts/Character/Player/Combat/CombatMovement.cs b/Assets/02.Scripts/Character/Player/Combat/CombatMovement.cs index ac793ac9d..44c2c9505 100644 --- a/Assets/02.Scripts/Character/Player/Combat/CombatMovement.cs +++ b/Assets/02.Scripts/Character/Player/Combat/CombatMovement.cs @@ -1,4 +1,3 @@ -using System; using System.Collections; using BlueWater.Audios; using BlueWater.Interfaces; diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/CleaningFloorState.cs b/Assets/02.Scripts/Character/Player/Tycoon/State/CleaningFloorState.cs index e0b23b388..63ffa35c8 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/State/CleaningFloorState.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/CleaningFloorState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Players.Tycoons { - public class CleaningFloorStateMachine : IStateMachine + public class CleaningFloorState : IStateMachine { public void EnterState(TycoonPlayer character) { @@ -15,15 +15,15 @@ namespace BlueWater.Players.Tycoons if (character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingStateMachine - : character.WalkingStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingState + : character.WalkingState, character); } else if (!character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingIdleStateMachine - : character.IdleStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingIdleState + : character.IdleState, character); } } diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/CleaningTableState.cs b/Assets/02.Scripts/Character/Player/Tycoon/State/CleaningTableState.cs index 7f11cb834..1fee58e6a 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/State/CleaningTableState.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/CleaningTableState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Players.Tycoons { - public class CleaningTableStateMachine : IStateMachine + public class CleaningTableState : IStateMachine { public void EnterState(TycoonPlayer character) { @@ -15,15 +15,15 @@ namespace BlueWater.Players.Tycoons if (character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingStateMachine - : character.WalkingStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingState + : character.WalkingState, character); } else if (!character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingIdleStateMachine - : character.IdleStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingIdleState + : character.IdleState, character); } } diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/DashState.cs b/Assets/02.Scripts/Character/Player/Tycoon/State/DashState.cs new file mode 100644 index 000000000..943d5e339 --- /dev/null +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/DashState.cs @@ -0,0 +1,48 @@ +using BlueWater.Interfaces; + +namespace BlueWater.Players.Tycoons +{ + public class DashState : IStateMachine + { + public void EnterState(TycoonPlayer character) + { + var dashSpeed = character.TycoonMovement.DashTime; + character.SpineController.PlayAnimationDuration(TycoonPlayerSpineAnimation.Dash, false, dashSpeed); + } + + public void UpdateState(TycoonPlayer character) + { + if (character.TycoonMovement.IsDashing) return; + + if (character.TycoonMovement.IsMoving) + { + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingState + : character.WalkingState, character); + } + else if (character.IsMakingCocktail) + { + character.StateMachineController.TransitionToState(character.MakingCocktailState, character); + } + else if (character.IsCleaningFloor) + { + character.StateMachineController.TransitionToState(character.CleaningFloorState, character); + } + else if (character.IsCleaningTable) + { + character.StateMachineController.TransitionToState(character.CleaningTableState, character); + } + else if (!character.TycoonMovement.IsMoving) + { + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingIdleState + : character.IdleState, character); + } + } + + public void ExitState(TycoonPlayer character) + { + + } + } +} diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/DashState.cs.meta b/Assets/02.Scripts/Character/Player/Tycoon/State/DashState.cs.meta new file mode 100644 index 000000000..b04abf15f --- /dev/null +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/DashState.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: df6794ea3812a0b4f9b04ad2232167cf diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/IdleState.cs b/Assets/02.Scripts/Character/Player/Tycoon/State/IdleState.cs index 9050f9118..4a841f3cb 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/State/IdleState.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/IdleState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Players.Tycoons { - public class IdleStateMachine : IStateMachine + public class IdleState : IStateMachine { public void EnterState(TycoonPlayer character) { @@ -13,27 +13,27 @@ namespace BlueWater.Players.Tycoons { if (character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingStateMachine - : character.WalkingStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingState + : character.WalkingState, character); } else if (character.IsMakingCocktail) { - character.TransitionToState(character.MakingCocktailStateMachine); + character.StateMachineController.TransitionToState(character.MakingCocktailState, character); } else if (character.IsCleaningFloor) { - character.TransitionToState(character.CleaningFloorStateMachine); + character.StateMachineController.TransitionToState(character.CleaningFloorState, character); } else if (character.IsCleaningTable) { - character.TransitionToState(character.CleaningTableStateMachine); + character.StateMachineController.TransitionToState(character.CleaningTableState, character); } else if (!character.TycoonMovement.IsMoving) { - if (character.TycoonPickupHandler.IsPickedUpCocktail()) + if (character.TycoonPickupHandler.IsPickedUpAnything()) { - character.TransitionToState(character.ServingIdleStateMachine); + character.StateMachineController.TransitionToState(character.ServingIdleState, character); } } } diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/MakingCocktailState.cs b/Assets/02.Scripts/Character/Player/Tycoon/State/MakingCocktailState.cs index e0e345b43..ad5fd9396 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/State/MakingCocktailState.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/MakingCocktailState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Players.Tycoons { - public class MakingCocktailStateMachine : IStateMachine + public class MakingCocktailState : IStateMachine { public void EnterState(TycoonPlayer character) { @@ -15,15 +15,15 @@ namespace BlueWater.Players.Tycoons if (character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingStateMachine - : character.WalkingStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingState + : character.WalkingState, character); } else if (!character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingIdleStateMachine - : character.IdleStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingIdleState + : character.IdleState, character); } } diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/ServingIdleState.cs b/Assets/02.Scripts/Character/Player/Tycoon/State/ServingIdleState.cs index 7c02f3216..57290db37 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/State/ServingIdleState.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/ServingIdleState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Players.Tycoons { - public class ServingIdleStateMachine : IStateMachine + public class ServingIdleState : IStateMachine { public void EnterState(TycoonPlayer character) { @@ -13,27 +13,27 @@ namespace BlueWater.Players.Tycoons { if (character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingStateMachine - : character.WalkingStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingState + : character.WalkingState, character); } else if (character.IsMakingCocktail) { - character.TransitionToState(character.MakingCocktailStateMachine); + character.StateMachineController.TransitionToState(character.MakingCocktailState, character); } else if (character.IsCleaningFloor) { - character.TransitionToState(character.CleaningFloorStateMachine); + character.StateMachineController.TransitionToState(character.CleaningFloorState, character); } else if (character.IsCleaningTable) { - character.TransitionToState(character.CleaningTableStateMachine); + character.StateMachineController.TransitionToState(character.CleaningTableState, character); } else if (!character.TycoonMovement.IsMoving) { - if (!character.TycoonPickupHandler.IsPickedUpCocktail()) + if (!character.TycoonPickupHandler.IsPickedUpAnything()) { - character.TransitionToState(character.IdleStateMachine); + character.StateMachineController.TransitionToState(character.IdleState, character); } } } diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/ServingState.cs b/Assets/02.Scripts/Character/Player/Tycoon/State/ServingState.cs index 6e3d3097d..51947cb40 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/State/ServingState.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/ServingState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Players.Tycoons { - public class ServingStateMachine : IStateMachine + public class ServingState : IStateMachine { public void EnterState(TycoonPlayer character) { @@ -13,28 +13,28 @@ namespace BlueWater.Players.Tycoons { if (character.TycoonMovement.IsMoving) { - if (!character.TycoonPickupHandler.IsPickedUpCocktail()) + if (!character.TycoonPickupHandler.IsPickedUpAnything()) { - character.TransitionToState(character.WalkingStateMachine); + character.StateMachineController.TransitionToState(character.WalkingState, character); } } else if (character.IsMakingCocktail) { - character.TransitionToState(character.MakingCocktailStateMachine); + character.StateMachineController.TransitionToState(character.MakingCocktailState, character); } else if (character.IsCleaningFloor) { - character.TransitionToState(character.CleaningFloorStateMachine); + character.StateMachineController.TransitionToState(character.CleaningFloorState, character); } else if (character.IsCleaningTable) { - character.TransitionToState(character.CleaningTableStateMachine); + character.StateMachineController.TransitionToState(character.CleaningTableState, character); } else if (!character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingIdleStateMachine - : character.IdleStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingIdleState + : character.IdleState, character); } } diff --git a/Assets/02.Scripts/Character/Player/Tycoon/State/WalkingState.cs b/Assets/02.Scripts/Character/Player/Tycoon/State/WalkingState.cs index b18035998..b400197cb 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/State/WalkingState.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/State/WalkingState.cs @@ -2,7 +2,7 @@ using BlueWater.Interfaces; namespace BlueWater.Players.Tycoons { - public class WalkingStateMachine : IStateMachine + public class WalkingState : IStateMachine { public void EnterState(TycoonPlayer character) { @@ -13,28 +13,28 @@ namespace BlueWater.Players.Tycoons { if (character.TycoonMovement.IsMoving) { - if (character.TycoonPickupHandler.IsPickedUpCocktail()) + if (character.TycoonPickupHandler.IsPickedUpAnything()) { - character.TransitionToState(character.ServingStateMachine); + character.StateMachineController.TransitionToState(character.ServingState, character); } } else if (character.IsMakingCocktail) { - character.TransitionToState(character.MakingCocktailStateMachine); + character.StateMachineController.TransitionToState(character.MakingCocktailState, character); } else if (character.IsCleaningFloor) { - character.TransitionToState(character.CleaningFloorStateMachine); + character.StateMachineController.TransitionToState(character.CleaningFloorState, character); } else if (character.IsCleaningTable) { - character.TransitionToState(character.CleaningTableStateMachine); + character.StateMachineController.TransitionToState(character.CleaningTableState, character); } else if (!character.TycoonMovement.IsMoving) { - character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail() - ? character.ServingIdleStateMachine - : character.IdleStateMachine); + character.StateMachineController.TransitionToState(character.TycoonPickupHandler.IsPickedUpAnything() + ? character.ServingIdleState + : character.IdleState, character); } } diff --git a/Assets/02.Scripts/Character/Player/Tycoon/TycoonInput.cs b/Assets/02.Scripts/Character/Player/Tycoon/TycoonInput.cs index 9e33846e3..9ca86e76b 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/TycoonInput.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/TycoonInput.cs @@ -26,6 +26,7 @@ namespace BlueWater.Players.Tycoons // Events public event Action OnMoveInputReceived; + public event Action OnDashInputReceived; #endregion @@ -94,6 +95,14 @@ namespace BlueWater.Players.Tycoons OnMoveInputReceived?.Invoke(movementInput); } + public void OnDash(InputAction.CallbackContext context) + { + if (context.performed) + { + OnDashInputReceived?.Invoke(); + } + } + public void OnInteraction(InputAction.CallbackContext context) { if (context.performed) diff --git a/Assets/02.Scripts/Character/Player/Tycoon/TycoonMovement.cs b/Assets/02.Scripts/Character/Player/Tycoon/TycoonMovement.cs index 6587aaf15..376a8e8f6 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/TycoonMovement.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/TycoonMovement.cs @@ -1,9 +1,13 @@ +using System; +using System.Collections; using BlueWater.Interfaces; +using BlueWater.Utility; +using Sirenix.OdinInspector; using UnityEngine; namespace BlueWater.Players.Tycoons { - public class TycoonMovement : MonoBehaviour, IPhysicMovable + public class TycoonMovement : MonoBehaviour, IDashable, IPhysicMovable { // Variables #region Variables @@ -11,7 +15,6 @@ namespace BlueWater.Players.Tycoons // Components public Rigidbody Rigidbody { get; private set; } private Transform _visualLook; - private TycoonPickupHandler _tycoonPickupHandler; // Move [field: SerializeField, Range(1f, 20f), Tooltip("이동 속도")] @@ -23,6 +26,25 @@ namespace BlueWater.Players.Tycoons public bool IsMoveEnabled { get; private set; } = true; public bool IsMoving { get; private set; } + + // Dash + [field: Title("대쉬")] + [field: SerializeField, Range(1f, 50f), Tooltip("대쉬 속도")] + public float DashSpeed { get; private set; } = 20f; + + [field: SerializeField, Range(0.1f, 1f), Tooltip("대쉬 시간")] + public float DashTime { get; private set; } = 0.2f; + + [field: SerializeField, Range(0f, 5f), Tooltip("대쉬 쿨타임")] + public float DashCooldown { get; private set; } = 0.5f; + + [SerializeField] + private ParticleSystem _dashParticle; + + public bool IsDashEnabled { get; private set; } = true; + public bool IsDashing { get; private set; } + + public bool IsDashCoolDownActive { get; private set; } private Vector3 _inputDirection; @@ -41,7 +63,8 @@ namespace BlueWater.Players.Tycoons public Vector3 PushDirection { get; private set; } public float PushPower { get; private set; } public float PushPowerReduction { get; private set; } - + + private Coroutine _dashInstance; private float _finalSpeed; #endregion @@ -75,8 +98,6 @@ namespace BlueWater.Players.Tycoons { Rigidbody = GetComponent(); _visualLook = transform.Find("VisualLook"); - - _tycoonPickupHandler = GetComponent(); } #endregion @@ -122,11 +143,13 @@ namespace BlueWater.Players.Tycoons public void SetPush(Vector3 pushDirection, float pushPower) { - throw new System.NotImplementedException(); + throw new NotImplementedException(); } public void Move() { + if (IsDashing) return; + CurrentDirection = _inputDirection; IsMoving = _inputDirection != Vector3.zero; @@ -137,6 +160,60 @@ namespace BlueWater.Players.Tycoons } } + // Dash + public bool CanDash() + { + if (!IsDashEnabled || IsDashing || IsDashCoolDownActive) return false; + + return true; + } + + public void Dash() + { + Utils.StartUniqueCoroutine(this, ref _dashInstance, DashCoroutine()); + } + + private IEnumerator DashCoroutine() + { + IsDashing = true; + IsDashCoolDownActive = true; + if (_dashParticle) + { + _dashParticle.Play(); + } + + var dashDirection = _inputDirection; + if (dashDirection == Vector3.zero) + { + dashDirection = CurrentDirection; + } + + var elapsedTime = 0f; + while (elapsedTime <= DashTime) + { + var finalVelocity = dashDirection * DashSpeed; + Rigidbody.linearVelocity = finalVelocity; + + elapsedTime += Time.fixedDeltaTime; + yield return new WaitForFixedUpdate(); + } + + EndDash(DashCooldown); + } + + public void EndDash(float dashCooldown = float.PositiveInfinity) + { + Utils.EndUniqueCoroutine(this, ref _dashInstance); + Rigidbody.linearVelocity = Vector3.zero; + IsDashing = false; + + if (float.IsPositiveInfinity(dashCooldown)) + { + dashCooldown = DashCooldown; + } + StartCoroutine(Utils.CoolDownCoroutine(dashCooldown, () => IsDashCoolDownActive = false)); + } + #endregion } } \ No newline at end of file diff --git a/Assets/02.Scripts/Character/Player/Tycoon/TycoonPickupHandler.cs b/Assets/02.Scripts/Character/Player/Tycoon/TycoonPickupHandler.cs index a91a6eed7..b956871c7 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/TycoonPickupHandler.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/TycoonPickupHandler.cs @@ -9,11 +9,11 @@ namespace BlueWater.Players.Tycoons [SerializeField] private SpriteRenderer _itemRenderer; - [SerializeField] - private bool _isUnfinishedCocktailPickedUp; + [field: SerializeField] + public bool IsUnfinishedCocktailPickedUp { get; private set; } - [SerializeField] - private bool _isPickedUpItem; + [field: SerializeField] + public bool IsPickedUpItem { get; private set; } private IPickup _currentPickupItem; @@ -42,29 +42,29 @@ namespace BlueWater.Players.Tycoons private void PickupUnfinishedCocktail() { - _isUnfinishedCocktailPickedUp = true; + IsUnfinishedCocktailPickedUp = true; } public void PickupItem(IPickup item, bool isMadePlayer) { if (!isMadePlayer) return; - if (_isPickedUpItem) + if (IsPickedUpItem) { Debug.Log("이미 아이템을 들고 있습니다."); return; } - _isUnfinishedCocktailPickedUp = false; + IsUnfinishedCocktailPickedUp = false; _currentPickupItem = item; _itemRenderer.enabled = false; //_itemRenderer.sprite = item.Sprite; - _isPickedUpItem = true; + IsPickedUpItem = true; } public void ServedItem(IPickup item) { - if (!_isPickedUpItem || _currentPickupItem == null) + if (!IsPickedUpItem || _currentPickupItem == null) { Debug.Log("들고있는 아이템이 없거나, 현재 아이템 데이터가 비어있습니다."); return; @@ -72,35 +72,30 @@ namespace BlueWater.Players.Tycoons _currentPickupItem = null; _itemRenderer.sprite = null; - _isPickedUpItem = false; + IsPickedUpItem = false; } public void DiscardItem() { - if (!_isPickedUpItem && !_isUnfinishedCocktailPickedUp) + if (!IsPickedUpItem && !IsUnfinishedCocktailPickedUp) { Debug.Log("들고있는 아이템이 없습니다."); return; } - _isUnfinishedCocktailPickedUp = false; + IsUnfinishedCocktailPickedUp = false; _currentPickupItem = null; _itemRenderer.sprite = null; - _isPickedUpItem = false; + IsPickedUpItem = false; } public IPickup GetCurrentPickupItem() => _currentPickupItem; - public bool IsServablePickupItem() => _isPickedUpItem && _currentPickupItem.Idx != "Cocktail000"; - - /// - /// 완성된 아이템이 있는 경우 - /// - public bool IsPickedUpItem() => _isPickedUpItem; + public bool IsServablePickupItem() => IsPickedUpItem && _currentPickupItem.Idx != "Cocktail000"; /// /// 제조중인 칵테일이 있거나, 아이템이 있는 경우 /// - public bool IsPickedUpCocktail() => _isPickedUpItem || _isUnfinishedCocktailPickedUp; + public bool IsPickedUpAnything() => IsPickedUpItem || IsUnfinishedCocktailPickedUp; } } \ No newline at end of file diff --git a/Assets/02.Scripts/Character/Player/Tycoon/TycoonPlayer.cs b/Assets/02.Scripts/Character/Player/Tycoon/TycoonPlayer.cs index 5c7eaa2de..864dcf231 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/TycoonPlayer.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/TycoonPlayer.cs @@ -15,6 +15,7 @@ namespace BlueWater.Players.Tycoons public const string Walking = "Run"; public const string ServingIdle = "ServingIdle"; public const string Serving = "Serving"; + public const string Dash = "Dash"; public const string CleaningFloor = "CleaningFloor"; public const string CleaningTable = "CleaningTable"; public const string MakingCocktail = "BeerMaker"; @@ -65,14 +66,15 @@ namespace BlueWater.Players.Tycoons public bool IsMakingCocktail { get; set; } // State - public IStateMachine CurrentStateMachine { get; private set; } - public IStateMachine IdleStateMachine { get; private set; } - public IStateMachine WalkingStateMachine { get; private set; } - public IStateMachine ServingIdleStateMachine { get; private set; } - public IStateMachine ServingStateMachine { get; private set; } - public IStateMachine CleaningFloorStateMachine { get; private set; } - public IStateMachine CleaningTableStateMachine { get; private set; } - public IStateMachine MakingCocktailStateMachine { get; private set; } + public StateMachineController StateMachineController { get; private set; } + public IStateMachine IdleState { get; private set; } + public IStateMachine WalkingState { get; private set; } + public IStateMachine DashState { get; private set; } + public IStateMachine ServingIdleState { get; private set; } + public IStateMachine ServingState { get; private set; } + public IStateMachine CleaningFloorState { get; private set; } + public IStateMachine CleaningTableState { get; private set; } + public IStateMachine MakingCocktailState { get; private set; } #endregion @@ -92,36 +94,36 @@ namespace BlueWater.Players.Tycoons private void Start() { TycoonInput.OnMoveInputReceived += TycoonMovement.HandleInputMovement; + TycoonInput.OnDashInputReceived += Dash; EventManager.OnDead += Die; - EventManager.OnMakeCocktailStarted += MakeCocktailStarted; EventManager.OnMakeCocktailCompleted += MakeCocktailCompleted; EventManager.OnCocktailDiscarded += DiscardCocktail; EventManager.OnCocktailServedToCustomer += ServedCocktail; - IdleStateMachine = new IdleStateMachine(); - WalkingStateMachine = new WalkingStateMachine(); - ServingIdleStateMachine = new ServingIdleStateMachine(); - ServingStateMachine = new ServingStateMachine(); - CleaningFloorStateMachine = new CleaningFloorStateMachine(); - CleaningTableStateMachine = new CleaningTableStateMachine(); - MakingCocktailStateMachine = new MakingCocktailStateMachine(); + IdleState = new IdleState(); + WalkingState = new WalkingState(); + DashState = new DashState(); + ServingIdleState = new ServingIdleState(); + ServingState = new ServingState(); + CleaningFloorState = new CleaningFloorState(); + CleaningTableState = new CleaningTableState(); + MakingCocktailState = new MakingCocktailState(); - CurrentStateMachine = IdleStateMachine; - CurrentStateMachine.EnterState(this); + StateMachineController = new StateMachineController(this, IdleState); } private void Update() { - CurrentStateMachine.UpdateState(this); + StateMachineController.UpdateState(this); } private void OnDestroy() { TycoonInput.OnMoveInputReceived -= TycoonMovement.HandleInputMovement; + TycoonInput.OnDashInputReceived -= Dash; EventManager.OnDead -= Die; - EventManager.OnMakeCocktailStarted -= MakeCocktailStarted; EventManager.OnMakeCocktailCompleted -= MakeCocktailCompleted; EventManager.OnCocktailDiscarded -= DiscardCocktail; EventManager.OnCocktailServedToCustomer -= ServedCocktail; @@ -163,18 +165,6 @@ namespace BlueWater.Players.Tycoons var saveGold = TycoonManager.Instance.TycoonStatus.CurrentGold / 2; ES3.Save("Gold", saveGold); } - - public void TransitionToState(IStateMachine newStateMachine) - { - CurrentStateMachine.ExitState(this); - CurrentStateMachine = newStateMachine; - CurrentStateMachine.EnterState(this); - } - - public void MakeCocktailStarted() - { - InteractionCanvas.BalloonUi.PickupUnfinishedCocktail(); - } public void MakeCocktailCompleted(CocktailData cocktailData, bool isMadePlayer) { @@ -196,7 +186,15 @@ namespace BlueWater.Players.Tycoons if (!isServedPlayer) return; TycoonPickupHandler.ServedItem(cocktailData); - InteractionCanvas.BalloonUi.ServedItem(); + InteractionCanvas.BalloonUi.DiscardItem(); + } + + private void Dash() + { + if (!TycoonMovement.CanDash()) return; + + StateMachineController.TransitionToState(DashState, this); + TycoonMovement.Dash(); } #endregion diff --git a/Assets/02.Scripts/Character/SpineController.cs b/Assets/02.Scripts/Character/SpineController.cs index 2bb224b93..0b5dd78c7 100644 --- a/Assets/02.Scripts/Character/SpineController.cs +++ b/Assets/02.Scripts/Character/SpineController.cs @@ -124,6 +124,42 @@ namespace BlueWater.Players return trackEntry; } + public TrackEntry PlayAnimationDuration(string animationName, bool isLoopActive, float duration, bool isReverse = false, int trackIndex = 0) + { + if (!SkeletonAnimation || _animationState == null) return null; + + if (string.IsNullOrEmpty(animationName)) + { + Debug.LogError($"{animationName}의 애니메이션은 존재하지 않습니다."); + return null; + } + + // 중복 체크 + var currentTrackEntry = _animationState.GetCurrent(trackIndex); + if (currentTrackEntry != null && currentTrackEntry.Animation.Name == animationName) + { + return currentTrackEntry; + } + + var findAnimation = SkeletonAnimation.Skeleton.Data.FindAnimation(animationName); + if (findAnimation == null) + { + Debug.LogError($"{animationName} 애니메이션을 찾을 수 없습니다."); + return null; + } + + var speed = findAnimation.Duration / duration; + _animationState.TimeScale = isReverse ? -Mathf.Abs(speed) : Mathf.Abs(speed); + var trackEntry = _animationState.SetAnimation(trackIndex, animationName, isLoopActive); + + if (isReverse) + { + trackEntry.TrackTime = trackEntry.AnimationEnd; + } + + return trackEntry; + } + public void SetSkin(string skinName) { if (SkeletonAnimation == null && _animationState == null) return; diff --git a/Assets/02.Scripts/NewBlueWater.inputactions b/Assets/02.Scripts/NewBlueWater.inputactions index 686f12a13..61e32cc64 100644 --- a/Assets/02.Scripts/NewBlueWater.inputactions +++ b/Assets/02.Scripts/NewBlueWater.inputactions @@ -530,6 +530,15 @@ "interactions": "", "initialStateCheck": true }, + { + "name": "Dash", + "type": "Button", + "id": "34c447c4-c69f-4348-89ba-e1f8585deb95", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, { "name": "Interaction", "type": "Button", @@ -614,6 +623,17 @@ "isComposite": false, "isPartOfComposite": true }, + { + "name": "", + "id": "c0999630-d77d-41fb-ac08-e3cb2e0c4bd0", + "path": "/space", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Dash", + "isComposite": false, + "isPartOfComposite": false + }, { "name": "", "id": "8c3121b0-0da8-48fc-9807-9593fdd06e60", diff --git a/Assets/02.Scripts/Prop/Tycoon/Barrel.cs b/Assets/02.Scripts/Prop/Tycoon/Barrel.cs index f1ea3dda9..1c7d2d16c 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Barrel.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Barrel.cs @@ -40,7 +40,6 @@ namespace BlueWater.Tycoons private Material _instanceMaterial; - public event Action OnAmountChanged; public static event Action OnBarrelInteracted; public static event Action OnBarrelCancelInteracted; @@ -91,7 +90,7 @@ namespace BlueWater.Tycoons /// public override bool CanInteraction() { - return IsActivated && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem() && CanConsume(1); + return IsActivated && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem && CanConsume(1); } public bool CanConsume(int amount) @@ -107,7 +106,7 @@ namespace BlueWater.Tycoons } var consumeAmount = CurrentAmount - amount; - SetCurrentAmount(consumeAmount, true); + SetCurrentAmount(consumeAmount); } public bool TryConsume(int amount) @@ -120,7 +119,7 @@ namespace BlueWater.Tycoons public LiquidData GetLiquidData() => _liquidData; - public void SetCurrentAmount(int amount, bool isFromAction = false) + public void SetCurrentAmount(int amount) { if (CurrentAmount == int.MaxValue) { @@ -130,11 +129,6 @@ namespace BlueWater.Tycoons CurrentAmount = amount; var liquidAmount = CurrentAmount / 4000f; _instanceMaterial.SetFloat(LiquidAmountHash, liquidAmount); - - if (!isFromAction) - { - OnAmountChanged?.Invoke(CurrentAmount); - } } public void Activate() @@ -147,7 +141,7 @@ namespace BlueWater.Tycoons { if (!_isActivated) return; - SetCurrentAmount(CurrentAmount + addedValue, true); + SetCurrentAmount(CurrentAmount + addedValue); } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/BartenderTable.cs b/Assets/02.Scripts/Prop/Tycoon/BartenderTable.cs index 0ef614b0b..051fbfce1 100644 --- a/Assets/02.Scripts/Prop/Tycoon/BartenderTable.cs +++ b/Assets/02.Scripts/Prop/Tycoon/BartenderTable.cs @@ -23,7 +23,7 @@ namespace BlueWater.Tycoons public override bool CanInteraction() { - return CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail(); + return CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything(); } public override bool CanInteractionCrew(Crew crew = null) diff --git a/Assets/02.Scripts/Prop/Tycoon/Cookware.cs b/Assets/02.Scripts/Prop/Tycoon/Cookware.cs index 932093140..a7fbaea35 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Cookware.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Cookware.cs @@ -117,7 +117,7 @@ namespace BlueWater.Tycoons public override void Interaction() { - if (CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem()) + if (CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem) { var carriedItemData = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem(); if (carriedItemData.Idx == FireWoodIdx) @@ -135,7 +135,7 @@ namespace BlueWater.Tycoons public override bool CanInteraction() { - var isCarriedItem = CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem(); + var isCarriedItem = CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem; var isFullFireWood = _currentFireWoodCount >= CookwareDataSo.MaxFireWoodQuantity; var isEmptyFoodData = CurrentDailyFoodUi is null or { FoodData : null }; var isEmptyFinishedFood = _cookedFoodDatas is null or { Count : <= 0 }; diff --git a/Assets/02.Scripts/Prop/Tycoon/Pump.cs b/Assets/02.Scripts/Prop/Tycoon/Pump.cs new file mode 100644 index 000000000..d0907f8a5 --- /dev/null +++ b/Assets/02.Scripts/Prop/Tycoon/Pump.cs @@ -0,0 +1,77 @@ +using System; +using UnityEngine; + +namespace BlueWater.Tycoons +{ + [Serializable] + public class Pump : InteractionFurniture + { + [SerializeField] + private float _interactionHoldingTime = 1f; + + [SerializeField] + private PumpingMessage _pumpingMessageObject; + + [SerializeField] + private Transform _instanceLocation; + + [SerializeField] + private Vector3 _offset; + + [SerializeField, Range(0, 1000)] + private int addedLiquid = 400; + + private bool _isPlayerInteracting; + + private void Update() + { + var holdingGauge = 0f; + if (HoldingElapsedTime > 0f) + { + holdingGauge = Mathf.Clamp(HoldingElapsedTime / _interactionHoldingTime, 0f, 1f); + } + + if (IsShowing) + { + EventManager.InvokeHoldInteracting(holdingGauge); + } + + if (HoldingElapsedTime > _interactionHoldingTime) + { + HoldingElapsedTime -= _interactionHoldingTime; + + EventManager.InvokeAddBarrels(addedLiquid); + var pumpingMessage = Instantiate(_pumpingMessageObject, transform.position + _offset, + Quaternion.identity, _instanceLocation); + pumpingMessage.Initialize(addedLiquid); + } + + if (_isPlayerInteracting) + { + HoldingElapsedTime += Time.deltaTime; + } + else + { + if (HoldingElapsedTime > 0f) + { + HoldingElapsedTime -= Time.deltaTime; + } + } + } + + public override void Interaction() + { + _isPlayerInteracting = true; + } + + public override void CancelInteraction() + { + _isPlayerInteracting = false; + } + + public override bool CanInteraction() + { + return !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything(); + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/Pump.cs.meta b/Assets/02.Scripts/Prop/Tycoon/Pump.cs.meta new file mode 100644 index 000000000..cd0324b78 --- /dev/null +++ b/Assets/02.Scripts/Prop/Tycoon/Pump.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d1e03b5e408ba914193c2c50c8bef052 diff --git a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs index 81988ff16..58e2cef3e 100644 --- a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs +++ b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs @@ -87,7 +87,7 @@ namespace BlueWater.Tycoons { // 1. 테이블에 칵테일이 있고, 플레이어가 칵테일을 들고 있지 않은 경우 // 2. 테이블에 칵테일이 없고, 플레이어가 칵테일을 들고 있는 경우 (정상적인 칵테일만) - return (CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail()) || + return (CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything()) || (CurrentPickupItem == null && CurrentTycoonPlayer.TycoonPickupHandler.IsServablePickupItem()); } diff --git a/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs b/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs index 0589c78e6..2bd64d765 100644 --- a/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs +++ b/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs @@ -146,7 +146,7 @@ namespace BlueWater.Tycoons public override bool CanInteraction() { - return !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail() && !IsCleaned; + return !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything() && !IsCleaned; } public void ReserveSeat() => IsReserved = true; diff --git a/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs b/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs index fd5296654..be8204ff1 100644 --- a/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs +++ b/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs @@ -6,15 +6,19 @@ namespace BlueWater.Tycoons { public override void Interaction() { - var discardCocktailDataIdx = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem().Idx; - var discardCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(discardCocktailDataIdx); + CocktailData discardCocktailData = null; + if (!CurrentTycoonPlayer.TycoonPickupHandler.IsUnfinishedCocktailPickedUp) + { + var discardCocktailDataIdx = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem().Idx; + discardCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(discardCocktailDataIdx); + } EventManager.InvokeCocktailDiscarded(discardCocktailData, true); } public override bool CanInteraction() { - return CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail(); + return CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything(); } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs b/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs index a85a4d263..d4941dd8d 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs @@ -106,7 +106,7 @@ namespace BlueWater.Tycoons public override bool CanInteraction() { - return !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail(); + return !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything(); } private void Destroy() diff --git a/Assets/02.Scripts/ScriptableObject/Item/LiquidDataTable.asset b/Assets/02.Scripts/ScriptableObject/Item/LiquidDataTable.asset index aabe53fbb..d0be2e894 100644 --- a/Assets/02.Scripts/ScriptableObject/Item/LiquidDataTable.asset +++ b/Assets/02.Scripts/ScriptableObject/Item/LiquidDataTable.asset @@ -20,7 +20,7 @@ MonoBehaviour: k__BackingField: 1 k__BackingField: 99999 k__BackingField: {fileID: 21300000, guid: a8c45767f0a3ec245a47087c7ada2b50, type: 3} - k__BackingField: {r: 1, g: 0, b: 0, a: 1} + k__BackingField: {r: 1, g: 0.21960784, b: 0, a: 1} - k__BackingField: LiquidB k__BackingField: k__BackingField: LiquidB @@ -28,7 +28,7 @@ MonoBehaviour: k__BackingField: 1 k__BackingField: 2000 k__BackingField: {fileID: 21300000, guid: 216cb30d7010e95499c22161ccfde634, type: 3} - k__BackingField: {r: 1, g: 0.5019608, b: 0, a: 1} + k__BackingField: {r: 0.12156863, g: 1, b: 0, a: 1} - k__BackingField: LiquidC k__BackingField: k__BackingField: LiquidC @@ -36,7 +36,7 @@ MonoBehaviour: k__BackingField: 1 k__BackingField: 2000 k__BackingField: {fileID: 21300000, guid: 404e93e2e77f60b49bbcbf1df18904d3, type: 3} - k__BackingField: {r: 1, g: 1, b: 0, a: 1} + k__BackingField: {r: 0, g: 0.23921569, b: 1, a: 1} - k__BackingField: LiquidD k__BackingField: k__BackingField: LiquidD @@ -44,7 +44,7 @@ MonoBehaviour: k__BackingField: 1 k__BackingField: 2000 k__BackingField: {fileID: 21300000, guid: a575a803ef0529e43bcbbe8ccdbb34b2, type: 3} - k__BackingField: {r: 0, g: 1, b: 0, a: 1} + k__BackingField: {r: 1, g: 0, b: 0.6666667, a: 1} - k__BackingField: LiquidE k__BackingField: k__BackingField: LiquidE @@ -52,7 +52,7 @@ MonoBehaviour: k__BackingField: 1 k__BackingField: 2000 k__BackingField: {fileID: 21300000, guid: 2fc24dca6ce6ac94da0187dfce24fa3a, type: 3} - k__BackingField: {r: 0, g: 0, b: 1, a: 1} + k__BackingField: {r: 0.9843137, g: 1, b: 0, a: 1} - k__BackingField: Garnish1 k__BackingField: k__BackingField: Garnish1 diff --git a/Assets/02.Scripts/Tycoon/TycoonStageController.cs b/Assets/02.Scripts/Tycoon/TycoonStageController.cs index 3c84f543e..bf0ea1f28 100644 --- a/Assets/02.Scripts/Tycoon/TycoonStageController.cs +++ b/Assets/02.Scripts/Tycoon/TycoonStageController.cs @@ -78,6 +78,8 @@ namespace BlueWater.Tycoons public void RemoveInstanceCocktail(CocktailData cocktailData, bool isRemovedPlayer) { + if (cocktailData == null) return; + var idx = cocktailData.Idx; if (InstanceCocktailDatas.ContainsKey(idx)) { diff --git a/Assets/02.Scripts/Tycoon/TycoonStatus.cs b/Assets/02.Scripts/Tycoon/TycoonStatus.cs index 7d43ae32b..8730d628c 100644 --- a/Assets/02.Scripts/Tycoon/TycoonStatus.cs +++ b/Assets/02.Scripts/Tycoon/TycoonStatus.cs @@ -132,7 +132,7 @@ namespace BlueWater.Tycoons set { _currentLiquidAmountA = value; - TycoonManager.Instance.TycoonIngredientController.LiquidBarrelA.SetCurrentAmount(value, true); + TycoonManager.Instance.TycoonIngredientController.LiquidBarrelA.SetCurrentAmount(value); } } @@ -148,7 +148,7 @@ namespace BlueWater.Tycoons set { _currentLiquidAmountB = value; - TycoonManager.Instance.TycoonIngredientController.LiquidBarrelB.SetCurrentAmount(value, true); + TycoonManager.Instance.TycoonIngredientController.LiquidBarrelB.SetCurrentAmount(value); } } @@ -164,7 +164,7 @@ namespace BlueWater.Tycoons set { _currentLiquidAmountC = value; - TycoonManager.Instance.TycoonIngredientController.LiquidBarrelC.SetCurrentAmount(value, true); + TycoonManager.Instance.TycoonIngredientController.LiquidBarrelC.SetCurrentAmount(value); } } @@ -180,7 +180,7 @@ namespace BlueWater.Tycoons set { _currentLiquidAmountD = value; - TycoonManager.Instance.TycoonIngredientController.LiquidBarrelD.SetCurrentAmount(value, true); + TycoonManager.Instance.TycoonIngredientController.LiquidBarrelD.SetCurrentAmount(value); } } @@ -196,7 +196,7 @@ namespace BlueWater.Tycoons set { _currentLiquidAmountE = value; - TycoonManager.Instance.TycoonIngredientController.LiquidBarrelE.SetCurrentAmount(value, true); + TycoonManager.Instance.TycoonIngredientController.LiquidBarrelE.SetCurrentAmount(value); } } @@ -213,7 +213,7 @@ namespace BlueWater.Tycoons set { _currentGarnishAmount1 = value; - TycoonManager.Instance.TycoonIngredientController.GarnishBarrel1.SetCurrentAmount(value, true); + TycoonManager.Instance.TycoonIngredientController.GarnishBarrel1.SetCurrentAmount(value); } } @@ -229,21 +229,12 @@ namespace BlueWater.Tycoons set { _currentGarnishAmount2 = value; - TycoonManager.Instance.TycoonIngredientController.GarnishBarrel2.SetCurrentAmount(value, true); + TycoonManager.Instance.TycoonIngredientController.GarnishBarrel2.SetCurrentAmount(value); } } public void Initialize() { - var ingredientController = TycoonManager.Instance.TycoonIngredientController; - ingredientController.LiquidBarrelA.OnAmountChanged += UpdateLiquidA; - ingredientController.LiquidBarrelB.OnAmountChanged += UpdateLiquidB; - ingredientController.LiquidBarrelC.OnAmountChanged += UpdateLiquidC; - ingredientController.LiquidBarrelD.OnAmountChanged += UpdateLiquidD; - ingredientController.LiquidBarrelE.OnAmountChanged += UpdateLiquidE; - ingredientController.GarnishBarrel1.OnAmountChanged += UpdateGarnish1; - ingredientController.GarnishBarrel2.OnAmountChanged += UpdateGarnish2; - MaxLevel = int.Parse(TycoonManager.Instance.LevelDataSo.GetData().Last().Value.Idx); CurrentLevel = 1; CurrentGold = 0; @@ -254,29 +245,6 @@ namespace BlueWater.Tycoons CurrentPlayerHealth = GameManager.Instance.CurrentTycoonPlayer.PlayerHealthPoint.CurrentHealthPoint; PlayerMoveSpeedMultiplier = GameManager.Instance.CurrentTycoonPlayer.TycoonMovement.MoveSpeedMultiplier; } - - private void OnDestroy() - { - var ingredientController = TycoonManager.Instance.TycoonIngredientController; - if (ingredientController != null) - { - ingredientController.LiquidBarrelA.OnAmountChanged -= UpdateLiquidA; - ingredientController.LiquidBarrelB.OnAmountChanged -= UpdateLiquidB; - ingredientController.LiquidBarrelC.OnAmountChanged -= UpdateLiquidC; - ingredientController.LiquidBarrelD.OnAmountChanged -= UpdateLiquidD; - ingredientController.LiquidBarrelE.OnAmountChanged -= UpdateLiquidE; - ingredientController.GarnishBarrel1.OnAmountChanged -= UpdateGarnish1; - ingredientController.GarnishBarrel2.OnAmountChanged -= UpdateGarnish2; - } - } - - private void UpdateLiquidA(int amount) => CurrentLiquidAmountA += amount; - private void UpdateLiquidB(int amount) => CurrentLiquidAmountB += amount; - private void UpdateLiquidC(int amount) => CurrentLiquidAmountC += amount; - private void UpdateLiquidD(int amount) => CurrentLiquidAmountD += amount; - private void UpdateLiquidE(int amount) => CurrentLiquidAmountE += amount; - private void UpdateGarnish1(int amount) => CurrentGarnishAmount1 += amount; - private void UpdateGarnish2(int amount) => CurrentGarnishAmount2 += amount; private void LevelUp() { diff --git a/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs b/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs index 5f1a9d92b..d66d28cba 100644 --- a/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs @@ -32,9 +32,7 @@ namespace BlueWater.Uis private bool _isItemReceived; private Tween _tween; - private TableSeat _tableSeat; private CocktailData _orderCocktailData; - private bool _isUnfinishedCocktailPickedUp; private void Awake() { @@ -54,20 +52,9 @@ namespace BlueWater.Uis _panel = transform.Find("Panel").gameObject; } - public void Initialize(TableSeat tableSeat) - { - _tableSeat = tableSeat; - HideUi(); - } - public void ShowUi() => _panel.SetActive(true); public void HideUi() => _panel.SetActive(false); - public void PickupUnfinishedCocktail() - { - _isUnfinishedCocktailPickedUp = true; - } - public void SetItemImage(IPickup item) { if (!item.Sprite) @@ -75,7 +62,6 @@ namespace BlueWater.Uis Debug.LogWarning($"{item.Sprite} 해당 음식의 이미지가 없습니다."); } - _isUnfinishedCocktailPickedUp = false; SetItemSprite(item.Sprite); ShowUi(); } @@ -99,14 +85,6 @@ namespace BlueWater.Uis public void DiscardItem() { - _isUnfinishedCocktailPickedUp = false; - HideUi(); - SetEmpty(); - } - - public void ServedItem() - { - _isUnfinishedCocktailPickedUp = false; HideUi(); SetEmpty(); } diff --git a/Assets/02.Scripts/Ui/Tycoon/PumpingMessage.cs b/Assets/02.Scripts/Ui/Tycoon/PumpingMessage.cs new file mode 100644 index 000000000..1fccb92bb --- /dev/null +++ b/Assets/02.Scripts/Ui/Tycoon/PumpingMessage.cs @@ -0,0 +1,41 @@ +using DG.Tweening; +using TMPro; +using UnityEngine; + +namespace BlueWater +{ + public class PumpingMessage : MonoBehaviour + { + [SerializeField] + private RectTransform _rect; + + [SerializeField] + private TMP_Text _text; + + [SerializeField] + private float _offsetY = 1f; + + [SerializeField] + private float _duration = 2f; + + [SerializeField] + private float _shakeAmount = 0.1f; + + [SerializeField] + private int _shakeVibrato = 4; + + public void Initialize(int addedLiquid) + { + _text.text = $"+{addedLiquid}ml"; + + _rect.localRotation = Quaternion.identity; + var endPosition = _rect.localPosition + new Vector3(0, _offsetY, 0); + + var tween = DOTween.Sequence().SetAutoKill(true); + tween.Append(_rect.DOLocalMoveY(endPosition.y, _duration).SetEase(Ease.InOutSine)); + tween.Join(_rect.DOScale(Vector3.zero, _duration).SetEase(Ease.InBack)); + + tween.OnComplete(() => Destroy(gameObject)); + } + } +} diff --git a/Assets/02.Scripts/Ui/Tycoon/PumpingMessage.cs.meta b/Assets/02.Scripts/Ui/Tycoon/PumpingMessage.cs.meta new file mode 100644 index 000000000..a50b060c1 --- /dev/null +++ b/Assets/02.Scripts/Ui/Tycoon/PumpingMessage.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: da97352cbf8e3a448a46c44b4651f73e \ No newline at end of file diff --git a/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidB.png b/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidB.png index 0cb3d0fac..85c7b5110 100644 Binary files a/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidB.png and b/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidB.png differ diff --git a/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidC.png b/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidC.png index 5937bbe5c..96ff1af9b 100644 Binary files a/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidC.png and b/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidC.png differ diff --git a/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidD.png b/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidD.png index 85c7b5110..943ce801f 100644 Binary files a/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidD.png and b/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidD.png differ diff --git a/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidE.png b/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidE.png index 96ff1af9b..5937bbe5c 100644 Binary files a/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidE.png and b/Assets/03.Images/Tycoons/Cocktails/Liquids/LiquidE.png differ diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/BartenderCrew.prefab b/Assets/05.Prefabs/Characters/Npcs/Crews/BartenderCrew.prefab index 677867c2e..2cbb50252 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Crews/BartenderCrew.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/BartenderCrew.prefab @@ -254,8 +254,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: cc610b9acc31ccb41befa5093f0db428, type: 2} - - {fileID: 2100000, guid: 4b69878329f04c541838d4c090ad9978, type: 2} + - {fileID: 0} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -284,13 +283,13 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 813964778509222274} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} m_Name: m_EditorClassIdentifier: skeletonDataAsset: {fileID: 11400000, guid: d96ab46e9aca1d142b153e02ea521a2a, type: 2} - initialSkinName: 01Suit + initialSkinName: 01Bar fixPrefabOverrideViaMeshFilter: 2 initialFlipX: 0 initialFlipY: 0 @@ -781,9 +780,9 @@ MonoBehaviour: _isRandomRange: 0 _randomRange: {x: 0, y: 1} _randomStrings: - - 01Maid - - 02Maid - - 03Maid + - 01Bar + - 02Bar + - 03Bar --- !u!114 &17978457728262906 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab b/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab index fadb9fba2..06faa00b7 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab @@ -256,6 +256,8 @@ MeshRenderer: m_Materials: - {fileID: 2100000, guid: cc610b9acc31ccb41befa5093f0db428, type: 2} - {fileID: 2100000, guid: 4b69878329f04c541838d4c090ad9978, type: 2} + - {fileID: 2100000, guid: cc610b9acc31ccb41befa5093f0db428, type: 2} + - {fileID: 2100000, guid: 4b69878329f04c541838d4c090ad9978, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -290,7 +292,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: skeletonDataAsset: {fileID: 11400000, guid: d96ab46e9aca1d142b153e02ea521a2a, type: 2} - initialSkinName: 01Suit2 + initialSkinName: 01Clean fixPrefabOverrideViaMeshFilter: 2 initialFlipX: 0 initialFlipY: 0 @@ -781,9 +783,9 @@ MonoBehaviour: _isRandomRange: 0 _randomRange: {x: 0, y: 1} _randomStrings: - - 01Suit2 - - 02Suit2 - - 03Suit2 + - 01Clean + - 02Clean + - 03Clean --- !u!114 &17978457728262906 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab b/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab index fe4043f8b..d669e20dd 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab @@ -254,8 +254,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: cc610b9acc31ccb41befa5093f0db428, type: 2} - - {fileID: 2100000, guid: 4b69878329f04c541838d4c090ad9978, type: 2} + - {fileID: 0} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -290,7 +289,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: skeletonDataAsset: {fileID: 11400000, guid: d96ab46e9aca1d142b153e02ea521a2a, type: 2} - initialSkinName: 01Maid + initialSkinName: 01Serv fixPrefabOverrideViaMeshFilter: 2 initialFlipX: 0 initialFlipY: 0 @@ -781,9 +780,9 @@ MonoBehaviour: _isRandomRange: 0 _randomRange: {x: 0, y: 1} _randomStrings: - - 01Suit - - 02Suit - - 03Suit + - 01Serv + - 02Serv + - 03Serv --- !u!114 &17978457728262906 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab b/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab index 74f34afa1..dfb94f104 100644 --- a/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab +++ b/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab @@ -270,6 +270,7 @@ Transform: m_ConstrainProportionsScale: 1 m_Children: - {fileID: 6509241874729291456} + - {fileID: 1310764416167184350} - {fileID: 3452808590865560956} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -540,6 +541,22 @@ MonoBehaviour: m_CallState: 2 m_ActionId: c30fb3f3-d280-4b30-af6c-15f7483fd658 m_ActionName: 'TycoonUi/CancelManual[/Keyboard/q]' + - m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1674052485383758547} + m_TargetAssemblyTypeName: BlueWater.Players.Tycoons.TycoonInput, Assembly-CSharp + m_MethodName: OnDash + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_ActionId: 34c447c4-c69f-4348-89ba-e1f8585deb95 + m_ActionName: 'Tycoon/Dash[/Keyboard/space]' m_NeverAutoSwitchControlSchemes: 0 m_DefaultControlScheme: m_DefaultActionMap: Tycoon @@ -632,6 +649,10 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 3 k__BackingField: 1 + k__BackingField: 10 + k__BackingField: 0.2 + k__BackingField: 5 + _dashParticle: {fileID: 6534074633252588839} --- !u!114 &909302231676134912 MonoBehaviour: m_ObjectHideFlags: 0 @@ -645,8 +666,123 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _itemRenderer: {fileID: 5527707380059080408} - _isUnfinishedCocktailPickedUp: 0 - _isPickedUpItem: 0 + k__BackingField: 0 + k__BackingField: 0 +--- !u!1 &6770728712927323782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1310764416167184350} + m_Layer: 9 + m_Name: Particles + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1310764416167184350 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6770728712927323782} + 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: 1223910344527447426} + m_Father: {fileID: 2798544366308408093} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1498444826951423489 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1310764416167184350} + m_Modifications: + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalScale.x + value: 0.3 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalScale.y + value: 0.3 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalScale.z + value: 0.3 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4202938607248792743, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_SortingOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 6303706055160295254, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + propertyPath: m_Name + value: DashParticle + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} +--- !u!4 &1223910344527447426 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 303914191248036739, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + m_PrefabInstance: {fileID: 1498444826951423489} + m_PrefabAsset: {fileID: 0} +--- !u!198 &6534074633252588839 stripped +ParticleSystem: + m_CorrespondingSourceObject: {fileID: 5649266429755611942, guid: a833011c24a0166499bb1482b1f3b2e5, type: 3} + m_PrefabInstance: {fileID: 1498444826951423489} + m_PrefabAsset: {fileID: 0} --- !u!1001 &8027897071964512356 PrefabInstance: m_ObjectHideFlags: 0 @@ -711,6 +847,10 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 0.04999999 objectReference: {fileID: 0} + - target: {fileID: 8764364725249863370, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_PresetInfoIsWorld + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] diff --git a/Assets/05.Prefabs/Maps/Tycoon/NewTycoonMap.prefab b/Assets/05.Prefabs/Maps/Tycoon/NewTycoonMap.prefab index 720040c54..b59dfd0eb 100644 --- a/Assets/05.Prefabs/Maps/Tycoon/NewTycoonMap.prefab +++ b/Assets/05.Prefabs/Maps/Tycoon/NewTycoonMap.prefab @@ -368,6 +368,127 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 12, y: 3.8, z: 0.20000005} m_Center: {x: 0, y: 0, z: 0.1} +--- !u!1 &833462480456262630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 761558860074504813} + - component: {fileID: 1240065722795991527} + - component: {fileID: 8016003909017665317} + m_Layer: 0 + m_Name: Point Light (20) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &761558860074504813 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833462480456262630} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.18, y: 4.46, z: -0.94} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3965676124384496161} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &1240065722795991527 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833462480456262630} + m_Enabled: 1 + serializedVersion: 11 + m_Type: 2 + m_Color: {r: 0.27865788, g: 0.5032396, b: 0.5849056, a: 1} + m_Intensity: 45 + m_Range: 6.89 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!114 &8016003909017665317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833462480456262630} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 --- !u!1 &867242612611201267 GameObject: m_ObjectHideFlags: 0 @@ -2749,6 +2870,7 @@ Transform: - {fileID: 1460156631301568417} - {fileID: 249187936443647402} - {fileID: 2435960157213919885} + - {fileID: 761558860074504813} - {fileID: 5495525894007307580} - {fileID: 3834249266432028486} - {fileID: 7160680560296398733} @@ -4909,6 +5031,7 @@ Transform: - {fileID: 8480552838860958414} - {fileID: 4798925548635759970} - {fileID: 3032369304281183765} + - {fileID: 334852209123821565} m_Father: {fileID: 4449232531499695111} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &8697754653569273504 @@ -6416,6 +6539,68 @@ Transform: m_CorrespondingSourceObject: {fileID: 1061695247072719575, guid: d4d2c09313763694785f13d2ff8c1303, type: 3} m_PrefabInstance: {fileID: 1080211192036468262} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1123846822714628895 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1402113424960589398} + m_Modifications: + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalPosition.x + value: 4.191 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalPosition.z + value: -4.908 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5897095096647521783, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + propertyPath: m_Name + value: Pump + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} +--- !u!4 &334852209123821565 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 809828747251277026, guid: 7947dcd65a3517948a2892d06222f5ae, type: 3} + m_PrefabInstance: {fileID: 1123846822714628895} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1129546663280585032 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/05.Prefabs/Props/Furniture/Interactions/BartenderTable02.prefab b/Assets/05.Prefabs/Props/Furniture/Interactions/BartenderTable02.prefab index d3dad7115..22e61c8d4 100644 --- a/Assets/05.Prefabs/Props/Furniture/Interactions/BartenderTable02.prefab +++ b/Assets/05.Prefabs/Props/Furniture/Interactions/BartenderTable02.prefab @@ -57,7 +57,7 @@ Transform: m_GameObject: {fileID: 6373979881487551315} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.679, z: -0} + m_LocalPosition: {x: 0, y: 0.438, z: 0} m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} m_ConstrainProportionsScale: 1 m_Children: [] @@ -170,6 +170,18 @@ PrefabInstance: propertyPath: m_Name value: BartenderTable02 objectReference: {fileID: 0} + - target: {fileID: 5953080908505751474, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7122983875714221022, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7122983875714221022, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 1.3 + objectReference: {fileID: 0} - target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 30 diff --git a/Assets/05.Prefabs/Props/Furniture/Interactions/Pump.prefab b/Assets/05.Prefabs/Props/Furniture/Interactions/Pump.prefab new file mode 100644 index 000000000..629f76515 --- /dev/null +++ b/Assets/05.Prefabs/Props/Furniture/Interactions/Pump.prefab @@ -0,0 +1,230 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &7343451337687172630 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1180174675498993111, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 2106642157007834423, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2234961990804426782, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_IsTrigger + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2301048832536013177, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2301048832536013177, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2301048832536013177, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalScale.z + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2301048832536013177, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3580758810857167321, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: f91087f473887fc43bd9641a69852f3c, type: 3} + - target: {fileID: 3580758810857167321, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_SortingOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3580758810857167321, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_WasSpriteAssigned + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3580758810857167321, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + - target: {fileID: 3764902268943045601, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Name + value: Pump + objectReference: {fileID: 0} + - target: {fileID: 5024482427928425524, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5953080908505751474, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6365458266480896368, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: a327d1fc80d90bd438cfcd1ad2b219c7, type: 3} + - target: {fileID: 6365458266480896368, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Color.b + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6365458266480896368, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Color.g + value: 0.026785713 + objectReference: {fileID: 0} + - target: {fileID: 6365458266480896368, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Color.r + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6365458266480896368, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_FillAmount + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6365458266480896368, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_FillMethod + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 6365458266480896368, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_FillOrigin + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7122983875714221022, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7122983875714221022, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7986070582027999988, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8780093359852370517, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: b93d1d9adc811a74fb4192ade70fd3cc, type: 3} + - target: {fileID: 9047629830516719732, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: f91087f473887fc43bd9641a69852f3c, type: 3} + - target: {fileID: 9047629830516719732, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_WasSpriteAssigned + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 2234961990804426782, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 3764902268943045601, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + insertIndex: -1 + addedObject: {fileID: 2713540284264789073} + m_SourcePrefab: {fileID: 100100000, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} +--- !u!1 &5897095096647521783 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3764902268943045601, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + m_PrefabInstance: {fileID: 7343451337687172630} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2713540284264789073 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5897095096647521783} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1e03b5e408ba914193c2c50c8bef052, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: {fileID: 5927803667513949971} + k__BackingField: {fileID: 6077686033771388879} + k__BackingField: {fileID: 6533109861150454071} + k__BackingField: {fileID: 2100000, guid: 9db92b3ac1f276e42ae7d7bcfbbca549, type: 2} + k__BackingField: 1 + k__BackingField: 1 + k__BackingField: "\uD38C\uD504 \uC791\uB3D9" + IsOpened: 0 + _interactionHoldingTime: 1 + _pumpingMessageObject: {fileID: 7690724424382746193, guid: 206dfaa20a9d03d40a76e55ba01170c8, type: 3} + _instanceLocation: {fileID: 0} + _offset: {x: 0, y: 1.5, z: 0} + addedLiquid: 400 +--- !u!4 &5927803667513949971 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4011269187381704965, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + m_PrefabInstance: {fileID: 7343451337687172630} + m_PrefabAsset: {fileID: 0} +--- !u!212 &6077686033771388879 stripped +SpriteRenderer: + m_CorrespondingSourceObject: {fileID: 3580758810857167321, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + m_PrefabInstance: {fileID: 7343451337687172630} + m_PrefabAsset: {fileID: 0} +--- !u!114 &6533109861150454071 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4558604739080582945, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + m_PrefabInstance: {fileID: 7343451337687172630} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ebe6250da0dfa044937230037499988, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/05.Prefabs/Props/Furniture/Interactions/Pump.prefab.meta b/Assets/05.Prefabs/Props/Furniture/Interactions/Pump.prefab.meta new file mode 100644 index 000000000..1e41f75a9 --- /dev/null +++ b/Assets/05.Prefabs/Props/Furniture/Interactions/Pump.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7947dcd65a3517948a2892d06222f5ae +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/05.Prefabs/Props/Furniture/Interactions/Vomiting.prefab b/Assets/05.Prefabs/Props/Furniture/Interactions/Vomiting.prefab index 161b3b2cb..6fe3928ae 100644 --- a/Assets/05.Prefabs/Props/Furniture/Interactions/Vomiting.prefab +++ b/Assets/05.Prefabs/Props/Furniture/Interactions/Vomiting.prefab @@ -40,10 +40,6 @@ PrefabInstance: propertyPath: m_Sprite value: objectReference: {fileID: 21300000, guid: ca9bef724b43e0b489043b7f18d4eddb, type: 3} - - target: {fileID: 3580758810857167321, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} - propertyPath: m_SortingOrder - value: 5 - objectReference: {fileID: 0} - target: {fileID: 3580758810857167321, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} propertyPath: m_WasSpriteAssigned value: 1 @@ -176,8 +172,7 @@ PrefabInstance: propertyPath: m_WasSpriteAssigned value: 1 objectReference: {fileID: 0} - m_RemovedComponents: - - {fileID: 1702261025824090784, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: diff --git a/Assets/05.Prefabs/Uis/BalloonUi.prefab b/Assets/05.Prefabs/Uis/BalloonUi.prefab index bd34ecaa3..9f61f1d31 100644 --- a/Assets/05.Prefabs/Uis/BalloonUi.prefab +++ b/Assets/05.Prefabs/Uis/BalloonUi.prefab @@ -10,7 +10,7 @@ GameObject: m_Component: - component: {fileID: 2641341650102689817} - component: {fileID: 2829248495233098512} - m_Layer: 5 + m_Layer: 19 m_Name: BalloonUi m_TagString: Untagged m_Icon: {fileID: 0} @@ -64,7 +64,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 674323407039969650} - m_Layer: 5 + m_Layer: 19 m_Name: Panel m_TagString: Untagged m_Icon: {fileID: 0} @@ -104,7 +104,7 @@ GameObject: - component: {fileID: 1610583026884195458} - component: {fileID: 7139087245191076382} - component: {fileID: 4586681201290156434} - m_Layer: 5 + m_Layer: 19 m_Name: Background m_TagString: Untagged m_Icon: {fileID: 0} @@ -179,7 +179,7 @@ GameObject: - component: {fileID: 6400894162898819538} - component: {fileID: 7693093380867172793} - component: {fileID: 8218406547424483500} - m_Layer: 5 + m_Layer: 19 m_Name: FoodImage m_TagString: Untagged m_Icon: {fileID: 0} @@ -254,7 +254,7 @@ GameObject: - component: {fileID: 6751494179874491372} - component: {fileID: 6775969391593346456} - component: {fileID: 2173167918881327799} - m_Layer: 5 + m_Layer: 19 m_Name: FillImage m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/05.Prefabs/Uis/InteractionCanvas.prefab b/Assets/05.Prefabs/Uis/InteractionCanvas.prefab index 0e0df3075..7ec1f48cf 100644 --- a/Assets/05.Prefabs/Uis/InteractionCanvas.prefab +++ b/Assets/05.Prefabs/Uis/InteractionCanvas.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 8764364725249863370} - component: {fileID: 5028824454365225125} - component: {fileID: 8043919875794167790} - m_Layer: 5 + m_Layer: 19 m_Name: InteractionCanvas m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/05.Prefabs/Uis/Tycoons/PumpingMessage.prefab b/Assets/05.Prefabs/Uis/Tycoons/PumpingMessage.prefab new file mode 100644 index 000000000..ded6923be --- /dev/null +++ b/Assets/05.Prefabs/Uis/Tycoons/PumpingMessage.prefab @@ -0,0 +1,193 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2379458115270995891 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4263453522541274833} + - component: {fileID: 6537350187525403080} + - component: {fileID: 2174299769799152740} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4263453522541274833 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2379458115270995891} + 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: 1935399254430362859} + 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 &6537350187525403080 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2379458115270995891} + m_CullTransparentMesh: 1 +--- !u!114 &2174299769799152740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2379458115270995891} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + 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_text: 300ml + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: dabfdeb80b25d44b4ace56414d0eb4ad, type: 2} + m_sharedMaterial: {fileID: 5657039867100983486, guid: dabfdeb80b25d44b4ace56414d0eb4ad, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 0.3 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 0.1 + m_fontSizeMax: 0.3 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &2453692009421858588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1935399254430362859} + - component: {fileID: 7690724424382746193} + m_Layer: 0 + m_Name: PumpingMessage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1935399254430362859 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2453692009421858588} + 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: 4263453522541274833} + 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: 2, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7690724424382746193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2453692009421858588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da97352cbf8e3a448a46c44b4651f73e, type: 3} + m_Name: + m_EditorClassIdentifier: + _rect: {fileID: 1935399254430362859} + _text: {fileID: 2174299769799152740} + _offsetY: 1 + _duration: 2 + _shakeAmount: 0.1 + _shakeVibrato: 4 diff --git a/Assets/05.Prefabs/Uis/Tycoons/PumpingMessage.prefab.meta b/Assets/05.Prefabs/Uis/Tycoons/PumpingMessage.prefab.meta new file mode 100644 index 000000000..9a19c5688 --- /dev/null +++ b/Assets/05.Prefabs/Uis/Tycoons/PumpingMessage.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 206dfaa20a9d03d40a76e55ba01170c8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/08.Spines/Characters/Npcs/Crews/Crew.atlas.txt b/Assets/08.Spines/Characters/Npcs/Crews/Crew.atlas.txt index 4f8e4a246..f9c8a6336 100644 --- a/Assets/08.Spines/Characters/Npcs/Crews/Crew.atlas.txt +++ b/Assets/08.Spines/Characters/Npcs/Crews/Crew.atlas.txt @@ -1,125 +1,146 @@ Crew.png -size:2033,1924 +size:1992,1855 filter:Linear,Linear -Crew01/Eye_Left -bounds:555,1485,182,240 +CrewBar/Face_Bar +bounds:2,188,521,476 +CrewBar/Suit_Body +bounds:901,1600,162,161 +CrewBar/Suit_HandLeft +bounds:2,1445,188,201 +CrewBar/Suit_HandRight +bounds:692,1426,188,201 rotate:90 -Crew01/Eye_Right -bounds:1228,1429,185,246 +CrewBar/Suit_LegLeft +bounds:602,1763,90,196 rotate:90 -Crew01/Face -bounds:1537,648,521,476 +CrewBar/Suit_LegRight +bounds:800,1763,90,196 rotate:90 -Crew01/Hair_Front -bounds:565,439,581,400 -Crew01/Hair_Left -bounds:112,1845,77,488 +CrewBar/Suit_Pant +bounds:1790,1727,200,126 +CrewMaid/body_maid +bounds:2,1019,250,235 +CrewMaid/pant_maid +bounds:204,1619,273,155 +CrewServ/Body_Serv +bounds:1065,1598,163,167 rotate:90 -Crew01/Hair_Right -bounds:611,1288,187,572 +CrewServ/Hand_Left +bounds:1442,1408,188,201 rotate:90 -Crew01/Mouse -bounds:2,1903,46,19 -CrewSuit/Suit_Body -bounds:277,1682,162,161 -CrewSuit/Suit_HandLeft -bounds:1679,1411,188,201 +CrewServ/Hand_Right +bounds:472,1250,188,201 rotate:90 -CrewSuit/Suit_HandRight -bounds:2,1315,188,201 +CrewServ/Leg_Left +bounds:998,1763,90,196 rotate:90 -CrewSuit/Suit_Pant -bounds:1409,1796,200,126 -CrewSuit2/Body -bounds:441,1678,163,167 +CrewServ/Leg_Right +bounds:1196,1763,90,196 rotate:90 -CrewSuit2/Hand_Left -bounds:1025,1477,188,201 -rotate:90 -CrewSuit2/Hand_Right -bounds:1476,1411,188,201 -rotate:90 -Item/BeerFull -bounds:2,140,512,512 +CrewServ/Pant_Serv +bounds:2,1648,200,126 Item/Cleaningbroom -bounds:1437,1171,238,476 +bounds:254,996,238,476 rotate:90 Item/Cleaningbroom3 -bounds:1478,1601,174,498 +bounds:192,1440,174,498 rotate:90 Item/Cleaningstic -bounds:232,1495,181,321 +bounds:1119,1415,181,321 rotate:90 -Item/Shaker -bounds:260,984,302,372 +Item/Shaker2 +bounds:990,877,302,516 rotate:90 Item/WoodenBeerMug -bounds:2,1047,256,256 +bounds:732,970,256,256 Item/dust2 -bounds:634,948,338,338 -crew02/backhair02 -bounds:516,2,584,435 -crew02/fronthair02 -bounds:1148,215,565,431 -crew02/lefteye02 -bounds:610,1669,172,222 +bounds:1508,841,338,338 +crew01/Eye_Left +bounds:2,1256,182,240 rotate:90 -crew02/lefthair02 -bounds:602,1843,79,302 +crew01/Eye_Right +bounds:878,1228,185,246 rotate:90 +crew01/Hair_Front +bounds:1128,439,581,400 +crew01/Hair_Left +bounds:112,1776,77,488 +rotate:90 +crew01/Hair_Right +bounds:1329,1181,187,572 +rotate:90 +crew01/Mouse +bounds:2,1834,46,19 +crew02/02Hair_Front +bounds:525,114,565,431 +crew02/Eye_Left02 +bounds:1654,1553,172,222 +rotate:90 +crew02/Eye_Right02 +bounds:244,1256,182,226 +rotate:90 +crew02/Hair_back02 +bounds:1092,2,584,435 +crew02/Mouse02 +bounds:50,1830,60,23 +crew03/Mouse03 +bounds:50,1830,60,23 crew02/lefthand02 -bounds:205,1305,188,201 +bounds:675,1236,188,201 rotate:90 crew02/leftleg02 -bounds:906,1832,90,196 -rotate:90 -crew02/mouse02 -bounds:50,1899,60,23 -crew03/Mouse03 -bounds:50,1899,60,23 -crew02/righteye02 -bounds:797,1483,182,226 +bounds:1394,1763,90,196 rotate:90 crew02/righthand02 -bounds:408,1295,188,201 +bounds:1126,1225,188,201 rotate:90 crew02/rightleg02 -bounds:1104,1832,90,196 +bounds:1592,1763,90,196 rotate:90 -crew03/LeftEar -bounds:1302,1822,105,100 -crew03/LeftEye03 -bounds:1254,1616,178,222 +crew03/Eye_Left03 +bounds:895,1418,178,222 rotate:90 -crew03/LeftHair03 -bounds:1611,1777,145,420 +crew03/Eye_Right03 +bounds:1645,1370,181,228 rotate:90 -crew03/LeftHairA03 -bounds:974,841,328,561 +crew03/Hair_Left03 +bounds:479,1616,145,420 rotate:90 -crew03/RightEye03 -bounds:2,1505,181,228 +crew03/Hair_LeftA03 +bounds:2,666,328,561 rotate:90 -crew03/RightHair03 -bounds:834,1667,163,418 +crew03/Hair_Rifht03 +bounds:565,547,328,561 rotate:90 -crew03/RightHairA03 -bounds:2,654,328,561 +crew03/Hair_Right03 +bounds:1234,1598,163,418 rotate:90 -crewMaid/body_maid -bounds:1185,1192,250,235 -crewMaid/pant_maid -bounds:2,1688,273,155 Crew_2.png -size:1145,1033 +size:2032,1642 filter:Linear,Linear -Crew01/Hair_Back -bounds:2,516,622,515 -Item/Cleaningbroom2 -bounds:2,2,512,512 -crew02/face02 -bounds:516,17,610,437 -crew03/Face03 -bounds:626,456,575,517 +CrewBar/Face_Bar02 +bounds:2,2,610,437 +CrewBar/Face_Bar03 +bounds:2,441,575,517 +rotate:90 +CrewServ/Face_Serv +bounds:614,10,521,476 +CrewServ/Face_Serv03 +bounds:519,1065,575,517 +rotate:90 +Item/BeerFull +bounds:1040,689,512,512 +Item/Cleaningbroom2 +bounds:1137,166,512,512 +crew01/Hair_Back +bounds:2,1018,622,515 +rotate:90 +crew01/Kao +bounds:1554,680,521,476 +rotate:90 +crew02/Face02 +bounds:1038,1203,610,437 +crew03/Face03 +bounds:521,488,575,517 rotate:90 diff --git a/Assets/08.Spines/Characters/Npcs/Crews/Crew.png b/Assets/08.Spines/Characters/Npcs/Crews/Crew.png index 8bf3dacfd..b834fdfa2 100644 Binary files a/Assets/08.Spines/Characters/Npcs/Crews/Crew.png and b/Assets/08.Spines/Characters/Npcs/Crews/Crew.png differ diff --git a/Assets/08.Spines/Characters/Npcs/Crews/Crew.skel.bytes b/Assets/08.Spines/Characters/Npcs/Crews/Crew.skel.bytes index dec2e2153..00dfe62ca 100644 Binary files a/Assets/08.Spines/Characters/Npcs/Crews/Crew.skel.bytes and b/Assets/08.Spines/Characters/Npcs/Crews/Crew.skel.bytes differ diff --git a/Assets/08.Spines/Characters/Npcs/Crews/Crew_2.png b/Assets/08.Spines/Characters/Npcs/Crews/Crew_2.png index 1ea537995..0956d9e60 100644 Binary files a/Assets/08.Spines/Characters/Npcs/Crews/Crew_2.png and b/Assets/08.Spines/Characters/Npcs/Crews/Crew_2.png differ diff --git a/Assets/08.Spines/Characters/Players/Tycoons/MainCharacter.skel.bytes b/Assets/08.Spines/Characters/Players/Tycoons/MainCharacter.skel.bytes index 8ec0749a6..70a79985a 100644 Binary files a/Assets/08.Spines/Characters/Players/Tycoons/MainCharacter.skel.bytes and b/Assets/08.Spines/Characters/Players/Tycoons/MainCharacter.skel.bytes differ diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 4ff06573a..b43148154 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -28,7 +28,7 @@ TagManager: - DamageableProps - Liquid - Garnish - - + - BackgroundUi - - -