From b7518b77da6511a396501b51b5046ed86ce8d98b Mon Sep 17 00:00:00 2001 From: miepzerino <o.skotnik@gmail.com> Date: Fri, 28 Mar 2025 21:08:03 +0000 Subject: [PATCH] #22 Reworked background dynamic generation --- Assets/Scripts/PlayerController.cs | 26 +++++++++++++++++++++++--- 1 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index dd88855..4447e1b 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -1,6 +1,7 @@ using Assets.Scripts.Enums; using Assets.Scripts.Helpers; using System; +using System.Linq; using UnityEngine; using UnityEngine.InputSystem; @@ -25,6 +26,7 @@ TouchingDirections touchingDirections; // Time it takes to drill + [SerializeField] private float drillingTime = 1f; private float timeSinceDrill = 0f; private bool drillToPosition; @@ -152,6 +154,10 @@ private void Awake() { + if(Debug.isDebugBuild) + { + moveSpeed = 25f; + } rb = GetComponent<Rigidbody2D>(); animator = GetComponent<Animator>(); animator_rotor = rotorGO.GetComponent<Animator>(); @@ -265,18 +271,26 @@ public void OnMove(InputAction.CallbackContext context) { + if (!health.IsAlive) + { + return; + } moveInput = context.ReadValue<Vector2>(); IsMoving = moveInput.x != 0; IsFlying = (moveInput.y != 0); - SetFacingDirection(moveInput); + if (IsDrilling) { IsMoving = false; IsFlying = false; //moveInput = Vector2.zero; + } + else + { + SetFacingDirection(moveInput); } } @@ -287,9 +301,11 @@ switch (drillDirection) { case DrillDirection.Left: + SetFacingDirection(Vector2.left); touchingDirections.wallHitsLeft[0].collider.GetContacts(contactPoints); break; case DrillDirection.Right: + SetFacingDirection(Vector2.right); touchingDirections.wallHitsRight[0].collider.GetContacts(contactPoints); break; case DrillDirection.Down: @@ -300,9 +316,9 @@ break; } //Debug.Log(contactPoints[0].otherRigidbody?.gameObject.name); - if (contactPoints[0].otherRigidbody?.name == "Tilemap") + if (contactPoints.Any(x => x.otherRigidbody?.name == "Tilemap")) { - CharacterEvents.characterDrill.Invoke(contactPoints[0], drillDirection); + CharacterEvents.characterDrill.Invoke(contactPoints.Single(x => x.otherRigidbody?.name == "Tilemap"), drillDirection); } } @@ -364,6 +380,10 @@ public void TakeDamage(int damage) { health.Hit(damage); + if (!health.IsAlive) + { + rb.velocity = Vector3.zero; + } } public void TakeFallDamage(int fallDamage) -- Gitblit v1.9.3