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 zcmeAS@N?(olHy`uVBq!ia0y~yU_8LUz#zcE#=yYPn6v%`0|NtNage(c!@6@aFBurv zk9)c}hE&XXJ15^m=B4a$`|4e*S5FP?N?*z5Y;L0aYVOt5PX4yvTOSta&Ck!D$$oI6vU{J5WzmxpV1})1QEJs? z`+Msd?o_|#U+42Y%=<%2O5xd>n=!`mC*J*do5jET_Q5xY`RdkPSrq#x=EH*Z&epdN zUObrXZ}j)^-&19|nhft+OBudA4-;>Auv`4v(xS692d{d!u^Y#4X`TD=_Dpu`R|jl9 zoLX1E`^L@#=Uw@m^lvvSzn(h(<=Ka?e4{>ne&Oi*r>DL*`*Y>%Jx=z@@dx}$A61T9<`5Idu;6|^QA}gpY<>OtbZ=`N&JzWvC*rF zF6SytUcb@wZ5)5twT8KGVjetS$NqJ>4}ag27m|NFJ!-t`(*5X)XbEVIeB@W=!1fsFnM}B;LbK#Y~hsHDCu794sy7Ta%bFBaB zIsT}B zAL~+AoZhT|+pBKdep#=#8TvD8Y{Tm>o_>)2=+u+hOV@WU)azGW9bkQP=Yjj@55Kr6 z>UMtJjc19EqJmbnub*7MCw}Lhx32#uy?k!)@%tKvpN_mPZtAY;U)bS~pM{Oz$z z#nDeoxXl_KocG_=si!wF!^`7w|FZM;^+Dbxg`Lry`kiK$9}jDvdhk<)x3#eDZ=9*Z z`oCZ0yl&iOeH9m>E*3ZSnECbl^ZoQbyB#{6ayvQG^uzs~Mz^>hU%4vt`1eunw)6bT z*5W_<+V{S)DfFuRasKt5X*GVek86Z>+5G-LiPb9n>S_j-rIXh_m1c7&lsC25>Uei@ zk&Sd5!z4lTi${5XspK4$pQD}pqc?d2V-16eL;L}EPCK^eRa3YB|GV$$+ygsT#Vy@y z;P?1|6iW@ua1p zLa(llu;rM$`c){~{E$^|O!gNZU_bDnveGg`zvr^~1LkWxtU^z$Z4qCc&41+=ci(qy zN1K|G%NCrI1*<)SSr4jZ%O$zPGm;Xl4Id(9HV4Qy*xZdLEp zFWI%vxif5A(5`QWZ~I+s4^8k9K2UtWIxe%`ZEgFvl@=4%eR4j0J+HCLS7G|@y^b7;_Q*wi`U~j~g*$I+KV>X161rY@?dQHLI}Qp~8q3%2S@a=A!{X7!9j}fq z*V?rsMbkX^pYcZTSy~m}!q-R4s<&NlxZzvK)A;%A#}3STT6zAMn5n{KeG!?D3-XzF zr-Z+iymEy>;&tJpD4`p_eeQJa+xhv3=F%^>MH#MKm06sBVEWYj)-}(vwGTv8Oy$&) zSgornxbOVTO)7i$|KwzNzh7EW%Qbu{P{+}ss!x`oSF(;?r`4QH5 zY@71`aGTFZ4!QH(xw1OfAkWr1S+3zgx9_yin>VI@{Qg;Sa{W=`^Szt6GHdUdPuv+V zvD$XsyK}XFf4s9_7on#lXt$&8RY`5T(A%H7KHnL43pWL1x!)BQh%@}qzRSi(=7F1p zWKAxE$oV>s^_OI3v_0Yo|6jq*5dT-;tS|4Ky+71A*VOYBmF{&b4Br+M@=tkIcl6Hc zkG7|GR^9#kM|)QFvaJ=;*Rpr~Yn9nn@oxgdtZx5Jv32a_soJ;s-xd5ld_VfuyJvs$ z?E^l)UzgLmjIAq8Pk>WDYF4}S{Cj1k^DLHj%y@g^{~z)BJFMz2taQ=So5V1S`SP8) zI~AC7&p3bdtO$-}Jn`W5P2Sh0J6=a`742B_ z4dQY&D;VzBecJQ7dH=lWiHE=aan8HiaJc^052y6|RpBT9dxu!h jCv6|iX$J}-A u1C;LPCKSI-w)z*mQU5j=iW!V@laS`7tmsFnGH9xvXB)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{kQj0)Jf-_T6lM;(!!ZY(y^2?p_OY>5S!Fr(*oSYn-@d6UnuGJq!r*dxojnVo~5gNccA iCJzu~2NHo+2aT!~knX#>qTPQkz+rnOQe0Fvl@%X6NANU}9+7EXe$w dc{0CrP0{~}>5Ags1