diff --git a/BlueWater/Assets/01.Scenes/02.Ocean.unity b/BlueWater/Assets/01.Scenes/02.Ocean.unity index 687325542..4e46cf885 100644 --- a/BlueWater/Assets/01.Scenes/02.Ocean.unity +++ b/BlueWater/Assets/01.Scenes/02.Ocean.unity @@ -1051,6 +1051,8 @@ GameObject: m_Component: - component: {fileID: 168896973} - component: {fileID: 168896974} + - component: {fileID: 168896976} + - component: {fileID: 168896975} m_Layer: 0 m_Name: BaseShipCam m_TagString: Untagged @@ -1066,14 +1068,14 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 168896972} serializedVersion: 2 - m_LocalRotation: {x: 0.14710693, y: 0.69163543, z: -0.14710695, w: 0.69163543} - m_LocalPosition: {x: -57.299995, y: 13.42, z: 0.0000023841858} + m_LocalRotation: {x: 0.18301274, y: 0.6830127, z: -0.18301274, w: 0.6830127} + m_LocalPosition: {x: -71.941025, y: 21.420008, z: 0.00000399121} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 263106988} m_Father: {fileID: 649179607} - m_LocalEulerAnglesHint: {x: 24.015, y: 0, z: 0.03} + m_LocalEulerAnglesHint: {x: 30, y: 90, z: 0} --- !u!114 &168896974 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1092,12 +1094,12 @@ MonoBehaviour: m_StreamingVersion: 20170927 m_Priority: 1 m_StandbyUpdate: 2 - m_LookAt: {fileID: 476261175} + m_LookAt: {fileID: 0} m_Follow: {fileID: 476261175} m_Lens: FieldOfView: 60 - OrthographicSize: 5 - NearClipPlane: 0.1 + OrthographicSize: 30 + NearClipPlane: 0.01 FarClipPlane: 300 Dutch: 0 ModeOverride: 0 @@ -1113,6 +1115,238 @@ MonoBehaviour: m_Calls: [] m_LegacyBlendHint: 0 m_ComponentOwner: {fileID: 263106988} +--- !u!114 &168896975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 168896972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6da43522623d4704e979466dc7650b65, type: 3} + m_Name: + m_EditorClassIdentifier: + Feedbacks: [] + InitializationMode: 2 + AutoInitialization: 1 + SafeMode: 3 + Direction: 0 + AutoChangeDirectionOnEnd: 0 + AutoPlayOnStart: 0 + AutoPlayOnEnable: 0 + ForceTimescaleMode: 0 + ForcedTimescaleMode: 1 + DurationMultiplier: 1 + RandomizeDuration: 0 + RandomDurationMultiplier: {x: 0.5, y: 1.5} + DisplayFullDurationDetails: 0 + PlayerTimescaleMode: 1 + OnlyPlayIfWithinRange: 0 + RangeCenter: {fileID: 0} + RangeDistance: 5 + UseRangeFalloff: 0 + RangeFalloff: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + RemapRangeFalloff: {x: 0, y: 1} + IgnoreRangeEvents: 0 + CooldownDuration: 0 + InitialDelay: 0 + CanPlay: 1 + CanPlayWhileAlreadyPlaying: 1 + ChanceToPlay: 100 + FeedbacksIntensity: 1 + Events: + TriggerMMFeedbacksEvents: 0 + TriggerUnityEvents: 1 + OnPlay: + m_PersistentCalls: + m_Calls: [] + OnPause: + m_PersistentCalls: + m_Calls: [] + OnResume: + m_PersistentCalls: + m_Calls: [] + OnRevert: + m_PersistentCalls: + m_Calls: [] + OnComplete: + m_PersistentCalls: + m_Calls: [] + OnRestoreInitialValues: + m_PersistentCalls: + m_Calls: [] + OnSkipToTheEnd: + m_PersistentCalls: + m_Calls: [] + DebugActive: 0 + FeedbacksList: + - rid: 5878417275135459328 + KeepPlayModeChanges: 0 + PerformanceMode: 0 + StopFeedbacksOnDisable: 0 + PlayCount: 0 + references: + version: 2 + RefIds: + - rid: 5878417275135459328 + type: {class: MMF_CinemachineImpulse, ns: MoreMountains.FeedbacksForThirdParty, + asm: MoreMountains.Feedbacks.Cinemachine} + data: + Active: 1 + UniqueID: 944145386 + Label: Cinemachine Impulse + ChannelMode: 0 + Channel: 0 + MMChannelDefinition: {fileID: 0} + Chance: 100 + DisplayColor: {r: 0, g: 0, b: 0, a: 1} + Timing: + TimescaleMode: 0 + ExcludeFromHoldingPauses: 0 + ContributeToTotalDuration: 1 + InitialDelay: 0 + CooldownDuration: 0 + InterruptsOnStop: 1 + NumberOfRepeats: 0 + RepeatForever: 0 + DelayBetweenRepeats: 1 + MMFeedbacksDirectionCondition: 0 + PlayDirection: 0 + ConstantIntensity: 0 + UseIntensityInterval: 0 + IntensityIntervalMin: 0 + IntensityIntervalMax: 0 + Sequence: {fileID: 0} + TrackID: 0 + Quantized: 0 + TargetBPM: 120 + AutomatedTargetAcquisition: + Mode: 0 + ChildIndex: 0 + RandomizeOutput: 0 + RandomMultiplier: {x: 0.8, y: 1} + RandomizeDuration: 0 + RandomDurationMultiplier: {x: 0.5, y: 2} + UseRange: 0 + RangeDistance: 5 + UseRangeFalloff: 0 + RangeFalloff: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + RemapRangeFalloff: {x: 0, y: 1} + Owner: {fileID: 168896975} + DebugActive: 0 + m_ImpulseDefinition: + m_ImpulseChannel: 1 + m_ImpulseShape: 0 + m_CustomImpulseShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ImpulseDuration: 0.2 + m_ImpulseType: 3 + m_DissipationRate: 0 + m_RawSignal: {fileID: 11400000, guid: 69ce8388f6785dd4c8c39915efece2f4, + type: 2} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 + m_RepeatMode: 0 + m_Randomize: 1 + m_TimeEnvelope: + m_AttackShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_DecayShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_AttackTime: 0 + m_SustainTime: 0.2 + m_DecayTime: 0.7 + m_ScaleWithImpact: 1 + m_HoldForever: 0 + m_ImpactRadius: 100 + m_DirectionMode: 0 + m_DissipationMode: 2 + m_DissipationDistance: 100 + m_PropagationSpeed: 343 + Velocity: {x: 0, y: 0, z: 0} + ClearImpulseOnStop: 0 +--- !u!114 &168896976 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 168896972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b2d199b96b516448144ab30fb26aed, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ApplyAfter: 2 + m_ChannelMask: 1 + m_Gain: 1 + m_Use2DDistance: 0 + m_UseCameraSpace: 1 + m_ReactionSettings: + m_SecondaryNoise: {fileID: 0} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 + m_Duration: 1 + m_NoiseOffsets: {x: 0, y: 0, z: 0} --- !u!1001 &181621279 PrefabInstance: m_ObjectHideFlags: 0 @@ -1645,9 +1879,7 @@ GameObject: m_Component: - component: {fileID: 263106988} - component: {fileID: 263106992} - - component: {fileID: 263106991} - - component: {fileID: 263106990} - - component: {fileID: 263106989} + - component: {fileID: 263106993} m_Layer: 0 m_Name: cm m_TagString: Untagged @@ -1670,104 +1902,6 @@ Transform: m_Children: [] m_Father: {fileID: 168896973} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &263106989 -MonoBehaviour: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 263106987} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} - m_Name: - m_EditorClassIdentifier: - m_NoiseProfile: {fileID: 11400000, guid: a3dacaec0287d7444b4bd276816e1666, type: 2} - m_PivotOffset: {x: 0, y: 0, z: 0} - m_AmplitudeGain: 1 - m_FrequencyGain: 1 - mNoiseOffsets: {x: 905.71375, y: 689.6603, z: 525.3768} ---- !u!114 &263106990 -MonoBehaviour: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 263106987} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_BindingMode: 1 - m_FollowOffset: {x: 0, y: 15, z: -20} - m_XDamping: 1 - m_YDamping: 1 - m_ZDamping: 1 - m_AngularDampingMode: 0 - m_PitchDamping: 0 - m_YawDamping: 3 - m_RollDamping: 0 - m_AngularDamping: 0 - m_Heading: - m_Definition: 2 - m_VelocityFilterStrength: 4 - m_Bias: 0 - m_RecenterToTargetHeading: - m_enabled: 1 - m_WaitTime: 2 - m_RecenteringTime: 2 - m_LegacyHeadingDefinition: -1 - m_LegacyVelocityFilterStrength: -1 - m_XAxis: - Value: 0 - m_SpeedMode: 0 - m_MaxSpeed: 0 - m_AccelTime: 0.5 - m_DecelTime: 0.5 - m_InputAxisName: Mouse X - m_InputAxisValue: 0 - m_InvertInput: 0 - m_MinValue: -180 - m_MaxValue: 180 - m_Wrap: 1 - m_Recentering: - m_enabled: 0 - m_WaitTime: 1 - m_RecenteringTime: 2 - m_LegacyHeadingDefinition: -1 - m_LegacyVelocityFilterStrength: -1 - m_LegacyRadius: 3.4028235e+38 - m_LegacyHeightOffset: 3.4028235e+38 - m_LegacyHeadingBias: 3.4028235e+38 - m_HeadingIsSlave: 0 ---- !u!114 &263106991 -MonoBehaviour: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 263106987} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TrackedObjectOffset: {x: 0, y: 6, z: 0.2} - m_LookaheadTime: 0.4 - m_LookaheadSmoothing: 6.3 - m_LookaheadIgnoreY: 0 - m_HorizontalDamping: 0.5 - m_VerticalDamping: 0.5 - m_ScreenX: 0.5 - m_ScreenY: 0.5 - m_DeadZoneWidth: 0 - m_DeadZoneHeight: 0 - m_SoftZoneWidth: 0 - m_SoftZoneHeight: 0 - m_BiasX: 0 - m_BiasY: 0 - m_CenterOnActivate: 1 --- !u!114 &263106992 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1780,6 +1914,49 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &263106993 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 263106987} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 3, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_XDamping: 0 + m_YDamping: 0 + m_ZDamping: 0 + m_TargetMovementOnly: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_CameraDistance: 40 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 0 + m_GroupFramingSize: 0.8 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 1 + m_MaximumOrthoSize: 5000 --- !u!1001 &266995825 PrefabInstance: m_ObjectHideFlags: 0 @@ -3488,6 +3665,7 @@ MonoBehaviour: k__BackingField: serializedVersion: 2 m_Bits: 0 + autoInit: 1 maxSpeed: 10 acceleration: 4 deceleration: 2 @@ -3904,6 +4082,11 @@ PrefabInstance: propertyPath: m_Name value: Icon With Background - 200ppu - Brown objectReference: {fileID: 0} + - target: {fileID: 7929843553932071457, guid: 7170e93a0d96e4d229f1a7eaa590e126, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 8615514786227711141, guid: 7170e93a0d96e4d229f1a7eaa590e126, type: 3} propertyPath: m_Pivot.x @@ -6893,11 +7076,11 @@ Camera: y: 0 width: 1 height: 1 - near clip plane: 0.1 + near clip plane: 0.01 far clip plane: 300 field of view: 60 orthographic: 0 - orthographic size: 5 + orthographic size: 30 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -6921,8 +7104,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 776161953} serializedVersion: 2 - m_LocalRotation: {x: 0.14710693, y: 0.69163543, z: -0.14710695, w: 0.69163543} - m_LocalPosition: {x: -57.299995, y: 13.42, z: 0.0000023841858} + m_LocalRotation: {x: 0.18301274, y: 0.6830127, z: -0.18301274, w: 0.6830127} + m_LocalPosition: {x: -71.941025, y: 21.420008, z: 0.00000399121} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -7031,6 +7214,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 208a62e20103670418d23dde6e03563b, type: 3} m_Name: m_EditorClassIdentifier: + autoInit: 1 k__BackingField: {fileID: 168896974} --- !u!1001 &795209795 PrefabInstance: @@ -7266,6 +7450,7 @@ RectTransform: - {fileID: 409443062} - {fileID: 271798703} - {fileID: 197341959} + - {fileID: 7415601899565865879} m_Father: {fileID: 2105062291} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -8849,6 +9034,7 @@ MonoBehaviour: k__BackingField: serializedVersion: 2 m_Bits: 0 + autoInit: 1 maxSpeed: 5 acceleration: 2 deceleration: 2 @@ -13485,7 +13671,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &1925782815 Transform: m_ObjectHideFlags: 0 @@ -13583,7 +13769,7 @@ PrefabInstance: - target: {fileID: 4836829392273355565, guid: 8c9e74631c8994b8cb728cde8efae49a, type: 3} propertyPath: m_Name - value: SM_Prop_Cannon_01 + value: Cannon objectReference: {fileID: 0} - target: {fileID: 4836829392273355565, guid: 8c9e74631c8994b8cb728cde8efae49a, type: 3} @@ -13610,6 +13796,16 @@ PrefabInstance: propertyPath: projectileObj value: objectReference: {fileID: 128572, guid: 8d387b0f65dfa4cdc965c4b56216e120, type: 3} + - target: {fileID: 7810505435716704953, guid: 8c9e74631c8994b8cb728cde8efae49a, + type: 3} + propertyPath: cameraShakePower + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7810505435716704953, guid: 8c9e74631c8994b8cb728cde8efae49a, + type: 3} + propertyPath: cameraShakeDuration + value: 0.3 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -14088,11 +14284,16 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1e9bae7b916e44f429c86bbd698f0145, type: 3} m_Name: m_EditorClassIdentifier: + autoInit: 1 k__BackingField: k__BackingField: {fileID: 868726319} k__BackingField: {fileID: 271798700} k__BackingField: {fileID: 197341959} - k__BackingField: {fileID: 155713054} + k__BackingField: {fileID: 7415601899565865896} + k__BackingField: 0.5 + k__BackingField: 10 + k__BackingField: {fileID: 0} + processBarOffset: {x: 0, y: 0, z: 0} --- !u!1001 &2114222814 PrefabInstance: m_ObjectHideFlags: 0 @@ -15628,6 +15829,25 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &3203940215829079600 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3284368525079528179} + 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: 7415601898878557319} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 10} + m_Pivot: {x: 0.5, y: 0.5} --- !u!4 &3232581363554834467 Transform: m_ObjectHideFlags: 0 @@ -15676,6 +15896,24 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &3284368525079528179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3203940215829079600} + - component: {fileID: 4668650722486772898} + - component: {fileID: 5742428381520279770} + m_Layer: 5 + m_Name: Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!212 &3310145177339186073 SpriteRenderer: m_ObjectHideFlags: 0 @@ -16391,6 +16629,14 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!222 &4668650722486772898 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3284368525079528179} + m_CullTransparentMesh: 0 --- !u!114 &4710001675473122065 MonoBehaviour: m_ObjectHideFlags: 0 @@ -16978,6 +17224,36 @@ Transform: m_Children: [] m_Father: {fileID: 1414983983923069379} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5742428381520279770 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3284368525079528179} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.39221558, g: 0.44011977, b: 0.5, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: e61182ca7bb7f453c8e1837559dd81d7, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!212 &5791370512570130681 SpriteRenderer: m_ObjectHideFlags: 0 @@ -17263,6 +17539,28 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!95 &6136937312830644462 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601899565865878} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 22100000, guid: 0f3c2296594fc4414a266da51f0abb6f, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 --- !u!4 &6139303674888194270 Transform: m_ObjectHideFlags: 0 @@ -17809,6 +18107,538 @@ Transform: - {fileID: 4910712652890947533} m_Father: {fileID: 4969322859540442739} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7415601898274685977 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7415601898274685978} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7415601898274685978 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601898274685977} + 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: 7415601900035616661} + m_Father: {fileID: 7415601899565865879} + 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!1 &7415601898878557318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7415601898878557319} + - component: {fileID: 7415601898878557338} + - component: {fileID: 7415601898878557337} + - component: {fileID: 7415601898878557336} + - component: {fileID: 7415601898878557339} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7415601898878557319 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601898878557318} + 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: 3203940215829079600} + - {fileID: 7415601900150503607} + m_Father: {fileID: 7415601898974556764} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7415601898878557336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601898878557318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &7415601898878557337 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601898878557318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.234375, g: 0.2625, b: 0.3, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: dfb84e2dfd2bd4d2c9855f3766a7abc1, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &7415601898878557338 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601898878557318} + m_CullTransparentMesh: 0 +--- !u!114 &7415601898878557339 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601898878557318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 2, y: -2} + m_UseGraphicAlpha: 1 +--- !u!1 &7415601898974556763 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7415601898974556764} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7415601898974556764 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601898974556763} + 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: 7415601898878557319} + m_Father: {fileID: 7415601899565865879} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &7415601899565865878 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7415601899565865879} + - component: {fileID: 7415601899565865896} + - component: {fileID: 6136937312830644462} + - component: {fileID: 7415601899565865897} + m_Layer: 5 + m_Name: ReloadSlider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &7415601899565865879 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601899565865878} + 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: 7415601898974556764} + - {fileID: 7415601898274685978} + m_Father: {fileID: 868726320} + 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: 50} + m_SizeDelta: {x: 100, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7415601899565865896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601899565865878} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 3 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 7415601900035616663} + m_FillRect: {fileID: 7415601900150503607} + m_HandleRect: {fileID: 7415601900035616661} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!82 &7415601899565865897 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601899565865878} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: 0d21bb180934c4750a88d2b5148467e9, type: 3} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!1 &7415601900035616660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7415601900035616661} + - component: {fileID: 7415601900035616662} + - component: {fileID: 7415601900035616663} + - component: {fileID: 7415601900035616664} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7415601900035616661 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601900035616660} + 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: 7415601898274685978} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 5, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7415601900035616662 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601900035616660} + m_CullTransparentMesh: 0 +--- !u!114 &7415601900035616663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601900035616660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: dfb84e2dfd2bd4d2c9855f3766a7abc1, type: 3} + m_Type: 1 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7415601900035616664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601900035616660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 2, y: -2} + m_UseGraphicAlpha: 1 +--- !u!1 &7415601900150503606 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7415601900150503607} + - component: {fileID: 7415601900150503625} + - component: {fileID: 7415601900150503624} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7415601900150503607 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601900150503606} + 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: 7415601898878557319} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7415601900150503624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601900150503606} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6e4f4c0390c77404fbc0e6716111c623, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &7415601900150503625 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7415601900150503606} + m_CullTransparentMesh: 0 --- !u!4 &7634627576849486853 Transform: m_ObjectHideFlags: 0 diff --git a/BlueWater/Assets/02.Scripts/Character/Player/Type/ShipPlayer.cs b/BlueWater/Assets/02.Scripts/Character/Player/Type/ShipPlayer.cs index a6593f5af..9041939ff 100644 --- a/BlueWater/Assets/02.Scripts/Character/Player/Type/ShipPlayer.cs +++ b/BlueWater/Assets/02.Scripts/Character/Player/Type/ShipPlayer.cs @@ -9,6 +9,9 @@ namespace BlueWaterProject [SelectionBase] public class ShipPlayer : Player { + [Title("초기화 방식")] + [SerializeField] private bool autoInit = true; + [Title("쉽의 기본 설정")] [Tooltip("최대 스피드")] public float maxSpeed = 10f; [Tooltip("가속 수치")] public float acceleration = 2f; @@ -35,10 +38,12 @@ namespace BlueWaterProject [SerializeField] private LayerMask waterLayer; + [Button("셋팅 초기화")] private void Init() { rb = GetComponent(); playerInput = GetComponent(); + cannon = transform.Find("Cannon").GetComponent(); directionIndicator = transform.Find("DirectionIndicator").gameObject; directionIndicator.SetActive(false); @@ -51,7 +56,11 @@ namespace BlueWaterProject protected override void Awake() { base.Awake(); - Init(); + + if (autoInit) + { + Init(); + } } protected override void OnEnable() @@ -187,10 +196,17 @@ namespace BlueWaterProject private void ChargeCannon() { - if (!isFireMode || isReloading) return; + if (!isFireMode) return; - chargingCannon = true; - chargingGauge = 0f; + if (isReloading) + { + StartCoroutine(UiManager.Inst.OceanUi.ProcessBar.ShakeSliderCoroutine()); + } + else + { + chargingCannon = true; + chargingGauge = 0f; + } } private void FireCannon() @@ -223,14 +239,19 @@ namespace BlueWaterProject private IEnumerator CannonCoolDown(float waitTime) { var time = 0f; + UiManager.Inst.OceanUi.ProcessBar.SetSliderValue(0f); + UiManager.Inst.OceanUi.ProcessBar.SetActiveReloadSlider(true); while (time <= waitTime) { time += Time.deltaTime; + var sliderValue = time > 0 ? time / waitTime : 0f; + UiManager.Inst.OceanUi.ProcessBar.SetSliderValue(sliderValue); yield return null; } isReloading = false; + UiManager.Inst.OceanUi.ProcessBar.SetActiveReloadSlider(false); } #endregion diff --git a/BlueWater/Assets/02.Scripts/OceanCamera.cs b/BlueWater/Assets/02.Scripts/OceanCamera.cs index 4aef428cd..6974518c6 100644 --- a/BlueWater/Assets/02.Scripts/OceanCamera.cs +++ b/BlueWater/Assets/02.Scripts/OceanCamera.cs @@ -8,16 +8,24 @@ namespace BlueWaterProject { public class OceanCamera : MonoBehaviour { + [Title("초기화 방식")] + [SerializeField] private bool autoInit = true; + + [field: Title("카메라")] [field: SerializeField] public CinemachineVirtualCamera BaseShipCam { get; private set; } private List cineCamList; - private GameObject cineCams; private const int CINE_CAM_NUM = 1; private void Awake() { + if (autoInit) + { + Init(); + } + CameraManager.Inst.OceanCamera = this; CameraManager.Inst.MainCam = Camera.main; } diff --git a/BlueWater/Assets/02.Scripts/OceanUi.cs b/BlueWater/Assets/02.Scripts/OceanUi.cs index 59a21218f..900010125 100644 --- a/BlueWater/Assets/02.Scripts/OceanUi.cs +++ b/BlueWater/Assets/02.Scripts/OceanUi.cs @@ -1,7 +1,9 @@ using System; +using System.Collections; using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.UI; +using Random = UnityEngine.Random; // ReSharper disable once CheckNamespace namespace BlueWaterProject @@ -12,12 +14,21 @@ namespace BlueWaterProject [field: SerializeField] public GameObject Obj { get; set; } [field: SerializeField] public Image Fill { get; set; } [field: SerializeField] public Transform PreviousGaugeLine { get; set; } + [field: SerializeField] public Slider ReloadSlider { get; set; } + [field: SerializeField] public float ShakeDuration { get; set; } = 0.5f; + [field: SerializeField] public float ShakePower { get; set; } = 10f; + + private AudioSource reloadingAttackSound; + private bool isShaking; - public ProcessBar(GameObject obj, Image fill, Transform previousGaugeLine) + public ProcessBar(GameObject obj, Image fill, Transform previousGaugeLine, Slider reloadSlider) { Obj = obj; Fill = fill; PreviousGaugeLine = previousGaugeLine; + ReloadSlider = reloadSlider; + + reloadingAttackSound = ReloadSlider.GetComponent(); SetFillAmount(0f); } @@ -26,17 +37,55 @@ namespace BlueWaterProject public void SetPosition(Vector3 value) => Obj.transform.position = value; public void SetFillAmount(float value) => Fill.fillAmount = value; public void SetRotateZ(float value) => PreviousGaugeLine.rotation = Quaternion.Euler(0f, 0f, value); + public void SetActiveReloadSlider(bool value) => ReloadSlider.gameObject.SetActive(value); + public void SetSliderValue(float value) => ReloadSlider.value = value; + public IEnumerator ShakeSliderCoroutine() + { + if (isShaking) yield break; + + isShaking = true; + reloadingAttackSound.Play(); + var time = 0f; + var sliderOriginalPos = ReloadSlider.transform.localPosition; + + while (time < ShakeDuration) + { + if (!ReloadSlider.gameObject.activeSelf) + { + ReloadSlider.transform.localPosition = sliderOriginalPos; + isShaking = false; + yield break; + } + + time += Time.deltaTime; + var shakeAmount = Random.Range(-1f, 1f) * ShakePower; + ReloadSlider.transform.localPosition = new Vector3(sliderOriginalPos.x + shakeAmount, sliderOriginalPos.y, sliderOriginalPos.z); + yield return null; + } + ReloadSlider.transform.localPosition = sliderOriginalPos; + isShaking = false; + } } public class OceanUi : MonoBehaviour { + [Title("초기화 방식")] + [SerializeField] private bool autoInit = true; + + [field: Title("UI")] [field: SerializeField] public ProcessBar ProcessBar { get; set; } [field: SerializeField] public Image CannonFill { get; set; } - + [SerializeField] private Vector3 processBarOffset = Vector3.zero; + private Canvas canvas; private void Awake() { + if (autoInit) + { + Init(); + } + UiManager.Inst.OceanUi = this; ProcessBar.SetActive(false); } @@ -46,7 +95,8 @@ namespace BlueWaterProject if (ProcessBar.Obj.activeSelf) { var mousePos = Input.mousePosition; - ProcessBar.SetPosition(mousePos); + var result = mousePos + processBarOffset; + ProcessBar.SetPosition(result); } } @@ -63,7 +113,9 @@ namespace BlueWaterProject var processBar = canvas.transform.Find("ProcessBar").gameObject; var fill = processBar.transform.Find("Fill").GetComponent(); var previousGaugeLine = processBar.transform.Find("PreviousGaugeLine").transform; - ProcessBar = new ProcessBar(processBar, fill, previousGaugeLine); + var reloadSlider = processBar.transform.Find("ReloadSlider").GetComponent(); + ProcessBar = new ProcessBar(processBar, fill, previousGaugeLine, reloadSlider); + ProcessBar.SetActiveReloadSlider(false); } } } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Player/Cannon.cs b/BlueWater/Assets/02.Scripts/Player/Cannon.cs index d61ea4b5d..729af1549 100644 --- a/BlueWater/Assets/02.Scripts/Player/Cannon.cs +++ b/BlueWater/Assets/02.Scripts/Player/Cannon.cs @@ -1,3 +1,4 @@ +using System; using Sirenix.OdinInspector; using UnityEngine; @@ -6,10 +7,25 @@ namespace BlueWaterProject { public class Cannon : MonoBehaviour { + [Title("초기화 방식")] + [SerializeField] private bool autoInit = true; + + [Title("캐논 변수")] [SerializeField] private GameObject projectileObj; [SerializeField] private Transform firePos; + [SerializeField] private float speed = 2000f; - public float speed = 2000f; + [Title("캐논 발사 카메라 효과")] + [SerializeField] private float cameraShakePower = 0.5f; + [SerializeField] private float cameraShakeDuration = 0.5f; + + private void Awake() + { + if (autoInit) + { + Init(); + } + } [Button("셋팅 초기화")] private void Init() @@ -20,6 +36,7 @@ namespace BlueWaterProject public void Fire(float chargingGauge) { + VisualFeedbackManager.Inst.CameraShake(CameraManager.Inst.OceanCamera.BaseShipCam, cameraShakePower, cameraShakeDuration); var projectile = Instantiate(projectileObj, firePos.position, Quaternion.identity); projectile.GetComponent().AddForce(transform.forward * (chargingGauge * speed)); } diff --git a/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeExplosionFire.prefab b/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeExplosionFire.prefab index 39dcca270..6e556ece9 100644 --- a/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeExplosionFire.prefab +++ b/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeExplosionFire.prefab @@ -24156,7 +24156,7 @@ AudioSource: OutputAudioMixerGroup: {fileID: 0} m_audioClip: {fileID: 8300000, guid: 79c3cb7a26813d146b07c293b0324039, type: 3} m_PlayOnAwake: 1 - m_Volume: 1 + m_Volume: 0.5 m_Pitch: 1 Loop: 0 Mute: 0 diff --git a/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeMissileFire.prefab b/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeMissileFire.prefab index 8425d1d6f..02b8ae8ea 100644 --- a/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeMissileFire.prefab +++ b/BlueWater/Assets/05.Prefabs/Particles/GrenadeFire/GrenadeMissileFire.prefab @@ -9551,7 +9551,7 @@ AudioSource: OutputAudioMixerGroup: {fileID: 0} m_audioClip: {fileID: 8300000, guid: a76b32836dc7cc44aa9a52f0694ee199, type: 3} m_PlayOnAwake: 1 - m_Volume: 1 + m_Volume: 0.5 m_Pitch: 1 Loop: 0 Mute: 0