diff --git a/Assets/FirstGearGames.meta b/Assets/FirstGearGames.meta new file mode 100644 index 00000000..334a1cc1 --- /dev/null +++ b/Assets/FirstGearGames.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ecb1e1208686dcf48ba6273f4fb15f39 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker.meta b/Assets/FirstGearGames/SmoothCameraShaker.meta new file mode 100644 index 00000000..09db8434 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 882927f2a1bc2e5488f6b2156c78fa29 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo.meta new file mode 100644 index 00000000..28e4ebac --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0d4bd9c5900c1ee4a91b619a57c6d494 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Demo.unity b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Demo.unity new file mode 100644 index 00000000..8c11d5e2 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Demo.unity @@ -0,0 +1,10561 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &17281990 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 17281991} + - component: {fileID: 17281994} + - component: {fileID: 17281993} + - component: {fileID: 17281992} + m_Layer: 0 + m_Name: Transform + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &17281991 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 17281990} + m_LocalRotation: {x: -0.05105295, y: 0.9350177, z: -0.15061308, w: -0.31694067} + m_LocalPosition: {x: 5.774833, y: -1, z: 4.0350637} + m_LocalScale: {x: 0.59999955, y: 1.3, z: 1} + m_Children: [] + m_Father: {fileID: 527900847} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 18.301, y: -142.55, z: 0} +--- !u!114 &17281992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 17281990} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d9d4107aad3b3544da23b3f86c3f2d0f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 1 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 1 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 1 + _randomizeDirections: 1 +--- !u!23 &17281993 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 17281990} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &17281994 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 17281990} + m_Mesh: {fileID: 4300000, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} +--- !u!1 &28772065 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 28772066} + - component: {fileID: 28772067} + m_Layer: 0 + m_Name: DistanceSprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &28772066 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 28772065} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.6, y: 0.6, z: 0} + m_Children: [] + m_Father: {fileID: 1852056576} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &28772067 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 28772065} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &33410890 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1536308433582276, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 33410891} + - component: {fileID: 33410893} + - component: {fileID: 33410892} + m_Layer: 0 + m_Name: Bone.005 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &33410891 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4397872704742768, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 33410890} + m_LocalRotation: {x: 0.34409988, y: 0.030886797, z: -0.58746344, w: 0.7317978} + m_LocalPosition: {x: 0.0060895495, y: 0.02603006, z: 0.0024284997} + m_LocalScale: {x: 1, y: 1, z: 1.0000001} + m_Children: + - {fileID: 1325554998} + m_Father: {fileID: 952900638} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!59 &33410892 +HingeJoint: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 59305948372057196, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 33410890} + m_ConnectedBody: {fileID: 606101272} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 0, y: 0, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: 0.0072895475, y: 0.0012300815, z: -0.0026714946} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!54 &33410893 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54739078757934288, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 33410890} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!1 &70112384 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 70112385} + - component: {fileID: 70112388} + - component: {fileID: 70112387} + - component: {fileID: 70112386} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &70112385 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 70112384} + 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_Children: [] + m_Father: {fileID: 716295265} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 35, y: -25, z: 0} +--- !u!114 &70112386 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 70112384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ab8353b5ebd32545867da143199a814, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeTechnique: 1 + _makeDefaultOnEnable: 1 + _limitMagnitude: 0 + _positionalMagnitudeLimit: 10 + _rotationalMagnitudeLimit: 5 +--- !u!81 &70112387 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 70112384} + m_Enabled: 1 +--- !u!20 &70112388 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 70112384} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &127854301 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1895656635507758, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 877549488} + - component: {fileID: 127854302} + m_Layer: 0 + m_Name: Plant_Rigged_00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &127854302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114134362235266950, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 127854301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 1 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!1 &147367865 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 147367868} + - component: {fileID: 147367867} + - component: {fileID: 147367866} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &147367866 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147367865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &147367867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147367865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &147367868 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147367865} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &172606074 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 172606075} + - component: {fileID: 172606076} + m_Layer: 0 + m_Name: Wall (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &172606075 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 172606074} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.38, y: -6.18, z: -1.89} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1234856483} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &172606076 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 172606074} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 40, y: 10, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &189817816 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1998688019593524, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 189817817} + m_Layer: 0 + m_Name: Bone.003_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &189817817 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4993999476019840, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 189817816} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.017427837, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 758009155} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &200910690 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 200910691} + - component: {fileID: 200910692} + m_Layer: 0 + m_Name: Wall (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &200910691 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 200910690} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 12.91, y: -6.18, z: 14.35} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1234856483} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!65 &200910692 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 200910690} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 40, y: 10, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &220810079 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 220810080} + - component: {fileID: 220810082} + - component: {fileID: 220810081} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &220810080 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 220810079} + 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_Children: [] + m_Father: {fileID: 1602987919} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &220810081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 220810079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Button +--- !u!222 &220810082 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 220810079} +--- !u!1 &247223956 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 247223957} + - component: {fileID: 247223960} + - component: {fileID: 247223959} + - component: {fileID: 247223958} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &247223957 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 247223956} + 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_Children: [] + m_Father: {fileID: 1881735589} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 35, y: -25, z: 0} +--- !u!114 &247223958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 247223956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ab8353b5ebd32545867da143199a814, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeTechnique: 1 + _makeDefaultOnEnable: 1 + _limitMagnitude: 0 + _positionalMagnitudeLimit: 10 + _rotationalMagnitudeLimit: 5 +--- !u!81 &247223959 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 247223956} + m_Enabled: 1 +--- !u!20 &247223960 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 247223956} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 2.5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &265967027 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 265967028} + - component: {fileID: 265967029} + m_Layer: 0 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &265967028 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265967027} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 1852056576} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!60 &265967029 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265967027} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 0.61, y: 0.22999999} + - {x: 0.58, y: 0.26} + - {x: 0.51, y: 0.35999998} + - {x: 0.45999998, y: 0.44} + - {x: 0.21, y: 0.64} + - {x: -0.35999998, y: 0.64} + - {x: -0.56, y: 0.59999996} + - {x: -0.61, y: 0.53} + - {x: -0.64, y: 0.35} + - {x: -0.64, y: -0.22999999} + - {x: -0.19, y: -0.64} + - {x: 0.51, y: -0.64} + - {x: 0.64, y: -0.59999996} + - {x: 0.64, y: 0.17999999} +--- !u!1 &276671439 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 276671440} + m_Layer: 0 + m_Name: Crates + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &276671440 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 276671439} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.4, y: -31.866, z: -0.71} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2052957736} + - {fileID: 1618604858} + - {fileID: 1489157032} + - {fileID: 608450878} + - {fileID: 1172102057} + - {fileID: 1274942629} + m_Father: {fileID: 568020934} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &309982831 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 309982837} + - component: {fileID: 309982836} + - component: {fileID: 309982835} + - component: {fileID: 309982833} + - component: {fileID: 309982832} + - component: {fileID: 309982838} + - component: {fileID: 309982834} + m_Layer: 0 + m_Name: Box_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &309982832 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 309982831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &309982833 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 309982831} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &309982834 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 309982831} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836193, y: 2.1836195, z: 2.1798067} + m_Center: {x: 0, y: 1.0918097, z: -0.0000019073484} +--- !u!23 &309982835 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 309982831} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &309982836 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 309982831} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!4 &309982837 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 309982831} + m_LocalRotation: {x: 6.65068e-12, y: 1, z: -0.0000018099951, w: 0.0000036358833} + m_LocalPosition: {x: 1.12, y: -1.78, z: -1.31} + m_LocalScale: {x: 0.5000002, y: 0.5, z: 0.5000002} + m_Children: [] + m_Father: {fileID: 1944082110} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &309982838 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 309982831} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &317504090 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 317504091} + m_Layer: 0 + m_Name: Bounds + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &317504091 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 317504090} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.6193676, y: -31.10765, z: -0.89453125} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 530982441} + - {fileID: 751940840} + m_Father: {fileID: 568020934} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &332810800 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 332810801} + - component: {fileID: 332810803} + - component: {fileID: 332810802} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &332810801 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 332810800} + 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_Children: [] + m_Father: {fileID: 1293583619} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &332810802 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 332810800} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 2D +--- !u!222 &332810803 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 332810800} +--- !u!1 &347318829 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 347318830} + - component: {fileID: 347318833} + - component: {fileID: 347318832} + - component: {fileID: 347318831} + m_Layer: 0 + m_Name: Boulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &347318830 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 347318829} + 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_Children: + - {fileID: 1200325080} + m_Father: {fileID: 1482493863} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -371.45996, y: 75.16} + m_SizeDelta: {x: 237.31, y: 109.54} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &347318831 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 347318829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 347318832} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_Boulders + m_Mode: 1 + 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_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &347318832 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 347318829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8773585, g: 0.8773585, b: 0.8773585, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f496743e368965942a4bf94398c8c673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &347318833 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 347318829} +--- !u!1 &358658161 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 358658165} + - component: {fileID: 358658164} + - component: {fileID: 358658163} + - component: {fileID: 358658162} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &358658162 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358658161} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &358658163 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358658161} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: d8c78a8f28328f642add238f387a323c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &358658164 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358658161} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &358658165 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358658161} + m_LocalRotation: {x: 0, y: -0.35020733, z: 0, w: 0.9366723} + m_LocalPosition: {x: -17.943127, y: -33.704475, z: 18.482677} + m_LocalScale: {x: 20, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 599052392} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: -41, z: 0} +--- !u!1 &362805843 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 362805844} + - component: {fileID: 362805847} + - component: {fileID: 362805846} + - component: {fileID: 362805845} + m_Layer: 0 + m_Name: Reset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &362805844 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 362805843} + 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_Children: + - {fileID: 1519399531} + m_Father: {fileID: 1482493863} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 221, y: -104} + m_SizeDelta: {x: 384, y: 192} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &362805845 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 362805843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 362805846} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_Reset + m_Mode: 1 + 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_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &362805846 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 362805843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.93829006, b: 0.7688679, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f496743e368965942a4bf94398c8c673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &362805847 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 362805843} +--- !u!1 &377057691 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 377057692} + - component: {fileID: 377057694} + - component: {fileID: 377057693} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &377057692 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 377057691} + 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_Children: [] + m_Father: {fileID: 966471027} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -451, y: -204} + m_SizeDelta: {x: 831.6001, y: 224.80005} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &377057693 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 377057691} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 128 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 128 + m_Alignment: 2 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0 +--- !u!222 &377057694 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 377057691} +--- !u!1 &395406098 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 395406099} + - component: {fileID: 395406104} + - component: {fileID: 395406103} + - component: {fileID: 395406102} + - component: {fileID: 395406101} + - component: {fileID: 395406100} + m_Layer: 0 + m_Name: Rock01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &395406099 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 395406098} + m_LocalRotation: {x: -0.53092504, y: 0.21704489, z: 0.3099723, w: 0.7582397} + m_LocalPosition: {x: -1.83, y: 20, z: -6.74} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 867056096} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -70, y: 0, z: 44.47} +--- !u!54 &395406100 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 395406098} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!64 &395406101 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 395406098} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 1 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300002, guid: c2075e0f9ff03bc4ba16756e24147cd0, type: 3} +--- !u!23 &395406102 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 395406098} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: c2dd870f2e2d4af44a65cc7f311c3914, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &395406103 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 395406098} + m_Mesh: {fileID: 4300002, guid: c2075e0f9ff03bc4ba16756e24147cd0, type: 3} +--- !u!114 &395406104 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 395406098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} +--- !u!1 &401070344 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1849801863884580, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 401070345} + - component: {fileID: 401070347} + - component: {fileID: 401070346} + m_Layer: 0 + m_Name: Bone.001 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &401070345 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4116679528967140, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 401070344} + m_LocalRotation: {x: -0.3695272, y: -0.0066187694, z: -0.56961495, w: 0.7341286} + m_LocalPosition: {x: 0.007823182, y: 0.033429503, z: -0.002244788} + m_LocalScale: {x: 1, y: 1.0000001, z: 1} + m_Children: + - {fileID: 1224526089} + m_Father: {fileID: 952900638} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -33.374, y: 29.503002, z: -84.642006} +--- !u!59 &401070346 +HingeJoint: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 59638853285261044, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 401070344} + m_ConnectedBody: {fileID: 606101272} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 0, y: 1, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: 0.009023196, y: 0.008629473, z: -0.0073447893} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!54 &401070347 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54330613743818828, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 401070344} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!1 &409193485 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 409193486} + - component: {fileID: 409193487} + - component: {fileID: 409193488} + - component: {fileID: 409193489} + m_Layer: 0 + m_Name: RightLeaf + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &409193486 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 409193485} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.031000271, y: -0.016001195, z: -0.25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1357527894} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &409193487 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 409193485} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: 1be801af75d973a4b9e1fdc6fda7ac8c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.1, y: 0.52} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!50 &409193488 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 409193485} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 3 +--- !u!233 &409193489 +HingeJoint2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 409193485} + m_Enabled: 1 + serializedVersion: 4 + m_EnableCollision: 0 + m_ConnectedRigidBody: {fileID: 1357527896} + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_AutoConfigureConnectedAnchor: 1 + m_Anchor: {x: 0, y: 0} + m_ConnectedAnchor: {x: -0.031000137, y: -0.016002655} + m_UseMotor: 1 + m_Motor: + m_MotorSpeed: 500 + m_MaximumMotorForce: 0 + m_UseLimits: 1 + m_AngleLimits: + m_LowerAngle: -7 + m_UpperAngle: 7 +--- !u!1 &467603461 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 467603462} + - component: {fileID: 467603464} + - component: {fileID: 467603463} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &467603462 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467603461} + 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_Children: [] + m_Father: {fileID: 730196187} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, 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: 40, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &467603463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467603461} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.4245283, g: 0.4245283, b: 0.4245283, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f5142557b23d4694399a0d662d97059d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &467603464 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467603461} +--- !u!1 &495747205 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 495747211} + - component: {fileID: 495747210} + - component: {fileID: 495747209} + - component: {fileID: 495747207} + - component: {fileID: 495747206} + - component: {fileID: 495747212} + - component: {fileID: 495747208} + m_Layer: 0 + m_Name: Box_05 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &495747206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 495747205} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &495747207 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 495747205} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &495747208 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 495747205} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836193, y: 2.1836195, z: 2.1798067} + m_Center: {x: 0, y: 1.0918097, z: 0} +--- !u!23 &495747209 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 495747205} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &495747210 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 495747205} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!4 &495747211 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 495747205} + m_LocalRotation: {x: -0, y: -0.65487266, z: -0, w: 0.7557393} + m_LocalPosition: {x: 1.503, y: 0.48, z: -0.491} + m_LocalScale: {x: 0.50000006, y: 0.5, z: 0.50000006} + m_Children: [] + m_Father: {fileID: 1944082110} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: -40, z: 0} +--- !u!114 &495747212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 495747205} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &522193778 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 522193779} + - component: {fileID: 522193780} + m_Layer: 0 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &522193779 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 522193778} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.9, y: 0.9, z: 1} + m_Children: [] + m_Father: {fileID: 1670885687} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!60 &522193780 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 522193778} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 0.61, y: 0.22999999} + - {x: 0.58, y: 0.26} + - {x: 0.51, y: 0.35999998} + - {x: 0.45999998, y: 0.44} + - {x: 0.21, y: 0.64} + - {x: -0.35999998, y: 0.64} + - {x: -0.56, y: 0.59999996} + - {x: -0.61, y: 0.53} + - {x: -0.64, y: 0.35} + - {x: -0.64, y: -0.22999999} + - {x: -0.19, y: -0.64} + - {x: 0.51, y: -0.64} + - {x: 0.64, y: -0.59999996} + - {x: 0.64, y: 0.17999999} +--- !u!1 &527900844 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 527900847} + - component: {fileID: 527900846} + - component: {fileID: 527900845} + m_Layer: 0 + m_Name: ObjectShakerTesting + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &527900845 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 527900844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cb70f33360ac0ad41890180d5fd971a8, type: 3} + m_Name: + m_EditorClassIdentifier: + ShakeData: {fileID: 11400000, guid: 3890100001ea08547bc772e4e0f9199b, type: 2} + RunShakeData: 0 +--- !u!114 &527900846 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 527900844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d72f66df91b41304b92365de92f39380, type: 3} + m_Name: + m_EditorClassIdentifier: + _removeFromManagerOnDisable: 1 + _limitMagnitude: 0 + _positionalMagnitudeLimit: 10 + _rotationalMagnitudeLimit: 3 + _shakeOnEnable: {fileID: 0} +--- !u!4 &527900847 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 527900844} + m_LocalRotation: {x: -0, y: -0.34202012, z: -0, w: 0.9396927} + m_LocalPosition: {x: -3.2377505, y: -33.396, z: 13.204926} + m_LocalScale: {x: 0.5000005, y: 0.5, z: 0.5000005} + m_Children: + - {fileID: 580711698} + - {fileID: 1613818627} + - {fileID: 535244363} + - {fileID: 17281991} + - {fileID: 1214318577} + - {fileID: 1935350169} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &530982440 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 530982441} + - component: {fileID: 530982442} + m_Layer: 0 + m_Name: Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &530982441 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 530982440} + m_LocalRotation: {x: -0, y: -0, z: -0.36474717, w: 0.9311066} + m_LocalPosition: {x: -14.29, y: 0.75, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317504091} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -42.784} +--- !u!61 &530982442 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 530982440} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 20, y: 5} + m_EdgeRadius: 0 +--- !u!1 &531774997 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 531774998} + - component: {fileID: 531775000} + - component: {fileID: 531774999} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &531774998 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 531774997} + 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_Children: [] + m_Father: {fileID: 1762875119} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -99.2, y: 0.1} + m_SizeDelta: {x: 161.1, y: 55.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &531774999 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 531774997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Rigidbodies +--- !u!222 &531775000 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 531774997} +--- !u!1 &532941481 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 532941482} + - component: {fileID: 532941483} + m_Layer: 0 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &532941482 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 532941481} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.9, y: 0.9, z: 1} + m_Children: [] + m_Father: {fileID: 799013709} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!60 &532941483 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 532941481} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 0.61, y: 0.22999999} + - {x: 0.58, y: 0.26} + - {x: 0.51, y: 0.35999998} + - {x: 0.45999998, y: 0.44} + - {x: 0.21, y: 0.64} + - {x: -0.35999998, y: 0.64} + - {x: -0.56, y: 0.59999996} + - {x: -0.61, y: 0.53} + - {x: -0.64, y: 0.35} + - {x: -0.64, y: -0.22999999} + - {x: -0.19, y: -0.64} + - {x: 0.51, y: -0.64} + - {x: 0.64, y: -0.59999996} + - {x: 0.64, y: 0.17999999} +--- !u!1 &534588702 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 534588708} + - component: {fileID: 534588707} + - component: {fileID: 534588706} + - component: {fileID: 534588704} + - component: {fileID: 534588703} + - component: {fileID: 534588709} + - component: {fileID: 534588705} + m_Layer: 0 + m_Name: Box_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &534588703 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534588702} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &534588704 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534588702} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &534588705 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534588702} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836195, y: 2.1836195, z: 2.179807} + m_Center: {x: 0, y: 1.0918097, z: 0} +--- !u!23 &534588706 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534588702} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &534588707 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534588702} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!4 &534588708 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534588702} + m_LocalRotation: {x: -0, y: -0.2119218, z: -0, w: 0.9772867} + m_LocalPosition: {x: 0.762, y: -1.81, z: -0.101} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: [] + m_Father: {fileID: 1944082110} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 17.35, z: 0} +--- !u!114 &534588709 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534588702} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &535244362 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 535244363} + - component: {fileID: 535244368} + - component: {fileID: 535244367} + - component: {fileID: 535244366} + - component: {fileID: 535244364} + m_Layer: 0 + m_Name: 2D_Box + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &535244363 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535244362} + m_LocalRotation: {x: 0, y: 0.3420201, z: 0, w: 0.9396927} + m_LocalPosition: {x: 5.59, y: 4.06, z: -4.69} + m_LocalScale: {x: 4, y: 4, z: 2} + m_Children: + - {fileID: 1878417691} + m_Father: {fileID: 527900847} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 40, z: 0} +--- !u!50 &535244364 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535244362} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 7.5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!114 &535244366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535244362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 1 + _positionalMultiplier: 4 + _rotationalMultiplier: 0.7 + _requireInView: 1 + _includeChildren: 1 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!61 &535244367 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535244362} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!212 &535244368 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 535244362} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &548572556 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 548572559} + - component: {fileID: 548572557} + - component: {fileID: 548572558} + - component: {fileID: 548572560} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!20 &548572557 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548572556} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &548572558 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548572556} + m_Enabled: 1 +--- !u!4 &548572559 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548572556} + 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_Children: [] + m_Father: {fileID: 988822959} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 35, y: -25, z: 0} +--- !u!114 &548572560 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548572556} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ab8353b5ebd32545867da143199a814, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeTechnique: 1 + _makeDefaultOnEnable: 1 + _limitMagnitude: 0 + _positionalMagnitudeLimit: 10 + _rotationalMagnitudeLimit: 5 +--- !u!1 &568020933 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 568020934} + m_Layer: 0 + m_Name: 2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &568020934 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 568020933} + 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_Children: + - {fileID: 1723396215} + - {fileID: 1859211804} + - {fileID: 1357527894} + - {fileID: 276671440} + - {fileID: 1873462614} + - {fileID: 2080184612} + - {fileID: 1920429056} + - {fileID: 1881735589} + - {fileID: 1358814673} + - {fileID: 317504091} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &580711697 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 580711698} + - component: {fileID: 580711706} + - component: {fileID: 580711705} + - component: {fileID: 580711704} + - component: {fileID: 580711703} + - component: {fileID: 580711701} + m_Layer: 0 + m_Name: 3D_Box + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &580711698 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580711697} + 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_Children: + - {fileID: 1431370383} + m_Father: {fileID: 527900847} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -40, z: 0} +--- !u!65 &580711701 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580711697} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836193, y: 2.1836195, z: 2.1798067} + m_Center: {x: 0, y: 1.0918097, z: 0.0000019073486} +--- !u!114 &580711703 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580711697} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 1 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 1 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &580711704 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580711697} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &580711705 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580711697} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &580711706 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580711697} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!1 &599052391 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 599052392} + m_Layer: 0 + m_Name: 3D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &599052392 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 599052391} + 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_Children: + - {fileID: 988822959} + - {fileID: 716295265} + - {fileID: 5780706965776490689} + - {fileID: 7065430076145580074} + - {fileID: 877549488} + - {fileID: 959564215} + - {fileID: 358658165} + - {fileID: 1944082110} + - {fileID: 867056096} + - {fileID: 1234856483} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &606101271 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1319713429091798, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 606101273} + - component: {fileID: 606101272} + m_Layer: 0 + m_Name: HingeTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!54 &606101272 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54847200778635264, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 606101271} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!4 &606101273 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4337566040806538, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 606101271} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.0012, y: 0.0248, z: 0.0051} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 952900638} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &608450877 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 608450878} + - component: {fileID: 608450882} + - component: {fileID: 608450881} + - component: {fileID: 608450880} + - component: {fileID: 608450879} + - component: {fileID: 608450883} + m_Layer: 0 + m_Name: Crate (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &608450878 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608450877} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.08, y: -0.59, z: -1.41} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 276671440} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &608450879 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608450877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &608450880 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608450877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 4 + _rotationalMultiplier: 0.7 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!61 &608450881 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608450877} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!212 &608450882 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608450877} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!50 &608450883 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608450877} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 7.5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &625009048 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 625009049} + - component: {fileID: 625009054} + - component: {fileID: 625009053} + - component: {fileID: 625009052} + - component: {fileID: 625009051} + - component: {fileID: 625009050} + m_Layer: 0 + m_Name: Rock02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &625009049 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625009048} + m_LocalRotation: {x: 0.28079647, y: 0.12700722, z: 0.7117993, w: 0.631161} + m_LocalPosition: {x: -2.45, y: 40, z: 3.79} + m_LocalScale: {x: 3, y: 3, z: 3} + m_Children: [] + m_Father: {fileID: 867056096} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 10, y: 34.66, z: 100} +--- !u!54 &625009050 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625009048} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!64 &625009051 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625009048} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 1 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300002, guid: c2075e0f9ff03bc4ba16756e24147cd0, type: 3} +--- !u!23 &625009052 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625009048} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: c2dd870f2e2d4af44a65cc7f311c3914, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &625009053 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625009048} + m_Mesh: {fileID: 4300002, guid: c2075e0f9ff03bc4ba16756e24147cd0, type: 3} +--- !u!114 &625009054 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625009048} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} +--- !u!1 &652956618 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 652956619} + - component: {fileID: 652956621} + - component: {fileID: 652956620} + m_Layer: 0 + m_Name: Clickable + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &652956619 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 652956618} + 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_Children: [] + m_Father: {fileID: 2122838072} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 66.53, y: 0} + m_SizeDelta: {x: 133.06, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &652956620 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 652956618} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &652956621 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 652956618} +--- !u!1 &682942135 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 682942136} + - component: {fileID: 682942137} + m_Layer: 0 + m_Name: ChangeCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &682942136 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 682942135} + 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_Children: + - {fileID: 1076716568} + - {fileID: 2049199878} + m_Father: {fileID: 1482493863} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -148.22021, y: -57} + m_SizeDelta: {x: 273.76, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &682942137 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 682942135} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_ChangeCamera + m_Mode: 1 + 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_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1 &696573548 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1584624691702198, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 696573549} + m_Layer: 0 + m_Name: Armature + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &696573549 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4255502493259674, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 696573548} + m_LocalRotation: {x: -0.7071068, y: 0.000000014901161, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100.00004, z: 100.000046} + m_Children: + - {fileID: 952900638} + m_Father: {fileID: 877549488} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &700079516 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 700079517} + - component: {fileID: 700079519} + - component: {fileID: 700079518} + m_Layer: 0 + m_Name: Clickable + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &700079517 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 700079516} + 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_Children: [] + m_Father: {fileID: 1298664755} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 66.53, y: 0} + m_SizeDelta: {x: 133.06, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &700079518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 700079516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &700079519 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 700079516} +--- !u!1 &708663461 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 708663462} + - component: {fileID: 708663463} + - component: {fileID: 708663464} + - component: {fileID: 708663465} + m_Layer: 0 + m_Name: LeftLeaf + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &708663462 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 708663461} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.04, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1357527894} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &708663463 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 708663461} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300000, guid: 1be801af75d973a4b9e1fdc6fda7ac8c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.1, y: 0.52} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!50 &708663464 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 708663461} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 3 +--- !u!233 &708663465 +HingeJoint2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 708663461} + m_Enabled: 1 + serializedVersion: 4 + m_EnableCollision: 0 + m_ConnectedRigidBody: {fileID: 1357527896} + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_AutoConfigureConnectedAnchor: 0 + m_Anchor: {x: 0, y: 0} + m_ConnectedAnchor: {x: 0.03999996, y: 0} + m_UseMotor: 1 + m_Motor: + m_MotorSpeed: 500 + m_MaximumMotorForce: 0 + m_UseLimits: 1 + m_AngleLimits: + m_LowerAngle: -7 + m_UpperAngle: 7 +--- !u!1 &716295264 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 716295265} + m_Layer: 0 + m_Name: CameraHolderB + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &716295265 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 716295264} + m_LocalRotation: {x: 0.280654, y: 0.13998607, z: -0.037902195, w: 0.9487891} + m_LocalPosition: {x: -5.87, y: -30.6, z: 10.6} + m_LocalScale: {x: 1.0000002, y: 1, z: 1.0000002} + m_Children: + - {fileID: 70112385} + m_Father: {fileID: 599052392} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 32.9, y: 16.92, z: 0.45400003} +--- !u!1 &730196186 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 730196187} + m_Layer: 0 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &730196187 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 730196186} + 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_Children: + - {fileID: 467603462} + m_Father: {fileID: 2122337455} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -1.300003, y: -10.400002} + m_SizeDelta: {x: -51.2, y: -20.8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &751940839 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 751940840} + - component: {fileID: 751940841} + m_Layer: 0 + m_Name: Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &751940840 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 751940839} + m_LocalRotation: {x: 0, y: 0, z: 0.35836798, w: 0.93358046} + m_LocalPosition: {x: 13.17, y: 0.75, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317504091} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 42} +--- !u!61 &751940841 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 751940839} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 20, y: 5} + m_EdgeRadius: 0 +--- !u!1 &758009154 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1638414858883226, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 758009155} + - component: {fileID: 758009157} + - component: {fileID: 758009156} + m_Layer: 0 + m_Name: Bone.003 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &758009155 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4947197597797156, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 758009154} + m_LocalRotation: {x: -0.050327364, y: 0.079698145, z: 0.8282723, w: 0.55234087} + m_LocalPosition: {x: -0.010082979, y: 0.024798201, z: -0.0014264102} + m_LocalScale: {x: 1.0000002, y: 1.0000001, z: 1} + m_Children: + - {fileID: 189817817} + m_Father: {fileID: 952900638} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!59 &758009156 +HingeJoint: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 59972005539826592, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 758009154} + m_ConnectedBody: {fileID: 606101272} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 0, y: 1, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: -0.008882981, y: -0.0000017937273, z: -0.0065264027} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!54 &758009157 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54124062687080982, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 758009154} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!1 &786138902 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 786138903} + - component: {fileID: 786138904} + m_Layer: 0 + m_Name: GameObject (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &786138903 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 786138902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.31, y: 2.89, z: -0.78} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1003196926} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &786138904 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 786138902} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 5, y: 0.5, z: 5} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &799013708 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 799013709} + - component: {fileID: 799013710} + - component: {fileID: 799013713} + - component: {fileID: 799013711} + m_Layer: 0 + m_Name: Rock (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &799013709 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 799013708} + m_LocalRotation: {x: 0, y: 0, z: 0.94865537, w: 0.31631154} + m_LocalPosition: {x: -4.69, y: 15, z: 0} + m_LocalScale: {x: 1.25, y: 1.25, z: 1.25} + m_Children: + - {fileID: 532941482} + m_Father: {fileID: 1873462614} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 143.12} +--- !u!114 &799013710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 799013708} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} +--- !u!50 &799013711 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 799013708} + m_BodyType: 0 + m_Simulated: 0 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 10 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &799013713 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 799013708} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 15 + m_Sprite: {fileID: 21300000, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &854195005 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 854195006} + - component: {fileID: 854195007} + m_Layer: 0 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &854195006 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 854195005} + 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_Children: + - {fileID: 1298664755} + m_Father: {fileID: 1762875119} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &854195007 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 854195005} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + toggleTransition: 1 + graphic: {fileID: 1298664756} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_ShakeRigidbodies + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 854195007} + m_ObjectArgumentAssemblyTypeName: UnityEngine.UI.Toggle, UnityEngine.UI + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &867056095 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 867056096} + m_Layer: 0 + m_Name: Rocks + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &867056096 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 867056095} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.9862591, y: -20, z: 19.242842} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1062760326} + - {fileID: 395406099} + - {fileID: 625009049} + m_Father: {fileID: 599052392} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &877549488 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4252170578404524, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 127854301} + m_LocalRotation: {x: -0, y: -0.19217944, z: -0, w: 0.98135984} + m_LocalPosition: {x: -6.93, y: -33.78, z: 13.39} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: + - {fileID: 696573549} + - {fileID: 981792511} + m_Father: {fileID: 599052392} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &952900637 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1458052853556238, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 952900638} + m_Layer: 0 + m_Name: Bone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &952900638 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4492305217144936, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 952900637} + m_LocalRotation: {x: 0.6266867, y: 0.08071654, z: -0.07245433, w: 0.77168584} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1.0000001, y: 1, z: 1} + m_Children: + - {fileID: 606101273} + - {fileID: 401070345} + - {fileID: 1085942885} + - {fileID: 758009155} + - {fileID: 1689806747} + - {fileID: 33410891} + m_Father: {fileID: 696573549} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &959564213 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 959564215} + - component: {fileID: 959564214} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &959564214 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959564213} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &959564215 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959564213} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 599052392} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &965639787 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1174525772201796, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 965639788} + m_Layer: 0 + m_Name: Bone.004_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &965639788 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4573209112020694, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 965639787} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.017064013, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1689806747} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &966471026 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 966471027} + - component: {fileID: 966471029} + - component: {fileID: 966471028} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &966471027 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 966471026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 377057692} + m_Father: {fileID: 989308488} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &966471028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 966471026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.5 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &966471029 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 966471026} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &981792510 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1815598762614754, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 981792511} + - component: {fileID: 981792512} + m_Layer: 0 + m_Name: plant + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &981792511 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4713533142050562, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 981792510} + m_LocalRotation: {x: 0.00000008146035, y: -0, z: 1.7763568e-15, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 877549488} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &981792512 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 137308085883534716, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 981792510} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: de4cf409bd3d2dd448331b14b0994fa2, type: 3} + - {fileID: 2100002, guid: de4cf409bd3d2dd448331b14b0994fa2, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: de4cf409bd3d2dd448331b14b0994fa2, type: 3} + m_Bones: + - {fileID: 952900638} + - {fileID: 401070345} + - {fileID: 1085942885} + - {fileID: 758009155} + - {fileID: 1689806747} + - {fileID: 33410891} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 952900638} + m_AABB: + m_Center: {x: -0.00009130128, y: 0.023700738, z: -0.000492312} + m_Extent: {x: 0.030637199, y: 0.026565446, z: 0.031100761} + m_DirtyAABB: 0 +--- !u!1 &988822958 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 988822959} + m_Layer: 0 + m_Name: CameraHolderA + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &988822959 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 988822958} + m_LocalRotation: {x: -0, y: -0.35592264, z: -0, w: 0.9345155} + m_LocalPosition: {x: 2.4, y: -31.4, z: 10.8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 548572559} + m_Father: {fileID: 599052392} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -41.7, z: 0} +--- !u!1 &989308486 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 989308488} + - component: {fileID: 989308487} + m_Layer: 0 + m_Name: PerfMonitor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &989308487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 989308486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2040b8ae99aea8c4c8a59458ede6eb95, type: 3} + m_Name: + m_EditorClassIdentifier: + _fpsText: {fileID: 377057693} +--- !u!4 &989308488 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 989308486} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.7671722, y: -29.444422, z: 5.1838536} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 966471027} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1003196925 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1003196926} + m_Layer: 0 + m_Name: Colliders + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1003196926 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1003196925} + 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_Children: + - {fileID: 1437291330} + - {fileID: 786138903} + m_Father: {fileID: 7065430076145580074} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1007700169 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1007700170} + - component: {fileID: 1007700172} + - component: {fileID: 1007700171} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1007700170 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1007700169} + 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_Children: [] + m_Father: {fileID: 2111246645} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1007700171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1007700169} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f496743e368965942a4bf94398c8c673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1007700172 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1007700169} +--- !u!4 &1062760326 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063252902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.9862591, y: 0, z: -6} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: [] + m_Father: {fileID: 867056096} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1063252902 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1062760326} + - component: {fileID: 1063252905} + - component: {fileID: 1064054694} + - component: {fileID: 1065184614} + - component: {fileID: 1063252904} + - component: {fileID: 1063252903} + m_Layer: 0 + m_Name: Rock00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!54 &1063252903 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063252902} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!64 &1063252904 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063252902} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 1 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300002, guid: c2075e0f9ff03bc4ba16756e24147cd0, type: 3} +--- !u!114 &1063252905 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063252902} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} +--- !u!33 &1064054694 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063252902} + m_Mesh: {fileID: 4300002, guid: c2075e0f9ff03bc4ba16756e24147cd0, type: 3} +--- !u!23 &1065184614 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063252902} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: c2dd870f2e2d4af44a65cc7f311c3914, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &1069090207 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1069090208} + - component: {fileID: 1069090210} + - component: {fileID: 1069090209} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1069090208 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1069090207} + 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_Children: [] + m_Father: {fileID: 2111246645} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -98.3, y: 0.1} + m_SizeDelta: {x: 159.3, y: 55.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1069090209 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1069090207} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Canvases + +' +--- !u!222 &1069090210 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1069090207} +--- !u!1 &1076716567 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1076716568} + - component: {fileID: 1076716570} + - component: {fileID: 1076716569} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1076716568 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1076716567} + 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_Children: [] + m_Father: {fileID: 682942136} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1076716569 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1076716567} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19117647, g: 0.19117647, b: 0.19117647, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f496743e368965942a4bf94398c8c673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1076716570 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1076716567} +--- !u!1 &1085942884 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1580316250580798, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1085942885} + - component: {fileID: 1085942887} + - component: {fileID: 1085942886} + m_Layer: 0 + m_Name: Bone.002 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1085942885 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4957642066743350, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1085942884} + m_LocalRotation: {x: -0.52324283, y: 0.016005367, z: 0.3433307, w: 0.7797979} + m_LocalPosition: {x: -0.0068912604, y: 0.030272566, z: -0.0070868894} + m_LocalScale: {x: 0.99999994, y: 1, z: 1} + m_Children: + - {fileID: 1729696683} + m_Father: {fileID: 952900638} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!59 &1085942886 +HingeJoint: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 59341562785616752, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1085942884} + m_ConnectedBody: {fileID: 606101272} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 1, y: 1, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: -0.0056912573, y: 0.005472554, z: -0.012186889} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!54 &1085942887 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54099504244426016, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1085942884} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!1 &1144012089 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1144012095} + - component: {fileID: 1144012094} + - component: {fileID: 1144012093} + - component: {fileID: 1144012091} + - component: {fileID: 1144012090} + - component: {fileID: 1144012096} + - component: {fileID: 1144012092} + m_Layer: 0 + m_Name: Box_04 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1144012090 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1144012089} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &1144012091 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1144012089} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &1144012092 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1144012089} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836193, y: 2.1836195, z: 2.1798067} + m_Center: {x: 0, y: 1.0918097, z: 0.0000019073486} +--- !u!23 &1144012093 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1144012089} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1144012094 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1144012089} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!4 &1144012095 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1144012089} + m_LocalRotation: {x: -0, y: -0.65487266, z: -0, w: 0.7557393} + m_LocalPosition: {x: 1.587, y: -0.59, z: 0.143} + m_LocalScale: {x: 0.50000006, y: 0.5, z: 0.50000006} + m_Children: [] + m_Father: {fileID: 1944082110} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: -40, z: 0} +--- !u!114 &1144012096 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1144012089} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1164072976 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1164072977} + - component: {fileID: 1164072979} + - component: {fileID: 1164072978} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1164072977 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164072976} + 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_Children: [] + m_Father: {fileID: 2122337455} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -2, y: 3} + m_SizeDelta: {x: 19.5, y: 54.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1164072978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164072976} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7905393, g: 0.8962264, b: 0.85352844, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f496743e368965942a4bf94398c8c673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1164072979 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164072976} +--- !u!1 &1172102056 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1172102057} + - component: {fileID: 1172102061} + - component: {fileID: 1172102060} + - component: {fileID: 1172102059} + - component: {fileID: 1172102058} + - component: {fileID: 1172102062} + m_Layer: 0 + m_Name: Crate (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1172102057 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172102056} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.3, y: -0.6, z: -1.92} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 276671440} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1172102058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172102056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1172102059 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172102056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 4 + _rotationalMultiplier: 0.7 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!61 &1172102060 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172102056} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!212 &1172102061 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172102056} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!50 &1172102062 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172102056} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 7.5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &1172435641 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1172435642} + m_Layer: 0 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1172435642 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172435641} + 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_Children: + - {fileID: 1696226044} + m_Father: {fileID: 2122337455} + m_RootOrder: 2 + 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: -2.1739044, y: -11.575001} + m_SizeDelta: {x: -36.4, y: -10.05} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1200325079 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1200325080} + - component: {fileID: 1200325082} + - component: {fileID: 1200325081} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1200325080 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1200325079} + 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_Children: [] + m_Father: {fileID: 347318830} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1200325081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1200325079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: BOULDER +--- !u!222 &1200325082 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1200325079} +--- !u!1 &1214318576 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1214318577} + - component: {fileID: 1214318578} + - component: {fileID: 1214318579} + m_Layer: 0 + m_Name: 2D_Transform + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1214318577 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1214318576} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.28, y: 3.17, z: -7.63} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 527900847} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1214318578 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1214318576} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300002, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.83, y: 1.15} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!114 &1214318579 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1214318576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1668e20ecaba69547a8a160014c5640b, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 1 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 1 + _randomizeDirections: 1 +--- !u!1 &1224526088 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1013518845757228, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1224526089} + m_Layer: 0 + m_Name: Bone.001_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1224526089 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4626185539506982, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1224526088} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.017967971, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 401070345} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1234856482 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1234856483} + m_Layer: 0 + m_Name: Bounds + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1234856483 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1234856482} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -24.01, z: 3.8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2134808388} + - {fileID: 200910691} + - {fileID: 2078751228} + - {fileID: 172606075} + m_Father: {fileID: 599052392} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1274942628 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1274942629} + - component: {fileID: 1274942633} + - component: {fileID: 1274942632} + - component: {fileID: 1274942631} + - component: {fileID: 1274942630} + - component: {fileID: 1274942634} + m_Layer: 0 + m_Name: Crate (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1274942629 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274942628} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.82, y: 0.07, z: -1.71} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 276671440} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1274942630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274942628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1274942631 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274942628} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 4 + _rotationalMultiplier: 0.7 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!61 &1274942632 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274942628} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!212 &1274942633 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274942628} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!50 &1274942634 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274942628} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 7.5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &1289626098 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1289626099} + - component: {fileID: 1289626101} + - component: {fileID: 1289626100} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1289626099 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1289626098} + 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_Children: [] + m_Father: {fileID: 1683135128} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1289626100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1289626098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: EARTHQUAKE +--- !u!222 &1289626101 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1289626098} +--- !u!1 &1293583618 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1293583619} + - component: {fileID: 1293583622} + - component: {fileID: 1293583621} + - component: {fileID: 1293583620} + m_Layer: 0 + m_Name: 2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1293583619 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1293583618} + 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_Children: + - {fileID: 332810801} + m_Father: {fileID: 1482493863} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 88.30029, y: 75.16} + m_SizeDelta: {x: 108, y: 108} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1293583620 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1293583618} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1293583621} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_2D + m_Mode: 1 + 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_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1293583621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1293583618} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.627451, g: 0.9019608, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f5142557b23d4694399a0d662d97059d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1293583622 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1293583618} +--- !u!1 &1298664754 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1298664755} + - component: {fileID: 1298664757} + - component: {fileID: 1298664756} + m_Layer: 0 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1298664755 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1298664754} + 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_Children: + - {fileID: 700079517} + m_Father: {fileID: 854195006} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 51.69, y: -0.56} + m_SizeDelta: {x: 86.46, y: 70.68} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1298664756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1298664754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1298664757 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1298664754} +--- !u!1 &1325554997 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1524236116513698, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1325554998} + m_Layer: 0 + m_Name: Bone.005_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1325554998 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4410869341281168, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1325554997} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.018505335, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 33410891} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1357527893 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1357527894} + - component: {fileID: 1357527895} + - component: {fileID: 1357527897} + - component: {fileID: 1357527896} + m_Layer: 0 + m_Name: Plant_Rigged + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1357527894 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1357527893} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.78, y: -32.868, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 708663462} + - {fileID: 409193486} + m_Father: {fileID: 568020934} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1357527895 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1357527893} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 11 + m_Sprite: {fileID: 21300002, guid: 1be801af75d973a4b9e1fdc6fda7ac8c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.61, y: 0.79} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!50 &1357527896 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1357527893} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!114 &1357527897 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1357527893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1.25 + _requireInView: 1 + _includeChildren: 1 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!1 &1358814672 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1358814673} + m_Layer: 0 + m_Name: CameraHolderB + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1358814673 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1358814672} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.84, y: -32.93, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1762961556} + m_Father: {fileID: 568020934} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1371172404 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1371172405} + - component: {fileID: 1371172408} + - component: {fileID: 1371172407} + - component: {fileID: 1371172406} + m_Layer: 0 + m_Name: Offroad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1371172405 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1371172404} + 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_Children: + - {fileID: 1879988822} + m_Father: {fileID: 1482493863} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -618.4, y: 75.16} + m_SizeDelta: {x: 237.31, y: 109.54} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1371172406 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1371172404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1371172407} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_OffRoad + m_Mode: 1 + 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_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1371172407 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1371172404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.92245203, g: 0.9245283, b: 0.7718939, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f496743e368965942a4bf94398c8c673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1371172408 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1371172404} +--- !u!1 &1431370382 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1431370383} + - component: {fileID: 1431370388} + - component: {fileID: 1431370387} + - component: {fileID: 1431370386} + - component: {fileID: 1431370385} + - component: {fileID: 1431370384} + m_Layer: 0 + m_Name: 3D_Box (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1431370383 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1431370382} + 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_Children: [] + m_Father: {fileID: 580711698} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -40, z: 0} +--- !u!65 &1431370384 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1431370382} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836193, y: 2.1836195, z: 2.1798067} + m_Center: {x: 0, y: 1.0918097, z: 0.0000019073486} +--- !u!114 &1431370385 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1431370382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 1 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &1431370386 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1431370382} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &1431370387 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1431370382} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1431370388 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1431370382} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!1 &1437291329 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1437291330} + - component: {fileID: 1437291331} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1437291330 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1437291329} + m_LocalRotation: {x: 0, y: 0, z: -0.113723405, w: 0.99351245} + m_LocalPosition: {x: 0.23, y: 1.32, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1003196926} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -13.06} +--- !u!136 &1437291331 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1437291329} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.75 + m_Height: 3 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1482493862 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1482493863} + - component: {fileID: 1482493866} + - component: {fileID: 1482493865} + - component: {fileID: 1482493867} + - component: {fileID: 1482493868} + - component: {fileID: 1482493864} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1482493863 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1482493862} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1371172405} + - {fileID: 347318830} + - {fileID: 1683135128} + - {fileID: 362805844} + - {fileID: 1293583619} + - {fileID: 1936726741} + - {fileID: 2122337455} + - {fileID: 2111246645} + - {fileID: 1762875119} + - {fileID: 682942136} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1482493864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1482493862} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 663365fdc7222f84fa76f2a79859e1f5, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _useDefaultCameraShaker: 1 + _cameraShaker: {fileID: 0} + _encapsulateChildren: 1 + _monitorEncapsulation: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _randomizeDirections: 1 +--- !u!114 &1482493865 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1482493862} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.5 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1482493866 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1482493862} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 548572557} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 118 + m_TargetDisplay: 0 +--- !u!114 &1482493867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1482493862} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 925c9f05d63a6fe49add246fdb4ff657, type: 3} + m_Name: + m_EditorClassIdentifier: + _2dObject: {fileID: 568020933} + _2dCameras: + - {fileID: 247223958} + - {fileID: 1762961557} + _3dObject: {fileID: 599052391} + _3dCameras: + - {fileID: 548572560} + - {fileID: 70112386} + _scaleSlider: {fileID: 2122337456} + _earthquakeData: {fileID: 11400000, guid: 3629d1d6b48ac3a47ba9e9bd7501a8c8, type: 2} + _offRoadData: {fileID: 11400000, guid: e832a8ee5e2677040b890c07820306d7, type: 2} +--- !u!114 &1482493868 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1482493862} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &1489157031 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1489157032} + - component: {fileID: 1489157036} + - component: {fileID: 1489157035} + - component: {fileID: 1489157034} + - component: {fileID: 1489157033} + - component: {fileID: 1489157037} + m_Layer: 0 + m_Name: Crate (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1489157032 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1489157031} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.48, y: -1.25, z: -1.16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 276671440} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1489157033 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1489157031} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1489157034 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1489157031} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 4 + _rotationalMultiplier: 0.7 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!61 &1489157035 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1489157031} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!212 &1489157036 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1489157031} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!50 &1489157037 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1489157031} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 7.5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &1519399530 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1519399531} + - component: {fileID: 1519399533} + - component: {fileID: 1519399532} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1519399531 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1519399530} + 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_Children: [] + m_Father: {fileID: 362805844} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1519399532 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1519399530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: RESET +--- !u!222 &1519399533 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1519399530} +--- !u!1 &1602987918 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1602987919} + - component: {fileID: 1602987922} + - component: {fileID: 1602987921} + - component: {fileID: 1602987920} + m_Layer: 0 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1602987919 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1602987918} + 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_Children: + - {fileID: 220810080} + m_Father: {fileID: 1935350169} + m_RootOrder: 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: 6} + m_SizeDelta: {x: 300, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1602987920 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1602987918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1602987921} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1602987921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1602987918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1602987922 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1602987918} +--- !u!33 &1602992025 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605921689} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!23 &1603990873 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605921689} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &1605921689 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1606416313} + - component: {fileID: 1602992025} + - component: {fileID: 1603990873} + - component: {fileID: 1605921691} + - component: {fileID: 1605921690} + - component: {fileID: 1605921693} + - component: {fileID: 1605921692} + m_Layer: 0 + m_Name: Box_00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1605921690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605921689} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &1605921691 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605921689} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &1605921692 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605921689} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836193, y: 2.1836195, z: 2.1798067} + m_Center: {x: 0, y: 1.0918021, z: -0.0000019073484} +--- !u!114 &1605921693 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605921689} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1606416313 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605921689} + m_LocalRotation: {x: 6.65068e-12, y: 1, z: -0.0000018099951, w: 0.0000036358833} + m_LocalPosition: {x: 2.26, y: -1.74, z: -0.27} + m_LocalScale: {x: 0.5000002, y: 0.5, z: 0.5000002} + m_Children: [] + m_Father: {fileID: 1944082110} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1613818626 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1613818627} + - component: {fileID: 1613818628} + m_Layer: 0 + m_Name: 2D_Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1613818627 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1613818626} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 527900847} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1613818628 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1613818626} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!1 &1618604857 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1618604858} + - component: {fileID: 1618604862} + - component: {fileID: 1618604861} + - component: {fileID: 1618604860} + - component: {fileID: 1618604859} + - component: {fileID: 1618604863} + m_Layer: 0 + m_Name: Crate (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1618604858 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1618604857} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.65, y: -1.25, z: -1.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 276671440} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1618604859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1618604857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1618604860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1618604857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 4 + _rotationalMultiplier: 0.7 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!61 &1618604861 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1618604857} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!212 &1618604862 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1618604857} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!50 &1618604863 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1618604857} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 7.5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &1646202031 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1646202037} + - component: {fileID: 1646202036} + - component: {fileID: 1646202035} + - component: {fileID: 1646202033} + - component: {fileID: 1646202032} + - component: {fileID: 1646202038} + - component: {fileID: 1646202034} + m_Layer: 0 + m_Name: Box_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1646202032 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646202031} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &1646202033 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646202031} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &1646202034 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646202031} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836197, y: 2.1836195, z: 2.1798072} + m_Center: {x: 0.0000014305115, y: 1.0918097, z: 0.0000038146973} +--- !u!23 &1646202035 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646202031} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1646202036 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646202031} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!4 &1646202037 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646202031} + m_LocalRotation: {x: -0, y: -0.47830868, z: -0, w: 0.8781918} + m_LocalPosition: {x: 0.767, y: -0.63, z: -0.983} + m_LocalScale: {x: 0.50000006, y: 0.5, z: 0.50000006} + m_Children: [] + m_Father: {fileID: 1944082110} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -15.33, z: 0} +--- !u!114 &1646202038 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646202031} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1670885686 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1670885687} + - component: {fileID: 1670885690} + - component: {fileID: 1670885689} + - component: {fileID: 1670885691} + m_Layer: 0 + m_Name: Rock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1670885687 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1670885686} + m_LocalRotation: {x: 0, y: 0, z: 0.20816772, w: 0.97809315} + m_LocalPosition: {x: -0.64, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: + - {fileID: 522193779} + m_Father: {fileID: 1873462614} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 24.03} +--- !u!212 &1670885689 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1670885686} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 14 + m_Sprite: {fileID: 21300000, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!114 &1670885690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1670885686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} +--- !u!50 &1670885691 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1670885686} + m_BodyType: 0 + m_Simulated: 0 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 10 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &1679804098 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1679804099} + - component: {fileID: 1679804101} + - component: {fileID: 1679804100} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1679804099 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1679804098} + 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_Children: [] + m_Father: {fileID: 1762875119} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1679804100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1679804098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f496743e368965942a4bf94398c8c673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1679804101 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1679804098} +--- !u!1 &1683135127 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1683135128} + - component: {fileID: 1683135131} + - component: {fileID: 1683135130} + - component: {fileID: 1683135129} + m_Layer: 0 + m_Name: Earthquake + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1683135128 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1683135127} + 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_Children: + - {fileID: 1289626099} + m_Father: {fileID: 1482493863} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -126.700195, y: 75.16} + m_SizeDelta: {x: 237.31, y: 109.54} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1683135129 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1683135127} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1683135130} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_Earthquake + m_Mode: 1 + 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_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1683135130 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1683135127} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8018868, g: 0.7285667, b: 0.57872015, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f496743e368965942a4bf94398c8c673, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1683135131 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1683135127} +--- !u!1 &1689806746 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1341789945422318, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1689806747} + - component: {fileID: 1689806749} + - component: {fileID: 1689806748} + m_Layer: 0 + m_Name: Bone.004 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1689806747 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4110875914404350, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689806746} + m_LocalRotation: {x: 0.75068474, y: 0.02446198, z: 0.23374179, w: 0.6174454} + m_LocalPosition: {x: -0.0032626053, y: 0.028448403, z: 0.0066653374} + m_LocalScale: {x: 1, y: 1.0000001, z: 1.0000001} + m_Children: + - {fileID: 965639788} + m_Father: {fileID: 952900638} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!59 &1689806748 +HingeJoint: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 59879517047240724, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689806746} + m_ConnectedBody: {fileID: 606101272} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 1, y: 1, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: -0.0020626083, y: 0.0036484394, z: 0.0015653432} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!54 &1689806749 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 54124310887512172, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689806746} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!1 &1696226043 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1696226044} + - component: {fileID: 1696226046} + - component: {fileID: 1696226045} + m_Layer: 0 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1696226044 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1696226043} + 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_Children: [] + m_Father: {fileID: 1172435642} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, 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: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1696226045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1696226043} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8490566, g: 0.8490566, b: 0.8490566, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1696226046 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1696226043} +--- !u!1 &1723396214 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1723396215} + - component: {fileID: 1723396216} + m_Layer: 0 + m_Name: Tent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1723396215 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1723396214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.06, y: -32.29, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 568020934} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1723396216 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1723396214} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 10 + m_Sprite: {fileID: 21300006, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.86, y: 2.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &1729696682 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1100369342134988, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1729696683} + m_Layer: 0 + m_Name: Bone.002_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1729696683 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4117940696219736, guid: c7c88767f3ac5c84a988ebb9e3ec3481, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1729696682} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.018834433, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1085942885} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1762875118 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1762875119} + m_Layer: 0 + m_Name: Rigidbodies + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1762875119 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1762875118} + 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_Children: + - {fileID: 1679804099} + - {fileID: 531774998} + - {fileID: 854195006} + m_Father: {fileID: 1482493863} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -148.2002, y: 357} + m_SizeDelta: {x: 273.8, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1762961555 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1762961556} + - component: {fileID: 1762961559} + - component: {fileID: 1762961558} + - component: {fileID: 1762961557} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1762961556 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1762961555} + 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_Children: [] + m_Father: {fileID: 1358814673} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 35, y: -25, z: 0} +--- !u!114 &1762961557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1762961555} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ab8353b5ebd32545867da143199a814, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeTechnique: 1 + _makeDefaultOnEnable: 1 + _limitMagnitude: 0 + _positionalMagnitudeLimit: 10 + _rotationalMagnitudeLimit: 5 +--- !u!81 &1762961558 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1762961555} + m_Enabled: 1 +--- !u!20 &1762961559 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1762961555} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 2.5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &1784744896 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1784744897} + - component: {fileID: 1784744898} + m_Layer: 0 + m_Name: Grass (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1784744897 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1784744896} + m_LocalRotation: {x: -0, y: -0, z: 1, w: 0} + m_LocalPosition: {x: 0, y: -1.7639999, z: 0} + m_LocalScale: {x: 1, y: 5, z: 1} + m_Children: [] + m_Father: {fileID: 1920429056} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} +--- !u!212 &1784744898 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1784744896} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 20 + m_Sprite: {fileID: 21300000, guid: 607b03c5535a1194e8fd3cf01db5732c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.67} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &1852056575 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1852056576} + - component: {fileID: 1852056577} + - component: {fileID: 1852056578} + m_Layer: 0 + m_Name: Rock (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1852056576 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1852056575} + m_LocalRotation: {x: 0, y: -0, z: 0.9048272, w: -0.4257791} + m_LocalPosition: {x: -1.38, y: 30, z: 0} + m_LocalScale: {x: 3, y: 3, z: 3} + m_Children: + - {fileID: 265967028} + - {fileID: 28772066} + m_Father: {fileID: 1873462614} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 230.4} +--- !u!114 &1852056577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1852056575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} +--- !u!50 &1852056578 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1852056575} + m_BodyType: 0 + m_Simulated: 0 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 10 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &1859211803 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1859211804} + - component: {fileID: 1859211805} + m_Layer: 0 + m_Name: Plant + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1859211804 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1859211803} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.78, y: -33.04, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 568020934} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1859211805 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1859211803} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 11 + m_Sprite: {fileID: 21300002, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.83, y: 1.15} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &1864898657 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1864898662} + - component: {fileID: 1864898661} + - component: {fileID: 1864898660} + - component: {fileID: 1864898659} + - component: {fileID: 1864898658} + - component: {fileID: 1864898664} + - component: {fileID: 1864898663} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!54 &1864898658 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1864898657} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &1864898659 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1864898657} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1864898660 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1864898657} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1864898661 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1864898657} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1864898662 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1864898657} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.7816916, y: -32.948902, z: 13.94} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1864898663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1864898657} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1668e20ecaba69547a8a160014c5640b, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!114 &1864898664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1864898657} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!1 &1873462613 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1873462614} + m_Layer: 0 + m_Name: Rocks + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1873462614 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1873462613} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.88, y: -27.13, z: -0.71} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1670885687} + - {fileID: 799013709} + - {fileID: 1852056576} + m_Father: {fileID: 568020934} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1878417690 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1878417691} + - component: {fileID: 1878417694} + - component: {fileID: 1878417693} + - component: {fileID: 1878417692} + m_Layer: 0 + m_Name: 2D_Box (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1878417691 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878417690} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.7115698, y: -0.3524996, z: -0.0002927184} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 535244363} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 40, z: 0} +--- !u!50 &1878417692 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878417690} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 7.5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!61 &1878417693 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878417690} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!212 &1878417694 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878417690} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &1879988821 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1879988822} + - component: {fileID: 1879988824} + - component: {fileID: 1879988823} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1879988822 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1879988821} + 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_Children: [] + m_Father: {fileID: 1371172405} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1879988823 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1879988821} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: OFF-ROAD +--- !u!222 &1879988824 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1879988821} +--- !u!1 &1881735588 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1881735589} + m_Layer: 0 + m_Name: CameraHolderA + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1881735589 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1881735588} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -5.07, y: -31.87, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 247223957} + m_Father: {fileID: 568020934} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1887022377 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1887022378} + - component: {fileID: 1887022379} + m_Layer: 0 + m_Name: Sky (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1887022378 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1887022377} + m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} + m_LocalPosition: {x: 0, y: 3.55, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2080184612} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} +--- !u!212 &1887022379 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1887022377} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 1ebe3e82ebb71d747b19e6cff408ccd6, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 7, y: 3.79} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &1920429055 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1920429056} + - component: {fileID: 1920429057} + - component: {fileID: 1920429058} + m_Layer: 0 + m_Name: Grass + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1920429056 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1920429055} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.327, y: -33.766, z: 0} + m_LocalScale: {x: 20, y: 1, z: 1} + m_Children: + - {fileID: 1784744897} + m_Father: {fileID: 568020934} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1920429057 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1920429055} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 20 + m_Sprite: {fileID: 21300000, guid: 607b03c5535a1194e8fd3cf01db5732c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.67} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!61 &1920429058 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1920429055} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0.049999997} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.67} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.67} + m_EdgeRadius: 0 +--- !u!1 &1935350168 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1935350169} + - component: {fileID: 1935350173} + - component: {fileID: 1935350170} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1935350169 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1935350168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1602987919} + m_Father: {fileID: 527900847} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1935350170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1935350168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 663365fdc7222f84fa76f2a79859e1f5, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 1 + _useDefaultCameraShaker: 1 + _cameraShaker: {fileID: 0} + _encapsulateChildren: 1 + _monitorEncapsulation: 0 + _positionalMultiplier: 3 + _rotationalMultiplier: 3 + _randomizeDirections: 1 +--- !u!223 &1935350173 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1935350168} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &1936726740 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1936726741} + - component: {fileID: 1936726744} + - component: {fileID: 1936726743} + - component: {fileID: 1936726742} + m_Layer: 0 + m_Name: 3D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1936726741 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1936726740} + 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_Children: + - {fileID: 2029650349} + m_Father: {fileID: 1482493863} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 201.1997, y: 75.16} + m_SizeDelta: {x: 108, y: 108} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1936726742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1936726740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1936726743} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_3D + m_Mode: 6 + 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_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1936726743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1936726740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.627451, g: 0.90179294, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 51b273c33666ad14fadcf48ba5eb8857, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1936726744 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1936726740} +--- !u!1 &1944082109 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1944082110} + m_Layer: 0 + m_Name: Crates + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1944082110 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1944082109} + m_LocalRotation: {x: -0, y: 0.356901, z: -0, w: 0.93414223} + m_LocalPosition: {x: -0.58, y: -31.866, z: 18.14} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1606416313} + - {fileID: 309982837} + - {fileID: 1646202037} + - {fileID: 534588708} + - {fileID: 1144012095} + - {fileID: 495747211} + m_Father: {fileID: 599052392} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 41.82, z: 0} +--- !u!1 &1950116287 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1950116288} + - component: {fileID: 1950116290} + - component: {fileID: 1950116289} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1950116288 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1950116287} + 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_Children: [] + m_Father: {fileID: 2122337455} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 9.6173, y: -13} + m_SizeDelta: {x: 462.83, y: 41.7} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1950116289 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1950116287} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Scale +--- !u!222 &1950116290 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1950116287} +--- !u!1 &2023423009 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2023423015} + - component: {fileID: 2023423014} + - component: {fileID: 2023423013} + - component: {fileID: 2023423012} + - component: {fileID: 2023423011} + - component: {fileID: 2023423010} + - component: {fileID: 2023423017} + - component: {fileID: 2023423016} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &2023423010 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2023423009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!54 &2023423011 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2023423009} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &2023423012 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2023423009} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &2023423013 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2023423009} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2023423014 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2023423009} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2023423015 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2023423009} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.42, y: -32.948902, z: 14.25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2023423016 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2023423009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 663365fdc7222f84fa76f2a79859e1f5, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _useDefaultCameraShaker: 1 + _cameraShaker: {fileID: 0} + _encapsulateChildren: 0 + _monitorEncapsulation: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _randomizeDirections: 1 +--- !u!114 &2023423017 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2023423009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d9d4107aad3b3544da23b3f86c3f2d0f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 1 + _rotationalMultiplier: 1 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!1 &2029650348 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2029650349} + - component: {fileID: 2029650351} + - component: {fileID: 2029650350} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2029650349 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029650348} + 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_Children: [] + m_Father: {fileID: 1936726741} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2029650350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029650348} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 3D +--- !u!222 &2029650351 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029650348} +--- !u!1 &2049199877 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2049199878} + - component: {fileID: 2049199880} + - component: {fileID: 2049199879} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2049199878 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2049199877} + 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_Children: [] + m_Father: {fileID: 682942136} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2049199879 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2049199877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Change Camera +--- !u!222 &2049199880 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2049199877} +--- !u!1 &2052957735 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2052957736} + - component: {fileID: 2052957737} + - component: {fileID: 2052957740} + - component: {fileID: 2052957739} + - component: {fileID: 2052957738} + - component: {fileID: 2052957741} + m_Layer: 0 + m_Name: Crate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2052957736 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2052957735} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.95, y: -1.25, z: -2.13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 276671440} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2052957737 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2052957735} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!114 &2052957738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2052957735} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2052957739 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2052957735} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakerType: 0 + _positionalMultiplier: 4 + _rotationalMultiplier: 0.7 + _requireInView: 1 + _includeChildren: 0 + _ignoreSelf: 0 + _includeInactive: 0 + _localizeShake: 0 + _randomizeDirections: 1 +--- !u!61 &2052957740 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2052957735} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!50 &2052957741 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2052957735} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 7.5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &2078751227 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2078751228} + - component: {fileID: 2078751229} + m_Layer: 0 + m_Name: Wall (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2078751228 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2078751227} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -22.54, y: -6.18, z: 14.35} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1234856483} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!65 &2078751229 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2078751227} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 40, y: 10, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &2080184611 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2080184612} + - component: {fileID: 2080184613} + m_Layer: 0 + m_Name: Sky + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2080184612 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080184611} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.33, y: -31.55, z: 0} + m_LocalScale: {x: 2, y: 1, z: 1} + m_Children: + - {fileID: 1887022378} + m_Father: {fileID: 568020934} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2080184613 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080184611} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 1ebe3e82ebb71d747b19e6cff408ccd6, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 7, y: 3.79} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!1 &2089370532 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2089370533} + - component: {fileID: 2089370534} + m_Layer: 0 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2089370533 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2089370532} + 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_Children: + - {fileID: 2122838072} + m_Father: {fileID: 2111246645} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2089370534 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2089370532} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + toggleTransition: 1 + graphic: {fileID: 2122838073} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1482493867} + m_MethodName: OnClick_ShakeCanvas + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 2089370534} + m_ObjectArgumentAssemblyTypeName: UnityEngine.UI.Toggle, UnityEngine.UI + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &2111246644 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2111246645} + m_Layer: 0 + m_Name: ShakeCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2111246645 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111246644} + 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_Children: + - {fileID: 1007700170} + - {fileID: 1069090208} + - {fileID: 2089370533} + m_Father: {fileID: 1482493863} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -148.22021, y: 272} + m_SizeDelta: {x: 273.76, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2122337454 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2122337455} + - component: {fileID: 2122337456} + m_Layer: 0 + m_Name: Scale + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2122337455 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122337454} + 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_Children: + - {fileID: 1164072977} + - {fileID: 1950116288} + - {fileID: 1172435642} + - {fileID: 730196187} + m_Father: {fileID: 1482493863} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -245.7998, y: 173.09} + m_SizeDelta: {x: 475.6, y: 63.19} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2122337456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122337454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + 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_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_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 467603463} + m_FillRect: {fileID: 1696226044} + m_HandleRect: {fileID: 467603462} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 2 + m_WholeNumbers: 0 + m_Value: 1 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1 &2122838071 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2122838072} + - component: {fileID: 2122838074} + - component: {fileID: 2122838073} + m_Layer: 0 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2122838072 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122838071} + 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_Children: + - {fileID: 652956619} + m_Father: {fileID: 2089370533} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 51.69, y: -0.56} + m_SizeDelta: {x: 86.46, y: 70.68} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2122838073 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122838071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2122838074 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122838071} +--- !u!1 &2134808387 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2134808388} + - component: {fileID: 2134808389} + m_Layer: 0 + m_Name: Wall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2134808388 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2134808387} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.38, y: -6.18, z: 34.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1234856483} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2134808389 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2134808387} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 40, y: 10, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &454519727144207886 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1543760693654283098} + - component: {fileID: 1157166917956714146} + m_Layer: 0 + m_Name: GameObject (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &867294834682390100 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 6669295761026968164} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 5, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!65 &1157166917956714146 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 454519727144207886} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 4, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!4 &1543760693654283098 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 454519727144207886} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.77, y: 2.05, z: 2.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1746547386120130223} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1584767530643276761 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 6669295761026968164} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.29, y: 2.59, z: -2.62} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1746547386120130223} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1746547386120130223 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 6232428967364402820} + 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_Children: + - {fileID: 7433199686252774918} + - {fileID: 2306634504201556465} + - {fileID: 1584767530643276761} + - {fileID: 7386749650532468380} + - {fileID: 1543760693654283098} + m_Father: {fileID: 5780706965776490689} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1946268289620709384 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4219082636322561904} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 9, y: 0.25, z: 9} + m_Center: {x: 0, y: 0, z: 0} +--- !u!4 &2306634504201556465 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 3184980304137292853} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.1, y: 2.59, z: -2.62} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1746547386120130223} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3184980304137292853 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2306634504201556465} + - component: {fileID: 7815160714749206057} + m_Layer: 0 + m_Name: GameObject (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &4219082636322561904 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 7433199686252774918} + - component: {fileID: 1946268289620709384} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &4970748440826648071 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 8026404565450401062} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 4, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &5780706965773590757 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 5780706965776530661} + m_Mesh: {fileID: 4300000, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} +--- !u!33 &5780706965773590759 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 5780706965776530663} + m_Mesh: {fileID: 4300002, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} +--- !u!23 &5780706965774590501 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 5780706965776530661} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &5780706965774590503 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 5780706965776530663} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100002, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!4 &5780706965776490689 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 5780706965776530657} + m_LocalRotation: {x: -0, y: 0.9997524, z: -0, w: 0.022251181} + m_LocalPosition: {x: -6.06, y: -33.74, z: 16.44} + m_LocalScale: {x: 0.29999995, y: 0.65, z: 0.49999988} + m_Children: + - {fileID: 5780706965776490693} + - {fileID: 5780706965776490695} + - {fileID: 1746547386120130223} + m_Father: {fileID: 599052392} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 177.45, z: 0} +--- !u!4 &5780706965776490693 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 5780706965776530661} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000000029802322, y: -0.6471027, z: 0.000000014901161} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5780706965776490689} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &5780706965776490695 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 5780706965776530663} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000000029802322, y: -0.6471027, z: 0.000000014901161} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5780706965776490689} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5780706965776530657 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 5780706965776490689} + m_Layer: 0 + m_Name: Tent_00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &5780706965776530661 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 5780706965776490693} + - component: {fileID: 5780706965773590757} + - component: {fileID: 5780706965774590501} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &5780706965776530663 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 5780706965776490695} + - component: {fileID: 5780706965773590759} + - component: {fileID: 5780706965774590503} + m_Layer: 0 + m_Name: Cube.001 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6232428967364402820 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1746547386120130223} + m_Layer: 0 + m_Name: Colliders + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6669295761026968164 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1584767530643276761} + - component: {fileID: 867294834682390100} + m_Layer: 0 + m_Name: GameObject (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &7065430076145476618 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 7065430076145580074} + - component: {fileID: 7065430076148480010} + - component: {fileID: 7065430076147481290} + m_Layer: 0 + m_Name: Plant_00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &7065430076145580074 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 7065430076145476618} + m_LocalRotation: {x: -0, y: -0.19217944, z: -0, w: 0.98135984} + m_LocalPosition: {x: -6.93, y: -33.78, z: 13.39} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: + - {fileID: 1003196926} + m_Father: {fileID: 599052392} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: -22.16, z: 0} +--- !u!23 &7065430076147481290 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 7065430076145476618} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 4e561f465385cbe4db4c50851a3f0fa7, type: 3} + - {fileID: 2100002, guid: 4e561f465385cbe4db4c50851a3f0fa7, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &7065430076148480010 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 7065430076145476618} + m_Mesh: {fileID: 4300000, guid: 4e561f465385cbe4db4c50851a3f0fa7, type: 3} +--- !u!4 &7386749650532468380 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 8026404565450401062} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.29, y: 2.05, z: 2.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1746547386120130223} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &7433199686252774918 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4219082636322561904} + m_LocalRotation: {x: 0.14375174, y: 0, z: 0, w: 0.98961383} + m_LocalPosition: {x: -0, y: 4.46, z: -0.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1746547386120130223} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 16.53, y: 0, z: 0} +--- !u!65 &7815160714749206057 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 3184980304137292853} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 5, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &8026404565450401062 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 7386749650532468380} + - component: {fileID: 4970748440826648071} + m_Layer: 0 + m_Name: GameObject (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Demo.unity.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Demo.unity.meta new file mode 100644 index 00000000..eaccea67 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Demo.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: a1ace412602edd84eb6e7fabd521448e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Demo.unity + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials.meta new file mode 100644 index 00000000..69e2d51c --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b82d86293141a04a8586c7de0025fd7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Box_00.mat b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Box_00.mat new file mode 100644 index 00000000..59313b99 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Box_00.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Box_00 + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: c4a719c5202f2fe4386a44ae66246320, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Box_00.mat.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Box_00.mat.meta new file mode 100644 index 00000000..562412d7 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Box_00.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 03b849fd35325f0408075f45ca07b697 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Box_00.mat + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Green.mat b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Green.mat new file mode 100644 index 00000000..f20211ee --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Green.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Green + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.25591847, g: 0.6698113, b: 0.43853125, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Green.mat.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Green.mat.meta new file mode 100644 index 00000000..6a9c93f4 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Green.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: d8c78a8f28328f642add238f387a323c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Green.mat + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Rock_00.mat b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Rock_00.mat new file mode 100644 index 00000000..c8fc0f2b --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Rock_00.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Rock_00 + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 071a0df25fa7f034289d32d2b3c8f90b, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.5471698, g: 0.5471698, b: 0.5471698, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Rock_00.mat.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Rock_00.mat.meta new file mode 100644 index 00000000..785591c5 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Rock_00.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: c2dd870f2e2d4af44a65cc7f311c3914 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Materials/Rock_00.mat + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models.meta new file mode 100644 index 00000000..21d28a5e --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 857b5c5d76cc36c4a91447df4929ea76 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Box_00.fbx b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Box_00.fbx new file mode 100644 index 00000000..e7d5532e Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Box_00.fbx differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Box_00.fbx.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Box_00.fbx.meta new file mode 100644 index 00000000..e71b6a03 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Box_00.fbx.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 0b7b3aef80260e449a6926672c9aa717 +ModelImporter: + serializedVersion: 23 + fileIDToRecycleName: + 100000: //RootNode + 100002: Area + 100004: Area.001 + 100006: box + 100008: Camera + 400000: //RootNode + 400002: Area + 400004: Area.001 + 400006: box + 400008: Camera + 2000000: Camera + 2100000: crate + 2300000: //RootNode + 2300002: box + 3300000: //RootNode + 3300002: box + 4300000: box + 10800000: Area + 10800002: Area.001 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + previousCalculatedGlobalScale: 1 + hasPreviousCalculatedGlobalScale: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Box_00.fbx + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_00.fbx b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_00.fbx new file mode 100644 index 00000000..f7a9b176 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_00.fbx differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_00.fbx.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_00.fbx.meta new file mode 100644 index 00000000..ccabb554 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_00.fbx.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 4e561f465385cbe4db4c50851a3f0fa7 +ModelImporter: + serializedVersion: 23 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Material.002 + 2100002: Material.001 + 2300000: //RootNode + 3300000: //RootNode + 4300000: plant + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + previousCalculatedGlobalScale: 1 + hasPreviousCalculatedGlobalScale: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_00.fbx + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_Rigged_00.fbx b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_Rigged_00.fbx new file mode 100644 index 00000000..7bc879ed Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_Rigged_00.fbx differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_Rigged_00.fbx.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_Rigged_00.fbx.meta new file mode 100644 index 00000000..a191f68b --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_Rigged_00.fbx.meta @@ -0,0 +1,125 @@ +fileFormatVersion: 2 +guid: de4cf409bd3d2dd448331b14b0994fa2 +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: Armature + 100002: Bone + 100004: Bone.001 + 100006: Bone.001_end + 100008: Bone.002 + 100010: Bone.002_end + 100012: Bone.003 + 100014: Bone.003_end + 100016: Bone.004 + 100018: Bone.004_end + 100020: Bone.005 + 100022: Bone.005_end + 100024: plant + 100026: //RootNode + 400000: Armature + 400002: Bone + 400004: Bone.001 + 400006: Bone.001_end + 400008: Bone.002 + 400010: Bone.002_end + 400012: Bone.003 + 400014: Bone.003_end + 400016: Bone.004 + 400018: Bone.004_end + 400020: Bone.005 + 400022: Bone.005_end + 400024: plant + 400026: //RootNode + 2100000: Material.002 + 2100002: Material.001 + 4300000: plant + 9500000: //RootNode + 13700000: plant + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 2 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Plant_Rigged_00.fbx + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Rock_00.fbx b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Rock_00.fbx new file mode 100644 index 00000000..5145de66 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Rock_00.fbx differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Rock_00.fbx.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Rock_00.fbx.meta new file mode 100644 index 00000000..dd9b1cf4 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Rock_00.fbx.meta @@ -0,0 +1,119 @@ +fileFormatVersion: 2 +guid: c2075e0f9ff03bc4ba16756e24147cd0 +ModelImporter: + serializedVersion: 23 + fileIDToRecycleName: + 100000: Cube + 100002: rock1 + 100004: rock1.001 + 100006: //RootNode + 400000: Cube + 400002: rock1 + 400004: rock1.001 + 400006: //RootNode + 2100000: No Name + 2300000: Cube + 2300002: rock1 + 2300004: rock1.001 + 2300006: //RootNode + 3300000: Cube + 3300002: rock1 + 3300004: rock1.001 + 3300006: //RootNode + 4300000: Cube + 4300002: rock1 + 4300004: rock1.001 + 2186277476908879412: ImportLogs + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + previousCalculatedGlobalScale: 1 + hasPreviousCalculatedGlobalScale: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Rock_00.fbx + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Tent_00.fbx b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Tent_00.fbx new file mode 100644 index 00000000..e2c9d5a6 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Tent_00.fbx differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Tent_00.fbx.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Tent_00.fbx.meta new file mode 100644 index 00000000..dfe0f7b0 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Tent_00.fbx.meta @@ -0,0 +1,112 @@ +fileFormatVersion: 2 +guid: 96bbfaed20474fc41b1b57731310caf4 +ModelImporter: + serializedVersion: 23 + fileIDToRecycleName: + 100000: Cube + 100002: Cube.001 + 100004: //RootNode + 400000: Cube + 400002: Cube.001 + 400004: //RootNode + 2100000: Material.002 + 2100002: Material.001 + 2300000: Cube + 2300002: Cube.001 + 3300000: Cube + 3300002: Cube.001 + 4300000: Cube + 4300002: Cube.001 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + previousCalculatedGlobalScale: 1 + hasPreviousCalculatedGlobalScale: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Models/Tent_00.fbx + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs.meta new file mode 100644 index 00000000..c224df42 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 925ee75452ecf0a44a3d0d42cadd5715 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D.meta new file mode 100644 index 00000000..a6b420a4 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e5ced5e2a08a4d34fbaf4213cf141c66 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Crate.prefab b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Crate.prefab new file mode 100644 index 00000000..c9d302ee --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Crate.prefab @@ -0,0 +1,159 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1559319329555182539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1559319329555182532} + - component: {fileID: 1559319329555182533} + - component: {fileID: 1559319329555182528} + - component: {fileID: 1559319329555182535} + - component: {fileID: 1559319329555182534} + - component: {fileID: 1559319329555182529} + m_Layer: 0 + m_Name: Crate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1559319329555182532 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1559319329555182539} + m_LocalRotation: {x: -0, y: -0.356901, z: -0, w: 0.93414223} + m_LocalPosition: {x: -0.47, y: -1.25, z: -3.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1559319329555182533 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1559319329555182539} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300004, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.67, y: 0.63} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!61 &1559319329555182528 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1559319329555182539} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.67, y: 0.67} + newSize: {x: 0.67, y: 0.63} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.67, y: 0.63} + m_EdgeRadius: 0 +--- !u!114 &1559319329555182535 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1559319329555182539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58b3fda749163f142b26ea94be1da637, type: 3} + m_Name: + m_EditorClassIdentifier: + _positionMultiplier: 0.75 + _rotationMultiplier: 0.6 + _requireInView: 1 +--- !u!114 &1559319329555182534 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1559319329555182539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!50 &1559319329555182529 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1559319329555182539} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Crate.prefab.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Crate.prefab.meta new file mode 100644 index 00000000..336f7f9b --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Crate.prefab.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 8376ac1fa7e8b7348b08738a6bdf4bea +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Crate.prefab + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Rock.prefab b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Rock.prefab new file mode 100644 index 00000000..14905018 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Rock.prefab @@ -0,0 +1,188 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7609922555388080146 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7609922555388080147} + - component: {fileID: 7609922555388080157} + - component: {fileID: 7609922555388080159} + - component: {fileID: 7609922555388080158} + m_Layer: 0 + m_Name: Rock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7609922555388080147 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7609922555388080146} + m_LocalRotation: {x: 0, y: 0, z: 0.20816772, w: 0.97809315} + m_LocalPosition: {x: -0.64, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: + - {fileID: 7609922555596769879} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 24.03} +--- !u!212 &7609922555388080157 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7609922555388080146} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 14 + m_Sprite: {fileID: 21300000, guid: ace093f24bbfec5478e3194559d620de, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.28, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!50 &7609922555388080159 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7609922555388080146} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 10 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!114 &7609922555388080158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7609922555388080146} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} +--- !u!1 &7609922555596769878 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7609922555596769879} + - component: {fileID: 7609922555596769872} + m_Layer: 0 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7609922555596769879 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7609922555596769878} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.9, y: 0.9, z: 1} + m_Children: [] + m_Father: {fileID: 7609922555388080147} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!60 &7609922555596769872 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7609922555596769878} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.28, y: 1.28} + newSize: {x: 1.28, y: 1.28} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 0.61, y: 0.22999999} + - {x: 0.58, y: 0.26} + - {x: 0.51, y: 0.35999998} + - {x: 0.45999998, y: 0.44} + - {x: 0.21, y: 0.64} + - {x: -0.35999998, y: 0.64} + - {x: -0.56, y: 0.59999996} + - {x: -0.61, y: 0.53} + - {x: -0.64, y: 0.35} + - {x: -0.64, y: -0.22999999} + - {x: -0.19, y: -0.64} + - {x: 0.51, y: -0.64} + - {x: 0.64, y: -0.59999996} + - {x: 0.64, y: 0.17999999} diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Rock.prefab.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Rock.prefab.meta new file mode 100644 index 00000000..a672a356 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Rock.prefab.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 75e00c64f4be39d49899e6f64917a753 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/2D/Rock.prefab + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D.meta new file mode 100644 index 00000000..63afb8f2 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 947e54b905fe768488070965b856b4a0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Box_00.prefab b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Box_00.prefab new file mode 100644 index 00000000..9f600fb7 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Box_00.prefab @@ -0,0 +1,139 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8230252366219629135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8230252366219267695} + - component: {fileID: 8230252366220561999} + - component: {fileID: 8230252366221560975} + - component: {fileID: 8230252366219629133} + - component: {fileID: 8230252366219629132} + - component: {fileID: 8230252366219629131} + - component: {fileID: 8230252366219629130} + m_Layer: 0 + m_Name: Box_00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8230252366219267695 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8230252366219629135} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8230252366220561999 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8230252366219629135} + m_Mesh: {fileID: 4300000, guid: 0b7b3aef80260e449a6926672c9aa717, type: 3} +--- !u!23 &8230252366221560975 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8230252366219629135} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 03b849fd35325f0408075f45ca07b697, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!54 &8230252366219629133 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8230252366219629135} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &8230252366219629132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8230252366219629135} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _positionMultiplier: 1 + _rotationMultiplier: 1 + _requireInView: 1 +--- !u!114 &8230252366219629131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8230252366219629135} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 317f9e79939b5214b9f9647aec30130c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!65 &8230252366219629130 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8230252366219629135} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.1836193, y: 2.1836195, z: 2.1798067} + m_Center: {x: 0, y: 1.0918021, z: -0.0000019073484} diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Box_00.prefab.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Box_00.prefab.meta new file mode 100644 index 00000000..57101b02 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Box_00.prefab.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: a1b80e217faa7604993ffbb5b8eff177 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Box_00.prefab + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_00.prefab b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_00.prefab new file mode 100644 index 00000000..ba3996cf --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_00.prefab @@ -0,0 +1,202 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2103868798883616046 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2103868798883616045} + - component: {fileID: 2103868798883616044} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2103868798883616045 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2103868798883616046} + m_LocalRotation: {x: 0, y: 0, z: -0.113723405, w: 0.99351245} + m_LocalPosition: {x: 0.23, y: 1.32, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2103868800387291025} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -13.06} +--- !u!136 &2103868798883616044 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2103868798883616046} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.75 + m_Height: 3 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &2103868800033915257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2103868800033915256} + - component: {fileID: 2103868800033915255} + m_Layer: 0 + m_Name: GameObject (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2103868800033915256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2103868800033915257} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.31, y: 2.89, z: -0.78} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2103868800387291025} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2103868800033915255 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2103868800033915257} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 5, y: 0.5, z: 5} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &2103868800387291026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2103868800387291025} + m_Layer: 0 + m_Name: Colliders + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2103868800387291025 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2103868800387291026} + 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_Children: + - {fileID: 2103868798883616045} + - {fileID: 2103868800033915256} + m_Father: {fileID: 9169050384047783493} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9169050384047809125 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9169050384047783493} + - component: {fileID: 9169050384049110629} + - component: {fileID: 9169050384050076837} + m_Layer: 0 + m_Name: Plant_00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9169050384047783493 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9169050384047809125} + 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_Children: + - {fileID: 2103868800387291025} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &9169050384049110629 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9169050384047809125} + m_Mesh: {fileID: 4300000, guid: 4e561f465385cbe4db4c50851a3f0fa7, type: 3} +--- !u!23 &9169050384050076837 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9169050384047809125} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4e561f465385cbe4db4c50851a3f0fa7, type: 3} + - {fileID: 2100002, guid: 4e561f465385cbe4db4c50851a3f0fa7, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_00.prefab.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_00.prefab.meta new file mode 100644 index 00000000..5f3a763d --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_00.prefab.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 91286df337ecfe24e822269527e69ba7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_00.prefab + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_Rigged_00.prefab b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_Rigged_00.prefab new file mode 100644 index 00000000..2a75e074 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_Rigged_00.prefab @@ -0,0 +1,801 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1895656635507758} + m_IsPrefabParent: 1 +--- !u!1 &1013518845757228 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4626185539506982} + m_Layer: 0 + m_Name: Bone.001_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1100369342134988 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4117940696219736} + m_Layer: 0 + m_Name: Bone.002_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1174525772201796 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4573209112020694} + m_Layer: 0 + m_Name: Bone.004_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1319713429091798 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4337566040806538} + - component: {fileID: 54847200778635264} + m_Layer: 0 + m_Name: HingeTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1341789945422318 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4110875914404350} + - component: {fileID: 54124310887512172} + - component: {fileID: 59879517047240724} + m_Layer: 0 + m_Name: Bone.004 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1458052853556238 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4492305217144936} + m_Layer: 0 + m_Name: Bone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1524236116513698 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4410869341281168} + m_Layer: 0 + m_Name: Bone.005_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1536308433582276 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4397872704742768} + - component: {fileID: 54739078757934288} + - component: {fileID: 59305948372057196} + m_Layer: 0 + m_Name: Bone.005 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1580316250580798 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4957642066743350} + - component: {fileID: 54099504244426016} + - component: {fileID: 59341562785616752} + m_Layer: 0 + m_Name: Bone.002 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1584624691702198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4255502493259674} + m_Layer: 0 + m_Name: Armature + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1638414858883226 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4947197597797156} + - component: {fileID: 54124062687080982} + - component: {fileID: 59972005539826592} + m_Layer: 0 + m_Name: Bone.003 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1815598762614754 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4713533142050562} + - component: {fileID: 137308085883534716} + - component: {fileID: 65895162045860104} + m_Layer: 0 + m_Name: plant + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1849801863884580 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4116679528967140} + - component: {fileID: 54330613743818828} + - component: {fileID: 59638853285261044} + m_Layer: 0 + m_Name: Bone.001 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1895656635507758 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4252170578404524} + - component: {fileID: 114134362235266950} + m_Layer: 0 + m_Name: Plant_Rigged_00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1998688019593524 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4993999476019840} + m_Layer: 0 + m_Name: Bone.003_end + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4110875914404350 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1341789945422318} + m_LocalRotation: {x: 0.75068474, y: 0.02446198, z: 0.23374179, w: 0.6174454} + m_LocalPosition: {x: -0.0032626053, y: 0.028448403, z: 0.0066653374} + m_LocalScale: {x: 1, y: 1.0000001, z: 1.0000001} + m_Children: + - {fileID: 4573209112020694} + m_Father: {fileID: 4492305217144936} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4116679528967140 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1849801863884580} + m_LocalRotation: {x: -0.3695272, y: -0.0066187694, z: -0.56961495, w: 0.7341286} + m_LocalPosition: {x: 0.007823182, y: 0.033429503, z: -0.002244788} + m_LocalScale: {x: 1, y: 1.0000001, z: 1} + m_Children: + - {fileID: 4626185539506982} + m_Father: {fileID: 4492305217144936} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -33.374, y: 29.503002, z: -84.642006} +--- !u!4 &4117940696219736 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1100369342134988} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.018834433, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4957642066743350} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4252170578404524 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1895656635507758} + 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_Children: + - {fileID: 4255502493259674} + - {fileID: 4713533142050562} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4255502493259674 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1584624691702198} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_Children: + - {fileID: 4492305217144936} + m_Father: {fileID: 4252170578404524} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4337566040806538 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1319713429091798} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.0012, y: 0.0248, z: 0.0051} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4492305217144936} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4397872704742768 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1536308433582276} + m_LocalRotation: {x: 0.34409988, y: 0.030886797, z: -0.58746344, w: 0.7317978} + m_LocalPosition: {x: 0.0060895495, y: 0.02603006, z: 0.0024284997} + m_LocalScale: {x: 1, y: 1, z: 1.0000001} + m_Children: + - {fileID: 4410869341281168} + m_Father: {fileID: 4492305217144936} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4410869341281168 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1524236116513698} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.018505335, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4397872704742768} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4492305217144936 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1458052853556238} + m_LocalRotation: {x: 0.6266867, y: 0.08071654, z: -0.07245433, w: 0.77168584} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1.0000001, y: 1, z: 1} + m_Children: + - {fileID: 4337566040806538} + - {fileID: 4116679528967140} + - {fileID: 4957642066743350} + - {fileID: 4947197597797156} + - {fileID: 4110875914404350} + - {fileID: 4397872704742768} + m_Father: {fileID: 4255502493259674} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4573209112020694 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1174525772201796} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.017064013, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4110875914404350} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4626185539506982 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1013518845757228} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.017967971, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4116679528967140} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4713533142050562 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1815598762614754} + m_LocalRotation: {x: 0.000000081460335, y: 0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4252170578404524} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4947197597797156 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1638414858883226} + m_LocalRotation: {x: -0.050327364, y: 0.079698145, z: 0.8282723, w: 0.55234087} + m_LocalPosition: {x: -0.010082979, y: 0.024798201, z: -0.0014264102} + m_LocalScale: {x: 1.0000002, y: 1.0000001, z: 1} + m_Children: + - {fileID: 4993999476019840} + m_Father: {fileID: 4492305217144936} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4957642066743350 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1580316250580798} + m_LocalRotation: {x: -0.52324283, y: 0.016005367, z: 0.3433307, w: 0.7797979} + m_LocalPosition: {x: -0.0068912604, y: 0.030272566, z: -0.0070868894} + m_LocalScale: {x: 0.99999994, y: 1, z: 1} + m_Children: + - {fileID: 4117940696219736} + m_Father: {fileID: 4492305217144936} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4993999476019840 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1998688019593524} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.017427837, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4947197597797156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &54099504244426016 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1580316250580798} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!54 &54124062687080982 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1638414858883226} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!54 &54124310887512172 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1341789945422318} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!54 &54330613743818828 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1849801863884580} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!54 &54739078757934288 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1536308433582276} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 1 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!54 &54847200778635264 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1319713429091798} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!59 &59305948372057196 +HingeJoint: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1536308433582276} + m_ConnectedBody: {fileID: 54847200778635264} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 0, y: 0, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: 0.007289551, y: 0.0012300517, z: -0.002671502} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!59 &59341562785616752 +HingeJoint: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1580316250580798} + m_ConnectedBody: {fileID: 54847200778635264} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 1, y: 1, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: -0.005691261, y: 0.005472565, z: -0.012186881} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!59 &59638853285261044 +HingeJoint: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1849801863884580} + m_ConnectedBody: {fileID: 54847200778635264} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 0, y: 1, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: 0.009023183, y: 0.008629495, z: -0.0073447875} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!59 &59879517047240724 +HingeJoint: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1341789945422318} + m_ConnectedBody: {fileID: 54847200778635264} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 1, y: 1, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: -0.002062604, y: 0.0036483966, z: 0.0015653358} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!59 &59972005539826592 +HingeJoint: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1638414858883226} + m_ConnectedBody: {fileID: 54847200778635264} + m_Anchor: {x: 0, y: 0, z: 0} + m_Axis: {x: 0, y: 1, z: 0} + m_AutoConfigureConnectedAnchor: 1 + m_ConnectedAnchor: {x: -0.008882978, y: -0.0000018049031, z: -0.006526412} + m_UseSpring: 1 + m_Spring: + spring: 15 + damper: 1 + targetPosition: 0 + m_UseMotor: 0 + m_Motor: + targetVelocity: 0 + force: 0 + freeSpin: 0 + m_UseLimits: 1 + m_Limits: + min: 0 + max: 37 + bounciness: 1 + bounceMinVelocity: 0.1 + contactDistance: 1 + m_BreakForce: Infinity + m_BreakTorque: Infinity + m_EnableCollision: 0 + m_EnablePreprocessing: 1 + m_MassScale: 1 + m_ConnectedMassScale: 1 +--- !u!65 &65895162045860104 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1815598762614754} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2, y: 3, z: 2} + m_Center: {x: 0, y: 1.5, z: 0} +--- !u!114 &114134362235266950 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1895656635507758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5901f943dff13b94693d37f9edb0beb8, type: 3} + m_Name: + m_EditorClassIdentifier: + _positionMultiplier: 1 + _rotationMultiplier: 1 + _requireInView: 0 + _includeChildren: 1 +--- !u!137 &137308085883534716 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1815598762614754} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: de4cf409bd3d2dd448331b14b0994fa2, type: 3} + - {fileID: 2100002, guid: de4cf409bd3d2dd448331b14b0994fa2, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: de4cf409bd3d2dd448331b14b0994fa2, type: 3} + m_Bones: + - {fileID: 4492305217144936} + - {fileID: 4116679528967140} + - {fileID: 4957642066743350} + - {fileID: 4947197597797156} + - {fileID: 4110875914404350} + - {fileID: 4397872704742768} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4492305217144936} + m_AABB: + m_Center: {x: -0.00009130128, y: 0.023700738, z: -0.000492312} + m_Extent: {x: 0.030637199, y: 0.026565446, z: 0.031100761} + m_DirtyAABB: 0 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_Rigged_00.prefab.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_Rigged_00.prefab.meta new file mode 100644 index 00000000..40f90e2d --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_Rigged_00.prefab.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: c7c88767f3ac5c84a988ebb9e3ec3481 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Plant_Rigged_00.prefab + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Rock00.prefab b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Rock00.prefab new file mode 100644 index 00000000..aeee91b3 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Rock00.prefab @@ -0,0 +1,139 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &785427536581347301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 785427536581123013} + - component: {fileID: 785427536581347306} + - component: {fileID: 785427536578223077} + - component: {fileID: 785427536579352869} + - component: {fileID: 785427536581347307} + - component: {fileID: 785427536581347300} + - component: {fileID: 785427536581347305} + m_Layer: 0 + m_Name: Rock00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &785427536581123013 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785427536581347301} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &785427536581347306 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785427536581347301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} +--- !u!33 &785427536578223077 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785427536581347301} + m_Mesh: {fileID: 4300002, guid: c2075e0f9ff03bc4ba16756e24147cd0, type: 3} +--- !u!23 &785427536579352869 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785427536581347301} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c2dd870f2e2d4af44a65cc7f311c3914, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &785427536581347307 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785427536581347301} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 1 + m_CookingOptions: 14 + m_Mesh: {fileID: 4300002, guid: c2075e0f9ff03bc4ba16756e24147cd0, type: 3} +--- !u!54 &785427536581347300 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785427536581347301} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &785427536581347305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785427536581347301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f42fbf4b895a7e4bb2115de600da21f, type: 3} + m_Name: + m_EditorClassIdentifier: + _shakeData: {fileID: 11400000, guid: fd1250282c8f2e841ac602704e5efc0c, type: 2} diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Rock00.prefab.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Rock00.prefab.meta new file mode 100644 index 00000000..fc81236d --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Rock00.prefab.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: a652f4be15791ad48bf092047a354c37 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Rock00.prefab + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Tent_00.prefab b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Tent_00.prefab new file mode 100644 index 00000000..e9c7c991 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Tent_00.prefab @@ -0,0 +1,444 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &90429714602921593 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6693602138073732879} + - component: {fileID: 2364104652506087681} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6693602138073732879 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 90429714602921593} + m_LocalRotation: {x: 0.14375174, y: 0, z: 0, w: 0.98961383} + m_LocalPosition: {x: -0, y: 4.46, z: -0.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2589727623187373990} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 16.53, y: 0, z: 0} +--- !u!65 &2364104652506087681 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 90429714602921593} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 9, y: 0.25, z: 9} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1729143264741842236 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2003745357155893496} + - component: {fileID: 6321210365350547232} + m_Layer: 0 + m_Name: GameObject (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2003745357155893496 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729143264741842236} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.1, y: 2.59, z: -2.62} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2589727623187373990} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &6321210365350547232 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729143264741842236} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 5, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &4432302199323547399 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3359964866465182291} + - component: {fileID: 3153471070702333867} + m_Layer: 0 + m_Name: GameObject (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3359964866465182291 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4432302199323547399} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.77, y: 2.05, z: 2.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2589727623187373990} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &3153471070702333867 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4432302199323547399} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 4, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &6102360419424597039 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6723722231160035221} + - component: {fileID: 9167025689193793294} + m_Layer: 0 + m_Name: GameObject (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6723722231160035221 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6102360419424597039} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.29, y: 2.05, z: 2.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2589727623187373990} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &9167025689193793294 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6102360419424597039} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 4, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &7440629646117157741 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3328808532678709968} + - component: {fileID: 4018675536972494685} + m_Layer: 0 + m_Name: GameObject (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3328808532678709968 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7440629646117157741} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.29, y: 2.59, z: -2.62} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2589727623187373990} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &4018675536972494685 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7440629646117157741} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 5, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &7779201236161932776 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7779201236161638856} + m_Layer: 0 + m_Name: Tent_00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7779201236161638856 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7779201236161932776} + 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_Children: + - {fileID: 7779201236161638860} + - {fileID: 7779201236161638862} + - {fileID: 2589727623187373990} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7779201236161932780 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7779201236161638860} + - component: {fileID: 7779201236158771692} + - component: {fileID: 7779201236159738668} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7779201236161638860 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7779201236161932780} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000000029802322, y: -0.6471027, z: 0.000000014901161} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7779201236161638856} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7779201236158771692 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7779201236161932780} + m_Mesh: {fileID: 4300000, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} +--- !u!23 &7779201236159738668 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7779201236161932780} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &7779201236161932782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7779201236161638862} + - component: {fileID: 7779201236158771694} + - component: {fileID: 7779201236159738670} + m_Layer: 0 + m_Name: Cube.001 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7779201236161638862 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7779201236161932782} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000000029802322, y: -0.6471027, z: 0.000000014901161} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7779201236161638856} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7779201236158771694 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7779201236161932782} + m_Mesh: {fileID: 4300002, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} +--- !u!23 &7779201236159738670 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7779201236161932782} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100002, guid: 96bbfaed20474fc41b1b57731310caf4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &7904517780300779405 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2589727623187373990} + m_Layer: 0 + m_Name: Colliders + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2589727623187373990 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7904517780300779405} + 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_Children: + - {fileID: 6693602138073732879} + - {fileID: 2003745357155893496} + - {fileID: 3328808532678709968} + - {fileID: 6723722231160035221} + - {fileID: 3359964866465182291} + m_Father: {fileID: 7779201236161638856} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Tent_00.prefab.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Tent_00.prefab.meta new file mode 100644 index 00000000..0561aa88 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Tent_00.prefab.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 09ab028ffbee66c43878c74d018aa080 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Prefabs/3D/Tent_00.prefab + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData.meta new file mode 100644 index 00000000..64c5af57 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1cf6784d695536747b2444db3a442488 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/Earthquake.asset b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/Earthquake.asset new file mode 100644 index 00000000..3631eaeb --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/Earthquake.asset @@ -0,0 +1,64 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ba2a80b753f77d4d96ab2af3748cee8, type: 3} + m_Name: Earthquake + m_EditorClassIdentifier: + _scaledTime: 1 + _shakeCanvases: 1 + _shakeRigidbodies: 1 + _unlimitedDuration: 1 + _totalDuration: 1 + _fadeInDuration: 1 + _fadeOutDuration: 1 + _magnitude: 1 + _magnitudeNoise: 0.35 + _magnitudeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _roughness: 14 + _roughnessNoise: 0.3 + _roughnessCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _positionalInfluence: {x: 0.1, y: 0.1, z: 0} + _rotationalInfluence: {x: 0.35, y: 0.15, z: 0.35} + _randomSeed: 1 + _seed: 0 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/Earthquake.asset.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/Earthquake.asset.meta new file mode 100644 index 00000000..4847677c --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/Earthquake.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 3629d1d6b48ac3a47ba9e9bd7501a8c8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/Earthquake.asset + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/OffRoad.asset b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/OffRoad.asset new file mode 100644 index 00000000..3c5b42cc --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/OffRoad.asset @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ba2a80b753f77d4d96ab2af3748cee8, type: 3} + m_Name: OffRoad + m_EditorClassIdentifier: + _scaledTime: 1 + _shakeCameras: 1 + _shakeCanvases: 1 + _shakeObjects: 1 + _iterationPercent: 1 + _unlimitedDuration: 1 + _totalDuration: 1 + _fadeInDuration: 0.5 + _fadeOutDuration: 0.5 + _magnitude: 2 + _magnitudeNoise: 0 + _magnitudeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _roughness: 2.5 + _roughnessNoise: 0.3 + _roughnessCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _positionalInfluence: {x: 0.025, y: 0.4, z: 0} + _positionalInverts: 0 + _rotationalInfluence: {x: 0.3, y: 0, z: 0.3} + _rotationalInverts: 0 + _randomSeed: 1 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/OffRoad.asset.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/OffRoad.asset.meta new file mode 100644 index 00000000..27c46028 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/OffRoad.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e832a8ee5e2677040b890c07820306d7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/OffRoad.asset + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/RockImpact.asset b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/RockImpact.asset new file mode 100644 index 00000000..c8996429 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/RockImpact.asset @@ -0,0 +1,85 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ba2a80b753f77d4d96ab2af3748cee8, type: 3} + m_Name: RockImpact + m_EditorClassIdentifier: + _scaledTime: 1 + _shakeCameras: 1 + _shakeCanvases: 1 + _shakeObjects: 1 + _unlimitedDuration: 0 + _totalDuration: 0.65 + _fadeInDuration: 0 + _fadeOutDuration: 0 + _magnitude: 2 + _magnitudeNoise: 0 + _magnitudeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: -0.0118255615 + value: 0.68992233 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.12158468 + value: 0.50882876 + inSlope: 0.3773096 + outSlope: 0.3773096 + tangentMode: 0 + - serializedVersion: 2 + time: 0.24658784 + value: 0.80328476 + inSlope: -0.015097341 + outSlope: -0.015097341 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3582877 + value: 0.50703704 + inSlope: -2.650396 + outSlope: -2.650396 + tangentMode: 0 + - serializedVersion: 2 + time: 0.99487305 + value: 0.0028076172 + inSlope: 0.0633389 + outSlope: 0.0633389 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _roughness: 10 + _roughnessNoise: 0 + _roughnessCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _positionalInfluence: {x: 0.15, y: 0.35, z: 0.15} + _positionalInverts: 0 + _rotationalInfluence: {x: 0, y: 0, z: 0.5} + _rotationalInverts: 0 + _randomSeed: 1 + _seed: 1 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/RockImpact.asset.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/RockImpact.asset.meta new file mode 100644 index 00000000..7c0260b8 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/RockImpact.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: fd1250282c8f2e841ac602704e5efc0c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/ShakeData/RockImpact.asset + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures.meta new file mode 100644 index 00000000..f658e6e5 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 492bb6be5e80f2442a42b3c2758e138f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D.meta new file mode 100644 index 00000000..8c7f81a7 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aee481cf3664cc84baac07b01aa446bd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Grass.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Grass.png new file mode 100644 index 00000000..29e63d3e Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Grass.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Grass.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Grass.png.meta new file mode 100644 index 00000000..79f64b9d --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Grass.png.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 607b03c5535a1194e8fd3cf01db5732c +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 5} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 0 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 9674312fe99c40249a0ad64e5015995b + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Grass.png + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Plant.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Plant.png new file mode 100644 index 00000000..35b267be Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Plant.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Plant.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Plant.png.meta new file mode 100644 index 00000000..fe09d698 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Plant.png.meta @@ -0,0 +1,228 @@ +fileFormatVersion: 2 +guid: 1be801af75d973a4b9e1fdc6fda7ac8c +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Plant.png + uploadId: 376379 +TextureImporter: + internalIDToNameTable: + - first: + 213: 21300000 + second: LeftLeaf + - first: + 213: 21300002 + second: Base + - first: + 213: 21300004 + second: RightLeaf + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: LeftLeaf + rect: + serializedVersion: 2 + x: 38 + y: 83 + width: 90 + height: 40 + alignment: 9 + pivot: {x: 0.95225424, y: 0.65089834} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 02305410000000000800000000000000 + internalID: 21300000 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Base + rect: + serializedVersion: 2 + x: 165 + y: 41 + width: 61 + height: 79 + alignment: 9 + pivot: {x: 0.43815613, y: 0.94887656} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 22305410000000000800000000000000 + internalID: 21300002 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: RightLeaf + rect: + serializedVersion: 2 + x: 36 + y: 15 + width: 110 + height: 52 + alignment: 9 + pivot: {x: 0.06102132, y: 0.34039542} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 42305410000000000800000000000000 + internalID: 21300004 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + Base: 21300002 + LeftLeaf: 21300000 + RightLeaf: 21300004 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sky.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sky.png new file mode 100644 index 00000000..d9360f74 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sky.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sky.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sky.png.meta new file mode 100644 index 00000000..0893d510 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sky.png.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: 1ebe3e82ebb71d747b19e6cff408ccd6 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 0 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 73749b737329d7d4f8519e3316fee01f + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sky.png + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sprites.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sprites.png new file mode 100644 index 00000000..a23ce98c Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sprites.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sprites.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sprites.png.meta new file mode 100644 index 00000000..695340a3 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sprites.png.meta @@ -0,0 +1,241 @@ +fileFormatVersion: 2 +guid: ace093f24bbfec5478e3194559d620de +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/2D/Sprites.png + uploadId: 376379 +TextureImporter: + internalIDToNameTable: + - first: + 213: 21300000 + second: Rock + - first: + 213: 21300002 + second: Plant + - first: + 213: 21300004 + second: Crate + - first: + 213: 21300006 + second: Tent + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Rock + rect: + serializedVersion: 2 + x: 262 + y: 251 + width: 128 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 7f6767c5901f7c24898859d49df6b590 + internalID: 21300000 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Plant + rect: + serializedVersion: 2 + x: 420 + y: 264 + width: 183 + height: 115 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: e8c25b3d8a1dafd449fd13faded4e0b2 + internalID: 21300002 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Crate + rect: + serializedVersion: 2 + x: 633 + y: 312 + width: 67 + height: 67 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 177294b5233d6e24297215b5e6bf46be + internalID: 21300004 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: Tent + rect: + serializedVersion: 2 + x: 414 + y: 2 + width: 286 + height: 228 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: ba05e1e4260ee3a46a4ff4b53afde03f + internalID: 21300006 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 3f288a7cb1c8bac49af21cc2fabb0309 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + Crate: 21300004 + Plant: 21300002 + Rock: 21300000 + Tent: 21300006 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D.meta new file mode 100644 index 00000000..d13bd4be --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 755cc43a2b556d44da49b8d1f0b59298 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Box_00.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Box_00.png new file mode 100644 index 00000000..b3ecb504 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Box_00.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Box_00.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Box_00.png.meta new file mode 100644 index 00000000..f05d89f8 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Box_00.png.meta @@ -0,0 +1,107 @@ +fileFormatVersion: 2 +guid: c4a719c5202f2fe4386a44ae66246320 +TextureImporter: + fileIDToRecycleName: + 8900000: generatedCubemap + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 5 + cubemapConvolution: 2 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 0 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Box_00.png + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Rock_00.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Rock_00.png new file mode 100644 index 00000000..f69b6e23 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Rock_00.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Rock_00.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Rock_00.png.meta new file mode 100644 index 00000000..aa6f2b72 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Rock_00.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 071a0df25fa7f034289d32d2b3c8f90b +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/3D/Rock_00.png + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI.meta new file mode 100644 index 00000000..7c4db313 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c10aa86cceea72b46a38302b31ad2b71 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_2D.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_2D.png new file mode 100644 index 00000000..c99ea6f5 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_2D.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_2D.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_2D.png.meta new file mode 100644 index 00000000..04018d43 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_2D.png.meta @@ -0,0 +1,137 @@ +fileFormatVersion: 2 +guid: f5142557b23d4694399a0d662d97059d +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_2D.png + uploadId: 376379 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_3D.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_3D.png new file mode 100644 index 00000000..9da330c3 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_3D.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_3D.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_3D.png.meta new file mode 100644 index 00000000..4ba1ca3e --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_3D.png.meta @@ -0,0 +1,137 @@ +fileFormatVersion: 2 +guid: 51b273c33666ad14fadcf48ba5eb8857 +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_3D.png + uploadId: 376379 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_Button_White.png b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_Button_White.png new file mode 100644 index 00000000..995ac1ed Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_Button_White.png differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_Button_White.png.meta b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_Button_White.png.meta new file mode 100644 index 00000000..8a991a11 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_Button_White.png.meta @@ -0,0 +1,137 @@ +fileFormatVersion: 2 +guid: f496743e368965942a4bf94398c8c673 +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Demo/Textures/UI/LowPoly_Button_White.png + uploadId: 376379 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Documentation.pdf b/Assets/FirstGearGames/SmoothCameraShaker/Documentation.pdf new file mode 100644 index 00000000..01bcec72 Binary files /dev/null and b/Assets/FirstGearGames/SmoothCameraShaker/Documentation.pdf differ diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Documentation.pdf.meta b/Assets/FirstGearGames/SmoothCameraShaker/Documentation.pdf.meta new file mode 100644 index 00000000..49c3f8a6 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Documentation.pdf.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: af3f9d3883ab6df4c893a32f6d18a8e3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Documentation.pdf + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts.meta new file mode 100644 index 00000000..00168f68 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c0b3da18ad2e7d47aca9eba6f6a2b6c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/CameraShakerHandler.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/CameraShakerHandler.cs new file mode 100644 index 00000000..82fc938f --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/CameraShakerHandler.cs @@ -0,0 +1,700 @@ + +using FirstGearGames.Utilities.Objects; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace FirstGearGames.SmoothCameraShaker +{ + + public class CameraShakerHandler : MonoBehaviour + { + #region Public. + /// + /// Dispatched after the default Shaker is changed. + /// + public static event Action OnDefaultShakerChanged; + /// + /// Dispatched after the default Shaker is changed. Obsolete: use OnDefaultShakerChanged instead. + /// + [Obsolete("Obsolete: use OnDefaultShakerChanged instead.")] + public static event Action OnDefaultCameraShakerChanged + { + add { OnDefaultShakerChanged += value; } + remove { OnDefaultShakerChanged -= value; } + } + /// + /// Dispatched when shaking starts when previously stopped on all Shakers. + /// + public static event Action OnAllShakingStarted; + /// + /// Dispatched when shaking ends on all Shakers. + /// + public static event Action OnAllShakingEnded; + /// + /// Dispatched every update a shake occurs. This is the total values of InstantiatedShakers. + /// + public static event Action OnAllShakeUpdate; + /// + /// Dispatched every fixed update a shake occurs. Contains the shake values from last update of InstantiatedShakers. + /// + public static event Action OnAllShakeFixedUpdate; + /// + /// Dispatched when shaking starts on any Shaker. + /// + public static event Action OnShakingStarted; + /// + /// Dispatched when shaking ends on any Shaker. + /// + public static event Action OnShakingEnded; + /// + /// Dispatched every update a shake occurs on any Shaker. + /// + public static event Action OnShakeUpdate; + /// + /// Dispatched every fixed updated a shake occurs on any Shaker. Contains the shake values from last update. + /// + public static event Action OnShakeFixedUpdate; + /// + /// Dispatched after a Shaker is added to InstantiatedShakers. + /// + public static event Action OnShakerInstantiated; + /// + /// Dispatched after a Shaker is added to InstantiatedShakers. Obsolete: use OnShakerInstantiated instead. + /// + [Obsolete("Obsolete: use OnShakerInstantiated instead.")] + public static event Action OnCameraShakerInstantiated + { + add { OnShakerInstantiated += value; } + remove { OnShakerInstantiated -= value; } + } + /// + /// Dispatched after a Shaker is removed from InstantiatedShakers. + /// + public static event Action OnShakerDestroyed; + /// + /// Dispatched after a Shaker is removed from InstantiatedShakers. Obsolete: use OnShakerDestroyed instead. + /// + [Obsolete("Obsolete: use OnShakerDestroyed instead.")] + public static event Action OnCameraShakerDestroyed + { + add { OnShakerDestroyed += value; } + remove { OnShakerDestroyed -= value; } + } + /// + /// All instantiated Shaker scripts. + /// + public static List InstantiatedShakers = new List(); + /// + /// All instantiated Shaker scripts. Obsolete: use InstantiatedShakers instead. + /// + [Obsolete("Obsolete: use InstantiatedShakers instead.")] + public static List InstantiatedCameraShakers + { + get { return InstantiatedShakers; } + set { InstantiatedShakers = value; } + } + /// + /// + /// z + private CameraShaker _defaultCameraShaker; + /// + /// Current default Shaker. + /// + public static CameraShaker DefaultCameraShaker + { + get + { + if (_instance == null) + return null; + + return _instance._defaultCameraShaker; + } + private set + { + if (_instance == null) + return; + + _instance._defaultCameraShaker = value; + } + } + /// + /// True if any CameraShaker is currently shaking. + /// + public static bool Shaking { get { return (_instance._shaking.Count > 0); } } + #endregion + + #region Private. + /// + /// Collection of CameraShakers which are currently shaking. + /// + private List _shaking = new List(); + /// + /// Singleton instance of this script. + /// + private static CameraShakerHandler _instance; + #endregion + + private void Awake() + { + //Make sure there is only once instance. + if (_instance != null && _instance != this) + { + if (Debug.isDebugBuild) Debug.LogWarning("Multiple CameraShakerHandler scripts found. This script auto loads itself and does not need to be placed in your scenes."); + Destroy(this); + return; + } + } + + private void Update() + { + UpdateShakers(); + } + + private void FixedUpdate() + { + UpdateFixedShakers(); + } + + private void OnDestroy() + { + DisableAll(); + } + + /// + /// Initializes this script for use. Should only be completed once. + /// + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + private static void FirstInitialize() + { + DDOL ddol = DDOL.ReturnDDOL(); + + GameObject obj = new GameObject(); + obj.name = "CameraShakerHandler"; + _instance = obj.AddComponent(); + _instance.enabled = false; + + _instance.transform.SetParent(ddol.transform); + } + + /// + /// Disables activity on all camera shakers. + /// + private void DisableAll() + { + //Disable camera shakers. + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (InstantiatedShakers[i] != null) + InstantiatedShakers[i].Disable(); + } + } + + /// + /// Updates Shakers on standard time. + /// + private void UpdateShakers() + { + if (_shaking.Count == 0) + return; + + ShakeValues totalCamera = new ShakeValues(); + ShakeValues totalCanvases = new ShakeValues(); + ShakeValues totalRigidbodies = new ShakeValues(); + + //True if any shakers are running. + bool anyShaking = false; + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + ShakeValues camera; + ShakeValues canvases; + ShakeValues rigidbodies; + if (InstantiatedShakers[i].UpdateShakers(out camera, out canvases, out rigidbodies)) + { + anyShaking = true; + + totalCamera.Position += camera.Position; + totalCamera.Rotation += camera.Rotation; + totalCanvases.Position += canvases.Position; + totalCanvases.Rotation += canvases.Rotation; + totalRigidbodies.Position += rigidbodies.Position; + totalRigidbodies.Rotation += rigidbodies.Rotation; + } + } + + //If any where shaking. + if (anyShaking) + OnAllShakeUpdate?.Invoke(new ShakeUpdate(totalCamera, totalCanvases, totalRigidbodies)); + } + + /// + /// Updates Shakers on fixed time. + /// + private void UpdateFixedShakers() + { + /* Don't exit if total shaking is 0 + * as shaking may have stopped but still + * have a fixed shake queued. */ + ShakeValues totalCamera = new ShakeValues(); + ShakeValues totalCanvases = new ShakeValues(); + ShakeValues totalRigidbodies = new ShakeValues(); + + //True if any shakers are shaking a fixed value. + bool anyShaking = false; + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + ShakeValues camera; + ShakeValues canvases; + ShakeValues rigidbodies; + if (InstantiatedShakers[i].UpdateFixedShakers(out camera, out canvases, out rigidbodies)) + { + anyShaking = true; + + totalCamera.Position += camera.Position; + totalCamera.Rotation += camera.Rotation; + totalCanvases.Position += canvases.Position; + totalCanvases.Rotation += canvases.Rotation; + totalRigidbodies.Position += rigidbodies.Position; + totalRigidbodies.Rotation += rigidbodies.Rotation; + } + } + + if (anyShaking) + OnAllShakeFixedUpdate?.Invoke(new ShakeUpdate(totalCamera, totalCanvases, totalRigidbodies)); + } + + /// + /// Returns if an action can be run on the specified Shaker using an All method. + /// + /// + /// + /// + private static bool CanRunAllOn(CameraShaker shaker, bool includeDisabled) + { + if (shaker == null) + return false; + if (!shaker.gameObject.activeInHierarchy && !includeDisabled) + return false; + + return true; + } + + + #region Shaker referencing handling. + /// + /// Adds CameraShaker to shaking. This is for internal use only. + /// + /// + internal static void AddShaking(CameraShaker shaker) + { + int startCount = _instance._shaking.Count; + _instance._shaking.AddUnique(shaker); + + //Shaking just started. + if (startCount == 0 && _instance._shaking.Count > 0) + { + _instance.enabled = true; + OnAllShakingStarted?.Invoke(); + } + } + /// + /// Removes CameraShaker from shaking. This is for internal use only. + /// + /// + internal static void RemoveShaking(CameraShaker shaker) + { + int startCount = _instance._shaking.Count; + _instance._shaking.Remove(shaker); + + //Last shaker was removed. + if (startCount > 0 && _instance._shaking.Count == 0) + { + /* Since this is the last shaker being removed send + * zero values. This has to be done before update otherwise these + * values would send after the OnAllShakingEnded. */ + OnAllShakeUpdate?.Invoke(new ShakeUpdate()); + OnAllShakeFixedUpdate?.Invoke(new ShakeUpdate()); + + OnAllShakingEnded?.Invoke(); + _instance.enabled = false; + + } + } + /// + /// Adds a CameraShaker to the InstantiatedCameraShakers field. This is for internal use only. + /// + /// + internal static void AddInstantiatedShaker(CameraShaker value) + { + int index = InstantiatedShakers.IndexOf(value); + /* If shaker already exist then remove the current entry. + * It will then be added to the end. */ + if (index != -1) + InstantiatedShakers.RemoveAt(index); + //First time being added, subscribe to events. + else + ChangeShakerSubscriptions(value, true); + + InstantiatedShakers.Add(value); + OnShakerInstantiated?.Invoke(value); + } + + /// + /// Removes a CameraShaker from the InstantiatedCameraShakers field. This is for internal use only. + /// + /// + internal static void RemoveInstantiatedShaker(CameraShaker value) + { + ChangeShakerSubscriptions(value, false); + + InstantiatedShakers.Remove(value); + /* If value was the current default shaker then try to change value + * to the next most recently enabled shaker. This isn't ideal + * but can occur with user error. */ + if (value == DefaultCameraShaker && InstantiatedShakers.Count > 0) + SetFirstDefault(); + + OnShakerDestroyed?.Invoke(value); + } + + /// + /// Iterates through CameraShakers and sets the most recently active instance as default. + /// + private static void SetFirstDefault() + { + for (int i = (InstantiatedShakers.Count - 1); i >= 0; i--) + { + if (InstantiatedShakers[i] != null && InstantiatedShakers[i].gameObject.activeInHierarchy) + { + SetDefaultCameraShaker(InstantiatedShakers[i]); + return; + } + } + + //Fall through. Ideally won't happen but can depending on user setup. + SetDefaultCameraShaker(null); + } + #endregion + + #region Relaying CameraShaker events. + /// + /// Changes subscriptions to a camera shaker. + /// + /// + /// + private static void ChangeShakerSubscriptions(CameraShaker shaker, bool subscribe) + { + if (shaker == null) + return; + + if (subscribe) + { + shaker.OnShakingStarted += Shaker_OnShakingStarted; + shaker.OnShakingEnded += Shaker_OnShakingEnded; + shaker.OnShakeUpdate += Shaker_OnShakeUpdate; + shaker.OnShakeFixedUpdate += Shaker_OnFixedShakeUpdate; + } + else + { + shaker.OnShakingStarted -= Shaker_OnShakingStarted; + shaker.OnShakingEnded -= Shaker_OnShakingEnded; + shaker.OnShakeUpdate -= Shaker_OnShakeUpdate; + shaker.OnShakeFixedUpdate -= Shaker_OnFixedShakeUpdate; + } + } + + /// + /// Received when any instantiated CameraShaker stops shaking. + /// + /// + private static void Shaker_OnShakingEnded(CameraShaker obj) + { + OnShakingEnded?.Invoke(obj); + } + + /// + /// Received when any instantiated CameraShaker starts shaking. + /// + /// + private static void Shaker_OnShakingStarted(CameraShaker obj) + { + OnShakingStarted?.Invoke(obj); + } + + /// + /// Received when any instantiated CameraShaker calls OnShakeUpdate. + /// + /// + /// + private static void Shaker_OnShakeUpdate(CameraShaker arg1, ShakeUpdate arg2) + { + OnShakeUpdate?.Invoke(arg1, arg2); + } + /// + /// Received when any instantiated CameraShaker calls OnFixedShakeUpdate. + /// + /// + /// + private static void Shaker_OnFixedShakeUpdate(CameraShaker arg1, ShakeUpdate arg2) + { + OnShakeFixedUpdate?.Invoke(arg1, arg2); + } + #endregion + + + #region API. + /// + /// Copies ShakerInstances from one CameraShaker to another. + /// + /// CameraShaker copied from. + /// CameraShaker copied to. + /// True to copy the from cameras current offsets. Both CameraShakers must have the same ShakeTechnique for this to work. + public static void CopyShakerInstances(CameraShaker from, CameraShaker to, bool copyOffset = true) + { + //If neither shaker is null then add instances. + if (from != null && to != null) + { + to.AddShakerInstances(from.ShakerInstances); + + //Also copy offsets when possible. + if (copyOffset && from.ShakeTechnique == to.ShakeTechnique) + { + /* Use the to camera shake technique. Since they are the same + * it really doesn't matter which one I read. */ + CameraShaker.ShakeTechniques technique = to.ShakeTechnique; + + //Matrix. + if (technique == CameraShaker.ShakeTechniques.Matrix) + { + /* Cannot copy the matrix because camera view will remain as last cameras view. + * If fixed values are known for from camera then use those. */ + if (from.FixedCamera != null) + to.SetMatrixOffsets(from.FixedCamera.Position, from.FixedCamera.Rotation); + } + //LocalSpace. + else if (to.ShakeTechnique == CameraShaker.ShakeTechniques.LocalSpace) + { + to.SetLocalSpaceOffsets(from.transform.localPosition, from.transform.localEulerAngles); + } + } + } + } + + /// + /// Sets the DefaultCamereaShaker field. + /// + /// New CameraShaker to use as default. + public static void SetDefaultCameraShaker(CameraShaker value) + { + CameraShaker old = DefaultCameraShaker; + DefaultCameraShaker = value; + OnDefaultShakerChanged?.Invoke(new CameraShakerChange(old, value)); + } + + /// + /// Sets Scale value on the default CameraShaker. + /// + /// New scale to use. + public static void SetScale(float value) + { + if (DefaultCameraShaker == null) + return; + + DefaultCameraShaker.SetScale(value); + } + /// + /// Sets the Scale value of InstantiatedCameraShakers. + /// + /// New scale to use + /// True to issue call on disabled CameraShakers as well. + public static void SetScaleAll(float value, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].SetScale(value); + } + } + + /// + /// Shakes the default CameraShaker using data. + /// + /// ShakeData to use. + /// Instance generated using data. + public static ShakerInstance Shake(ShakeData data) + { + if (DefaultCameraShaker == null) + return null; + + return DefaultCameraShaker.Shake(data); + } + /// + /// Shakes the all camera shakers using data. + /// + /// ShakeData to use. + /// True to issue call on disabled CameraShakers as well. + /// Instances generated using data. + public static List ShakeAll(ShakeData data, bool includeDisabled = false) + { + List results = new List(); + + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + results.Add(InstantiatedShakers[i].Shake(data)); + } + + return results; + } + + + /// + /// Sets the paused state of all shaker instances on the default CameraShaker. + /// + /// New pause state. + public static void SetPaused(bool value) + { + if (DefaultCameraShaker == null) + return; + + DefaultCameraShaker.SetPaused(value); + } + /// + /// Sets the paused state of all shaker instances on the all CameraShakers. + /// + /// New pause state. + /// True to issue call on disabled CameraShakers as well. + public static void SetPausedAll(bool value, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].SetPaused(value); + } + } + + /// + /// Abruptly stops all instances on the default CameraShaker. + /// + public static void Stop() + { + if (DefaultCameraShaker == null) + return; + + DefaultCameraShaker.Stop(); + } + /// + /// Abruptly stops all instances on InstantiatedCameraShakers. + /// + /// True to issue call on disabled CameraShakers as well. + public static void StopAll(bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].Stop(); + } + } + + /// + /// Fades out all instances on the default CameraShaker. This operation only works on instances not already fading out. + /// + /// Overrides instance fade out duration with a new value. + public static void FadeOut(float? durationOverride = null) + { + if (DefaultCameraShaker == null) + return; + + DefaultCameraShaker.FadeOut(durationOverride); + } + /// + /// Fades out all instances on all CameraShakers. This operation only works on instances not already fading out. + /// + /// Overrides instance fade out duration with a new value. + /// True to issue call on disabled CameraShakers as well. + public static void FadeOutAll(float? durationOverride = null, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].FadeOut(durationOverride); + } + } + + + /// + /// Multiplies magnitude values for all instances on the defaut camera shaker. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using movdRate unmodified. + public void MultiplyMagnitude(float multiplier, float moveRate, bool rateUsesDistance) + { + if (DefaultCameraShaker == null) + return; + + DefaultCameraShaker.MultiplyMagnitude(multiplier, moveRate, rateUsesDistance); + } + /// + /// Multiplies magnitude values for all instances on all camera shakers. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using movdRate unmodified. + /// True to issue call on disabled CameraShakers as well. + public void MultiplyMagnitudeAll(float multiplier, float moveRate, bool rateUsesDistance, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].MultiplyMagnitude(multiplier, moveRate, rateUsesDistance); + } + } + + /// + /// Multiplies roughness values for all instances on the default camera shaker. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using movdRate unmodified. + public void MultiplyRoughness(float multiplier, float moveRate, bool rateUsesDistance) + { + if (DefaultCameraShaker == null) + return; + + DefaultCameraShaker.MultiplyRoughness(multiplier, moveRate, rateUsesDistance); + } + /// + /// Multiplies roughness values for all instances on all camera shakers. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using movdRate unmodified. + /// True to issue call on disabled CameraShakers as well. + public void MultiplyRoughnessAll(float multiplier, float moveRate, bool rateUsesDistance, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].MultiplyRoughness(multiplier, moveRate, rateUsesDistance); + } + } + #endregion + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/CameraShakerHandler.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/CameraShakerHandler.cs.meta new file mode 100644 index 00000000..ed995eed --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/CameraShakerHandler.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ada9c62fbc6a3314aba805f35565b3ff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/CameraShakerHandler.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/EventArgs.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/EventArgs.cs new file mode 100644 index 00000000..766f92f3 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/EventArgs.cs @@ -0,0 +1,73 @@ + +using UnityEngine; + +namespace FirstGearGames.SmoothCameraShaker +{ + public class ShakeUpdate + { + public ShakeUpdate() + { + Camera = new ShakeValues(); + Canvases = new ShakeValues(); + Objects = new ShakeValues(); + } + public ShakeUpdate(ShakeValues camera, ShakeValues canvases, ShakeValues objects) + { + Camera = camera; + Canvases = canvases; + Objects = objects; + } + /// + /// ShakeValues for the camera. + /// + public readonly ShakeValues Camera; + /// + /// ShakeValues for canvases. + /// + public readonly ShakeValues Canvases; + /// + /// ShakeValues for rigidbodies. + /// + public readonly ShakeValues Objects; + } + + public class ShakeValues + { + public ShakeValues() + { + Position = Vector3.zero; + Rotation = Vector3.zero; + } + public ShakeValues(Vector3 position, Vector3 rotation) + { + Position = position; + Rotation = rotation; + } + /// + /// Position value of the shake. + /// + public Vector3 Position; + /// + /// Rotation value of the shake. + /// + public Vector3 Rotation; + } + + public struct CameraShakerChange + { + public CameraShakerChange(CameraShaker oldShaker, CameraShaker newShaker) + { + OldShaker = oldShaker; + NewShaker = newShaker; + } + + /// + /// Old CameraShaker. + /// + public readonly CameraShaker OldShaker; + /// + /// New CameraShaker. + /// + public readonly CameraShaker NewShaker; + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/EventArgs.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/EventArgs.cs.meta new file mode 100644 index 00000000..573edf50 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/EventArgs.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 6d17ed76ee8f15541a502ccfc07aa5c8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/EventArgs.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/InvertibleAxes.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/InvertibleAxes.cs new file mode 100644 index 00000000..3ae08df0 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/InvertibleAxes.cs @@ -0,0 +1,10 @@ +namespace FirstGearGames.SmoothCameraShaker +{ + [System.Serializable, System.Flags] + public enum InvertibleAxes : int + { + X = 1, + Y = 2, + Z = 4 + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/InvertibleAxes.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/InvertibleAxes.cs.meta new file mode 100644 index 00000000..34aa3184 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/InvertibleAxes.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 50056176a8ca0c0439934482c81cdac6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/InvertibleAxes.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ObjectShakerHandler.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ObjectShakerHandler.cs new file mode 100644 index 00000000..fc059e96 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ObjectShakerHandler.cs @@ -0,0 +1,309 @@ + +using FirstGearGames.Utilities.Objects; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace FirstGearGames.SmoothCameraShaker +{ + + public class ObjectShakerHandler : MonoBehaviour + { + #region Public. + ///// + ///// Dispatched after a Shaker is added to InstantiatedShakers. + ///// + //public static event Action OnShakerInstantiated; + ///// + ///// Dispatched after a Shaker is removed from InstantiatedShakers. + ///// + //public static event Action OnShakerDestroyed; + /// + /// All instantiatedShaker scripts. + /// + public static List InstantiatedShakers = new List(); + #endregion + + #region Private. + /// + /// Collection of Shakers which are currently shaking. + /// + private List _shaking = new List(); + /// + /// Singleton instance of this script. + /// + private static ObjectShakerHandler _instance; + #endregion + + private void Awake() + { + //Make sure there is only once instance. + if (_instance != null && _instance != this) + { + if (Debug.isDebugBuild) Debug.LogWarning("Multiple ObjectShakerHandler scripts found. This script auto loads itself and does not need to be placed in your scenes."); + Destroy(this); + return; + } + } + + private void Update() + { + UpdateShakers(); + } + + private void FixedUpdate() + { + UpdateFixedShakers(); + } + + private void OnDestroy() + { + DisableAll(); + } + + /// + /// Initializes this script for use. Should only be completed once. + /// + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + private static void FirstInitialize() + { + DDOL ddol = DDOL.ReturnDDOL(); + + GameObject obj = new GameObject(); + obj.name = "ObjectShakerHandler"; + _instance = obj.AddComponent(); + _instance.enabled = false; + + _instance.transform.SetParent(ddol.transform); + } + + /// + /// Disables activity on all camera shakers. + /// + private void DisableAll() + { + //Disable camera shakers. + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (InstantiatedShakers[i] != null) + InstantiatedShakers[i].Disable(); + } + } + + /// + /// Updates Shakers on standard time. + /// + private void UpdateShakers() + { + if (_shaking.Count == 0) + return; + + for (int i = 0; i < InstantiatedShakers.Count; i++) + InstantiatedShakers[i].UpdateShakers(); + } + + /// + /// Updates Shakers on fixed time. + /// + private void UpdateFixedShakers() + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + InstantiatedShakers[i].UpdateFixedShakers(); + } + + /// + /// Returns if an action can be run on the specified Shaker using an All method. + /// + /// + /// + /// + private static bool CanRunAllOn(ObjectShaker shaker, bool includeDisabled) + { + if (shaker == null) + return false; + if (!shaker.gameObject.activeInHierarchy && !includeDisabled) + return false; + + return true; + } + + + #region Shaker referencing handling. + /// + /// Adds Shaker to shaking. This is for internal use only. + /// + /// + internal static void AddShaking(ObjectShaker shaker) + { + _instance._shaking.AddUnique(shaker); + _instance.enabled = (_instance._shaking.Count > 0); + } + /// + /// Removes Shaker from shaking. This is for internal use only. + /// + /// + internal static void RemoveShaking(ObjectShaker shaker) + { + _instance._shaking.Remove(shaker); + _instance.enabled = (_instance._shaking.Count > 0); + } + /// + /// Adds a Shaker to the InstantiatedShakers field. This is for internal use only. + /// + /// + internal static void AddInstantiatedShaker(ObjectShaker value) + { + InstantiatedShakers.AddUnique(value); + //OnShakerInstantiated?.Invoke(value); + } + + /// + /// Removes a Shaker from the InstantiatedShakers field. This is for internal use only. + /// + /// + internal static void RemoveInstantiatedShaker(ObjectShaker value) + { + InstantiatedShakers.Remove(value); + //OnShakerDestroyed?.Invoke(value); + } + #endregion + + #region API. + /// + /// Copies ShakerInstances from one CameraShaker to another. + /// + /// CameraShaker copied from. + /// CameraShaker copied to. + public static void CopyShakerInstances(ObjectShaker from, ObjectShaker to) + { + //If neither shaker is null then add instances. + if (from != null && to != null) + to.AddShakerInstances(from.ShakerInstances); + } + + /// + /// Sets the Scale value of InstantiatedCameraShakers. + /// + /// New scale to use + /// True to issue call on disabled CameraShakers as well. + public static void SetScaleAll(float value, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].SetScale(value); + } + } + + /// + /// Shakes the all camera shakers using data. + /// + /// ShakeData to use. + /// True to issue call on disabled CameraShakers as well. + /// Instances generated using data. + public static List ShakeAll(ShakeData data, bool includeDisabled = false) + { + List results = new List(); + + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + results.Add(InstantiatedShakers[i].Shake(data)); + } + + return results; + } + + + /// + /// Sets the paused state of all shaker instances on the all CameraShakers. + /// + /// New pause state. + /// True to issue call on disabled CameraShakers as well. + public static void SetPausedAll(bool value, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].SetPaused(value); + } + } + + /// + /// Abruptly stops all instances on InstantiatedCameraShakers. + /// + /// True to issue call on disabled CameraShakers as well. + public static void StopAll(bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].Stop(); + } + } + + + /// + /// Fades out all instances on all CameraShakers. This operation only works on instances not already fading out. + /// + /// Overrides instance fade out duration with a new value. + /// True to issue call on disabled CameraShakers as well. + public static void FadeOutAll(float? durationOverride = null, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].FadeOut(durationOverride); + } + } + + /// + /// Multiplies magnitude values for all instances on all camera shakers. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using movdRate unmodified. + /// True to issue call on disabled CameraShakers as well. + public void MultiplyMagnitudeAll(float multiplier, float moveRate, bool rateUsesDistance, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].MultiplyMagnitude(multiplier, moveRate, rateUsesDistance); + } + } + + /// + /// Multiplies roughness values for all instances on all camera shakers. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using movdRate unmodified. + /// True to issue call on disabled CameraShakers as well. + public void MultiplyRoughnessAll(float multiplier, float moveRate, bool rateUsesDistance, bool includeDisabled = false) + { + for (int i = 0; i < InstantiatedShakers.Count; i++) + { + if (!CanRunAllOn(InstantiatedShakers[i], includeDisabled)) + continue; + + InstantiatedShakers[i].MultiplyRoughness(multiplier, moveRate, rateUsesDistance); + } + } + #endregion + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ObjectShakerHandler.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ObjectShakerHandler.cs.meta new file mode 100644 index 00000000..0902f5a9 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ObjectShakerHandler.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 5645861d4fd767f48b7cb99e0ee87402 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/ObjectShakerHandler.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets.meta new file mode 100644 index 00000000..58f32112 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7c161b8b7cbfc549ae174d4c5988f3c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantCurvy.asset b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantCurvy.asset new file mode 100644 index 00000000..5344ea0f --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantCurvy.asset @@ -0,0 +1,82 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ba2a80b753f77d4d96ab2af3748cee8, type: 3} + m_Name: ConstantCurvy + m_EditorClassIdentifier: + _scaledTime: 1 + _shakeCanvases: 1 + _shakeRigidbodies: 1 + _unlimitedDuration: 1 + _totalDuration: 1 + _fadeInDuration: 1 + _fadeOutDuration: 1 + _magnitude: 0.5 + _magnitudeNoise: 0.1 + _magnitudeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0.014367644 + outSlope: 0.014367644 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.25 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + - serializedVersion: 2 + time: 1.5 + value: 0.25 + inSlope: 0.0036582947 + outSlope: 0.0036582947 + tangentMode: 34 + - serializedVersion: 2 + time: 2 + value: 1.0036583 + inSlope: -0.00000054336607 + outSlope: -0.00000054336607 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _roughness: 13 + _roughnessNoise: 0.3 + _roughnessCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + - serializedVersion: 2 + time: 2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _positionalInfluence: {x: 1, y: 1, z: 0} + _rotationalInfluence: {x: 0, y: 0.5, z: 2} + _randomSeed: 1 + _seed: 0 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantCurvy.asset.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantCurvy.asset.meta new file mode 100644 index 00000000..970d970a --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantCurvy.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 710c880799ac4264dab849dc626d5ac8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantCurvy.asset + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantFlat.asset b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantFlat.asset new file mode 100644 index 00000000..759ce87b --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantFlat.asset @@ -0,0 +1,64 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ba2a80b753f77d4d96ab2af3748cee8, type: 3} + m_Name: ConstantFlat + m_EditorClassIdentifier: + _scaledTime: 1 + _shakeCanvases: 1 + _shakeRigidbodies: 1 + _unlimitedDuration: 1 + _totalDuration: 1 + _fadeInDuration: 0 + _fadeOutDuration: 0 + _magnitude: 0.25 + _magnitudeNoise: 0.05 + _magnitudeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + _roughness: 13 + _roughnessNoise: 0.3 + _roughnessCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + - serializedVersion: 2 + time: 2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _positionalInfluence: {x: 1, y: 1, z: 0} + _rotationalInfluence: {x: 0, y: 0.5, z: 1} + _randomSeed: 1 + _seed: 0 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantFlat.asset.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantFlat.asset.meta new file mode 100644 index 00000000..764d6b4f --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantFlat.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 2c6062901f01a2e40bae62c743fdac13 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/ConstantFlat.asset + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/CurveFade.asset b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/CurveFade.asset new file mode 100644 index 00000000..a84805bd --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/CurveFade.asset @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ba2a80b753f77d4d96ab2af3748cee8, type: 3} + m_Name: CurveFade + m_EditorClassIdentifier: + _scaledTime: 1 + _shakeCameras: 1 + _shakeCanvases: 1 + _shakeObjects: 1 + _unlimitedDuration: 0 + _totalDuration: 1 + _fadeInDuration: 0 + _fadeOutDuration: 0 + _magnitude: 0.5 + _magnitudeNoise: 0.1 + _magnitudeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16723633 + value: 0.995121 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _roughness: 8 + _roughnessNoise: 0.3 + _roughnessCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + - serializedVersion: 2 + time: 2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _positionalInfluence: {x: 1, y: 1, z: 0} + _rotationalInfluence: {x: 0, y: 0.5, z: 1} + _randomSeed: 1 + _seed: 0 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/CurveFade.asset.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/CurveFade.asset.meta new file mode 100644 index 00000000..26188442 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/CurveFade.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 94a2bf00ef401804d8dae290e3a2266b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/CurveFade.asset + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/Explosion.asset b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/Explosion.asset new file mode 100644 index 00000000..b85d6c7b --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/Explosion.asset @@ -0,0 +1,84 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ba2a80b753f77d4d96ab2af3748cee8, type: 3} + m_Name: Explosion + m_EditorClassIdentifier: + _scaledTime: 1 + _unlimitedDuration: 0 + _totalDuration: 1 + _fadeInDuration: 0 + _fadeOutDuration: 0 + _magnitude: 1 + _magnitudeNoise: 0.1 + _magnitudeCurve: + 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: 0.8 + 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 + _magnitudeCurveTiming: 1 + _roughness: 7.5 + _roughnessNoise: 0.3 + _roughnessCurve: + 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: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _roughnessCurveTiming: 1 + _positionalInfluence: {x: 1, y: 1, z: 0} + _rotationalInfluence: {x: 0, y: 0, z: 1} diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/Explosion.asset.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/Explosion.asset.meta new file mode 100644 index 00000000..54911fe7 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/Explosion.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: cfb5721468f522e4984b6e517151f6d8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Presets/Explosion.asset + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables.meta new file mode 100644 index 00000000..54d70439 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4419d99f40dc9b7489ba9917a0d1ccd3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableBase.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableBase.cs new file mode 100644 index 00000000..71b57352 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableBase.cs @@ -0,0 +1,36 @@ +using UnityEngine; + + +namespace FirstGearGames.SmoothCameraShaker +{ + + + + public class ShakableBase : MonoBehaviour + { + #region Types. + public enum ShakerTypes + { + CameraShaker = 0, + ObjectShaker = 1 + } + #endregion + + #region Serialized. + /// + /// + /// + [Tooltip("Shaker type to use. CameraShaker will subscribe to your current or otherwise configured CameraShaker. ObjectShaker will subscribe to the first ObjectShaker found on or in parented objects.")] + [SerializeField] + private ShakerTypes _shakerType = ShakerTypes.CameraShaker; + /// + /// Shaker type to use. CameraShaker will subscribe to your current or otherwise configured CameraShaker. ObjectShaker will subscribe to the first ObjectShaker found on or in parented objects.s + /// + public ShakerTypes ShakerType { get { return _shakerType; } } + #endregion + + + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableBase.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableBase.cs.meta new file mode 100644 index 00000000..6f42f5e5 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableBase.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 52ce313d243e43145988d09cfb991db6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableBase.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableCanvas.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableCanvas.cs new file mode 100644 index 00000000..2c85bd09 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableCanvas.cs @@ -0,0 +1,558 @@ +using FirstGearGames.Utilities.Maths; +using System.Collections.Generic; +using UnityEngine; + +namespace FirstGearGames.SmoothCameraShaker +{ + + public class ShakableCanvas : ShakableBase + { + #region Types. + private struct StartValues + { + public StartValues(Vector3 position, Vector3 rotation) + { + Position = position; + Rotation = rotation; + } + /// + /// Start position for an object. + /// + public readonly Vector3 Position; + /// + /// Start rotation for an object. + /// + public readonly Vector3 Rotation; + } + #endregion + + #region Serialized. + /// + /// True to shake when the default camera shaker does. False to specify a camera shaker to use. + /// + [Tooltip("True to shake when the default camera shaker does. False to specify a camera shaker to use.")] + [SerializeField] + private bool _useDefaultCameraShaker = true; + /// + /// Camera shaker to monitor. + /// + [Tooltip("Camera shaker to monitor.")] + [SerializeField] + private CameraShaker _cameraShaker = null; + /// + /// Sets a new CameraShaker to use. This method will do nothing if using ShakableObject as the ShakerType. + /// + /// + public void SetCameraShaker(CameraShaker shaker) + { + if (base.ShakerType == ShakerTypes.ObjectShaker) + return; + + if (_useDefaultCameraShaker) + { + if (Debug.isDebugBuild) Debug.LogWarning("Cannot set CameraShaker with UseDefaultCameraShaker set. If you wish to change CameraShaker at run-time set UseDefaultCameraShaker to false before entering play."); + } + else + { + ChangeCameraShakers(_cameraShaker, shaker, true); + } + } + /// + /// True to create a parent object and attach children to it. The parent object will be shaken instead of each individual canvas child. If your direct children move at all this value must be true. Setting value as false may incur extra cost as well. + /// + [Tooltip("True to create a parent object and attach children to it. The parent object will be shaken instead of each individual canvas child. If your direct children move at all this value must be true. Setting value as false may incur extra cost as well.")] + [Space(10)] + [SerializeField] + private bool _encapsulateChildren = true; + /// + /// True to watch for additional children to encapsulate. This may be false if you do not add direct children to this canvas at runtime. + /// + [Tooltip("True to watch for additional children to encapsulate. This may be false if you do not add direct children to this canvas at runtime.")] + [SerializeField] + private bool _monitorEncapsulation = false; + /// + /// Positional shakes are multiplied by this value. Lower values will result in a lower positional magnitude. + /// + [Tooltip("Positional shakes are multiplied by this value. Lower values will result in a lower positional magnitude.")] + [SerializeField] + private float _positionalMultiplier = 1f; + /// + /// Rotational shakes are multiplied by this value. Lower values will result in lower ritational magnitude. + /// + [Tooltip("Rotational shakes are multiplied by this value. Lower values will result in lower rotational magnitude.")] + [SerializeField] + private float _rotationalMultiplier = 1f; + /// + /// True to randomly change influence direction when shaking starts. + /// + [Tooltip("True to randomly change influence direction when shaking starts.")] + [Space(10)] + [SerializeField] + private bool _randomizeDirections = true; + #endregion + + #region Private. + /// + /// Transform children are being attached to. This only exist if EncapsulateChildren is true. + /// + private RectTransform _parentRect; + /// + /// Start values for children of this transform. + /// + private Dictionary _childrenStartValues = new Dictionary(); + /// + /// Next time to clean ChildrenStartValues. + /// + private float _nextCleanStartValuesTime; + /// + /// Current camera shaker this canvas is subscribed to. + /// + private CameraShaker _currentCameraShaker = null; + /// + /// ObjectShaker used for this object. May be null if not using ObjectShaker type. + /// + private ObjectShaker _objectShaker = null; + /// + /// Direction to multiply position by when shaking starts. + /// + private float _randomPositionMultiplier = 1f; + /// + /// Direction to multiply rotation by when shaking starts. + /// + private float _randomRotationMultiplier = 1f; + #endregion + + private void Awake() + { + FirstInitialize(); + } + + private void OnEnable() + { + //Subscribe. + ChangeSubscription(true); + } + + private void Update() + { + /* If fails to encapsulate new children then remove script. + * Something unrecoverable went wrong. */ + if (_monitorEncapsulation && !EncapsulateChildren(false)) + { + DestroyImmediate(this); + return; + } + + CheckRemoveNullStartValues(); + } + + private void OnDisable() + { + //Unsubscribe. + ChangeSubscription(false); + + ResetOffsets(); + } + + /// + /// Initializes this script for use. Should only be cmpleted once. + /// + private void FirstInitialize() + { + //If using ObjectShaker type. + if (base.ShakerType == ShakerTypes.ObjectShaker) + { + _objectShaker = GetComponentInParent(); + if (_objectShaker == null) + { + Debug.LogError("ObjectShaker could not be found on or above object " + gameObject.name + ". Shakable will be destroyed.", this); + DestroyImmediate(this); + return; + } + } + + Canvas canvas = GetComponent(); + //Canvas null. + if (canvas == null) + { + if (Debug.isDebugBuild) Debug.LogError("Canvas does not exist on this object, this script has been destroyed."); + DestroyImmediate(this); + return; + } + //World space canvases already shake. + if (canvas.renderMode == RenderMode.WorldSpace) + { + if (Debug.isDebugBuild) Debug.LogError("ShakeableCanvas is not needed for Canvas RenderMode.WorldSpace"); + DestroyImmediate(this); + return; + } + //Camera space canvases don't need this script when using matrix on the CameraShaker. + if (canvas.renderMode == RenderMode.ScreenSpaceCamera) + { + //Camera not set. + if (canvas.worldCamera == null) + { + if (Debug.isDebugBuild) Debug.LogWarning("WorldCamera is not set for this canvas. Cannot determine if this script is needed. If the CameraShaker for your intended WorldCamera is Matrix this script is not needed."); + } + //Camera known. + else + { + CameraShaker shaker = canvas.worldCamera.GetComponent(); + if (shaker == null) + { + if (Debug.isDebugBuild) Debug.LogWarning("CameraShaker not found on WorldCamera. If the CameraShaker for your intended WorldCamera will use Matrix this script is not needed."); + } + else + { + if (shaker.ShakeTechnique == CameraShaker.ShakeTechniques.Matrix) + if (Debug.isDebugBuild) Debug.LogWarning("CameraShaker technique on WorldCamera is set to Matrix. This script is not needed for Matrix shake techniques. Ignore this message if you intend to change the ShakeTechnique."); + } + } + } + + //Subscribe to the CameraShaker if not using default. + if (!_useDefaultCameraShaker) + ChangeCameraShakers(null, _cameraShaker, false); + + //Encapsulation is enabled. + if (_encapsulateChildren) + { + //Try to encapsulate children. + if (!EncapsulateChildren(true)) + { + DestroyImmediate(this); + return; + } + } + //Encapsulation is disabled, be sure to disable monitor as well. + else + { + _monitorEncapsulation = false; + } + } + + /// + /// Changes which CameraShaker to use when not using defualt CameraShaker. + /// + /// + /// + private void ChangeCameraShakers(CameraShaker oldShaker, CameraShaker newShaker, bool resetOffsets = true) + { + //No change. + if (oldShaker == newShaker) + return; + + _currentCameraShaker = newShaker; + + //Since canvas subs and unsubs using OnEnable/Disable only change subscriptions if enabled. + if (gameObject.activeInHierarchy) + { + //Offsets are automatically reset OnDisable, so only need to reset if active. + if (resetOffsets) + ResetOffsets(); + + ChangeCameraShakerSubscription(oldShaker, false); + ChangeCameraShakerSubscription(newShaker, true); + } + } + + /// + /// Encapsulate children transforms into a newly created transform. + /// + private bool EncapsulateChildren(bool initialization) + { + if (!_encapsulateChildren) + return true; + + //If being run for the first time. + if (initialization) + { + GameObject obj = new GameObject(); + //Shouldn't happen but just incase. + if (obj == null) + { + if (Debug.isDebugBuild) Debug.LogError("Encapsulation failed because parent object could not be created."); + return false; + } + //Add a rect since this is a UI object. + _parentRect = obj.AddComponent(); + //Shouldn't happen but just incase. + if (_parentRect == null) + { + if (Debug.isDebugBuild) Debug.LogError("Encapsulation failed because parentRect could not be created."); + return false; + } + + //Setup parent rect to be full screen/stretched. + _parentRect.name = "ShakableParentRect"; + _parentRect.SetParent(transform); + _parentRect.anchorMin = new Vector2(0f, 0f); + _parentRect.anchorMax = new Vector2(1f, 1f); + _parentRect.offsetMin = Vector2.zero; + _parentRect.offsetMax = Vector2.zero; + _parentRect.localScale = Vector3.one; + _parentRect.localPosition = Vector3.zero; + _parentRect.localEulerAngles = Vector3.zero; + } + + //If the parent rect somehow got destroyed, shouldn't be possible. + if (_parentRect == null) + return false; + + int childCount = transform.childCount; + + /* If parent rect is a child of this, and child count is 1 then no reason to go + * further as there are no other children. This isn't considered a failure. */ + if (_parentRect.parent == transform && childCount == 1) + return true; + + /* Since the child collection of this transform will change + * as children are re-ordered a local copy is set first + * and navigated to ensure all children objects are set + * properly. */ + + Transform[] children = new Transform[childCount]; + for (int i = 0; i < childCount; i++) + children[i] = transform.GetChild(i); + + //Child to rect parent if not rect parent. + for (int i = 0; i < childCount; i++) + { + if (children[i] != _parentRect.transform && children[i].gameObject.activeInHierarchy) + children[i].SetParent(_parentRect, false); + } + + return true; + } + + #region ShakeUpdates. + /// + /// Received when shaking starts when previously stopped on all Shakers. + /// + private void OnShakingStarted() + { + RandomizeDirections(); + } + /// + /// Received when shaking starts when previously stopped on all Shakers. + /// + private void CameraShaker_OnShakingStarted(CameraShaker obj) + { + OnShakingStarted(); + } + /// + /// Received when shaking starts when previously stopped on ObjectShaker. + /// + private void ObjectShaker_OnShakingStarted(ObjectShaker obj) + { + OnShakingStarted(); + } + /// + /// Received every update a shake occurs. + /// + /// + private void CameraShaker_OnShakeUpdate(CameraShaker shaker, ShakeUpdate obj) + { + ShakeUpdateOccurred(obj); + } + /// + /// Received every fixed update a shake occurs. Contains the shake values from last update. + /// + private void ObjectShaker_OnShakeUpdate(ObjectShaker arg1, ShakeUpdate arg2) + { + ShakeUpdateOccurred(arg2); + } + /// + /// Called when a shake update occurs, wether it be from CameraShaker or ObjectShaker. + /// + /// + private void ShakeUpdateOccurred(ShakeUpdate obj) + { + //No reason to shake if not active in scene. + if (!gameObject.activeInHierarchy) + return; + + Vector3 positionalOffset = obj.Canvases.Position * _positionalMultiplier; + Vector3 rotationalOffset = obj.Canvases.Rotation * _rotationalMultiplier; + + //If using an encapsulation. + if (_parentRect != null) + { + _parentRect.localPosition = positionalOffset; + _parentRect.localEulerAngles = rotationalOffset; + } + //Not using encapsulation. + else + { + foreach (Transform t in transform) + { + Vector3 pos; + Vector3 rot; + StartValues startValues; + + //If already in dictionary. + if (_childrenStartValues.TryGetValue(t, out startValues)) + { + pos = startValues.Position + positionalOffset; + rot = startValues.Rotation + rotationalOffset; + } + //Not yet in dictionary. + else + { + _childrenStartValues.Add(t, new StartValues(t.localPosition, t.localEulerAngles)); + pos = t.localPosition + positionalOffset; + rot = t.localEulerAngles + rotationalOffset; + } + + t.localPosition = pos; + t.localEulerAngles = rot; + } + } + } + #endregion + + /// + /// Updates random multipliers for shakable. + /// + private void RandomizeDirections() + { + if (!_randomizeDirections) + return; + + _randomPositionMultiplier = Floats.RandomlyFlip(_randomPositionMultiplier); + _randomRotationMultiplier = Floats.RandomlyFlip(_randomRotationMultiplier); + } + + /// + /// Resets the offsets on children. + /// + private void ResetOffsets() + { + //If using an encapsulation. + if (_parentRect != null) + { + _parentRect.localPosition = Vector3.zero; + _parentRect.localEulerAngles = Vector3.zero; + } + //Not using encapsulation. + else + { + foreach (KeyValuePair dict in _childrenStartValues) + { + if (dict.Key != null) + { + dict.Key.localPosition = dict.Value.Position; + dict.Key.localEulerAngles = dict.Value.Rotation; + } + } + } + } + + /// + /// Periodically removes null values from ChildrenStartValues. Should be called every frame. + /// + private void CheckRemoveNullStartValues() + { + //ParentRect is immune to this behaviour, not needed if using parent rect. + if (_parentRect != null) + return; + + //Only clean every 30 seconds. More than enough to prevent a memory leak. + if (Time.unscaledTime < _nextCleanStartValuesTime) + return; + _nextCleanStartValuesTime = Time.unscaledTime + 30f; + + //Build a collection of null keys then remove them from the dictionary after. + List keysToRemove = new List(); + foreach (KeyValuePair dict in _childrenStartValues) + { + if (dict.Key == null) + keysToRemove.Add(dict.Key); + } + for (int i = 0; i < keysToRemove.Count; i++) + { + try + { + _childrenStartValues.Remove(keysToRemove[i]); + } + catch { } + } + } + + #region Change subscriptions. + /// + /// Changes the subscription to a camera shaker. + /// + /// + /// + private void ChangeCameraShakerSubscription(CameraShaker shaker, bool subscribe) + { + if (shaker == null) + return; + + if (subscribe) + { + shaker.OnShakeUpdate += CameraShaker_OnShakeUpdate; + shaker.OnShakingStarted += CameraShaker_OnShakingStarted; + } + else + { + shaker.OnShakeUpdate -= CameraShaker_OnShakeUpdate; + shaker.OnShakingStarted -= CameraShaker_OnShakingStarted; + } + } + /// + /// Changes the subscription to the default camera shaker by using CameraShakerHandler. + /// + /// + private void ChangeDefaultCameraShakerSubscription(bool subscribe) + { + if (subscribe) + { + CameraShakerHandler.OnShakeUpdate += CameraShaker_OnShakeUpdate; + CameraShakerHandler.OnShakingStarted += CameraShaker_OnShakingStarted; + } + else + { + CameraShakerHandler.OnShakeUpdate -= CameraShaker_OnShakeUpdate; + CameraShakerHandler.OnShakingStarted -= CameraShaker_OnShakingStarted; + } + } + /// + /// Changes subscriptions based on current settings and shaker type. + /// + /// + private void ChangeSubscription(bool subscribe) + { + //CameraShaker type. + if (base.ShakerType == ShakerTypes.CameraShaker) + { + //If using default camera shaker then subscribe to default on enable. + if (_useDefaultCameraShaker) + ChangeDefaultCameraShakerSubscription(subscribe); + else + ChangeCameraShakerSubscription(_currentCameraShaker, subscribe); + } + //ObjectShaker type. + else if (base.ShakerType == ShakerTypes.ObjectShaker) + { + if (_objectShaker != null) + { + if (subscribe) + { + _objectShaker.OnShakeUpdate += ObjectShaker_OnShakeUpdate; + _objectShaker.OnShakingStarted += ObjectShaker_OnShakingStarted; + } + else + { + _objectShaker.OnShakeUpdate -= ObjectShaker_OnShakeUpdate; + _objectShaker.OnShakingStarted -= ObjectShaker_OnShakingStarted; + } + } + } + } + #endregion + + } + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableCanvas.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableCanvas.cs.meta new file mode 100644 index 00000000..0c5c68b9 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableCanvas.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 663365fdc7222f84fa76f2a79859e1f5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableCanvas.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody.cs new file mode 100644 index 00000000..ef4eef8f --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody.cs @@ -0,0 +1,366 @@ +using FirstGearGames.Utilities.Maths; +using FirstGearGames.Utilities.Objects; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Serialization; + +namespace FirstGearGames.SmoothCameraShaker +{ + + + public class ShakableRigidbody : ShakableBase + { + #region Types. + /// + /// Data about how to update rigidbodies with shakes. + /// + private class RigidbodyData + { + public RigidbodyData(Rigidbody rb) + { + Rigidbody = rb; + } + + /// + /// Rigidbody on this object. + /// + public readonly Rigidbody Rigidbody; + /// + /// Direction to multiply position by at random intervals. + /// + public float RandomPositionMultiplier { get; private set; } = 1f; + /// + /// Sets the value for RandomPositionMultiplier. + /// + /// + public void SetRandomPositionMultiplier(float value) + { + RandomPositionMultiplier = value; + } + /// + /// Direction to multiply rotation by at random intervals. + /// + public float RandomRotationMultiplier { get; private set; } = 1f; + /// + /// Sets the value for RandomRotationMultiplier. + /// + /// + public void SetRandomRotationMultiplier(float value) + { + RandomRotationMultiplier = value; + } + /// + /// Next time to update randomMultipliers. + /// + public float NextRandomizeTime { get; private set; } = -1f; + /// + /// Sets the value for NextRandomizeTime. + /// + /// + public void SetNextRandomizeTime(float value) + { + NextRandomizeTime = value; + } + /// + /// Positional values last time shake offsets were received. + /// + public Vector3 LastPositional { get; private set; } = Vector3.zero; + /// + /// Sets the value for LastPositional. + /// + /// + public void SetLastPositional(Vector3 value) + { + LastPositional = value; + } + /// + /// Rotational values last time shake offsets were received. + /// + public Vector3 LastRotational { get; private set; } = Vector3.zero; + /// + /// Sets the value for LastRotational. + /// + /// + public void SetLastRotational(Vector3 value) + { + LastRotational = value; + } + } + #endregion + + #region Serialized. + /// + /// Multiplier to apply towards position. + /// + [Tooltip("Multiplier to apply towards position.")] + [Space(10f)] + [SerializeField] + [FormerlySerializedAs("_positionMultiplier")] + private float _positionalMultiplier = 1f; + /// + /// Multipplier to apply towards rotation. + /// + [Tooltip("Multipplier to apply towards rotation.")] + [SerializeField] + [FormerlySerializedAs("_rotationMultiplier")] + private float _rotationalMultiplier = 1f; + /// + /// Only shake when in view of a camera. + /// + [Tooltip("Only shake when in view of a camera.")] + [Space(10f)] + [SerializeField] + private bool _requireInView = true; + /// + /// True to find rigidbodies in children too. This allows you to use one ShakableRigidbody on the parent if all children rigidbodies should shake as well. + /// + [Tooltip("True to find rigidbodies in children too. This allows you to use one ShakableRigidbody on the parent if all children rigidbodies should shake as well.")] + [SerializeField] + private bool _includeChildren = false; + /// + /// True to ignore the transform this component resides, and only shake children. + /// + [Tooltip("True to ignore the transform this component resides, and only shake children.")] + [SerializeField] + private bool _ignoreSelf = false; + /// + /// True to also find inactive children. + /// + [Tooltip("True to also find inactive children.")] + [SerializeField] + private bool _includeInactive = false; + /// + /// True to convert forces to local space before applying. + /// + [Tooltip("True to convert forces to local space before applying.")] + [Space(10f)] + [SerializeField] + private bool _localizeShake = false; + /// + /// True to randomly change force direction. Best used with bulk objects so they do not all shake the same direction. + /// + [Tooltip("True to randomly change force direction. Best used with bulk objects so they do not all shake the same direction.")] + [SerializeField] + private bool _randomizeDirections = true; + #endregion + + #region Private. + /// + /// Data about each rigidbody to shake. + /// + private RigidbodyData[] _rbData; + /// + /// True if currently in view. + /// + private bool _inView = false; + /// + /// ObjectShaker used for this object. May be null if not using ObjectShaker type. + /// + private ObjectShaker _objectShaker = null; + #endregion + + private void Awake() + { + FirstInitialize(); + } + + private void OnEnable() + { + if (_requireInView && _inView) + ChangeSubscription(true); + else if (!_requireInView) + ChangeSubscription(true); + } + + private void OnDisable() + { + if (_requireInView && _inView) + ChangeSubscription(false); + else if (!_requireInView) + ChangeSubscription(false); + } + + /// + /// Initializes this script for use. Should only be completed once. + /// + private void FirstInitialize() + { + //If using ObjectShaker type. + if (base.ShakerType == ShakerTypes.ObjectShaker) + { + _objectShaker = GetComponentInParent(); + if (_objectShaker == null) + { + Debug.LogError("ObjectShaker could not be found on or above object " + gameObject.name + ". Shakable will be destroyed.", this); + DestroyImmediate(this); + return; + } + } + + //If not including children. + if (!_includeChildren) + { + Rigidbody rb = GetComponent(); + if (rb == null) + { + Debug.LogWarning("Rigidbody is empty on " + gameObject.name + ". Shakable will be destroyed.", this); + DestroyImmediate(this); + return; + } + + _rbData = new RigidbodyData[1]; + _rbData[0] = new RigidbodyData(rb); + } + //Include children. + else + { + List rbs = new List(); + Transforms.GetComponentsInChildren(transform, rbs, !_ignoreSelf, _includeInactive); + if (rbs.Count == 0) + { + Debug.LogWarning("No rigidbodies exist on parent or children of " + gameObject.name + ". Shakable will be destroyed.", this); + DestroyImmediate(this); + return; + } + + _rbData = new RigidbodyData[rbs.Count]; + for (int i = 0; i < rbs.Count; i++) + _rbData[i] = new RigidbodyData(rbs[i]); + } + + /* Try to find a renderer. One is required on this object for OnBecameVisible and OnBecameInvisible + * to call. If a renderer doesn't exist then add a low cost renderer. */ + if (_requireInView) + { + if (GetComponent() == null) + { + if (Debug.isDebugBuild) + Debug.Log("Renderer not found on object. Adding renderer so RequireInView works properly. Added renderer may be smaller than actual object, and sometimes may not be detected as in view. To resolve add your own renderer to the object this script resides.", this); + SpriteRenderer r = gameObject.AddComponent(); + r.sprite = null; + } + } + } + + #region OnShakeUpdate. + /// + /// Received every fixed update a shake occurs. Contains the shake values from last update. + /// + private void CameraShakerHandler_OnShakeFixedUpdate(ShakeUpdate obj) + { + ShakeUpdateOccurred(obj); + } + /// + /// Received every fixed update a shake occurs. Contains the shake values from last update. + /// + private void ObjectShaker_OnShakeFixedUpdate(ObjectShaker arg1, ShakeUpdate arg2) + { + ShakeUpdateOccurred(arg2); + } + /// + /// Called when a shake update occurs, wether it be from CameraShaker or ObjectShaker. + /// + /// + private void ShakeUpdateOccurred(ShakeUpdate obj) + { + if (!_inView && _requireInView) + return; + + for (int i = 0; i < _rbData.Length; i++) + { +#if UNITY_EDITOR + //Rigidbody can go null when exiting playmode, and camerashaker may try to send one last update when exiting play mode. + if (_rbData[i].Rigidbody == null) + return; +#endif + //Check if random multipliers should be updated. + CheckRandomizeRandomers(_rbData[i]); + + //Calculate new offsets. + Vector3 newPos = obj.Objects.Position * _rbData[i].RandomPositionMultiplier * _positionalMultiplier; + Vector3 newRot = obj.Objects.Rotation * _rbData[i].RandomRotationMultiplier * _rotationalMultiplier; + //If to localize force. + if (_localizeShake) + { + newPos = _rbData[i].Rigidbody.transform.TransformDirection(newPos); + newRot = _rbData[i].Rigidbody.transform.TransformDirection(newRot); + } + + //Apply force. + _rbData[i].Rigidbody.AddForce(newPos - _rbData[i].LastPositional, ForceMode.Impulse); + _rbData[i].Rigidbody.AddTorque(newRot - _rbData[i].LastRotational, ForceMode.Impulse); + //Set last values. + _rbData[i].SetLastPositional(newPos); + _rbData[i].SetLastRotational(newRot); + } + } + #endregion + + /// + /// Updates random multipliers if they are in need. What a fun name. + /// + private void CheckRandomizeRandomers(RigidbodyData data) + { + if (!_randomizeDirections) + return; + + //Becomes true if enough time has passed to make new random multipliers. + bool newRandomize = (Time.time > data.NextRandomizeTime); + if (newRandomize) + data.SetNextRandomizeTime(Time.time + Random.Range(3f, 7f)); + + /* If new random multipliers or velocity is zero then randomize multipliers. */ + if (newRandomize || data.Rigidbody.linearVelocity == Vector3.zero) + data.SetRandomPositionMultiplier(Floats.RandomlyFlip(data.RandomPositionMultiplier)); + if (newRandomize || data.Rigidbody.angularVelocity == Vector3.zero) + data.SetRandomRotationMultiplier(Floats.RandomlyFlip(data.RandomRotationMultiplier)); + } + + /// + /// Received when visible in any camera. + /// + private void OnBecameVisible() + { + _inView = true; + if (_requireInView) + ChangeSubscription(true); + } + /// + /// Received when no longer visible in any camera. + /// + private void OnBecameInvisible() + { + _inView = false; + if (_requireInView) + ChangeSubscription(false); + } + + /// + /// Changes the subscription to the camera shaker. + /// + /// + private void ChangeSubscription(bool subscribe) + { + //CameraShaker type. + if (base.ShakerType == ShakerTypes.CameraShaker) + { + if (subscribe) + CameraShakerHandler.OnAllShakeFixedUpdate += CameraShakerHandler_OnShakeFixedUpdate; + else + CameraShakerHandler.OnAllShakeFixedUpdate -= CameraShakerHandler_OnShakeFixedUpdate; + } + //ObjectShaker type. + else if (base.ShakerType == ShakerTypes.ObjectShaker) + { + if (_objectShaker != null) + { + if (subscribe) + _objectShaker.OnShakeFixedUpdate += ObjectShaker_OnShakeFixedUpdate; + else + _objectShaker.OnShakeFixedUpdate -= ObjectShaker_OnShakeFixedUpdate; + } + } + } + + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody.cs.meta new file mode 100644 index 00000000..934c28d9 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 5901f943dff13b94693d37f9edb0beb8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody2D.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody2D.cs new file mode 100644 index 00000000..45c71da4 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody2D.cs @@ -0,0 +1,362 @@ +using FirstGearGames.Utilities.Maths; +using FirstGearGames.Utilities.Objects; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Serialization; + +namespace FirstGearGames.SmoothCameraShaker +{ + + + public class ShakableRigidbody2D : ShakableBase + { + #region Types. + /// + /// Data about how to update rigidbodies with shakes. + /// + private class RigidbodyData + { + public RigidbodyData(Rigidbody2D rb) + { + Rigidbody = rb; + } + + /// + /// Rigidbody on this object. + /// + public readonly Rigidbody2D Rigidbody; + /// + /// Direction to multiply position by at random intervals. + /// + public float RandomPositionMultiplier { get; private set; } = 1f; + /// + /// Sets the value for RandomPositionMultiplier. + /// + /// + public void SetRandomPositionMultiplier(float value) + { + RandomPositionMultiplier = value; + } + /// + /// Direction to multiply rotation by at random intervals. + /// + public float RandomRotationMultiplier { get; private set; } = 1f; + /// + /// Sets the value for RandomRotationMultiplier. + /// + /// + public void SetRandomRotationMultiplier(float value) + { + RandomRotationMultiplier = value; + } + /// + /// Next time to update randomMultipliers. + /// + public float NextRandomizeTime { get; private set; } = -1f; + /// + /// Sets the value for NextRandomizeTime. + /// + /// + public void SetNextRandomizeTime(float value) + { + NextRandomizeTime = value; + } + /// + /// Positional values last time shake offsets were received. + /// + public Vector2 LastPositional { get; private set; } = Vector2.zero; + /// + /// Sets the value for LastPositional. + /// + /// + public void SetLastPositional(Vector2 value) + { + LastPositional = value; + } + /// + /// Rotational values last time shake offsets were received. + /// + public float LastRotational { get; private set; } = 0f; + /// + /// Sets the value for LastRotational. + /// + /// + public void SetLastRotational(float value) + { + LastRotational = value; + } + } + #endregion + + #region Serialized. + /// + /// Multiplier to apply towards position. + /// + [Tooltip("Multiplier to apply towards position.")] + [Space(10f)] + [SerializeField] + [FormerlySerializedAs("_positionMultiplier")] + private float _positionalMultiplier = 1f; + /// + /// Multipplier to apply towards rotation. + /// + [Tooltip("Multipplier to apply towards rotation.")] + [SerializeField] + [FormerlySerializedAs("_rotationMultiplier")] + private float _rotationalMultiplier = 1f; + /// + /// Only shake when in view of a camera. + /// + [Tooltip("Only shake when in view of a camera.")] + [Space(10f)] + [SerializeField] + private bool _requireInView = true; + /// + /// True to find rigidbodies in children too. This allows you to use one ShakableRigidbody on the parent if all children rigidbodies should shake as well. + /// + [Tooltip("True to find rigidbodies in children too. This allows you to use one ShakableRigidbody on the parent if all children rigidbodies should shake as well.")] + [SerializeField] + private bool _includeChildren = false; + /// + /// True to ignore the transform this component resides, and only shake children. + /// + [Tooltip("True to ignore the transform this component resides, and only shake children.")] + [SerializeField] + private bool _ignoreSelf = false; + /// + /// True to also find inactive children. + /// + [Tooltip("True to also find inactive children.")] + [SerializeField] + private bool _includeInactive = false; + /// + /// True to convert forces to local space before applying. + /// + [Tooltip("True to convert forces to local space before applying.")] + [Space(10f)] + [SerializeField] + private bool _localizeShake = false; + /// + /// True to randomly change force direction. Best used with bulk objects so they do not all shake the same direction. + /// + [Tooltip("True to randomly change force direction. Best used with bulk objects so they do not all shake the same direction.")] + [SerializeField] + private bool _randomizeDirections = true; + #endregion + + #region Private. + /// + /// Data about each rigidbody to shake. + /// + private RigidbodyData[] _rbData; + /// + /// True if currently in view. + /// + private bool _inView = false; + /// + /// ObjectShaker used for this object. May be null if not using ObjectShaker type. + /// + private ObjectShaker _objectShaker = null; + #endregion + + private void Awake() + { + FirstInitialize(); + } + + private void OnEnable() + { + if (_requireInView && _inView) + ChangeSubscription(true); + else if (!_requireInView) + ChangeSubscription(true); + } + private void OnDisable() + { + if (_requireInView && _inView) + ChangeSubscription(false); + else if (!_requireInView) + ChangeSubscription(false); + } + + /// + /// Initializes this script for use. Should only be completed once. + /// + private void FirstInitialize() + { + //If using ObjectShaker type. + if (base.ShakerType == ShakerTypes.ObjectShaker) + { + _objectShaker = GetComponentInParent(); + if (_objectShaker == null) + { + Debug.LogError("ObjectShaker could not be found on or above object " + gameObject.name + ". Shakable will be destroyed.", this); + DestroyImmediate(this); + return; + } + } + + //If not including children. + if (!_includeChildren) + { + Rigidbody2D rb = GetComponent(); + if (rb == null) + { + Debug.LogWarning("Rigidbody is empty on " + gameObject.name + ". Shakable will not function.", this); + DestroyImmediate(this); + return; + } + + _rbData = new RigidbodyData[1]; + _rbData[0] = new RigidbodyData(rb); + } + //Include children. + else + { + List rbs = new List(); + Transforms.GetComponentsInChildren(transform, rbs, !_ignoreSelf, _includeInactive); + if (rbs.Count == 0) + { + Debug.LogWarning("No rigidbodies exist on parent or children of " + gameObject.name + ". Shakable will not function.", this); + DestroyImmediate(this); + return; + } + + _rbData = new RigidbodyData[rbs.Count]; + for (int i = 0; i < rbs.Count; i++) + _rbData[i] = new RigidbodyData(rbs[i]); + } + + /* Try to find a renderer. One is required on this object for OnBecameVisible and OnBecameInvisible + * to call. If a renderer doesn't exist then add a low cost renderer. */ + if (_requireInView) + { + if (GetComponent() == null) + { + if (Debug.isDebugBuild) + Debug.Log("Renderer not found on object. Adding renderer so RequireInView works properly. Added renderer may be smaller than actual object, and sometimes may not be detected as in view. To resolve add your own renderer to the object this script resides.", this); + SpriteRenderer r = gameObject.AddComponent(); + r.sprite = null; + } + } + } + + #region OnShakeUpdates. + /// + /// Received every fixed update a shake occurs. Contains the shake values from last update. + /// + private void CameraShakerHandler_OnShakeFixedUpdate(ShakeUpdate obj) + { + ShakeUpdateOccurred(obj); + } + /// + /// Received every fixed update a shake occurs. Contains the shake values from last update. + /// + private void ObjectShaker_OnShakeFixedUpdate(ObjectShaker arg1, ShakeUpdate arg2) + { + ShakeUpdateOccurred(arg2); + } + /// + /// Called when a shake update occurs, wether it be from CameraShaker or ObjectShaker. + /// + /// + private void ShakeUpdateOccurred(ShakeUpdate obj) + { + if (!_inView && _requireInView) + return; + + for (int i = 0; i < _rbData.Length; i++) + { +#if UNITY_EDITOR + //Rigidbody can go null when exiting playmode, and camerashaker may try to send one last update when exiting play mode. + if (_rbData[i].Rigidbody == null) + return; +#endif + //Check if random multipliers should be updated. + CheckRandomizeRandomers(_rbData[i]); + + //Calculate new offsets. + Vector2 newPos = obj.Objects.Position * _rbData[i].RandomPositionMultiplier * _positionalMultiplier; + float newRot = obj.Objects.Rotation.z * _rbData[i].RandomRotationMultiplier * _rotationalMultiplier; + //If to localize force. + if (_localizeShake) + newPos = _rbData[i].Rigidbody.transform.TransformDirection(newPos); + + //Apply force. + _rbData[i].Rigidbody.AddForce(newPos - _rbData[i].LastPositional, ForceMode2D.Impulse); + _rbData[i].Rigidbody.AddTorque(newRot - _rbData[i].LastRotational, ForceMode2D.Impulse); + //Set last values. + _rbData[i].SetLastPositional(newPos); + _rbData[i].SetLastRotational(newRot); + } + } + #endregion + + /// + /// Updates random multipliers if they are in need. What a fun name. + /// + private void CheckRandomizeRandomers(RigidbodyData data) + { + if (!_randomizeDirections) + return; + + //Becomes true if enough time has passed to make new random multipliers. + bool newRandomize = (Time.time > data.NextRandomizeTime); + if (newRandomize) + data.SetNextRandomizeTime(Time.time + Random.Range(3f, 7f)); + + /* If new random multipliers or velocity is zero then randomize multipliers. */ + if (newRandomize || data.Rigidbody.linearVelocity == Vector2.zero) + data.SetRandomPositionMultiplier(Floats.RandomlyFlip(data.RandomPositionMultiplier)); + if (newRandomize || data.Rigidbody.angularVelocity == 0f) + data.SetRandomRotationMultiplier(Floats.RandomlyFlip(data.RandomRotationMultiplier)); + } + + /// + /// Received when visible in any camera. + /// + private void OnBecameVisible() + { + _inView = true; + if (_requireInView) + ChangeSubscription(true); + } + /// + /// Received when no longer visible in any camera. + /// + private void OnBecameInvisible() + { + _inView = false; + if (_requireInView) + ChangeSubscription(false); + } + + /// + /// Changes the subscription to the camera shaker. + /// + /// + private void ChangeSubscription(bool subscribe) + { + //CameraShaker type. + if (base.ShakerType == ShakerTypes.CameraShaker) + { + if (subscribe) + CameraShakerHandler.OnAllShakeFixedUpdate += CameraShakerHandler_OnShakeFixedUpdate; + else + CameraShakerHandler.OnAllShakeFixedUpdate -= CameraShakerHandler_OnShakeFixedUpdate; + } + //ObjectShaker type. + else if (base.ShakerType == ShakerTypes.ObjectShaker) + { + if (_objectShaker != null) + { + if (subscribe) + _objectShaker.OnShakeFixedUpdate += ObjectShaker_OnShakeFixedUpdate; + else + _objectShaker.OnShakeFixedUpdate -= ObjectShaker_OnShakeFixedUpdate; + } + } + } + + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody2D.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody2D.cs.meta new file mode 100644 index 00000000..cac34ffd --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody2D.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 58b3fda749163f142b26ea94be1da637 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableRigidbody2D.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform.cs new file mode 100644 index 00000000..11fecd63 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform.cs @@ -0,0 +1,391 @@ +using FirstGearGames.Utilities.Maths; +using FirstGearGames.Utilities.Objects; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Serialization; + +namespace FirstGearGames.SmoothCameraShaker +{ + + + public class ShakableTransform : ShakableBase + { + #region Types. + /// + /// Data about how to update rigidbodies with shakes. + /// + private class TransformData + { + public TransformData(Transform t) + { + Transform = t; + } + + /// + /// Transform on this object. + /// + public readonly Transform Transform; + /// + /// Direction to multiply position by when shaking starts. + /// + public float RandomPositionMultiplier { get; private set; } = 1f; + /// + /// Sets the value for RandomPositionMultiplier. + /// + /// + public void SetRandomPositionMultiplier(float value) + { + RandomPositionMultiplier = value; + } + /// + /// Direction to multiply rotation by when shaking starts. + /// + public float RandomRotationMultiplier { get; private set; } = 1f; + /// + /// Sets the value for RandomRotationMultiplier. + /// + /// + public void SetRandomRotationMultiplier(float value) + { + RandomRotationMultiplier = value; + } + /// + /// Positional values last time shake offsets were received. + /// + public Vector3 LastPositional { get; private set; } = Vector3.zero; + /// + /// Sets the value for LastPositional. + /// + /// + public void SetLastPositional(Vector3 value) + { + LastPositional = value; + } + /// + /// Rotational values last time shake offsets were received. + /// + public Vector3 LastRotational { get; private set; } = Vector3.zero; + /// + /// Sets the value for LastRotational. + /// + /// + public void SetLastRotational(Vector3 value) + { + LastRotational = value; + } + } + #endregion + + #region Serialized. + /// + /// Multiplier to apply towards position. + /// + [Tooltip("Multiplier to apply towards position.")] + [Space(10f)] + [SerializeField] + + private float _positionalMultiplier = 1f; + /// + /// Multipplier to apply towards rotation. + /// + [Tooltip("Multipplier to apply towards rotation.")] + [SerializeField] + [FormerlySerializedAs("_rotationMultiplier")] + private float _rotationalMultiplier = 1f; + /// + /// Only shake when in view of a camera. + /// + [Tooltip("Only shake when in view of a camera.")] + [Space(10f)] + [SerializeField] + private bool _requireInView = true; + /// + /// True to find transforms in children too. This allows you to use one ShakableTransform on the parent if all children transforms should shake as well. + /// + [Tooltip("True to find transforms in children too. This allows you to use one ShakableTransform on the parent if all children transforms should shake as well.")] + [SerializeField] + private bool _includeChildren = false; + /// + /// True to ignore the transform this component resides, and only shake children. + /// + [Tooltip("True to ignore the transform this component resides, and only shake children.")] + [SerializeField] + private bool _ignoreSelf = false; + /// + /// True to also find inactive children. + /// + [Tooltip("True to also find inactive children.")] + [SerializeField] + private bool _includeInactive = false; + /// + /// True to convert forces to influence space before applying. + /// + [Tooltip("True to convert influence to local space before applying.")] + [Space(10f)] + [SerializeField] + private bool _localizeShake = false; + /// + /// True to randomly change influence direction. Best used with bulk objects so they do not all shake the same direction. + /// + [Tooltip("True to randomly change influence direction. Best used with bulk objects so they do not all shake the same direction.")] + [SerializeField] + private bool _randomizeDirections = true; + #endregion + + #region Private. + /// + /// Data about each rigidbody to shake. + /// + private TransformData[] _tData; + /// + /// True if currently in view. + /// + private bool _inView = false; + /// + /// ObjectShaker used for this object. May be null if not using ObjectShaker type. + /// + private ObjectShaker _objectShaker = null; + #endregion + + protected virtual void Awake() + { + FirstInitialize(); + } + + protected virtual void OnEnable() + { + if (_requireInView && _inView) + ChangeSubscription(true); + else if (!_requireInView) + ChangeSubscription(true); + } + + protected virtual void OnDisable() + { + if (_requireInView && _inView) + ChangeSubscription(false); + else if (!_requireInView) + ChangeSubscription(false); + } + + /// + /// Initializes this script for use. Should only be completed once. + /// + private void FirstInitialize() + { + //If using ObjectShaker type. + if (base.ShakerType == ShakerTypes.ObjectShaker) + { + _objectShaker = GetComponentInParent(); + if (_objectShaker == null) + { + Debug.LogError("ObjectShaker could not be found on or above object " + gameObject.name + ". Shakable will be destroyed.", this); + DestroyImmediate(this); + return; + } + } + + //If not including children. + if (!_includeChildren) + { + Transform t = transform; + if (t == null) + { + Debug.LogWarning("Transform is empty on " + gameObject.name + ". Shakable will be destroyed.", this); + DestroyImmediate(this); + return; + } + + _tData = new TransformData[1]; + _tData[0] = new TransformData(t); + } + //Include children. + else + { + List ts = new List(); + Transforms.GetComponentsInChildren(transform, ts, !_ignoreSelf,_includeInactive); + if (ts.Count == 0) + { + Debug.LogWarning("No transforms exist on parent or children of " + gameObject.name + ". Shakable will be destroyed.", this); + DestroyImmediate(this); + return; + } + + _tData = new TransformData[ts.Count]; + for (int i = 0; i < ts.Count; i++) + _tData[i] = new TransformData(ts[i]); + } + + /* Try to find a renderer. One is required on this object for OnBecameVisible and OnBecameInvisible + * to call. If a renderer doesn't exist then add a low cost renderer. */ + if (_requireInView) + { + if (GetComponent() == null) + { + if (Debug.isDebugBuild) + Debug.Log("Renderer not found on object. Adding renderer so RequireInView works properly. Added renderer may be smaller than actual object, and sometimes may not be detected as in view. To resolve add your own renderer to the object this script resides.", this); + SpriteRenderer r = gameObject.AddComponent(); + r.sprite = null; + } + } + } + + #region OnShakeUpdate. + /// + /// Received when shaking starts when previously stopped on all Shakers. + /// + private void CameraShakerHandler_OnAllShakingStarted() + { + RandomizeDirections(); + } + + /// + /// Received when shaking starts when previously stopped on all Shakers. + /// + /// + private void ObjectShaker_OnShakingStarted(ObjectShaker obj) + { + RandomizeDirections(); + } + + /// + /// Received every fixed update a shake occurs. Contains the shake values from last update. + /// + private void CameraShakerHandler_OnShakeUpdate(ShakeUpdate obj) + { + ShakeUpdateOccurred(obj); + } + /// + /// Received every fixed update a shake occurs. Contains the shake values from last update. + /// + private void ObjectShaker_OnShakeUpdate(ObjectShaker arg1, ShakeUpdate arg2) + { + ShakeUpdateOccurred(arg2); + } + /// + /// Called when a shake update occurs, wether it be from CameraShaker or ObjectShaker. + /// + /// + private void ShakeUpdateOccurred(ShakeUpdate obj) + { + if (!_inView && _requireInView) + return; + + for (int i = 0; i < _tData.Length; i++) + { +#if UNITY_EDITOR + //Transform can go null when exiting playmode, and shaker may try to send one last update when exiting play mode. + if (_tData[i].Transform == null) + return; +#endif + //Calculate new offsets. + Vector3 newPos = obj.Objects.Position * _tData[i].RandomPositionMultiplier * _positionalMultiplier; + Vector3 newRot = obj.Objects.Rotation * _tData[i].RandomRotationMultiplier * _rotationalMultiplier; + //If to localize force. + if (_localizeShake) + { + newPos = _tData[i].Transform.transform.TransformDirection(newPos); + newRot = _tData[i].Transform.transform.TransformDirection(newRot); + } + + //Apply changes. + _tData[i].Transform.localPosition += (newPos - _tData[i].LastPositional); + _tData[i].Transform.localEulerAngles += (newRot - _tData[i].LastRotational); + //Set last values. + _tData[i].SetLastPositional(newPos); + _tData[i].SetLastRotational(newRot); + } + } + #endregion + + /// + /// Updates random multipliers for all transform datas. + /// + private void RandomizeDirections() + { + if (!_randomizeDirections) + return; + + for (int i = 0; i < _tData.Length; i++) + RandomizeDirections(_tData[i]); + } + /// + /// Updates random multipliers for data. + /// + private void RandomizeDirections(TransformData data) + { + if (!_randomizeDirections) + return; + + data.SetRandomPositionMultiplier(Floats.RandomlyFlip(data.RandomPositionMultiplier)); + data.SetRandomRotationMultiplier(Floats.RandomlyFlip(data.RandomRotationMultiplier)); + } + + /// + /// Received when visible in any camera. + /// + protected virtual void OnBecameVisible() + { + _inView = true; + if (_requireInView) + ChangeSubscription(true); + } + /// + /// Received when no longer visible in any camera. + /// + protected virtual void OnBecameInvisible() + { + _inView = false; + if (_requireInView) + ChangeSubscription(false); + } + + /// + /// Changes the subscription to the camera shaker. + /// + /// + private void ChangeSubscription(bool subscribe) + { + /* Must subscribe to starting so that random directions + * can be reset before a shake begins. */ + + //CameraShaker type. + if (base.ShakerType == ShakerTypes.CameraShaker) + { + if (subscribe) + { + CameraShakerHandler.OnAllShakeUpdate += CameraShakerHandler_OnShakeUpdate; + CameraShakerHandler.OnAllShakingStarted += CameraShakerHandler_OnAllShakingStarted; + } + else + { + CameraShakerHandler.OnAllShakeUpdate -= CameraShakerHandler_OnShakeUpdate; + CameraShakerHandler.OnAllShakingStarted -= CameraShakerHandler_OnAllShakingStarted; + } + } + //ObjectShaker type. + else if (base.ShakerType == ShakerTypes.ObjectShaker) + { + if (_objectShaker != null) + { + if (subscribe) + { + _objectShaker.OnShakeUpdate += ObjectShaker_OnShakeUpdate; + _objectShaker.OnShakingStarted += ObjectShaker_OnShakingStarted; + /* If already shaking then randomize directions. + * This can occur when ObjectShaker has a ShakeOnEnable + * shake and is active before this shakable. */ + if (_objectShaker.Shaking) + RandomizeDirections(); + } + else + { + _objectShaker.OnShakeUpdate -= ObjectShaker_OnShakeUpdate; + _objectShaker.OnShakingStarted -= ObjectShaker_OnShakingStarted; + } + } + } + } + + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform.cs.meta new file mode 100644 index 00000000..2c8b13db --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: d9d4107aad3b3544da23b3f86c3f2d0f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform2D.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform2D.cs new file mode 100644 index 00000000..65e8610c --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform2D.cs @@ -0,0 +1,14 @@ +namespace FirstGearGames.SmoothCameraShaker +{ + /// + /// ShakableTransform2D is currently the exact same as ShakableTransform. Using inheritance for now should I want to expand upon ShakableTransform2D later. + /// + public class ShakableTransform2D : ShakableTransform + { + protected override void Awake() { base.Awake(); } + protected override void OnEnable() { base.OnEnable(); } + protected override void OnDisable() { base.OnDisable(); } + protected override void OnBecameInvisible() { base.OnBecameInvisible(); } + protected override void OnBecameVisible() { base.OnBecameVisible(); } + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform2D.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform2D.cs.meta new file mode 100644 index 00000000..3f639f18 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform2D.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 1668e20ecaba69547a8a160014c5640b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakables/ShakableTransform2D.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakeData.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakeData.cs new file mode 100644 index 00000000..71b18d60 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakeData.cs @@ -0,0 +1,647 @@ +using FirstGearGames.Utilities.Editors; +using FirstGearGames.Utilities.Maths; +using UnityEngine; +using UnityEngine.Serialization; + +namespace FirstGearGames.SmoothCameraShaker +{ + + [CreateAssetMenu(fileName = "NewCameraShake", menuName = "FirstGearGames/Smooth Camera Shaker/Shake Data", order = 1)] + public class ShakeData : ScriptableObject + { + #region Public. + /* Be sure to add [System.NonSerialized] to public fields + * which should not be serialized. ScriptableObjects have a tendacy + * of serializing fields that aren't explicitly marked as non serialized. */ + + /// + /// True if this data is instanced. + /// + public bool Instanced { get; private set; } + #endregion + + #region Serialized. + /// + /// + /// + [Tooltip("True to use scaled time, false to use unscaled.")] + [SerializeField] + private bool _scaledTime = true; + /// + /// True to use scaled time, false to use unscaled. + /// + public bool ScaledTime + { + get { return _scaledTime; } + private set { _scaledTime = value; } + } + + #region Shakables. + /// + /// + /// + [Tooltip("True to shake cameras.")] + [SerializeField] + private bool _shakeCameras = true; + /// + /// True to shake cameras. + /// + public bool ShakeCameras + { + get { return _shakeCameras; } + private set { _shakeCameras = value; } + } + /// + /// + /// + [Tooltip("True to shake canvases. Canvases must have a ShakableCanvas component attached.")] + [SerializeField] + private bool _shakeCanvases = true; + /// + /// True to shake canvases. Canvases must have a ShakableCanvas component attached. + /// + public bool ShakeCanvases + { + get { return _shakeCanvases; } + private set { _shakeCanvases = value; } + } + /// + /// + /// + [Tooltip("True to shake objects such as rigidbodies. Rigidbodies must have a ShakableRigidbody or ShakableRigidbody2D component attached.")] + [FormerlySerializedAs("_shakeRigidbodies")] + [SerializeField] + private bool _shakeObjects = true; + /// + /// True to shake objects such as rigidbodies. Rigidbodies must have a ShakableRigidbody or ShakableRigidbody2D component attached. + /// + public bool ShakeObjects + { + get { return _shakeObjects; } + private set { _shakeObjects = value; } + } + #endregion + + /// + /// Percentage of a single iteration to perform. Using 1f would be the same as SingleCompletion, where 0.5f would only complete half of a SingleCompletion. + /// + [Tooltip("Percentage of a single iteration to perform. Using 1f would be the same as SingleCompletion, where 0.5f would only complete half of a SingleCompletion.")] + [SerializeField] + private float _iterationPercent = 1f; + /// + /// Percentage of a single iteration to perform. Using 1f would be the same as SingleCompletion, where 0.5f would only complete half of a SingleCompletion. + /// + public float IterationPercent + { + get { return _iterationPercent; } + private set { _iterationPercent = value; } + } + /// + /// + /// + [Tooltip("True to shake until stopped.")] + [SerializeField] + private bool _unlimitedDuration = false; + /// + /// True to shake until stopped. + /// + public bool UnlimitedDuration + { + get { return _unlimitedDuration; } + private set { _unlimitedDuration = value; } + } + /// + /// + /// + [Tooltip("How long the shake will last. If duration is less than fade out and fade in time combined then duration is adjusted to the total of those values.")] + [SerializeField] + private float _totalDuration = 4f; + /// + /// How long the shake will last. If duration is less than fade out and fade in time combined then duration is adjusted to the total of those values. + /// + public float TotalDuration + { + get { return _totalDuration; } + private set { _totalDuration = value; } + } + /// + /// Sets TotalDuration to a value and adjust it if neccesary. + /// + /// + /// True to change unlimited duration based on the new value. + private void ValidateTotalDuration(float value, bool alterUnlimitedDuration) + { + if (alterUnlimitedDuration) + UnlimitedDuration = (value < 0f); + + if (!UnlimitedDuration) + TotalDuration = Mathf.Max(value, FadeInDuration + FadeOutDuration); + else + TotalDuration = -1f; + } + + /// + /// + /// + [Tooltip("How long after the start of the shake until it reaches full magnitude. Used to ease into shakes. Works independently from curves. This value is not in addition to TotalDuration.")] + [SerializeField] + private float _fadeInDuration = 0.5f; + /// + /// How long after the start of the shake until it reaches full magnitude. Used to ease into shakes. Works independently from curves. This value is not in addition to TotalDuration. + /// + public float FadeInDuration + { + get { return _fadeInDuration; } + private set { _fadeInDuration = value; } + } + /// + /// + /// + [Tooltip("How long at the end of the shake to ease out of shake. Works independently from curves. This value is not in addition to TotalDuration.")] + [SerializeField] + private float _fadeOutDuration = 0.5f; + /// + /// How long at the end of the shake to ease out of shake. Works independently from curves. This value is not in addition to TotalDuration. + /// + public float FadeOutDuration + { + get { return _fadeOutDuration; } + private set { _fadeOutDuration = value; } + } + /// + /// + /// + [Tooltip("A multiplier to apply towards configured settings.")] + [SerializeField] + private float _magnitude = 1f; + /// + /// A multiplier to apply towards configured settings. + /// + public float Magnitude + { + get { return _magnitude; } + private set { _magnitude = value; } + } + /// + /// + /// + [Tooltip("Larger noise values will result in more drastic ever-changing magnitude levels during the shake.")] + [Range(0f, 1f)] + [SerializeField] + private float _magnitudeNoise = 0.1f; + /// + /// Larger noise values will result in more drastic ever-changing magnitude levels during the shake. + /// + public float MagnitudeNoise + { + get { return _magnitudeNoise; } + private set { _magnitudeNoise = value; } + } + /// + /// + /// + [Tooltip("Percentage curve applied to magnitude over the shake duration.")] + [SerializeField] + private AnimationCurve _magnitudeCurve = new AnimationCurve(new Keyframe[] { new Keyframe(0f, 1f), new Keyframe(1f, 1f) }); + /// + /// Percentage curve applied to magnitude over the shake duration. + /// + public AnimationCurve MagnitudeCurve + { + get { return _magnitudeCurve; } + private set { _magnitudeCurve = value; } + } + /// + /// + /// + [Tooltip("How quickly to transition between shake offsets. Higher values will result in more violent shakes.")] + [SerializeField] + private float _roughness = 7.5f; + /// + /// How quickly to transition between shake offsets. Higher values will result in more violent shakes. + /// + public float Roughness + { + get { return _roughness; } + private set { _roughness = value; } + } + /// + /// + /// + [Tooltip("Larger noise values will result in more drastic ever-changing roughness levels during the shake.")] + [Range(0f, 1f)] + [SerializeField] + private float _roughnessNoise = 0.3f; + /// + /// Larger noise values will result in more drastic ever-changing roughness levels during the shake. + /// + public float RoughnessNoise + { + get { return _roughnessNoise; } + private set { _roughnessNoise = value; } + } + /// + /// + /// + [Tooltip("Percentage curve applied to roughness over the shake duration.")] + [SerializeField] + private AnimationCurve _roughnessCurve = new AnimationCurve(new Keyframe[] { new Keyframe(0f, 1f), new Keyframe(1f, 1f) }); + /// + /// Percentage curve applied to roughness over the total duration. + /// + public AnimationCurve RoughnessCurve + { + get { return _roughnessCurve; } + private set { _roughnessCurve = value; } + } + /// + /// + /// + [Tooltip("Values in either sign which the shake positioning will occur.")] + [SerializeField] + private Vector3 _positionalInfluence = new Vector3(1f, 1f, 0f); + /// + /// Values in either sign which the shake positioning will occur. + /// + public Vector3 PositionalInfluence + { + get { return _positionalInfluence; } + private set { _positionalInfluence = value; } + } + /// + /// + /// + [Tooltip("Positional axes which may be randomly inverted when this ShakeData is instanced.")] + [SerializeField] + [BitMask(typeof(InvertibleAxes))] + private InvertibleAxes _positionalInverts; + /// + /// Positional axes which may be randomly inverted when this ShakeData is instanced. + /// + public InvertibleAxes PositionalInverts + { + get { return _positionalInverts; } + set { _positionalInverts = value; } + } + /// + /// + /// + [Tooltip("Values in either sign which the shake rotation will occur.")] + [SerializeField] + private Vector3 _rotationalInfluence = new Vector3(0f, 0f, 1f); + /// + /// Values in either sign which the shake rotation will occur. + /// + public Vector3 RotationalInfluence + { + get { return _rotationalInfluence; } + private set { _rotationalInfluence = value; } + } + /// + /// + /// + [Tooltip("Rotational axes which may be randomly inverted when this ShakeData is instanced.")] + [SerializeField] + [BitMask(typeof(InvertibleAxes))] + private InvertibleAxes _rotationalInverts = 0; + /// + /// Rotational axes which may be randomly inverted when this ShakeData is instanced. + /// + public InvertibleAxes RotationalInverts + { + get { return _rotationalInverts; } + set { _rotationalInverts = value; } + } + /// + /// + /// + [Tooltip("While checked a new starting position and direction is used with every shake; shakes are more randomized. If unchecked shakes are guaranteed to start at the same position, and move the same direction with every shake; configured curves and noise are still applied.")] + [SerializeField] + private bool _randomSeed = true; + /// + /// While checked a new starting position and direction is used with every shake; shakes are more randomized. If unchecked shakes are guaranteed to start at the same position, and move the same direction with every shake; configured curves and noise are still applied. + /// + public bool RandomSeed + { + get { return _randomSeed; } + private set { _randomSeed = value; } + } + #endregion + + #region Private. + /* Be sure to add [System.NonSerialized] to private fields + * which should not be serialized. ScriptableObjects have a tendacy + * of serializing fields that aren't explicitly marked as non serialized. */ + #endregion + + #region Const. + /// + /// Text to display when an action cannot be performed due to the ShakeData not being instanced. + /// + private const string ACTION_INSTANCE_REQUIRED = "ShakeData is not instanced. You must use ShakeData.CreateInstance to create an instance before using this action."; + /// + /// Minimum time to fade a shake in to force smoothing. + /// + private const float SMOOTH_IN_DURATION = 0.05f; + /// + /// Minimum time to fade a shake out to force smoothing. + /// + private const float SMOOTH_OUT_DURATION = 0.125f; + #endregion + + /// + /// Initializes this data to ensure values make sense. This method is for internal use only. + /// + internal void Initialize() + { + Magnitude = Mathf.Max(0.01f, Magnitude); + Roughness = Mathf.Max(0.01f, Roughness); + SetFadeInDuration(FadeInDuration); + SetFadeOutDuration(FadeOutDuration); + ValidateTotalDuration(TotalDuration, false); + } + + #region API. + /// + /// Sets a new fade out duration. + /// + /// New fade out duration. + public void SetFadeOutDuration(float value) + { + if (!InstancedWithDebug()) + return; + + /* Code not used as it needs further testing. Additionally, + * results acheived via this modification likely won't prove noticeable. */ + //bool curveFadesOut; + ////Only compare against curve if has multiple keys. + //if (MagnitudeCurve.length > 1) + //{ + // float curveDuration = MagnitudeCurve.keys[MagnitudeCurve.length - 1].time; + // float endPercent = MagnitudeCurve.Evaluate(curveDuration); + // //Consider 5% or less at end fading out. + // curveFadesOut = (endPercent <= 0.05f); + //} + ////Not enough curve data. + //else + //{ + // curveFadesOut = false; + //} + + ///* If curve already fades out then use whatever value + // * is set. */ + //if (curveFadesOut) + // FadeOutDuration = value; + ///* If curve does not fade out then determine if + // * fading in needs to be applied. */ + //else + // FadeOutDuration = Mathf.Max(SMOOTH_OUT_DURATION, value); + + FadeOutDuration = Mathf.Max(SMOOTH_OUT_DURATION, value); + } + + + /// + /// Sets a new fade in duration. + /// + /// New fade in duration. + public void SetFadeInDuration(float value) + { + if (!InstancedWithDebug()) + return; + + /* Code not used as it needs further testing. Additionally, + * results acheived via this modification likely won't prove noticeable. */ + //bool curveFadesIn; + ////Only compare against curve if has multiple keys. + //if (MagnitudeCurve.length > 1) + //{ + // float startPercent = MagnitudeCurve.Evaluate(0f); + // //Consider 10% or less at start fading in. + // curveFadesIn = (startPercent <= 0.1f); + //} + ////Not enough curve data. + //else + //{ + // curveFadesIn = false; + //} + + ///* If curve already fades in then use whatever value + // * is set. */ + //if (curveFadesIn) + // FadeInDuration = value; + ///* If curve does not fade in then determine if + // * fading in needs to be applied. */ + //else + // FadeInDuration = Mathf.Max(SMOOTH_IN_DURATION, value); + + FadeInDuration = Mathf.Max(SMOOTH_IN_DURATION, value); + } + + + /// + /// Sets a new TotalDuration value. Setting this value to 0 or greater removes unlimited duration; just as setting it to less than 0 sets unlimited duration. + /// + /// New total duration. Using values 0f and lower will make duration unlimited. + public void SetTotalDuration(float value) + { + if (!InstancedWithDebug()) + return; + ValidateTotalDuration(value, true); + } + + /// + /// Sets a new ShakeCameras value. + /// + /// + public void SetShakeCameras(bool value) + { + if (!InstancedWithDebug()) + return; + ShakeCameras = value; + } + + /// + /// Sets a new ShakeCanvases value. + /// + /// + public void SetShakeCanvases(bool value) + { + if (!InstancedWithDebug()) + return; + ShakeCanvases = value; + } + + /// + /// Sets a new ShakeRigidbodies value. + /// + /// + public void SetShakeRigidbodies(bool value) + { + if (!InstancedWithDebug()) + return; + ShakeObjects = value; + } + + /// + /// Creates and returns an instance of this data. + /// + /// + public ShakeData CreateInstance() + { + ShakeData data = ScriptableObject.CreateInstance(); + data.SetInstancedWithProperties(ScaledTime, ShakeCameras, ShakeCanvases, ShakeObjects, UnlimitedDuration, Magnitude, MagnitudeNoise, MagnitudeCurve, + Roughness, RoughnessNoise, RoughnessCurve, TotalDuration, FadeInDuration, FadeOutDuration, + PositionalInfluence, PositionalInverts, RotationalInfluence, RotationalInverts, RandomSeed); + + return data; + } + + /// + /// Inversts specified positional axes. Using this in the middle of a shake may create jarring the next frame. + /// + /// Axes to invert. + public void InvertPositionalAxes(InvertibleAxes axes) + { + if (axes.Contains(InvertibleAxes.X)) + _positionalInfluence.x *= -1f; + if (axes.Contains(InvertibleAxes.Y)) + _positionalInfluence.y *= -1f; + if (axes.Contains(InvertibleAxes.Z)) + _positionalInfluence.z *= -1f; + } + /// + /// Inverts specified rotational axes. Using this in the middle of a shake may create jarring the next frame. + /// + /// Axes to invert. + public void InvertRotationalAxes(InvertibleAxes axes) + { + if (axes.Contains(InvertibleAxes.X)) + _rotationalInfluence.x *= -1f; + if (axes.Contains(InvertibleAxes.Y)) + _rotationalInfluence.y *= -1f; + if (axes.Contains(InvertibleAxes.Z)) + _rotationalInfluence.z *= -1f; + } + /// + /// Randomizes inversion for specified positional axes. Using this in the middle of a shake may create jarring the next frame. + /// + /// Axes to randomly invert. + public void RandomlyInvertPositionalAxes(InvertibleAxes axes) + { + //If there is anything to invert. + if ((int)axes != 0) + { + //X + if (axes.Contains(InvertibleAxes.X)) + { + float multiplier = Floats.RandomlyFlip(1f); + _positionalInfluence.x *= multiplier; + } + //Y + if (axes.Contains(InvertibleAxes.Y)) + { + float multiplier = Floats.RandomlyFlip(1f); + _positionalInfluence.y *= multiplier; + } + //Z + if (axes.Contains(InvertibleAxes.Z)) + { + float multiplier = Floats.RandomlyFlip(1f); + _positionalInfluence.z *= multiplier; + } + } + } + /// + /// Randomizes inversion for specified rotational axes. Using this in the middle of a shake may create jarring the next frame. + /// + /// Axes to randomly invert. + public void RandomlyInvertRotationalAxes(InvertibleAxes axes) + { + //If there is anything to invert. + if ((int)axes != 0) + { + //X + if (axes.Contains(InvertibleAxes.X)) + { + float multiplier = Floats.RandomlyFlip(1f); + _rotationalInfluence.x *= multiplier; + } + //Y + if (axes.Contains(InvertibleAxes.Y)) + { + float multiplier = Floats.RandomlyFlip(1f); + _rotationalInfluence.y *= multiplier; + } + //Z + if (axes.Contains(InvertibleAxes.Z)) + { + float multiplier = Floats.RandomlyFlip(1f); + _rotationalInfluence.z *= multiplier; + } + } + } + #endregion + + /// + /// Sets instanced to true, and sets serialized properties. This method is for internal use only. + /// + /// + /// + /// + /// + /// + /// + /// + /// + internal void SetInstancedWithProperties(bool scaledTime, bool shakeCameras, bool shakeCanvases, bool shakeRigidbodies, bool unlimitedDuration, float magnitude, float magnitudeNoise, AnimationCurve magnitudeCurve, float roughness, float roughnessNoise, AnimationCurve roughnessCurve, float totalDuration, float fadeInDuration, float fadeOutDuration, Vector3 positionalInfluence, InvertibleAxes positionalInverts, Vector3 rotationalInfluence, InvertibleAxes rotationalInverts, bool randomSeed) + { + ScaledTime = scaledTime; + ShakeCameras = shakeCameras; + ShakeCanvases = shakeCanvases; + ShakeObjects = shakeRigidbodies; + UnlimitedDuration = unlimitedDuration; + Magnitude = magnitude; + MagnitudeNoise = magnitudeNoise; + MagnitudeCurve = magnitudeCurve; + Roughness = roughness; + RoughnessNoise = roughnessNoise; + RoughnessCurve = roughnessCurve; + FadeInDuration = fadeInDuration; + FadeOutDuration = fadeOutDuration; + TotalDuration = totalDuration; + PositionalInfluence = positionalInfluence; + PositionalInverts = positionalInverts; + RotationalInfluence = rotationalInfluence; + RotationalInverts = rotationalInverts; + RandomSeed = randomSeed; + + RandomlyInvertPositionalAxes(PositionalInverts); + RandomlyInvertRotationalAxes(RotationalInverts); + + Instanced = true; + } + /// + /// Returns if instanced and outputs debug when not. + /// + /// + private bool InstancedWithDebug() + { + if (!Instanced && Debug.isDebugBuild) + Debug.LogError(ACTION_INSTANCE_REQUIRED); + + return Instanced; + } + + #region Editor checks. + private void OnValidate() + { + if (!UnlimitedDuration && _totalDuration <= 0f) + _totalDuration = 1f; + } + #endregion + + + } + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakeData.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakeData.cs.meta new file mode 100644 index 00000000..fa01ebe4 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakeData.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 9ba2a80b753f77d4d96ab2af3748cee8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakeData.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakerInstance.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakerInstance.cs new file mode 100644 index 00000000..555f1de0 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakerInstance.cs @@ -0,0 +1,441 @@ +using FirstGearGames.Utilities.Maths; +using UnityEngine; + +namespace FirstGearGames.SmoothCameraShaker +{ + public class ShakerInstance + { + #region Types. + private class NoiseData + { + public NoiseData(float variance) + { + _variance = variance; + RandomizeGoal(true); + } + + #region Private. + private readonly float _variance; + /// + /// Current noise value. + /// + private float _currentNoise; + /// + /// Goal to move towards. + /// + private float _goal; + #endregion + + #region Const. + /// + /// How much to multiply distance checks by when moving CurrentNoise towards Goal. + /// + private const float DISTANCE_MULTIPLIER = 3f; + /// + /// How quickly to move CurrentNoise towards Goal. + /// + private const float UPDATE_RATE = 0.5f; + #endregion + + /// + /// Randomly sets a new goal using variance. + /// + private void RandomizeGoal(bool setCurrent) + { + _goal = 1f.Variance(_variance); + if (setCurrent) + _currentNoise = _goal; + } + /// + /// Returns the current noise. This is for internal use only. + /// + /// + /// DeltaTime to use. + internal float UpdateCurrentNoise(float deltaTime) + { + //No variance. + if (_variance == 0f) + return 1f; + + //At goal, make a new one. + if (_currentNoise == _goal) + RandomizeGoal(false); + + float distance = Mathf.Max(1f, Mathf.Abs(_goal - _currentNoise) * DISTANCE_MULTIPLIER); + _currentNoise = Mathf.MoveTowards(_currentNoise, _goal, UPDATE_RATE * distance * deltaTime); + + return _currentNoise; + } + } + + private class ModifierMultiplier + { + public ModifierMultiplier() { } + public ModifierMultiplier(float multiplier, float moveRate, bool rateUsesDistance) + { + SetValues(multiplier, moveRate, rateUsesDistance); + } + + /// + /// Value Multiplier should move towards. + /// + private float _multiplierGoal = 1f; + /// + /// Current value to multiply by. + /// + public float Multiplier { get; private set; } = 1f; + /// + /// Rate to move towards multipliers. Use -1f for instant changes. + /// + private float _moveRate = -1f; + /// + /// True for the rate value to change with distance. This to a degree normalizes changes. + /// + private bool _rateUsesDistance = true; + + /// + /// Sets new values to use. + /// + /// + /// + /// + public void SetValues(float multiplier, float moveRate, bool rateUsesDistance) + { + _multiplierGoal = multiplier; + _moveRate = moveRate; + _rateUsesDistance = rateUsesDistance; + } + + /// + /// Updates the multipliers to move towards their goals. This is for internal use only. + /// + /// + internal void Update(float deltaTime) + { + //If magnitude isn't at goal yet. + if (Multiplier != _multiplierGoal) + { + //No move rate, move instantly. + if (_moveRate <= 0f) + { + Multiplier = _multiplierGoal; + } + else + { + float distance = 1f; + if (_rateUsesDistance) + distance = Mathf.Max(distance, Mathf.Abs(_multiplierGoal - Multiplier)); + + Multiplier = Mathf.MoveTowards(Multiplier, _multiplierGoal, distance * _moveRate * deltaTime); + } + } + } + } + #endregion + + #region Constructors. + public ShakerInstance(ShakeData data) + { + Data = data; + + if (data.RandomSeed) + _seed = Floats.Random01(); + else + _seed = 0.5f; + + _magnitudeNoise = new NoiseData(data.MagnitudeNoise); + _roughnessNoise = new NoiseData(data.RoughnessNoise); + } + #endregion + + #region Public. + /// + /// Data being used for this instance. + /// + public ShakeData Data { get; private set; } + /// + /// + /// + private bool _paused; + /// + /// True if this shaker instance is paused. + /// + public bool Paused + { + get + { + if (_paused) + return true; + if (Time.timeScale == 0f && Data.ScaledTime) + return true; + + return false; + } + private set { _paused = value; } + } + #endregion + + #region Private. + /// + /// Seed to generate perlin noise. + /// + private float _seed = 0; + /// + /// Time passed since the shaker has started. + /// + private float _timePassed = 0f; + /// + /// Value to multiply roughness by. + /// + private ModifierMultiplier _roughnessMultiplier = new ModifierMultiplier(); + /// + /// Value to multiply magnitude by. + /// + private ModifierMultiplier _magnitudeMultiplier = new ModifierMultiplier(); + /// + /// Time in the magnitude curve when using infinite shake. + /// + private float _magnitudeCurveTime = 0f; + /// + /// Time in the roughness curve when using infinite shake. + /// + private float _roughnessCurveTime = 0f; + /// + /// Noise data for magnitude. + /// + private NoiseData _magnitudeNoise; + /// + /// Noise data for roughness. + /// + private NoiseData _roughnessNoise; + /// + /// Last offset for instance. + /// + private Vector3 _offset; + #endregion + + /// + /// Creates a Vector3 perlin noise. + /// + /// + /// + /// + private Vector3 PerlinNoise(float seed) + { + return new Vector3( + Mathf.PerlinNoise(seed, seed) - 0.5f, + Mathf.PerlinNoise(seed, 0f) - 0.5f, + Mathf.PerlinNoise(0f, seed) - 0.5f + ); + } + + private bool _first = true; + /// + /// Returns a new offset for this instnace. + /// + /// + internal Vector3 UpdateOffset() + { + float deltaTime = (Data.ScaledTime) ? Time.deltaTime : Time.unscaledDeltaTime; + + if (DurationOver()) + { + _offset = Vector3.zero; + } + else + { + //Updates the multipliers which can be set at runtime. + _magnitudeMultiplier.Update(deltaTime); + _roughnessMultiplier.Update(deltaTime); + + //If RandomSeed is used then also use perlin noise, creating a more randomized shake. + if (Data.RandomSeed) + _offset = PerlinNoise(_seed); + //Without a random seed the offset changes predictably. + else + _offset = new Vector3(1f, 1f, 1f) * (Mathf.PingPong(_seed, 1f) - 0.5f); + + _seed += deltaTime * Data.Roughness * ReturnRoughnessCurveMultiplier(deltaTime) * _roughnessMultiplier.Multiplier * _roughnessNoise.UpdateCurrentNoise(deltaTime); + } + + //Multiplier from fading which is applied to overall values. + float fadeMultiplier = ReturnFadeMultiplier(); + //Increase time passed to handle fading and ending shake. + _timePassed += deltaTime; + + return _offset * Data.Magnitude * ReturnMagnitudeCurveMultiplier(deltaTime) * _magnitudeMultiplier.Multiplier * fadeMultiplier * _magnitudeNoise.UpdateCurrentNoise(deltaTime); + } + + /// + /// Returns a multiplier to use based on if fading in or out. + /// + /// + private float ReturnFadeMultiplier() + { + //Fading in check. + if (Data.FadeInDuration > 0f) + { + float percent = _timePassed / Data.FadeInDuration; + //If not fully faded in then return fade in multiplier. + if (percent < 1f) + return percent; + } + + //Fading out check. + if (!Data.UnlimitedDuration && Data.FadeOutDuration > 0f) + { + float remaining = Data.TotalDuration - _timePassed; + float percent = remaining / Data.FadeOutDuration; + if (percent < 1f) + return percent; + } + + //Default multiplier if no fade is occurring. + return 1f; + } + + /// + /// Returns a magnitude mulitplier based on the magnitude curve and time passed. + /// + /// + private float ReturnMagnitudeCurveMultiplier(float deltaTime) + { + float curveDuration = Data.RoughnessCurve.keys[Data.RoughnessCurve.length - 1].time; + + //Unlimited shake, loop curve. + if (Data.UnlimitedDuration) + { + _magnitudeCurveTime += deltaTime; + if (_magnitudeCurveTime > curveDuration) + _magnitudeCurveTime = (curveDuration - _magnitudeCurveTime); + + return Data.MagnitudeCurve.Evaluate(_magnitudeCurveTime); + } + //Limited time, use curve normally. + else + { + float percent = _timePassed / Data.TotalDuration; + return Data.MagnitudeCurve.Evaluate(percent * curveDuration); + } + } + /// + /// Returns a roughness mulitplier based on the roughness curve and time passed. + /// + /// + private float ReturnRoughnessCurveMultiplier(float deltaTime) + { + float curveDuration = Data.RoughnessCurve.keys[Data.RoughnessCurve.length - 1].time; + + //Unlimited shake, loop curve. + if (Data.UnlimitedDuration) + { + _roughnessCurveTime += deltaTime; + if (_roughnessCurveTime > curveDuration) + _roughnessCurveTime = (curveDuration - _roughnessCurveTime); + + return Data.RoughnessCurve.Evaluate(_roughnessCurveTime); + } + //Limited time, use curve normally. + else + { + float percent = _timePassed / Data.TotalDuration; + return Data.RoughnessCurve.Evaluate(percent * curveDuration); + } + } + + /// + /// Returns if the instance shaker is over. + /// + /// + public bool ShakerOver() + { + return (DurationOver() && (_offset == Vector3.zero)); + } + + /// + /// Returns true if the total duration has expired, and not unlimited duration. + /// + /// + private bool DurationOver() + { + if (Data.UnlimitedDuration) + return false; + + return (_timePassed >= Data.TotalDuration); + } + + /// + /// Sets the paused state of this shaker. + /// + /// New paused state. + public void SetPaused(bool value) + { + Paused = value; + } + + /// + /// Stops this instance abruptly. + /// + public void Stop() + { + Data.SetTotalDuration(0f); + } + + /// + /// Fades out this instance. This operation only works if not already fading out. + /// + /// Overrides instance Data fade out duration with a new value. + public void FadeOut(float? durationOverride = null) + { + float fadeDuration = (durationOverride == null) ? Data.FadeOutDuration : durationOverride.Value; + + bool canChange = false; + //If unlimited duration then fading out is okay, no checks needed. + if (Data.UnlimitedDuration) + { + canChange = true; + } + //Not unlimited total duration, check if already fading out. + else + { + float remaining = Data.TotalDuration - _timePassed; + /* If remaining is less than new fade + * duration then let remaining end unmodified. + * Otherwise snap to new fade out duration. + * In the future rather than abrutply + * skipping time fade out will be speed up to match + * new time. */ + if (remaining > fadeDuration) + canChange = true; + } + + if (canChange) + { + Data.SetFadeOutDuration(fadeDuration); + Data.SetTotalDuration(_timePassed + fadeDuration); + } + } + + /// + /// Multiplies magnitude values in data by a set amount. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using moveRate unmodified. + public void MultiplyMagnitude(float multiplier, float moveRate, bool rateUsesDistance = true) + { + _magnitudeMultiplier.SetValues(multiplier, moveRate, rateUsesDistance); + } + /// + /// Multiplies roughness values in data by a set amount. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using moveRate unmodified. + public void MultiplyRoughness(float multiplier, float moveRate, bool rateUsesDistance = true) + { + _roughnessMultiplier.SetValues(multiplier, moveRate, rateUsesDistance); + } + + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakerInstance.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakerInstance.cs.meta new file mode 100644 index 00000000..2a24cbd5 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakerInstance.cs.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 15591c547998f4e47a2e8ce9ac3d3a73 +labels: +- Shake +- Camera +- Follow +- Animation +- Effect +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/ShakerInstance.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers.meta new file mode 100644 index 00000000..76ee04a4 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3cfbe36e382fa2c49973f4fa4f3bc3a5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/CameraShaker.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/CameraShaker.cs new file mode 100644 index 00000000..91ef1bc5 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/CameraShaker.cs @@ -0,0 +1,599 @@ +using UnityEngine; +using System.Collections.Generic; +using System; +using FirstGearGames.Utilities.Maths; + +namespace FirstGearGames.SmoothCameraShaker +{ + public class CameraShaker : MonoBehaviour + { + #region Types. + public enum ShakeTechniques + { + Matrix = 0, + LocalSpace = 1 + } + #endregion + + #region Public. + /// + /// Dispatched when shaking starts after previously being stopped. + /// + public event Action OnShakingStarted; + /// + /// Dispatched when shaking ends. + /// + public event Action OnShakingEnded; + /// + /// Dispatched every update a shake occurs. + /// + public event Action OnShakeUpdate; + /// + /// Dispatched every fixed update a shake occurs. Contains the shake values from last update. + /// + public event Action OnShakeFixedUpdate; + /// + /// Active instances which are shaking the camera. + /// + public List ShakerInstances { get; private set; } = new List(); + /// + /// True if this CameraShaker is currently shaking. + /// + public bool Shaking { get; private set; } + /// + /// Current scale applied towards shakes on this CameraShaker. Acts as a multiplier towards ShakerInstances. 1f is normal scale. + /// + public float Scale { get; private set; } = 1f; + /// + /// Last shake values for camera after running UpdateShakers. For internal use only. + /// + internal ShakeValues FixedCamera { get; private set; } = null; + #endregion + + #region Serialized. + /// + /// + /// + [Tooltip("Technique used to shake the camera.")] + [SerializeField] + private ShakeTechniques _shakeTechnique = ShakeTechniques.Matrix; + /// + /// Technique used to shake the camera. + /// + public ShakeTechniques ShakeTechnique + { + get { return _shakeTechnique; } + private set { _shakeTechnique = value; } + } + /// + /// Sets the shake technique to use. Changing this value while shakes are occurring may create unwanted results. + /// + /// + public void SetShakeTechnique(ShakeTechniques value) { ShakeTechnique = value; } + /// + /// True for this CameraShaker to be set as the default shaker when enabled. + /// + [Tooltip("True for this CameraShaker to be set as the default shaker when enabled.")] + [SerializeField] + private bool _makeDefaultOnEnable = true; + /// + /// True to limit how much magnitude can be applied to this CameraShaker. + /// + [Tooltip("True to limit how much magnitude can be applied to this CameraShaker.")] + [SerializeField] + private bool _limitMagnitude = false; + /// + /// How much positional magnitude to limit this CameraShaker to. + /// + [Tooltip("How much positional magnitude to limit this CameraShaker to.")] + [SerializeField] + private float _positionalMagnitudeLimit = 10f; + /// + /// How much rotational manitude to limit this CameraShaker to. + /// + [Tooltip("How much rotational manitude to limit this CameraShaker to.")] + [SerializeField] + private float _rotationalMagnitudeLimit = 3f; + #endregion + + #region Private. + /// + /// Camera on this gameObject. + /// + private Camera _camera; + /// + /// Last shake values for canvases after running UpdateShakers. + /// + private ShakeValues _fixedCanvases = null; + /// + /// Last shake values for rigidbodies after running UpdateShakers. + /// + private ShakeValues _fixedRigidbodies = null; + /// + /// Squared value of positional magnitude limit. This is used for faster calculations. + /// + private float _sqrPositionalMagnitudeLimit; + /// + /// Squared value of rotational magnitude limit. This is used for faster calculations. + /// + private float _sqrRotationalMagnitudeLimit; + /// + /// True if initialized. + /// + private bool _initialized = false; + #endregion + + private void Awake() + { + FirstInitialize(); + } + + private void OnEnable() + { + if (_makeDefaultOnEnable) + CameraShakerHandler.SetDefaultCameraShaker(this); + } + + private void OnDisable() + { + Disable(); + } + + private void OnDestroy() + { + CameraShakerHandler.RemoveInstantiatedShaker(this); + } + + /// + /// Initializes this script for use. This should only be completed once. + /// + private void FirstInitialize() + { + if (_initialized) + return; + + _camera = GetComponent(); + CameraShakerHandler.AddInstantiatedShaker(this); + CalculateSqrLimits(); + + _initialized = true; + } + + /// + /// Calculates the squared limits. + /// + private void CalculateSqrLimits() + { + //Set squared values for faster calculations. + if (_limitMagnitude) + { + _sqrPositionalMagnitudeLimit = Mathf.Pow(_positionalMagnitudeLimit, 2f); + _sqrRotationalMagnitudeLimit = Mathf.Pow(_rotationalMagnitudeLimit, 2f); + } + } + + /// + /// Checks if shakers need to be updated. This is for internal use only. + /// + /// Position offset after a shake. + /// Rotation offset after a shake. + /// True if a shaker was updated. + internal bool UpdateShakers(out ShakeValues camera, out ShakeValues canvases, out ShakeValues rigidbodies) + { + /* Only check if not shaking. Instances can still run when paused. + * This is intentional behavior so that shakes can be calculated + * on cameras which are currently disabled, but may become enabled during + * the middle of the shake. */ + if (!Shaking) + { + camera = new ShakeValues(); + canvases = new ShakeValues(); + rigidbodies = new ShakeValues(); + return false; + } + //Shaking + else + { + //Shaking. + if (TryUpdateShakers(out camera, out canvases, out rigidbodies)) + { + return true; + } + //Shaking ended last frame. + else + { + Disable(); + return false; + } + } + } + + /// + /// Checks if shakers need to be fixed updated. This is for internal use only. + /// + /// Position offset after a shake. + /// Rotation offset after a shake. + /// True if a shaker was updated. + internal bool UpdateFixedShakers(out ShakeValues camera, out ShakeValues canvases, out ShakeValues rigidbodies) + { + //No fixed values. + if (FixedCamera == null || _fixedCanvases == null || _fixedRigidbodies == null) + { + camera = new ShakeValues(); + canvases = new ShakeValues(); + rigidbodies = new ShakeValues(); + return false; + } + //Fixed values. + else + { + //Set out values. + camera = FixedCamera; + canvases = _fixedCanvases; + rigidbodies = _fixedRigidbodies; + //Dispatch and nullify. + OnShakeFixedUpdate?.Invoke(this, new ShakeUpdate(FixedCamera, _fixedCanvases, _fixedRigidbodies)); + FixedCamera = null; + _fixedCanvases = null; + _fixedRigidbodies = null; + + return true; + } + } + + /// + /// Updates shakers and returns true if a shaker was updated. + /// + /// + private bool TryUpdateShakers(out ShakeValues camera, out ShakeValues canvases, out ShakeValues rigidbodies) + { + camera = new ShakeValues(); + canvases = new ShakeValues(); + rigidbodies = new ShakeValues(); + + bool instanceProcessed = false; + for (int i = 0; i < ShakerInstances.Count; i++) + { + //Out of bounds. Shouldn't be possible, sanity check. + if (i >= ShakerInstances.Count) + break; + + ShakerInstance instance = ShakerInstances[i]; + //Instance went null. Also shouldn't be possible, sanity check. + if (instance == null) + { + ShakerInstances.RemoveAt(i); + i--; + continue; + } + //Shaker has ended. + if (instance.ShakerOver()) + { + instanceProcessed = true; + ShakerInstances.RemoveAt(i); + i--; + continue; + } + //Shaker paused. + if (instance.Paused) + { + instanceProcessed = true; + continue; + } + + /* Get new offset from instance and add alterations + * to position and rotation. This is done for each instance so that + * instances can stack. */ + Vector3 offset = instance.UpdateOffset(); + if (instance.Data.PositionalInfluence != Vector3.zero) + { + //Camera. + if (instance.Data.ShakeCameras) + camera.Position += offset.Multiply(instance.Data.PositionalInfluence); + //Canvases. + if (instance.Data.ShakeCanvases) + canvases.Position += offset.Multiply(instance.Data.PositionalInfluence); + //Rigidbodies. + if (instance.Data.ShakeObjects) + rigidbodies.Position += offset.Multiply(instance.Data.PositionalInfluence); + } + /* Multiply rotational influence by 2.77f so that the rotational + * amount is accurate to what the user sees in the influence field. */ + if (instance.Data.RotationalInfluence != Vector3.zero) + { + //Camera. + if (instance.Data.ShakeCameras) + camera.Rotation += offset.Multiply(instance.Data.RotationalInfluence * 2.77f); + //Canvases. + if (instance.Data.ShakeCanvases) + canvases.Rotation += offset.Multiply(instance.Data.RotationalInfluence * 2.77f); + //Rigidbodies + if (instance.Data.ShakeObjects) + rigidbodies.Rotation += offset.Multiply(instance.Data.RotationalInfluence * 2.77f); + } + + instanceProcessed = true; + } + + //Limit positional and rotation magnitudes. + if (_limitMagnitude) + { + //Camera. + if (camera.Position.sqrMagnitude > _sqrPositionalMagnitudeLimit) + camera.Position = camera.Position.normalized * _positionalMagnitudeLimit; + if (camera.Rotation.sqrMagnitude > _sqrRotationalMagnitudeLimit) + camera.Rotation = camera.Rotation.normalized * _rotationalMagnitudeLimit; + //Canvases. + if (canvases.Position.sqrMagnitude > _sqrPositionalMagnitudeLimit) + canvases.Position = canvases.Position.normalized * _positionalMagnitudeLimit; + if (canvases.Rotation.sqrMagnitude > _sqrRotationalMagnitudeLimit) + canvases.Rotation = canvases.Rotation.normalized * _rotationalMagnitudeLimit; + //Rigidbodies. + if (rigidbodies.Position.sqrMagnitude > _sqrPositionalMagnitudeLimit) + rigidbodies.Position = rigidbodies.Position.normalized * _positionalMagnitudeLimit; + if (rigidbodies.Rotation.sqrMagnitude > _sqrRotationalMagnitudeLimit) + rigidbodies.Rotation = rigidbodies.Rotation.normalized * _rotationalMagnitudeLimit; + } + + //If anything was changed. + if (instanceProcessed) + { + //Apply scale. + camera.Position *= Scale; + camera.Rotation *= Scale; + canvases.Position *= Scale; + canvases.Rotation *= Scale; + rigidbodies.Position *= Scale; + rigidbodies.Rotation *= Scale; + + /* Set position and rotation to accumulated values. + * If no values are set then camera will result to + * v3.zero position and rotation. */ + switch (ShakeTechnique) + { + //Matrix. + case ShakeTechniques.Matrix: + SetMatrixOffsets(camera.Position, camera.Rotation); + break; + //Local. + case ShakeTechniques.LocalSpace: + SetLocalSpaceOffsets(camera.Position, camera.Rotation); + break; + } + + FixedCamera = camera; + _fixedCanvases = canvases; + _fixedRigidbodies = rigidbodies; + OnShakeUpdate?.Invoke(this, new ShakeUpdate(camera, canvases, rigidbodies)); + } + + return instanceProcessed; + } + + /// + /// Disables this CameraShaker to save cycles. This is for internal use only. + /// + internal void Disable() + { + /* If shaking then update / reset before ending shaking + * so that updates are sent before shaking ending does. */ + if (Shaking) + { + //Reset values and broadcast zero offset. + if (ShakeTechnique == ShakeTechniques.Matrix) + _camera.ResetWorldToCameraMatrix(); + else if (ShakeTechnique == ShakeTechniques.LocalSpace) + SetLocalSpaceOffsets(Vector3.zero, Vector3.zero); + + OnShakeUpdate?.Invoke(this, new ShakeUpdate()); + //Send zero on fixed, and nullify fixed values. + OnShakeFixedUpdate?.Invoke(this, new ShakeUpdate(new ShakeValues(), new ShakeValues(), new ShakeValues())); + FixedCamera = null; + _fixedCanvases = null; + _fixedRigidbodies = null; + } + + UpdateShaking(false); + } + + /// + /// Adds a ShakerInstance to ShakerInstances. + /// + /// + private void AddShakerInstance(ShakerInstance instance) + { + ShakerInstances.Add(instance); + UpdateShaking(true); + } + + /// + /// Adds shaker instances to this cameras ShakerInstances. For internal use only. + /// + /// + internal void AddShakerInstances(List instances) + { + if (instances.Count == 0) + return; + + ShakerInstances.AddRange(instances); + UpdateShaking(true); + } + + /// + /// Updates the shaking value. + /// + /// + private void UpdateShaking(bool shaking) + { + bool changed = (shaking != Shaking); + Shaking = shaking; + + if (changed) + { + if (Shaking) + { + OnShakingStarted?.Invoke(this); + CameraShakerHandler.AddShaking(this); + } + else + { + ShakerInstances.Clear(); + OnShakingEnded?.Invoke(this); + CameraShakerHandler.RemoveShaking(this); + } + } + } + + #region Offset setting. + /// + /// Sets LocalSpace and LocalEulerAngle values for this transform. For internal use only. + /// + /// + /// + internal void SetLocalSpaceOffsets(Vector3 pos, Vector3 rot) + { + transform.localPosition = pos; + transform.localEulerAngles = rot; + } + /// + /// Sets Matrix values for this transform. For internal use only. + /// + /// + /// + internal void SetMatrixOffsets(Vector3 pos, Vector3 rot) + { + Matrix4x4 m = Matrix4x4.TRS(pos, Quaternion.Euler(rot), new Vector3(1, 1, -1)); + _camera.worldToCameraMatrix = m * _camera.transform.worldToLocalMatrix; + } + #endregion + + #region API. + /// + /// Sets Scale value. + /// + /// New scale to use. + public void SetScale(float value) + { + Scale = value; + } + + /// + /// Shakes the camera using data. + /// + /// ShakeData to use. + /// Instance generated using data. + public ShakerInstance Shake(ShakeData data) + { + FirstInitialize(); + + if (data.TotalDuration == 0f && data.FadeInDuration == 0f && data.FadeOutDuration == 0f) + { + if (Debug.isDebugBuild) Debug.LogWarning("No durations are specified in data; cannot generate a ShakerInstance."); + return null; + } + if (data.PositionalInfluence == Vector3.zero && data.RotationalInfluence == Vector3.zero) + { + if (Debug.isDebugBuild) Debug.LogWarning("No influences are specified in data; cannot generate a ShakerInstance."); + return null; + } + + /* Make an instance of the data if it's on disk so that values aren't serialized + * over in the editor when changing values at runtime such as total time, fade out, and more. + * Research suggest objects with a positive instance ID are prefabs, or are placed in the scene, + * while negative values are instantiated. */ + ShakeData dataInstance = data.Instanced ? data : data.CreateInstance(); + dataInstance.Initialize(); + + ShakerInstance shakerInstance = new ShakerInstance(dataInstance); + AddShakerInstance(shakerInstance); + + return shakerInstance; + } + /// + /// Sets the paused state of all shaker instances on this CameraShaker. + /// + /// New paused state. + public void SetPaused(bool value) + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.SetPaused(value); + } + } + + /// + /// Fades out all instances on this CameraShaker. This operation only works on instances not already fading out. + /// + /// Overrides instance fade out duration with a new value. + public void FadeOut(float? durationOverride = null) + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.FadeOut(durationOverride); + } + } + + /// + /// Abruptly stops all instances on this camera shaker. + /// + public void Stop() + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.Stop(); + } + } + + /// + /// Multiplies magnitude values for all instances on this CameraShaker. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using moveRate unmodified. + public void MultiplyMagnitude(float multiplier, float moveRate, bool rateUsesDistance) + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.MultiplyMagnitude(multiplier, moveRate, rateUsesDistance); + } + } + + /// + /// Multiplies roughness values for all instances on this CameraShaker. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using moveRate unmodified. + public void MultiplyRoughness(float multiplier, float moveRate, bool rateUsesDistance) + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.MultiplyRoughness(multiplier, moveRate, rateUsesDistance); + } + } + + + #endregion + + #region Editor checks. +#if UNITY_EDITOR + private void OnValidate() + { + if (_limitMagnitude) + { + _positionalMagnitudeLimit = Mathf.Max(_positionalMagnitudeLimit, 0.01f); + _rotationalMagnitudeLimit = Mathf.Max(_rotationalMagnitudeLimit, 0.01f); + + CalculateSqrLimits(); + } + } +#endif + #endregion + + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/CameraShaker.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/CameraShaker.cs.meta new file mode 100644 index 00000000..5e05bd24 --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/CameraShaker.cs.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 2ab8353b5ebd32545867da143199a814 +labels: +- Shake +- Camera +- Follow +- Animation +- Effect +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/CameraShaker.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/ObjectShaker.cs b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/ObjectShaker.cs new file mode 100644 index 00000000..4b61103d --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/ObjectShaker.cs @@ -0,0 +1,489 @@ +using UnityEngine; +using System.Collections.Generic; +using System; +using FirstGearGames.Utilities.Maths; + +namespace FirstGearGames.SmoothCameraShaker +{ + public class ObjectShaker : MonoBehaviour + { + + #region Public. + /// + /// Dispatched when shaking starts after previously being stopped. + /// + public event Action OnShakingStarted; + /// + /// Dispatched when shaking ends. + /// + public event Action OnShakingEnded; + /// + /// Dispatched every update a shake occurs. + /// + public event Action OnShakeUpdate; + /// + /// Dispatched every fixed update a shake occurs. Contains the shake values from last update. + /// + public event Action OnShakeFixedUpdate; + /// + /// Active instances which are shaking the camera. + /// + public List ShakerInstances { get; private set; } = new List(); + /// + /// True if this CameraShaker is currently shaking. + /// + public bool Shaking { get; private set; } + /// + /// Current scale applied towards shakes on this CameraShaker. Acts as a multiplier towards ShakerInstances. 1f is normal scale. + /// + public float Scale { get; private set; } = 1f; + #endregion + + #region Serialized. + /// + /// True to remove this shakers reference from it's handler when disabled. Useful if you have a lot of these shakers in your scene, but objects are not always enabled. + /// + [Tooltip("True to remove this shakers reference from it's handler when disabled. Useful if you have a lot of these shakers in your scene, but objects are not always enabled.")] + [SerializeField] + private bool _removeFromManagerOnDisable = true; + /// + /// True to limit how much magnitude can be applied to this CameraShaker. + /// + [Tooltip("True to limit how much magnitude can be applied to this CameraShaker.")] + [SerializeField] + private bool _limitMagnitude = false; + /// + /// How much positional magnitude to limit this CameraShaker to. + /// + [Tooltip("How much positional magnitude to limit this CameraShaker to.")] + [SerializeField] + private float _positionalMagnitudeLimit = 10f; + /// + /// How much rotational manitude to limit this CameraShaker to. + /// + [Tooltip("How much rotational manitude to limit this CameraShaker to.")] + [SerializeField] + private float _rotationalMagnitudeLimit = 3f; + /// + /// ShakeData to run when enabled. Leave empty to not use this feature. + /// + [Tooltip("ShakeData to run when enabled. Leave empty to not use this feature.")] + [Space(10)] + [SerializeField] + private ShakeData _shakeOnEnable = null; + #endregion + + #region Private. + /// + /// Last shake values for canvases after running UpdateShakers. + /// + private ShakeValues _fixedCanvases = null; + /// + /// Last shake values for rigidbodies after running UpdateShakers. + /// + private ShakeValues _fixedRigidbodies = null; + /// + /// Squared value of positional magnitude limit. This is used for faster calculations. + /// + private float _sqrPositionalMagnitudeLimit; + /// + /// Squared value of rotational magnitude limit. This is used for faster calculations. + /// + private float _sqrRotationalMagnitudeLimit; + /// + /// True if initialized. + /// + private bool _initialized = false; + #endregion + + private void Awake() + { + FirstInitialize(); + } + + private void OnEnable() + { + if (_removeFromManagerOnDisable) + ObjectShakerHandler.AddInstantiatedShaker(this); + if (_shakeOnEnable != null) + Shake(_shakeOnEnable); + } + + private void OnDisable() + { + Disable(); + if (_removeFromManagerOnDisable) + ObjectShakerHandler.RemoveInstantiatedShaker(this); + } + + private void OnDestroy() + { + ObjectShakerHandler.RemoveInstantiatedShaker(this); + } + + /// + /// Initializes this script for use. This should only be completed once. + /// + private void FirstInitialize() + { + if (_initialized) + return; + + CalculateSqrLimits(); + + //Only add to handler if always active. + if (!_removeFromManagerOnDisable) + ObjectShakerHandler.AddInstantiatedShaker(this); + + _initialized = true; + } + + /// + /// Calculates the squared limits. + /// + private void CalculateSqrLimits() + { + //Set squared values for faster calculations. + if (_limitMagnitude) + { + _sqrPositionalMagnitudeLimit = Mathf.Pow(_positionalMagnitudeLimit, 2f); + _sqrRotationalMagnitudeLimit = Mathf.Pow(_rotationalMagnitudeLimit, 2f); + } + } + + /// + /// Checks if shakers need to be updated. This is for internal use only. + /// + /// Position offset after a shake. + /// Rotation offset after a shake. + /// True if a shaker was updated. + internal void UpdateShakers() + { + /* Only check if not shaking. Instances can still run when paused. + * This is intentional behavior so that shakes can be calculated + * on cameras which are currently disabled, but may become enabled during + * the middle of the shake. */ + if (!Shaking) + return; + + + /* Try to update shakers. + * If cannot then disable. */ + if (!TryUpdateShakers()) + Disable(); + } + + /// + /// Checks if shakers need to be fixed updated. This is for internal use only. + /// + /// Position offset after a shake. + /// Rotation offset after a shake. + /// True if a shaker was updated. + internal void UpdateFixedShakers() + { + //No fixed values. + if (_fixedRigidbodies == null || _fixedCanvases == null) + return; + + //Dispatch and nullify. + OnShakeFixedUpdate?.Invoke(this, new ShakeUpdate(null, _fixedCanvases, _fixedRigidbodies)); + _fixedCanvases = null; + _fixedRigidbodies = null; + } + + /// + /// Updates shakers and returns true if a shaker was updated. + /// + /// + private bool TryUpdateShakers() + { + ShakeValues rigidbodies = new ShakeValues(); + ShakeValues canvases = new ShakeValues(); + + bool instanceProcessed = false; + for (int i = 0; i < ShakerInstances.Count; i++) + { + //Out of bounds. Shouldn't be possible, sanity check. + if (i >= ShakerInstances.Count) + break; + + ShakerInstance instance = ShakerInstances[i]; + //Instance went null. Also shouldn't be possible, sanity check. + if (instance == null) + { + ShakerInstances.RemoveAt(i); + i--; + continue; + } + //Shaker has ended. + if (instance.ShakerOver()) + { + instanceProcessed = true; + ShakerInstances.RemoveAt(i); + i--; + continue; + } + //Shaker paused. + if (instance.Paused) + { + instanceProcessed = true; + continue; + } + + /* Get new offset from instance and add alterations + * to position and rotation. This is done for each instance so that + * instances can stack. */ + Vector3 offset = instance.UpdateOffset(); + if (instance.Data.PositionalInfluence != Vector3.zero) + { + //Canvases. + if (instance.Data.ShakeCanvases) + canvases.Position += offset.Multiply(instance.Data.PositionalInfluence); + //Rigidbodies. + if (instance.Data.ShakeObjects) + rigidbodies.Position += offset.Multiply(instance.Data.PositionalInfluence); + } + /* Multiply rotational influence by 2.77f so that the rotational + * amount is accurate to what the user sees in the influence field. */ + if (instance.Data.RotationalInfluence != Vector3.zero) + { + //Canvases. + if (instance.Data.ShakeCanvases) + canvases.Rotation += offset.Multiply(instance.Data.RotationalInfluence * 2.77f); + //Rigidbodies + if (instance.Data.ShakeObjects) + rigidbodies.Rotation += offset.Multiply(instance.Data.RotationalInfluence * 2.77f); + } + + instanceProcessed = true; + } + + //Limit positional and rotation magnitudes. + if (_limitMagnitude) + { + //Canvases. + if (canvases.Position.sqrMagnitude > _sqrPositionalMagnitudeLimit) + canvases.Position = canvases.Position.normalized * _positionalMagnitudeLimit; + if (canvases.Rotation.sqrMagnitude > _sqrRotationalMagnitudeLimit) + canvases.Rotation = canvases.Rotation.normalized * _rotationalMagnitudeLimit; + //Rigidbodies. + if (rigidbodies.Position.sqrMagnitude > _sqrPositionalMagnitudeLimit) + rigidbodies.Position = rigidbodies.Position.normalized * _positionalMagnitudeLimit; + if (rigidbodies.Rotation.sqrMagnitude > _sqrRotationalMagnitudeLimit) + rigidbodies.Rotation = rigidbodies.Rotation.normalized * _rotationalMagnitudeLimit; + } + + //If anything was changed. + if (instanceProcessed) + { + //Apply scale. + canvases.Position *= Scale; + canvases.Rotation *= Scale; + rigidbodies.Position *= Scale; + rigidbodies.Rotation *= Scale; + + _fixedCanvases = canvases; + _fixedRigidbodies = rigidbodies; + OnShakeUpdate?.Invoke(this, new ShakeUpdate(null, canvases, rigidbodies)); + } + + return instanceProcessed; + } + + /// + /// Disables this CameraShaker to save cycles. This is for internal use only. + /// + internal void Disable() + { + /* If shaking then update / reset before ending shaking + * so that updates are sent before shaking ending does. */ + if (Shaking) + { + OnShakeUpdate?.Invoke(this, new ShakeUpdate()); + //Send zero on fixed, and nullify fixed values. + OnShakeFixedUpdate?.Invoke(this, new ShakeUpdate(new ShakeValues(), new ShakeValues(), new ShakeValues())); + _fixedCanvases = null; + _fixedRigidbodies = null; + } + + UpdateShaking(false); + } + + /// + /// Adds a ShakerInstance to ShakerInstances. + /// + /// + private void AddShakerInstance(ShakerInstance instance) + { + ShakerInstances.Add(instance); + UpdateShaking(true); + } + + /// + /// Adds shaker instances to this cameras ShakerInstances. For internal use only. + /// + /// + internal void AddShakerInstances(List instances) + { + if (instances.Count == 0) + return; + + ShakerInstances.AddRange(instances); + UpdateShaking(true); + } + + /// + /// Updates the shaking value. + /// + /// + private void UpdateShaking(bool shaking) + { + bool changed = (shaking != Shaking); + Shaking = shaking; + + if (changed) + { + if (Shaking) + { + OnShakingStarted?.Invoke(this); + ObjectShakerHandler.AddShaking(this); + } + else + { + ShakerInstances.Clear(); + OnShakingEnded?.Invoke(this); + ObjectShakerHandler.RemoveShaking(this); + } + } + } + + #region API. + /// + /// Sets Scale value. + /// + /// New scale to use. + public void SetScale(float value) + { + Scale = value; + } + + /// + /// Shakes the camera using data. + /// + /// ShakeData to use. + /// Instance generated using data. + public ShakerInstance Shake(ShakeData data) + { + FirstInitialize(); + + if (data.TotalDuration == 0f && data.FadeInDuration == 0f && data.FadeOutDuration == 0f) + { + if (Debug.isDebugBuild) Debug.LogWarning("No durations are specified in data; cannot generate a ShakerInstance."); + return null; + } + if (data.PositionalInfluence == Vector3.zero && data.RotationalInfluence == Vector3.zero) + { + if (Debug.isDebugBuild) Debug.LogWarning("No influences are specified in data; cannot generate a ShakerInstance."); + return null; + } + + /* Make an instance of the data if it's on disk so that values aren't serialized + * over in the editor when changing values at runtime such as total time, fade out, and more. + * Research suggest objects with a positive instance ID are prefabs, or are placed in the scene, + * while negative values are instantiated. */ + ShakeData dataInstance = data.Instanced ? data : data.CreateInstance(); + dataInstance.Initialize(); + + ShakerInstance shakerInstance = new ShakerInstance(dataInstance); + AddShakerInstance(shakerInstance); + + return shakerInstance; + } + /// + /// Sets the paused state of all shaker instances on this CameraShaker. + /// + /// New paused state. + public void SetPaused(bool value) + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.SetPaused(value); + } + } + + /// + /// Abruptly stops all instances on this camera shaker. + /// + public void Stop() + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.Stop(); + } + } + + /// + /// Fades out all instances on this CameraShaker. This operation only works on instances not already fading out. + /// + /// Overrides instance fade out duration with a new value. + public void FadeOut(float? durationOverride = null) + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.FadeOut(durationOverride); + } + } + + /// + /// Multiplies magnitude values for all instances on this CameraShaker. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using moveRate unmodified. + public void MultiplyMagnitude(float multiplier, float moveRate, bool rateUsesDistance) + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.MultiplyMagnitude(multiplier, moveRate, rateUsesDistance); + } + } + + /// + /// Multiplies roughness values for all instances on this CameraShaker. + /// + /// Value to multiply by. 1f is standard multiplication, which in result would be default values. + /// How quickly per second to move towards new multiplier. Values 0f and lower are instant. + /// True to modify move rate based on distance from multiplier. False to move towards goal using moveRate unmodified. + public void MultiplyRoughness(float multiplier, float moveRate, bool rateUsesDistance) + { + foreach (ShakerInstance instance in ShakerInstances) + { + if (instance != null) + instance.MultiplyRoughness(multiplier, moveRate, rateUsesDistance); + } + } + + + #endregion + + #region Editor checks. +#if UNITY_EDITOR + private void OnValidate() + { + if (_limitMagnitude) + { + _positionalMagnitudeLimit = Mathf.Max(_positionalMagnitudeLimit, 0.01f); + _rotationalMagnitudeLimit = Mathf.Max(_rotationalMagnitudeLimit, 0.01f); + + CalculateSqrLimits(); + } + } +#endif + #endregion + + } +} \ No newline at end of file diff --git a/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/ObjectShaker.cs.meta b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/ObjectShaker.cs.meta new file mode 100644 index 00000000..443f555a --- /dev/null +++ b/Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/ObjectShaker.cs.meta @@ -0,0 +1,24 @@ +fileFormatVersion: 2 +guid: d72f66df91b41304b92365de92f39380 +labels: +- Shake +- Camera +- Follow +- Animation +- Effect +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/SmoothCameraShaker/Scripts/Shakers/ObjectShaker.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities.meta b/Assets/FirstGearGames/Utilities.meta new file mode 100644 index 00000000..90158f23 --- /dev/null +++ b/Assets/FirstGearGames/Utilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a54507e0a10c77409b8769ad1375a92 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/Utilities/Arrays.cs b/Assets/FirstGearGames/Utilities/Arrays.cs new file mode 100644 index 00000000..9a598cd6 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Arrays.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; + +namespace FirstGearGames.Utilities.Objects +{ + + public static class Arrays + { + /// + /// Adds an entry to a list if it does not exist already. + /// + /// + /// + /// + public static void AddUnique(this List list, object value) + { + if (!list.Contains((T)value)) + list.Add((T)value); + } + + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/Arrays.cs.meta b/Assets/FirstGearGames/Utilities/Arrays.cs.meta new file mode 100644 index 00000000..09d8402f --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Arrays.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 76a2fc6713d4d504fb1c3f004962f574 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Arrays.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/DDOL.cs b/Assets/FirstGearGames/Utilities/DDOL.cs new file mode 100644 index 00000000..eebebf7c --- /dev/null +++ b/Assets/FirstGearGames/Utilities/DDOL.cs @@ -0,0 +1,60 @@ +using UnityEngine; + +namespace FirstGearGames.Utilities.Objects +{ + + + public class DDOL : MonoBehaviour + { + #region Public. + /// + /// Singleton instance of this class. + /// + public static DDOL Instance { get; private set; } + #endregion + + private void Awake() + { + FirstInitialize(); + } + + /// + /// Initializes this script for use. Should only be completed once. + /// + private void FirstInitialize() + { + if (Instance != null && Instance != this) + { + Debug.LogError("Multiple DDOL scripts found. There should be only one."); + return; + } + else + { + Instance = this; + gameObject.name = "FirstGearGames DDOL"; + DontDestroyOnLoad(gameObject); + } + } + + /// + /// Returns the current DDOL or creates one if not yet created. + /// + public static DDOL ReturnDDOL() + { + //Not yet made. + if (Instance == null) + { + GameObject obj = new GameObject(); + DDOL ddol = obj.AddComponent(); + return ddol; + } + //Already made. + else + { + return Instance; + } + } + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/DDOL.cs.meta b/Assets/FirstGearGames/Utilities/DDOL.cs.meta new file mode 100644 index 00000000..f5593ace --- /dev/null +++ b/Assets/FirstGearGames/Utilities/DDOL.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 2b66878174ece2f4f983390755507db7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/DDOL.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/Editor.meta b/Assets/FirstGearGames/Utilities/Editor.meta new file mode 100644 index 00000000..2310f20d --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32702bf1940665648ba38a2baa5231ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/Utilities/Editor/DrawBitMaskField.cs b/Assets/FirstGearGames/Utilities/Editor/DrawBitMaskField.cs new file mode 100644 index 00000000..d91cba7c --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Editor/DrawBitMaskField.cs @@ -0,0 +1,72 @@ +#if UNITY_EDITOR + +using UnityEngine; +using UnityEditor; + +namespace FirstGearGames.Utilities.Editors +{ + + /// + /// SOURCE: https://answers.unity.com/questions/1477896/assign-enum-value-from-editorguienumflagsfield.html + /// + public static class EditorExtension + { + public static int DrawBitMaskField(Rect aPosition, int aMask, System.Type aType, GUIContent aLabel) + { + var itemNames = System.Enum.GetNames(aType); + var itemValues = System.Enum.GetValues(aType) as int[]; + + int val = aMask; + int maskVal = 0; + for (int i = 0; i < itemValues.Length; i++) + { + if (itemValues[i] != 0) + { + if ((val & itemValues[i]) == itemValues[i]) + maskVal |= 1 << i; + } + else if (val == 0) + maskVal |= 1 << i; + } + int newMaskVal = EditorGUI.MaskField(aPosition, aLabel, maskVal, itemNames); + int changes = maskVal ^ newMaskVal; + + for (int i = 0; i < itemValues.Length; i++) + { + if ((changes & (1 << i)) != 0) + { + if ((newMaskVal & (1 << i)) != 0) + { + if (itemValues[i] == 0) + { + val = 0; + break; + } + else + val |= itemValues[i]; + } + else + { + val &= ~itemValues[i]; + } + } + } + return val; + } + } + + [CustomPropertyDrawer(typeof(BitMaskAttribute))] + public class EnumBitMaskPropertyDrawer : PropertyDrawer + { + public override void OnGUI(Rect position, SerializedProperty prop, GUIContent label) + { + var typeAttr = attribute as BitMaskAttribute; + // Add the actual int value behind the field name + label.text = label.text + " (" + prop.intValue + ")"; + prop.intValue = EditorExtension.DrawBitMaskField(position, prop.intValue, typeAttr.propType, label); + } + } + +} + +#endif \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/Editor/DrawBitMaskField.cs.meta b/Assets/FirstGearGames/Utilities/Editor/DrawBitMaskField.cs.meta new file mode 100644 index 00000000..845256b7 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Editor/DrawBitMaskField.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 1aa5b3604b2806d43932a7c78d4d287d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Editor/DrawBitMaskField.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/EditorRuntime.meta b/Assets/FirstGearGames/Utilities/EditorRuntime.meta new file mode 100644 index 00000000..35a5c009 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/EditorRuntime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: efa114911b78df5489aa6f96288ac9ef +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/Utilities/EditorRuntime/BitMaskAttribute.cs b/Assets/FirstGearGames/Utilities/EditorRuntime/BitMaskAttribute.cs new file mode 100644 index 00000000..f79c31df --- /dev/null +++ b/Assets/FirstGearGames/Utilities/EditorRuntime/BitMaskAttribute.cs @@ -0,0 +1,19 @@ + +using UnityEngine; + +namespace FirstGearGames.Utilities.Editors +{ + + /// + /// SOURCE: https://answers.unity.com/questions/1477896/assign-enum-value-from-editorguienumflagsfield.html + /// + public class BitMaskAttribute : PropertyAttribute + { + public System.Type propType; + public BitMaskAttribute(System.Type aType) + { + propType = aType; + } + } + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/EditorRuntime/BitMaskAttribute.cs.meta b/Assets/FirstGearGames/Utilities/EditorRuntime/BitMaskAttribute.cs.meta new file mode 100644 index 00000000..d6fb3bd9 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/EditorRuntime/BitMaskAttribute.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: d29005cecd48ddc4a9017c0db498d576 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/EditorRuntime/BitMaskAttribute.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/Enums.cs b/Assets/FirstGearGames/Utilities/Enums.cs new file mode 100644 index 00000000..2361a8c8 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Enums.cs @@ -0,0 +1,109 @@ +using System; + +namespace FirstGearGames.Utilities.Maths +{ + + + public static class Enums + { + /// + /// Determine an enum value from a given string. This can be an expensive function. + /// + /// + /// Text of string. + /// Default value if enum couldn't be found. + /// Enum found or default value if no enum is found. + public static T FromString(string text, T defaultValue) + { + //If string is empty or null return default value. + if (string.IsNullOrEmpty(text)) + return defaultValue; + //If enum isn't defined return default value. + if (!Enum.IsDefined(typeof(T), (string)text)) + return defaultValue; + //Return parsed value. + return (T)Enum.Parse(typeof(T), text, true); + } + + /// + /// Returns if whole(extended enum) has any of the part values. + /// + /// + /// Values to check for within whole. + /// Returns true part is within whole. + public static bool Contains(this Enum whole, Enum part) + { + //If not the same type of Enum return false. + /* Commented out for performance. Designer + * should know better than to compare two different + * enums. */ + //if (!SameType(value, target)) + // return false; + + /* Convert enum values to ulong. With so few + * values a uint would be safe, but should + * the options expand ulong is safer. */ + ulong wholeNum = Convert.ToUInt64(whole); + ulong partNum = Convert.ToUInt64(part); + + return ((wholeNum & partNum) != 0); + } + /// + /// Returns if part values contains any of whole(extended enum). + /// + /// + /// + /// Returns true whole is within part. + public static bool ReverseContains(this Enum whole, Enum part) + { + //If not the same type of Enum return false. + /* Commented out for performance. Designer + * should know better than to compare two different + * enums. */ + //if (!SameType(value, target)) + // return false; + + /* Convert enum values to ulong. With so few + * values a uint would be safe, but should + * the options expand ulong is safer. */ + ulong wholeNum = Convert.ToUInt64(whole); + ulong partNum = Convert.ToUInt64(part); + + return ((partNum & wholeNum) != 0); + } + + /// + /// Returns if an enum equals a specified value. + /// + /// + /// + /// + public static bool Equals(this Enum value, Enum target) + { + //If not the same type of Enum return false. + /* Commented out for performance. Designer + * should know better than to compare two different + * enums. */ + //if (!SameType(value, target)) + // return false; + + ulong valueNum = Convert.ToUInt64(value); + ulong wholeNum = Convert.ToUInt64(target); + + return (valueNum == wholeNum); + } + + /// + /// Returns if a is the same Enum as b. + /// + /// + /// + /// + public static bool SameType(Enum a, Enum b) + { + return (a.GetType() == b.GetType()); + } + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/Enums.cs.meta b/Assets/FirstGearGames/Utilities/Enums.cs.meta new file mode 100644 index 00000000..d8d5bd3b --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Enums.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 1bc10a70cf690dd47bcb3173f30d3d3a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Enums.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/Floats.cs b/Assets/FirstGearGames/Utilities/Floats.cs new file mode 100644 index 00000000..0887af93 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Floats.cs @@ -0,0 +1,132 @@ +using System; +using UnityEngine; + +namespace FirstGearGames.Utilities.Maths +{ + + + public static class Floats + { + private static System.Random _random = new System.Random(); + + /// + /// Provides a random inclusive int within a given range. Preferred over Unity's Random to eliminate confusion as Unity uses inclusive for floats max, and exclusive for int max. + /// + /// Inclusive minimum value. + /// Inclusive maximum value. + /// + public static float RandomInclusiveRange(float minimum, float maximum) + { + double min = Convert.ToDouble(minimum); + double max = Convert.ToDouble(maximum); + + double result = (_random.NextDouble() * (max - min)) + min; + return Convert.ToSingle(result); + } + + /// + /// Returns a random float between 0f and 1f. + /// + /// + public static float Random01() + { + return RandomInclusiveRange(0f, 1f); + } + + /// + /// Returns if a target float is within variance of the source float. + /// + /// + /// + /// + public static bool Near(this float a, float b, float tolerance = 0.01f) + { + return (Mathf.Abs(a - b) <= tolerance); + } + + /// + /// Clamps a float and returns if the float required clamping. + /// + /// + /// + /// + /// + /// + public static float Clamp(float value, float min, float max, ref bool clamped) + { + clamped = (value < min); + if (clamped) + return min; + + clamped = (value > min); + if (clamped) + return max; + + clamped = false; + return value; + } + + /// + /// Returns a float after being adjusted by the specified variance. + /// + /// + /// + /// + public static float Variance(this float source, float variance) + { + float pickedVariance = RandomInclusiveRange(1f - variance, 1f + variance); + return (source * pickedVariance); + } + /// + /// Sets a float value to result after being adjusted by the specified variance. + /// + /// + /// + /// + public static void Variance(this float source, float variance, ref float result) + { + float pickedVariance = RandomInclusiveRange(1f - variance, 1f + variance); + result = (source * pickedVariance); + } + + /// + /// Returns negative-one, zero, or postive-one of a value instead of just negative-one or positive-one. + /// + /// Value to sign. + /// Precise sign. + public static float PreciseSign(float value) + { + if (value == 0f) + return 0f; + else + return (Mathf.Sign(value)); + } + + /// + /// Returns if a float is within a range. + /// + /// Value of float. + /// Minimum of range. + /// Maximum of range. + /// + public static bool InRange(this float source, float rangeMin, float rangeMax) + { + return (source >= rangeMin && source <= rangeMax); + } + + /// + /// Randomly flips a float value. + /// + /// + /// + public static float RandomlyFlip(float value) + { + if (Ints.RandomInclusiveRange(0, 1) == 0) + return value; + else + return (value *= -1f); + } + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/Floats.cs.meta b/Assets/FirstGearGames/Utilities/Floats.cs.meta new file mode 100644 index 00000000..1c8c94ae --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Floats.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 5dbacafb14b963b419b64fb35a8add7c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Floats.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/FrameRateCalculator.cs b/Assets/FirstGearGames/Utilities/FrameRateCalculator.cs new file mode 100644 index 00000000..97995c81 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/FrameRateCalculator.cs @@ -0,0 +1,70 @@ +using UnityEngine; + +namespace FirstGearGames.Utilities.Maths +{ + + public class FrameRateCalculator + { + #region Private. + /// + /// Time used to generate Frames. + /// + private float _timePassed = 0f; + /// + /// Frames performed in TimePassed. Float is used to reduce casting. + /// + private float _frames = 0; + #endregion + + #region Const. + /// + /// How many frames to pass before slicing calculation values. + /// + private const int RESET_FRAME_COUNT = 60; + /// + /// Percentage to slice calculation values by. Higher percentages result in smoother frame rate adjustments. + /// + private const float CALCULATION_SLICE_PERCENT = 0.7f; + #endregion + + /// + /// Gets the current frame rate. + /// + /// + public int GetIntFrameRate() + { + return Mathf.CeilToInt((_frames / _timePassed)); + } + /// + /// Gets the current frame rate. + /// + /// + public float GetFloatFrameRate() + { + return (_frames / _timePassed); + } + + /// + /// Updates frame count and time passed. + /// + /// True if this update hit reset frame. + public bool Update(float unscaledDeltaTime) + { + _timePassed += unscaledDeltaTime; + _frames++; + + if (_frames > RESET_FRAME_COUNT) + { + _frames *= CALCULATION_SLICE_PERCENT; + _timePassed *= CALCULATION_SLICE_PERCENT; + return true; + } + else + { + return false; + } + } + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/FrameRateCalculator.cs.meta b/Assets/FirstGearGames/Utilities/FrameRateCalculator.cs.meta new file mode 100644 index 00000000..bc4a04f0 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/FrameRateCalculator.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: e46d803097ca61e408d44faa9aa1893a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/FrameRateCalculator.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/Ints.cs b/Assets/FirstGearGames/Utilities/Ints.cs new file mode 100644 index 00000000..c1a7a7ac --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Ints.cs @@ -0,0 +1,91 @@ + +using UnityEngine; + +namespace FirstGearGames.Utilities.Maths +{ + + /// + /// Various utility classes relating to floats. + /// + public static class Ints + { + private static System.Random _random = new System.Random(); + + /// + /// Pads an index a specified value. Preferred over typical padding so that pad values used with skins can be easily found in the code. + /// + /// + /// + /// + public static string PadInt(int value, int padding) + { + return value.ToString().PadLeft(padding, '0'); + } + + /// + /// Provides a random inclusive int within a given range. Preferred over Unity's Random to eliminate confusion as Unity uses inclusive for floats max, and exclusive for int max. + /// + /// Inclusive minimum value. + /// Inclusive maximum value. + /// + public static int RandomInclusiveRange(int minimum, int maximum) + { + return _random.Next(minimum, maximum + 1); + } + /// + /// Provides a random exclusive int within a given range. Preferred over Unity's Random to eliminate confusion as Unity uses inclusive for floats max, and exclusive for int max. + /// + /// Inclusive minimum value. + /// Exclusive maximum value. + /// + public static int RandomExclusiveRange(int minimum, int maximum) + { + return _random.Next(minimum, maximum); + } + + /// + /// Returns a clamped int within a specified range. + /// + /// Value to clamp. + /// Minimum value. + /// Maximum value. + /// + public static int Clamp(int value, int minimum, int maximum) + { + if (value < minimum) + value = minimum; + else if (value > maximum) + value = maximum; + + return value; + } + + /// + /// Determins if all values passed in are the same. + /// + /// Values to check. + /// True if all values are the same. + public static bool ValuesMatch(params int[] values) + { + if (values.Length == 0) + { + Debug.Log("Ints -> ValuesMatch -> values array is empty."); + return false; + } + + //Assign first value as element in first array. + int firstValue = values[0]; + //Check all values. + for (int i = 1; i < values.Length; i++) + { + //If any value doesn't match first value return false. + if (firstValue != values[i]) + return false; + } + + //If this far all values match. + return true; + } + } + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/Ints.cs.meta b/Assets/FirstGearGames/Utilities/Ints.cs.meta new file mode 100644 index 00000000..03a8e571 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Ints.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 113d58f1d7d39544aaf7101fee558070 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Ints.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/Structures.meta b/Assets/FirstGearGames/Utilities/Structures.meta new file mode 100644 index 00000000..9eee18ab --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Structures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0177a3ecaa12e4540886356516893275 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirstGearGames/Utilities/Structures/RangeFloat.cs b/Assets/FirstGearGames/Utilities/Structures/RangeFloat.cs new file mode 100644 index 00000000..dcb8b345 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Structures/RangeFloat.cs @@ -0,0 +1,35 @@ +using FirstGearGames.Utilities.Maths; + +namespace FirstGearGames.Utilities.Structures +{ + + + [System.Serializable] + public struct FloatRange + { + public FloatRange(float minimum, float maximum) + { + Minimum = minimum; + Maximum = maximum; + } + /// + /// Minimum range. + /// + public float Minimum; + /// + /// Maximum range. + /// + public float Maximum; + + /// + /// Returns a random value between Minimum and Maximum. + /// + /// + public float RandomInclusive() + { + return Floats.RandomInclusiveRange(Minimum, Maximum); + } + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/Structures/RangeFloat.cs.meta b/Assets/FirstGearGames/Utilities/Structures/RangeFloat.cs.meta new file mode 100644 index 00000000..84e95db0 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Structures/RangeFloat.cs.meta @@ -0,0 +1,20 @@ +fileFormatVersion: 2 +guid: a29ab16c2faf95a4e912b7bf31c39a7f +timeCreated: 1527199791 +licenseType: Store +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Structures/RangeFloat.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/Structures/RangeInt.cs b/Assets/FirstGearGames/Utilities/Structures/RangeInt.cs new file mode 100644 index 00000000..92c8cca1 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Structures/RangeInt.cs @@ -0,0 +1,43 @@ +using FirstGearGames.Utilities.Maths; + +namespace FirstGearGames.Utilities.Structures +{ + + + [System.Serializable] + public struct IntRange + { + public IntRange(int minimum, int maximum) + { + Minimum = minimum; + Maximum = maximum; + } + /// + /// Minimum range. + /// + public int Minimum; + /// + /// Maximum range. + /// + public int Maximum; + + /// + /// Returns an exclusive random value between Minimum and Maximum. + /// + /// + public float RandomExclusive() + { + return Ints.RandomExclusiveRange(Minimum, Maximum); + } + /// + /// Returns an inclusive random value between Minimum and Maximum. + /// + /// + public float RandomInclusive() + { + return Ints.RandomInclusiveRange(Minimum, Maximum); + } + } + + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/Structures/RangeInt.cs.meta b/Assets/FirstGearGames/Utilities/Structures/RangeInt.cs.meta new file mode 100644 index 00000000..2b6b5728 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Structures/RangeInt.cs.meta @@ -0,0 +1,20 @@ +fileFormatVersion: 2 +guid: 42b78623511ca6b479a865feddd442b4 +timeCreated: 1527199791 +licenseType: Store +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Structures/RangeInt.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/Transforms.cs b/Assets/FirstGearGames/Utilities/Transforms.cs new file mode 100644 index 00000000..a0e2549d --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Transforms.cs @@ -0,0 +1,75 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace FirstGearGames.Utilities.Objects +{ + + public static class Transforms + { + /// + /// Returns the topmost parent for a transform. + /// + /// + /// + public static Transform TopmostParent(this Transform t) + { + if (t.parent == null) + { + return t; + } + else + { + Transform result = t.parent; + while (result.parent != null) + result = result.parent; + + return result; + } + } + + + /// + /// Destroys all children under the specified transform. + /// + /// + public static void DestroyChildren(this Transform t, bool destroyImmediately = false) + { + foreach (Transform child in t) + { + if (destroyImmediately) + MonoBehaviour.DestroyImmediate(child.gameObject); + else + MonoBehaviour.Destroy(child.gameObject); + } + } + + /// + /// Gets components in children and optionally parent. + /// + /// + /// + /// + /// + /// + public static void GetComponentsInChildren(Transform parent, List results, bool includeParent = true, bool includeInactive = false) where T : Component + { + if (!includeParent) + { + List current = new List(); + for (int i = 0; i < parent.childCount; i++) + { + parent.GetChild(i).GetComponentsInChildren(includeInactive, current); + results.AddRange(current); + } + } + else + { + parent.GetComponentsInChildren(includeInactive, results); + } + } + + } + + + +} diff --git a/Assets/FirstGearGames/Utilities/Transforms.cs.meta b/Assets/FirstGearGames/Utilities/Transforms.cs.meta new file mode 100644 index 00000000..4b6afdb4 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Transforms.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: fd1cd9a8be59cc542983ed59c3e220ac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Transforms.cs + uploadId: 376379 diff --git a/Assets/FirstGearGames/Utilities/Vectors.cs b/Assets/FirstGearGames/Utilities/Vectors.cs new file mode 100644 index 00000000..a30142d4 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Vectors.cs @@ -0,0 +1,138 @@ +using UnityEngine; + +namespace FirstGearGames.Utilities.Maths +{ + + public static class Vectors + { + #region Vector3. + /// + /// Calculates the linear parameter t that produces the interpolant value within the range [a, b]. + /// + /// + /// + /// + /// + public static float InverseLerp(Vector3 a, Vector3 b, Vector3 value) + { + Vector3 ab = b - a; + Vector3 av = value - a; + return Mathf.Clamp01(Vector3.Dot(av, ab) / Vector3.Dot(ab, ab)); + } + + /// + /// Returns if the target Vector3 is within variance of the source Vector3. + /// + /// Source vector. + /// Target vector. + /// How close the target vector must be to be considered close. + /// + public static bool Near(this Vector3 a, Vector3 b, float tolerance = 0.01f) + { + return (Vector3.Distance(a, b) <= tolerance); + } + + /// + /// Returns if any values within a Vector3 are NaN. + /// + /// + /// + public static bool IsNan(this Vector3 source) + { + return (float.IsNaN(source.x) || float.IsNaN(source.y) || float.IsNaN(source.z)); + } + + /// + /// Lerp between three Vector3 values. + /// + /// + /// + /// + /// + /// + public static Vector3 Lerp3(Vector3 a, Vector3 b, Vector3 c, float percent) + { + Vector3 r0 = Vector3.Lerp(a, b, percent); + Vector3 r1 = Vector3.Lerp(b, c, percent); + return Vector3.Lerp(r0, r1, percent); + } + + /// + /// Lerp between three Vector3 values. + /// + /// + /// + /// + public static Vector3 Lerp3(Vector3[] vectors, float percent) + { + if (vectors.Length < 3) + { + Debug.LogWarning("Vectors -> Lerp3 -> Vectors length must be 3."); + return Vector3.zero; + } + + return Lerp3(vectors[0], vectors[1], vectors[2], percent); + } + + /// + /// Multiplies a Vector3 by another. + /// + /// + /// + /// + public static Vector3 Multiply(this Vector3 src, Vector3 multiplier) + { + return new Vector3(src.x * multiplier.x, src.y * multiplier.y, src.z * multiplier.z); + } + #endregion + + #region Vector2. + + /// + /// Lerp between three Vector2 values. + /// + /// + /// + /// + /// + /// + public static Vector2 Lerp3(Vector2 a, Vector2 b, Vector2 c, float percent) + { + Vector2 r0 = Vector2.Lerp(a, b, percent); + Vector2 r1 = Vector2.Lerp(b, c, percent); + return Vector2.Lerp(r0, r1, percent); + } + + /// + /// Lerp between three Vector2 values. + /// + /// + /// + /// + public static Vector2 Lerp2(Vector2[] vectors, float percent) + { + if (vectors.Length < 3) + { + Debug.LogWarning("Vectors -> Lerp3 -> Vectors length must be 3."); + return Vector2.zero; + } + + return Lerp3(vectors[0], vectors[1], vectors[2], percent); + } + + + /// + /// Multiplies a Vector2 by another. + /// + /// + /// + /// + public static Vector2 Multiply(this Vector2 src, Vector2 multiplier) + { + return new Vector2(src.x * multiplier.x, src.y * multiplier.y); + } + #endregion + + } + +} \ No newline at end of file diff --git a/Assets/FirstGearGames/Utilities/Vectors.cs.meta b/Assets/FirstGearGames/Utilities/Vectors.cs.meta new file mode 100644 index 00000000..453f90e3 --- /dev/null +++ b/Assets/FirstGearGames/Utilities/Vectors.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 16a2a79e3d8834044963e588c63af3e7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 162991 + packageName: Smooth Camera Shaker + packageVersion: 2.12 + assetPath: Assets/FirstGearGames/Utilities/Vectors.cs + uploadId: 376379 diff --git a/Assets/Prefabs/TestTrap.meta b/Assets/Prefabs/TestTrap.meta new file mode 100644 index 00000000..81187581 --- /dev/null +++ b/Assets/Prefabs/TestTrap.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4135f595c143a9244990fdb3f545e96f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/TestTrap/Cube.prefab b/Assets/Prefabs/TestTrap/Cube.prefab new file mode 100644 index 00000000..19ce5e2c --- /dev/null +++ b/Assets/Prefabs/TestTrap/Cube.prefab @@ -0,0 +1,155 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6121659928201372921 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8663679745827294618} + - component: {fileID: 5856384102141489394} + - component: {fileID: 6371125245594434221} + - component: {fileID: 6555182710447120572} + - component: {fileID: 3736413552587969552} + - component: {fileID: 8714104882223651289} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8663679745827294618 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6121659928201372921} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.31677, y: -3.33, z: -11.34647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5856384102141489394 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6121659928201372921} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6371125245594434221 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6121659928201372921} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &6555182710447120572 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6121659928201372921} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &3736413552587969552 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6121659928201372921} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &8714104882223651289 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6121659928201372921} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1746534d206b0fe4b8e895df471d3d56, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::DeathTrapCollision diff --git a/Assets/Prefabs/TestTrap/Cube.prefab.meta b/Assets/Prefabs/TestTrap/Cube.prefab.meta new file mode 100644 index 00000000..c836fc19 --- /dev/null +++ b/Assets/Prefabs/TestTrap/Cube.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2489c1d80f2f9074888a06f59f372161 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/TEST.unity b/Assets/Scenes/TEST.unity new file mode 100644 index 00000000..6541659e --- /dev/null +++ b/Assets/Scenes/TEST.unity @@ -0,0 +1,922 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 2 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &222760714 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 222760716} + - component: {fileID: 222760715} + m_Layer: 0 + m_Name: MazeController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &222760715 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 222760714} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f30df611110713742ab984f5bead5d88, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Hallucinate.GameSetup.Maze.MazeRenderer + visualProfile: {fileID: 11400000, guid: 15b745b0bb979b84ea937c679ee0f1ed, type: 2} + floorHeight: 3.5 +--- !u!4 &222760716 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 222760714} + 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: 401313294} + m_Father: {fileID: 914529406} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &401313293 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 401313294} + m_Layer: 0 + m_Name: Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &401313294 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 401313293} + 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: 222760716} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &636054810 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 636054811} + - component: {fileID: 636054812} + m_Layer: 0 + m_Name: Global Volume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &636054811 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 636054810} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.7860072, y: -0.3591547, z: 10.121648} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1878068451} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &636054812 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 636054810} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Core.Runtime::UnityEngine.Rendering.Volume + m_IsGlobal: 1 + priority: 0 + blendDistance: 0 + weight: 1 + sharedProfile: {fileID: 11400000, guid: 66d4e46db74eed8459b64c8476ecb24a, type: 2} +--- !u!1001 &666868242 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 2120030154} + m_Modifications: + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalPosition.x + value: 3.5546 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalPosition.y + value: -4.79626 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalPosition.z + value: -5.60193 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2771692228748849855, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_Name + value: Main Camera + objectReference: {fileID: 0} + - target: {fileID: 2771692228748849855, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_Layer + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: fpvTarget + value: + objectReference: {fileID: 0} + - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: inputReader + value: + objectReference: {fileID: 0} + - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: sensitivity + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: followTarget + value: + objectReference: {fileID: 0} + - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: 'characterRenderers.Array.data[0]' + value: + objectReference: {fileID: 0} + - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: 'characterFading.characterRenderers.Array.data[0]' + value: + objectReference: {fileID: 0} + - target: {fileID: 8391577239842762580, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + propertyPath: m_RenderPostProcessing + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} +--- !u!4 &666868243 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3} + m_PrefabInstance: {fileID: 666868242} + m_PrefabAsset: {fileID: 0} +--- !u!1 &914529405 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 914529406} + m_Layer: 0 + m_Name: _MAP + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &914529406 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 914529405} + 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: 222760716} + - {fileID: 1781957725} + - {fileID: 2030353803} + m_Father: {fileID: 2120030154} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &982050944 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 982050945} + - component: {fileID: 982050946} + m_Layer: 0 + m_Name: _MANAGER + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &982050945 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 982050944} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 345, y: 194, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2100909299} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &982050946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 982050944} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca1a9a3813a058946990c84846f54c17, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::DeathTrapSpawner + deathTrapPrefab: {fileID: 6121659928201372921, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + spawnInterval: 10 + minLifetime: 3 + maxLifetime: 8 +--- !u!1 &1490570703 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1490570704} + - component: {fileID: 1490570706} + - component: {fileID: 1490570705} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1490570704 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1490570703} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.5546, y: -2.7962599, z: 4.39807} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1878068451} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!114 &1490570705 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1490570703} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalLightData + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_CustomShadowLayers: 0 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 + m_RenderingLayersMask: + serializedVersion: 0 + m_Bits: 1 + m_ShadowRenderingLayersMask: + serializedVersion: 0 + m_Bits: 1 + m_Version: 4 + m_LightLayerMask: 1 + m_ShadowLayerMask: 1 + m_RenderingLayers: 1 + m_ShadowRenderingLayers: 1 +--- !u!108 &1490570706 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1490570703} + m_Enabled: 1 + serializedVersion: 12 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize2D: {x: 0.5, y: 0.5} + m_Shadows: + m_Type: 2 + 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!1 &1781957724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1781957725} + - component: {fileID: 1781957728} + - component: {fileID: 1781957727} + - component: {fileID: 1781957726} + m_Layer: 6 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1781957725 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781957724} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -10, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 914529406} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &1781957726 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781957724} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1781957727 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781957724} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: e2e2684e969402049b87d7f81417c603, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1781957728 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781957724} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1878068450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1878068451} + m_Layer: 0 + m_Name: _Enviroment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1878068451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1878068450} + 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: 1490570704} + - {fileID: 636054811} + m_Father: {fileID: 2120030154} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2030353802 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2030353803} + - component: {fileID: 2030353804} + m_Layer: 0 + m_Name: MazeManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2030353803 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2030353802} + 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: 914529406} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2030353804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2030353802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3607adabe0c29c34591af73b414eb17a, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Hallucinate.GameSetup.Maze.MazeManager + mazes: + - scale: 1 + - scale: 1 + floorHeight: 1.5 + connectionsPerFloor: 2 + selectedAlgorithm: 0 + width: 30 + depth: 30 + debugMode: 1 + visualizationInterval: 0.05 + mazeRenderer: {fileID: 222760715} + mazeContainer: {fileID: 401313294} + straightManHoleLadder: {fileID: 919132149155446097, guid: bea94d2de5b89ea4cba759f4a73149d4, type: 3} + straightManHoleUp: {fileID: 919132149155446097, guid: df993452c905ccd4a8db16303509c4aa, type: 3} + deadendManHoleLadder: {fileID: 919132149155446097, guid: c7b8e72ff8d936143a810e1baa494428, type: 3} + deadendManHoleUp: {fileID: 919132149155446097, guid: 1e0fe08755c202644ab57e3ecb75ea61, type: 3} +--- !u!1 &2100909298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2100909299} + - component: {fileID: 2100909301} + - component: {fileID: 2100909300} + m_Layer: 0 + m_Name: _PlayerDataManger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2100909299 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2100909298} + 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: 982050945} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2100909300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2100909298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1552182283, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: + m_EditorClassIdentifier: Fusion.Runtime.dll::Fusion.NetworkObject + SortKey: 1324324747 + ObjectInterest: 1 + Flags: 262145 + NestedObjects: [] + NetworkedBehaviours: + - {fileID: 2100909301} + ForceRemoteRenderTimeframe: 0 +--- !u!114 &2100909301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2100909298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b3d9934ebd60c9c4ea3e464b77fd7ae0, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::_PlayerDataManager + _Players: + _items: [] +--- !u!1 &2120030153 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2120030154} + m_Layer: 0 + m_Name: _SCENE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2120030154 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2120030153} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.5546, y: 5.79626, z: -4.39807} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 666868243} + - {fileID: 914529406} + - {fileID: 1878068451} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &4899204113511701172 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 6121659928201372921, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_Name + value: Cube + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalPosition.x + value: 2.31677 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalPosition.y + value: -3.33 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalPosition.z + value: -11.34647 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8663679745827294618, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 2489c1d80f2f9074888a06f59f372161, type: 3} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 2120030154} + - {fileID: 982050945} + - {fileID: 4899204113511701172} diff --git a/Assets/Scenes/TEST.unity.meta b/Assets/Scenes/TEST.unity.meta new file mode 100644 index 00000000..70a461ea --- /dev/null +++ b/Assets/Scenes/TEST.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f048f3023e700c64f825577e61ff6112 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Manager.meta b/Assets/Scripts/Manager.meta new file mode 100644 index 00000000..86246b9e --- /dev/null +++ b/Assets/Scripts/Manager.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a48b89f983fff0642987cca2cb779dd4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Manager/DeathTrapCollision.cs b/Assets/Scripts/Manager/DeathTrapCollision.cs new file mode 100644 index 00000000..d205b750 --- /dev/null +++ b/Assets/Scripts/Manager/DeathTrapCollision.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DeathTrapCollision : MonoBehaviour { + private void OnTriggerEnter(Collider other) { + // Check if the object colliding with the trap is the player + // Assumes the player character (e.g., Bob) has the tag "Player" + if (other.CompareTag("Player")) { + // Trigger the Game Over event via the GameManager + FindObjectOfType().TriggerGameOver(); + + // Destroy the player object upon collision + Destroy(other.gameObject); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Manager/DeathTrapCollision.cs.meta b/Assets/Scripts/Manager/DeathTrapCollision.cs.meta new file mode 100644 index 00000000..1de32b94 --- /dev/null +++ b/Assets/Scripts/Manager/DeathTrapCollision.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1746534d206b0fe4b8e895df471d3d56 \ No newline at end of file diff --git a/Assets/Scripts/Manager/DeathTrapSpawner.cs b/Assets/Scripts/Manager/DeathTrapSpawner.cs new file mode 100644 index 00000000..e7a53961 --- /dev/null +++ b/Assets/Scripts/Manager/DeathTrapSpawner.cs @@ -0,0 +1,62 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DeathTrapSpawner : MonoBehaviour { + public GameObject deathTrapPrefab; // Prefab for the death trap + public float spawnInterval = 10f; // Time interval between spawns + public float minLifetime = 3f; // Minimum lifetime of the death trap + public float maxLifetime = 8f; // Maximum lifetime of the death trap + + private Vector3 GetRandomPosition() { + Vector3 randomPosition; + int attempts = 0; + + do { + // Generate random X and Z positions rounded to nearest 10, then offset by 5 + float x = Mathf.Round(Random.Range(-45f, 45f) / 10f) * 10f + 5f; + float z = Mathf.Round(Random.Range(-45f, 45f) / 10f) * 10f + 5f; + + // Fixed Y position for traps + randomPosition = new Vector3(x, 3.5f, z); + + attempts++; + if (attempts > 100) { + Debug.LogWarning("No valid position found for the death trap."); + + // Exit if too many attempts are made + break; + } + } + while ( + Physics.CheckBox(randomPosition, new Vector3(2.5f, 3.5f, 2.5f), Quaternion.identity, LayerMask.GetMask("Walls")) || // Check for walls + Physics.CheckBox(randomPosition, new Vector3(2.5f, 3.5f, 2.5f), Quaternion.identity, LayerMask.GetMask("Collectible")) || // Check for collectibles + Physics.CheckBox(randomPosition, new Vector3(2.5f, 3.5f, 2.5f), Quaternion.identity, LayerMask.GetMask("Player")) // Check for player + ); + + // Return a valid position for the death trap + return randomPosition; + } + + private IEnumerator SpawnDeathTraps() { + while (true) { + // Generate a random spawn position + Vector3 spawnPosition = GetRandomPosition(); + + // Spawn a new death trap at the random position + GameObject deathTrap = Instantiate(deathTrapPrefab, spawnPosition, Quaternion.identity); + + // Determine a random lifetime for the trap and destroy it after that time + float lifetime = Random.Range(minLifetime, maxLifetime); + Destroy(deathTrap, lifetime); + + // Wait for the specified spawn interval before spawning the next trap + yield return new WaitForSeconds(spawnInterval); + } + } + + private void Start() { + // Start the coroutine to spawn death traps + StartCoroutine(SpawnDeathTraps()); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Manager/DeathTrapSpawner.cs.meta b/Assets/Scripts/Manager/DeathTrapSpawner.cs.meta new file mode 100644 index 00000000..972aa857 --- /dev/null +++ b/Assets/Scripts/Manager/DeathTrapSpawner.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ca1a9a3813a058946990c84846f54c17 \ No newline at end of file diff --git a/Assets/Scripts/Manager/GameManager.cs b/Assets/Scripts/Manager/GameManager.cs new file mode 100644 index 00000000..7262ba58 --- /dev/null +++ b/Assets/Scripts/Manager/GameManager.cs @@ -0,0 +1,35 @@ +using Fusion; +using TMPro; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class GameManager : NetworkBehaviour +{ + public Text gameOverText; // Reference to the Game Over text UI element + + private bool isGameOver = false; // Flag to check if the game is over + + private void Start() { + if (gameOverText != null) { + // Ensure the Game Over text is hidden at the start of the game + gameOverText.gameObject.SetActive(false); + } + } + + public void TriggerGameOver() { + if (!isGameOver) { + // Mark the game as over + isGameOver = true; + + if (gameOverText != null) { + // Display the Game Over text + gameOverText.gameObject.SetActive(true); + } + + // Freeze the game by setting the time scale to 0 + Time.timeScale = 0; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Manager/GameManager.cs.meta b/Assets/Scripts/Manager/GameManager.cs.meta new file mode 100644 index 00000000..16aefb3f --- /dev/null +++ b/Assets/Scripts/Manager/GameManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1180f4b733c7599498f6eb4e77848e23 \ No newline at end of file