diff --git a/Assets/.DS_Store b/Assets/.DS_Store index 7f8655b..f77eafa 100644 Binary files a/Assets/.DS_Store and b/Assets/.DS_Store differ diff --git a/Assets/Animations/Hat.controller b/Assets/Animations/Hat.controller new file mode 100644 index 0000000..c859e40 --- /dev/null +++ b/Assets/Animations/Hat.controller @@ -0,0 +1,156 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-3286875314745399126 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -1811648651253966504} + m_Position: {x: 430, y: 100, z: 0} + - serializedVersion: 1 + m_State: {fileID: -1970736896965843630} + m_Position: {x: 250, y: 20, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: + - {fileID: -2249174287295511085} + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 160, y: 120, z: 0} + m_EntryPosition: {x: 60, y: 70, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -1970736896965843630} +--- !u!1101 &-2249174287295511085 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: respawn + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1811648651253966504} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &-1970736896965843630 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HatRespawn + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 975f5c0c36a1342b09729f794aa73f73, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-1811648651253966504 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HatDie + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 8828494538471297889} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 357d1b494bf6c4b96a72551d438062d1, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Hat + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: respawn + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -3286875314745399126} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &8828494538471297889 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1970736896965843630} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/Assets/Animations/Hat.controller.meta b/Assets/Animations/Hat.controller.meta new file mode 100644 index 0000000..79a0410 --- /dev/null +++ b/Assets/Animations/Hat.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f69607ffe43584014a5e4ac9207c3243 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/HatDie.anim b/Assets/Animations/HatDie.anim new file mode 100644 index 0000000..c87f0b8 --- /dev/null +++ b/Assets/Animations/HatDie.anim @@ -0,0 +1,177 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HatDie + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0.3, y: 0.2986496, z: 0.3} + inSlope: {x: 3.4928317, y: 3.5068247, z: 0.5703991} + outSlope: {x: 3.4928317, y: 3.5068247, z: 0.5703991} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.068430826, y: 0.056605622, z: 0.106534265} + - serializedVersion: 3 + time: 0.33333334 + value: {x: 0, y: 0, z: 0} + inSlope: {x: -6.62128, y: -9.775216, z: -10.553744} + outSlope: {x: -6.62128, y: -9.775216, z: -10.553744} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.047306567, y: 0.048620492, z: 0.0289118} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.33333334 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.3 + inSlope: 3.4928317 + outSlope: 3.4928317 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.068430826 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: -6.62128 + outSlope: -6.62128 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.047306567 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.2986496 + inSlope: 3.5068247 + outSlope: 3.5068247 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.056605622 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: -9.775216 + outSlope: -9.775216 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.048620492 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.3 + inSlope: 0.5703991 + outSlope: 0.5703991 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.106534265 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: -10.553744 + outSlope: -10.553744 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.0289118 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/HatDie.anim.meta b/Assets/Animations/HatDie.anim.meta new file mode 100644 index 0000000..d7fbbff --- /dev/null +++ b/Assets/Animations/HatDie.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 357d1b494bf6c4b96a72551d438062d1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/HatRespawn.anim b/Assets/Animations/HatRespawn.anim new file mode 100644 index 0000000..886b0fe --- /dev/null +++ b/Assets/Animations/HatRespawn.anim @@ -0,0 +1,177 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HatRespawn + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 2.9247346, y: 3.7838857, z: 2.0285618} + outSlope: {x: 2.9247346, y: 3.7838857, z: 2.0285618} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.047306567, y: 0.048620492, z: 0.0289118} + outWeight: {x: 0.085466, y: 0.05027412, z: 0.11060306} + - serializedVersion: 3 + time: 0.33333334 + value: {x: 0.3, y: 0.2986496, z: 0.3} + inSlope: {x: -0.49601486, y: -0.29478544, z: -0.8949659} + outSlope: {x: -0.49601486, y: -0.29478544, z: -0.8949659} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.1604223, y: 0.22577861, z: 0.1604223} + outWeight: {x: 0.068430826, y: 0.056605622, z: 0.106534265} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.33333334 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 2.9247346 + outSlope: 2.9247346 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.047306567 + outWeight: 0.085466 + - serializedVersion: 3 + time: 0.33333334 + value: 0.3 + inSlope: -0.49601486 + outSlope: -0.49601486 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.1604223 + outWeight: 0.068430826 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 3.7838857 + outSlope: 3.7838857 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.048620492 + outWeight: 0.05027412 + - serializedVersion: 3 + time: 0.33333334 + value: 0.2986496 + inSlope: -0.29478544 + outSlope: -0.29478544 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.22577861 + outWeight: 0.056605622 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 2.0285618 + outSlope: 2.0285618 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.0289118 + outWeight: 0.11060306 + - serializedVersion: 3 + time: 0.33333334 + value: 0.3 + inSlope: -0.8949659 + outSlope: -0.8949659 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.1604223 + outWeight: 0.106534265 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/HatRespawn.anim.meta b/Assets/Animations/HatRespawn.anim.meta new file mode 100644 index 0000000..4aed682 --- /dev/null +++ b/Assets/Animations/HatRespawn.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 975f5c0c36a1342b09729f794aa73f73 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Hat.prefab b/Assets/Prefabs/Hat.prefab index d426853..21fdc63 100644 --- a/Assets/Prefabs/Hat.prefab +++ b/Assets/Prefabs/Hat.prefab @@ -9,7 +9,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7088503145332861658} - - component: {fileID: 2303807335476014859} - component: {fileID: 6690814941633459910} - component: {fileID: 3780107421726398174} - component: {fileID: 2046340251710672081} @@ -31,19 +30,152 @@ Transform: serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0.01263377, w: 0.99992025} m_LocalPosition: {x: -8.186124, y: 9.9689455, z: 0} - m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 5161440387254831502} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!212 &2303807335476014859 -SpriteRenderer: +--- !u!61 &6690814941633459910 +BoxCollider2D: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1727924107928680002} m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 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: 3.98, y: 3.94} + newSize: {x: 3.98, y: 3.94} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 0.6495867, y: 1.0803181} + m_EdgeRadius: 0 +--- !u!50 &3780107421726398174 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727924107928680002} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0 + m_GravityScale: 4 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 1 + m_Constraints: 0 +--- !u!114 &2046340251710672081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727924107928680002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1803a208ca94f44a189bf03342859d36, type: 3} + m_Name: + m_EditorClassIdentifier: + initialSubhatPosition: {x: 0, y: 0} + initialScale: {x: 0, y: 0} +--- !u!114 &7583491847306130808 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727924107928680002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 34a52816a1c62984ea622bbf50849c68, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2298529676226169182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5161440387254831502} + - component: {fileID: 2648228769221342903} + - component: {fileID: 8661188842070622933} + m_Layer: 10 + m_Name: Hat + m_TagString: Hat + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5161440387254831502 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2298529676226169182} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.3, y: 0.2986496, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7088503145332861658} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2648228769221342903 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2298529676226169182} + m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 @@ -91,101 +223,25 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 ---- !u!61 &6690814941633459910 -BoxCollider2D: +--- !u!95 &8661188842070622933 +Animator: + serializedVersion: 7 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1727924107928680002} + m_GameObject: {fileID: 2298529676226169182} m_Enabled: 1 - serializedVersion: 3 - m_Density: 1 - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_ForceSendLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_ForceReceiveLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_ContactCaptureLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_CallbackLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_CompositeOperation: 0 - m_CompositeOrder: 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: 3.98, y: 3.94} - newSize: {x: 3.98, y: 3.94} - adaptiveTilingThreshold: 0.5 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - m_Size: {x: 1, y: 1} - m_EdgeRadius: 0 ---- !u!50 &3780107421726398174 -Rigidbody2D: - serializedVersion: 5 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1727924107928680002} - m_BodyType: 0 - m_Simulated: 1 - m_UseFullKinematicContacts: 0 - m_UseAutoMass: 0 - m_Mass: 1 - m_LinearDamping: 0 - m_AngularDamping: 0 - m_GravityScale: 4 - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_Interpolate: 1 - m_SleepingMode: 1 - m_CollisionDetection: 1 - m_Constraints: 0 ---- !u!114 &2046340251710672081 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1727924107928680002} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1803a208ca94f44a189bf03342859d36, type: 3} - m_Name: - m_EditorClassIdentifier: - initialSubhatPosition: {x: 0, y: 0} ---- !u!114 &7583491847306130808 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1727924107928680002} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 34a52816a1c62984ea622bbf50849c68, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: f69607ffe43584014a5e4ac9207c3243, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 diff --git a/Assets/Scenes/Platformer With Headroom.unity b/Assets/Scenes/Platformer With Headroom.unity index 42303a9..8147f1a 100644 --- a/Assets/Scenes/Platformer With Headroom.unity +++ b/Assets/Scenes/Platformer With Headroom.unity @@ -4555,7 +4555,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2396754106601062846, guid: e3c570bb90d434e809aca2a339dadf5d, type: 3} propertyPath: hatSpawnPositions.Array.data[0].x - value: 27.6 + value: 19 objectReference: {fileID: 0} - target: {fileID: 2396754106601062846, guid: e3c570bb90d434e809aca2a339dadf5d, type: 3} propertyPath: hatSpawnPositions.Array.data[0].y diff --git a/Assets/Scripts/Game/HatRespawn.cs b/Assets/Scripts/Game/HatRespawn.cs index 2225bc4..f69965a 100644 --- a/Assets/Scripts/Game/HatRespawn.cs +++ b/Assets/Scripts/Game/HatRespawn.cs @@ -1,63 +1,78 @@ -using UnityEngine; using Game; using Music; using Player; +using UnityEngine; +using Game; +using Music; +using Player; +using System.Collections; namespace Game { -public class HatRespawn : MonoBehaviour -{ - private float lastInteractionTime; - public const float respawnTime = 10f; - private bool isDropped; - - public Vector2 initialSubhatPosition; - - - public static bool canBePickedUp = true; // Flag to check if the hat can be picked up - - void Start() + public class HatRespawn : MonoBehaviour { - initialSubhatPosition = transform.GetChild(0).transform.localPosition; - lastInteractionTime = Time.time; - isDropped = false; - transform.position = GameManager.Instance.hatSpawnPositions[Random.Range(0, GameManager.Instance.hatSpawnPositions.Count - 1)]; - } + private float lastInteractionTime; + public const float respawnTime = 10f; + private bool isDropped; - void Update() // Checks if the hat has been inactive for too long - { - if (GameManager.Instance.gameOver) GetComponent().enabled = false; - if (isDropped && Time.time - lastInteractionTime > respawnTime) + public Vector2 initialSubhatPosition; + + + public static bool canBePickedUp = true; // Flag to check if the hat can be picked up + + public Vector2 initialScale; + + private void Awake() { - RespawnHat(); + initialScale = transform.lossyScale; + } + + void Start() + { + //initialSubhatPosition = transform.GetChild(0).transform.localPosition; + lastInteractionTime = Time.time; + isDropped = false; + transform.position = GameManager.Instance.hatSpawnPositions[Random.Range(0, GameManager.Instance.hatSpawnPositions.Count - 1)]; + } + + void Update() // Checks if the hat has been inactive for too long + { + if (GameManager.Instance.gameOver) GetComponent().enabled = false; + if (isDropped && Time.time - lastInteractionTime > respawnTime) + { + RespawnHat(); + } + } + + void OnTriggerEnter2D(Collider2D collision) // Respawns the hat if it falls out of bounds + { + if (collision.gameObject.CompareTag("Platformer Hazard")) + { + StartCoroutine(RespawnHat()); + } + } + + public void Interact() // Updates the player interaction time + { + lastInteractionTime = Time.time; + isDropped = false; + } + + public void OnHatDropped() // Resets the timer when the hat is dropped + { + lastInteractionTime = Time.time; + isDropped = true; + } + + private IEnumerator RespawnHat() // Respawns the hat at the designated spawn position + { + GetComponentInChildren().SetTrigger("respawn"); + + yield return new WaitForSeconds(1f / 3f / 2f); + + transform.position = GameManager.Instance.hatSpawnPositions[Random.Range(0, GameManager.Instance.hatSpawnPositions.Count - 1)]; + GetComponent().linearVelocity = Vector2.zero; + GetComponent().angularVelocity = 0f; + transform.rotation = Quaternion.identity; + lastInteractionTime = Time.time; // Reset the timer after respawning + isDropped = false; } } - - void OnTriggerEnter2D(Collider2D collision) // Respawns the hat if it falls out of bounds - { - if (collision.gameObject.CompareTag("Platformer Hazard")) - { - RespawnHat(); - } - } - - public void Interact() // Updates the player interaction time - { - lastInteractionTime = Time.time; - isDropped = false; - } - - public void OnHatDropped() // Resets the timer when the hat is dropped - { - lastInteractionTime = Time.time; - isDropped = true; - } - - private void RespawnHat() // Respawns the hat at the designated spawn position - { - transform.position = GameManager.Instance.hatSpawnPositions[Random.Range(0, GameManager.Instance.hatSpawnPositions.Count - 1)]; - GetComponent().linearVelocity = Vector2.zero; - GetComponent().angularVelocity = 0f; - transform.rotation = Quaternion.identity; - lastInteractionTime = Time.time; // Reset the timer after respawning - isDropped = false; - } -} } \ No newline at end of file diff --git a/Assets/Scripts/Player/UseItem.cs b/Assets/Scripts/Player/UseItem.cs index 705d516..c8be9e7 100644 --- a/Assets/Scripts/Player/UseItem.cs +++ b/Assets/Scripts/Player/UseItem.cs @@ -59,7 +59,7 @@ namespace Player item.transform.parent = head; item.transform.localRotation = Quaternion.identity; item.transform.localPosition = Vector3.zero; - item.transform.GetChild(0).transform.localPosition = item.GetComponent().initialSubhatPosition; + //item.transform.GetChild(0).transform.localPosition = item.GetComponent().initialSubhatPosition; if (!GameManager.playerHoldTimes.ContainsKey(gameObject)) { GameManager.playerHoldTimes[gameObject] = 0f; @@ -79,7 +79,7 @@ namespace Player StartCoroutine(WaitForInteractability()); heldItem.GetComponent().bodyType = RigidbodyType2D.Dynamic; heldItem.GetComponent().AddForce(Vector2.up * Random.Range(10f, 30f) + Vector2.right * Random.Range(-10, 10), ForceMode2D.Impulse); - heldItem.GetComponent().AddTorque(Random.Range(-5, 5), ForceMode2D.Impulse); + heldItem.GetComponent().AddTorque(Random.Range(-1, 1), ForceMode2D.Impulse); heldItem.GetComponent().OnHatDropped(); heldItem.transform.parent = GameManager.Instance.transform; heldItem = null; diff --git a/Assets/Sprites/flag.png.meta b/Assets/Sprites/flag.png.meta index 245b2e9..ce57704 100644 --- a/Assets/Sprites/flag.png.meta +++ b/Assets/Sprites/flag.png.meta @@ -109,6 +109,32 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: @@ -147,7 +173,8 @@ TextureImporter: secondaryTextures: [] spriteCustomMetadata: entries: [] - nameFileIdTable: {} + nameFileIdTable: + flag_0: -5154189640090123692 mipmapLimitGroupName: pSDRemoveMatte: 0 userData: diff --git a/Assets/Sprites/hat.png.meta b/Assets/Sprites/hat.png.meta index c709ef2..21ce581 100644 --- a/Assets/Sprites/hat.png.meta +++ b/Assets/Sprites/hat.png.meta @@ -109,6 +109,32 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: @@ -147,7 +173,8 @@ TextureImporter: secondaryTextures: [] spriteCustomMetadata: entries: [] - nameFileIdTable: {} + nameFileIdTable: + hat_0: 3063841963128474276 mipmapLimitGroupName: pSDRemoveMatte: 0 userData: