From 9f36564e6766fcd2cda0067f6fd5ad171b3776a1 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 30 Apr 2023 13:58:04 -0700 Subject: [PATCH] add player death animation also bugfixed some tambourine stuff --- Assets/Animations/Player/Die.anim | 111 +++++ Assets/Animations/Player/Die.anim.meta | 8 + .../Player/PlayerAnimation.controller | 31 +- Assets/Prefabs/CaveOctopus.prefab | 46 ++ Assets/Prefabs/Projectile.prefab | 36 -- Assets/Prefabs/Slug.prefab | 84 ++-- Assets/Prefabs/Snake.prefab | 36 -- Assets/Scenes/GrappleScene.unity | 4 +- Assets/Scripts/PlayerBehavior.cs | 82 ++-- Assets/Scripts/PlayerController.cs | 14 +- Assets/Sprites/Characters/Death-Sheet.png | Bin 0 -> 2061 bytes .../Sprites/Characters/Death-Sheet.png.meta | 432 ++++++++++++++++++ Assets/Sprites/Items/.DS_Store | Bin 6148 -> 6148 bytes 13 files changed, 734 insertions(+), 150 deletions(-) create mode 100644 Assets/Animations/Player/Die.anim create mode 100644 Assets/Animations/Player/Die.anim.meta create mode 100644 Assets/Sprites/Characters/Death-Sheet.png create mode 100644 Assets/Sprites/Characters/Death-Sheet.png.meta diff --git a/Assets/Animations/Player/Die.anim b/Assets/Animations/Player/Die.anim new file mode 100644 index 0000000..1305dc3 --- /dev/null +++ b/Assets/Animations/Player/Die.anim @@ -0,0 +1,111 @@ +%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: Die + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: -122338556, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.083333336 + value: {fileID: 189834051, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.16666667 + value: {fileID: -2024555392, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.25 + value: {fileID: 1086045528, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.33333334 + value: {fileID: 884718321, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.41666666 + value: {fileID: -460163578, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.5 + value: {fileID: -990243943, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.5833333 + value: {fileID: -625216433, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.6666667 + value: {fileID: 323212427, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.75 + value: {fileID: 565888814, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.8333333 + value: {fileID: 315249131, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 0.9166667 + value: {fileID: -318639155, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 1 + value: {fileID: 478881412, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - time: 1.0833334 + value: {fileID: 1253964676, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 12 + 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: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: + - {fileID: -122338556, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: 189834051, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: -2024555392, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: 1086045528, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: 884718321, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: -460163578, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: -990243943, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: -625216433, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: 323212427, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: 565888814, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: 315249131, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: -318639155, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: 478881412, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + - {fileID: 1253964676, guid: ef839c6d1bbb746a8a3f399806a935a5, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.1666667 + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Animations/Player/Die.anim.meta b/Assets/Animations/Player/Die.anim.meta new file mode 100644 index 0000000..bedd757 --- /dev/null +++ b/Assets/Animations/Player/Die.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 16389a4fa696c4f01a48a99d08f253fc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Animations/Player/PlayerAnimation.controller b/Assets/Animations/Player/PlayerAnimation.controller index 7ab0ad8..1d98e73 100644 --- a/Assets/Animations/Player/PlayerAnimation.controller +++ b/Assets/Animations/Player/PlayerAnimation.controller @@ -1,5 +1,31 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-9207161459798249037 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Die + 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: 16389a4fa696c4f01a48a99d08f253fc, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -14,7 +40,7 @@ AnimatorController: m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 0} + m_Controller: {fileID: 9100000} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -147,6 +173,9 @@ AnimatorStateMachine: - serializedVersion: 1 m_State: {fileID: 3938999004827103792} m_Position: {x: 180, y: 320, z: 0} + - serializedVersion: 1 + m_State: {fileID: -9207161459798249037} + m_Position: {x: 360, y: 80, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] diff --git a/Assets/Prefabs/CaveOctopus.prefab b/Assets/Prefabs/CaveOctopus.prefab index ea2d5fe..8973e88 100644 --- a/Assets/Prefabs/CaveOctopus.prefab +++ b/Assets/Prefabs/CaveOctopus.prefab @@ -42,6 +42,7 @@ GameObject: - component: {fileID: 5447655033524966674} - component: {fileID: 4957706768026546484} - component: {fileID: 6465130401096595230} + - component: {fileID: 1214578695954916569} m_Layer: 0 m_Name: CaveOctopus m_TagString: Enemy @@ -133,3 +134,48 @@ MonoBehaviour: firePoint: {fileID: 5766250975723295123} fireSpeed: 0.3 projectileSpeed: 160 +--- !u!61 &1214578695954916569 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8749426230765200713} + m_Enabled: 1 + 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_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.5, y: 0.5} + newSize: {x: 1, y: 2} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.5, y: 0.5} + m_EdgeRadius: 0 diff --git a/Assets/Prefabs/Projectile.prefab b/Assets/Prefabs/Projectile.prefab index f40d9a3..1709f53 100644 --- a/Assets/Prefabs/Projectile.prefab +++ b/Assets/Prefabs/Projectile.prefab @@ -11,7 +11,6 @@ GameObject: - component: {fileID: 8219214743225187619} - component: {fileID: 5211884072714540459} - component: {fileID: 4246396268875048627} - - component: {fileID: 2452103161071792001} - component: {fileID: -3408990633585578017} - component: {fileID: 217851877528699149} m_Layer: 0 @@ -115,41 +114,6 @@ Rigidbody2D: m_SleepingMode: 1 m_CollisionDetection: 0 m_Constraints: 0 ---- !u!58 &2452103161071792001 -CircleCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6786092313738818144} - m_Enabled: 1 - 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: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Radius: 5 --- !u!61 &-3408990633585578017 BoxCollider2D: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Slug.prefab b/Assets/Prefabs/Slug.prefab index 8b112e4..4d20202 100644 --- a/Assets/Prefabs/Slug.prefab +++ b/Assets/Prefabs/Slug.prefab @@ -10,9 +10,9 @@ GameObject: m_Component: - component: {fileID: 493245979038171992} - component: {fileID: 493245979038171999} - - component: {fileID: 493245979038171993} - component: {fileID: 4018407283885727215} - component: {fileID: 5337163787054360807} + - component: {fileID: 1833154123759965952} m_Layer: 0 m_Name: Slug m_TagString: Enemy @@ -33,7 +33,7 @@ Transform: m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 12 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &493245979038171999 SpriteRenderer: @@ -87,41 +87,6 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 ---- !u!58 &493245979038171993 -CircleCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 493245979038171997} - m_Enabled: 1 - 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: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Radius: 1.11 --- !u!114 &4018407283885727215 MonoBehaviour: m_ObjectHideFlags: 0 @@ -167,3 +132,48 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!61 &1833154123759965952 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 493245979038171997} + m_Enabled: 1 + 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: 1 + 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.75, y: 0.9375} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.75, y: 0.9375} + m_EdgeRadius: 0 diff --git a/Assets/Prefabs/Snake.prefab b/Assets/Prefabs/Snake.prefab index db252a9..78553a4 100644 --- a/Assets/Prefabs/Snake.prefab +++ b/Assets/Prefabs/Snake.prefab @@ -13,7 +13,6 @@ GameObject: - component: {fileID: 4018407283885727215} - component: {fileID: 5337163787054360807} - component: {fileID: 4224870664944535266} - - component: {fileID: 3214655307310058165} m_Layer: 0 m_Name: Snake m_TagString: Enemy @@ -179,41 +178,6 @@ BoxCollider2D: serializedVersion: 2 m_Size: {x: 1, y: 0.875} m_EdgeRadius: 0 ---- !u!58 &3214655307310058165 -CircleCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 493245979038171997} - m_Enabled: 1 - 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: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: -0.0000009536743, y: 0.14860392} - serializedVersion: 2 - m_Radius: 2.1117759 --- !u!1 &6199841205034961327 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/GrappleScene.unity b/Assets/Scenes/GrappleScene.unity index 156d01f..70c0954 100644 --- a/Assets/Scenes/GrappleScene.unity +++ b/Assets/Scenes/GrappleScene.unity @@ -7220,11 +7220,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6506293507589830987, guid: d89768fad21a147d59156c6b9503b913, type: 3} propertyPath: m_LocalPosition.x - value: -2.72 + value: -2.63 objectReference: {fileID: 0} - target: {fileID: 6506293507589830987, guid: d89768fad21a147d59156c6b9503b913, type: 3} propertyPath: m_LocalPosition.y - value: 22.9 + value: 23.17 objectReference: {fileID: 0} - target: {fileID: 6506293507589830987, guid: d89768fad21a147d59156c6b9503b913, type: 3} propertyPath: m_LocalPosition.z diff --git a/Assets/Scripts/PlayerBehavior.cs b/Assets/Scripts/PlayerBehavior.cs index 191ee94..f05abd8 100644 --- a/Assets/Scripts/PlayerBehavior.cs +++ b/Assets/Scripts/PlayerBehavior.cs @@ -27,6 +27,7 @@ public class PlayerBehavior : MonoBehaviour [SerializeField] private StateController stateController; Animator animator; + [HideInInspector] public bool playerIsAlive = true; void Start() @@ -35,32 +36,34 @@ public class PlayerBehavior : MonoBehaviour stateController = GameObject.Find("StateController").GetComponent(); animator = GetComponent(); GameObject.Find("Main Camera").GetComponent().player = this.gameObject; + playerIsAlive = true; } void Update() { + if (playerIsAlive) { + // throw tambourine + // if (Input.GetKeyDown(KeyCode.K)) { + if (playerInput.actions["ThrowTambourine"].WasPressedThisFrame()) + { + ThrowTambourine(); + } - // throw tambourine - // if (Input.GetKeyDown(KeyCode.K)) { - if (playerInput.actions["ThrowTambourine"].WasPressedThisFrame()) - { - ThrowTambourine(); - } + // grapple + tambourine = GameObject.FindGameObjectWithTag("tambourine"); + // if (Input.GetKeyDown(KeyCode.L)) { + if (playerInput.actions["Grapple"].WasPressedThisFrame()) + { + AttemptGrapple(); + } + // if (Input.GetKeyUp(KeyCode.L)) { + if (playerInput.actions["Grapple"].WasReleasedThisFrame()) + { + LetGoOfGrapple(); + } - // grapple - tambourine = GameObject.FindGameObjectWithTag("tambourine"); - // if (Input.GetKeyDown(KeyCode.L)) { - if (playerInput.actions["Grapple"].WasPressedThisFrame()) - { - AttemptGrapple(); + Animate(); } - // if (Input.GetKeyUp(KeyCode.L)) { - if (playerInput.actions["Grapple"].WasReleasedThisFrame()) - { - LetGoOfGrapple(); - } - - Animate(); } void Animate() { @@ -76,20 +79,22 @@ public class PlayerBehavior : MonoBehaviour void OnMove(InputValue value) { - _hInput = value.Get().x; - if (_hInput < 0) - { - if (forward != -1) { // if character hasnt already flipped - FlipRenderer(); + if (playerIsAlive) { + _hInput = value.Get().x; + if (_hInput < 0) + { + if (forward != -1) { // if character hasnt already flipped + FlipRenderer(); + } + forward = -1; } - forward = -1; - } - else if (_hInput > 0) - { - if (forward != 1) { // if character hasnt already flipped - FlipRenderer(); + else if (_hInput > 0) + { + if (forward != 1) { // if character hasnt already flipped + FlipRenderer(); + } + forward = 1; } - forward = 1; } } @@ -150,7 +155,7 @@ public class PlayerBehavior : MonoBehaviour } else if (col.tag == "instaDeath") { - DestroyPlayer(); + StartCoroutine(DestroyPlayer()); } else if (col.tag == "spawnPoint") { stateController.spawnPoint.GetComponent().DeactivateSpawnPoint(); @@ -182,16 +187,22 @@ public class PlayerBehavior : MonoBehaviour _rb.AddForce(Vector2.up * 8, ForceMode2D.Impulse); collision.gameObject.GetComponent().DefeatEnemy(); } else { - DestroyPlayer(); + StartCoroutine(DestroyPlayer()); } } else if (collision.gameObject.tag == "Projectile") { Destroy(collision.gameObject); - DestroyPlayer(); + StartCoroutine(DestroyPlayer()); } } - public void DestroyPlayer() { + IEnumerator DestroyPlayer() { + playerIsAlive = false; + + // animate + animator.Play("Die"); + yield return new WaitForSeconds(animator.GetCurrentAnimatorStateInfo(0).length); + this.stateController.SetDeathCanvasActive(true); // destroy all tambourines @@ -200,6 +211,7 @@ public class PlayerBehavior : MonoBehaviour tambourine.GetComponent().DestroySelf(); } + yield return new WaitForSeconds(2f); Destroy(this.gameObject); } } diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index fc96d27..21eaeb4 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -58,12 +58,16 @@ public class PlayerMovement : MonoBehaviour [Header("Layers & Tags")] [SerializeField] private LayerMask _groundLayer; + + [HideInInspector] private PlayerBehavior playerBehavior; #endregion private void Awake() { RB = GetComponent(); - grapplingRope = this.gameObject.GetComponent().grapplingRope; + playerBehavior = this.gameObject.GetComponent(); + grapplingRope = playerBehavior.grapplingRope; + } private void Start() @@ -74,12 +78,16 @@ public class PlayerMovement : MonoBehaviour void OnMove(InputValue value) { - this._moveInput = value.Get(); + if (playerBehavior.playerIsAlive) { + this._moveInput = value.Get(); + } } void OnJump() { - OnJumpInput(); + if (playerBehavior.playerIsAlive) { + OnJumpInput(); + } } private void Update() diff --git a/Assets/Sprites/Characters/Death-Sheet.png b/Assets/Sprites/Characters/Death-Sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..25a52956d5143e8c9ee0f0806598b89982186a8a GIT binary patch literal 2061 zcmV+o2=e!dP)Px+$4Nv%RCt{2oNq`R=^e*Ed%CNul~syosRlzgG%f0#)vH2JJ@$)<1G5d@&HBkPr)>CNHlO2f@;9Z$Z|0As^DoY2>y?4x8&ymY6m>j z<*}R(7~&Ot;XzjXLc+t0e@jaI`t}#x8UL1cE{i|Z)9Ldw372t67CZUwN;z6tg(#ONqn^I=sq129nulHs(KO0*XUw`rICjl+_c_4`& zN?{mygcn)y>)D~yj^Q(z?XTx&tBJ$H&ISH{9?ZwGJeZlXJbaz(em;I!_=Xi=EW8S+ z1)sS18Dq;uhGYGAtWYexsb;#yLwhp&@=ykEK8?M45R>E|%<_pAWN zmW$L`_~=m}z1$x?N+`9Nbx=4+{Y`MwOtUwu6brA?(tT8&>ArIWao=ASU(Yblf*roS z{9#>9wB+Y8YSAEUCp#DT**u(i=Scd<9uGrZ9_W(mA)7?!Z=M`p?)LHv6I!JYuE=0CbL>w5Xj{j8m=toYpv>lr=B;EViE zTuT}}j4c;2aV;s0pDlj#u3VXX;o;>o_bq7yJK4FwcRYM^Wx6vW^VaNP;_q1jKDspP zdKQ$4rV7LM<3xDH@}vtkfZ)$hx`{3>k!VUtRwnU7G9OcH`m{vPA>CC!pmgaV`(+;-?=i{3**$)9OL`N z3x>}RBRd!Pj)%SKJaI~S_|NOSmV8cq<9rgjJp2EW1v*#Ns{jP0lda_&20(EiH8{0F z-IH=W8(sjC5jWAr4f-T(#UGq2WB83@umOAkG(ca#M+rU#=X#a5|NXw@oxr)OUZuS- zPUFBD1bhUiHejxdx2*)HH8@vBaKu9p5A&1m^te00+| z36l|fNmB*ECTO3E1M>M`yaqnH30K4N+8@*!Y!An&YpkR(um-HDwI_)$bh^GniB`5! zy7n>ck3~JgkW3T6bKiSjX@5qohxVyBk*@MX!`E(sicKJwyS?-c_=qkpk&MJiM&d*l zm*^Ytak<+o|cE8zB}> z&{KO{yB%hgCfgqKou1cJ?(7t?uty44uhgq`#KLn1?iJ696m~4UYT*9tVVYY81^=_I zGsu*G9!4}a!1`DJ0$#Ap1HfF#m)!VPfyTBY|5rTo#KK1m+|;XWFm63NV;+FOi%pjE zv$19I_wyl>f5kJ;jj{@9ecm^bxnCHoJ+AJ~ef{|EKdx9VA`w2ge(H36hZ61iEll?T zyAy&?YDe7@5MD9xhq^pW9Na(8nu|}eU4935 zWh>hc?r{CX-&@-5=KOCzQ1kDuY=x!Xc6FXOrHGjA$p8EopSU`I z(5XZ&E|LJ61Jm4{xgY~=%tP@>cvD>g$l&YQ4eK?y>sz%Ih^+X{KAHp55Rl7P^M6Xw z*IvVV4cD2K<^kY$|G44moVlQYdK>uXd`1E&eEqoLdtxPI$tJaML_0JO!e%~jpaZZB ze#XW+UEiUAnt)8_GW5$IzNGjIc5ge#WW#REcCgL-ds|8V{ON5e9$x(E2rsRCq5%B8 z^2aWK7an}50Ng(Eyz7I%o|j?6_WVO`)qul)`uIX;-+EWc|4URmpKN=a@p}h7_?@or rP$J)LU~}zbI{s6!FWU+aGWh=ocznTJbqDfJ00000NkvXXu0mjf3B)qu~2NHo+2aD!~pA!7aABR8;Gz>>=&<3DlaZb%E?b+U|`shRFIQd zTw-8wjgg6&g_Vt+os*rLJvKNazdX1kv81%vDX}OT#0$yK&q;!@6O+O+Q_JH8M4a>U zN)j{kQj5SEGE-84N@Bt@^HTE5o$^cbQi{QPgCP=}oE)6-0ut4()g~s!Itqpc=CwKs z)s{vEItnJ1Mzyt^9HPql)CJzu~2NHo+2aT!~knX#>qTPQkz+rnOQe0Fvl@%X6NAN04mum$o!po aGQWr}CnEy`!vP>>m~6u%y*Wl?2{Qm^ix2St