| | |
| | | using Assets.Scripts.Enums; |
| | | using Assets.Scripts.Helpers; |
| | | using System; |
| | | using System.Linq; |
| | | using UnityEngine; |
| | | using UnityEngine.InputSystem; |
| | | |
| | |
| | | |
| | | IsFlying = (moveInput.y != 0); |
| | | |
| | | SetFacingDirection(moveInput); |
| | | |
| | | if (IsDrilling) |
| | | { |
| | | IsMoving = false; |
| | | IsFlying = false; |
| | | //moveInput = Vector2.zero; |
| | | } |
| | | else |
| | | { |
| | | SetFacingDirection(moveInput); |
| | | } |
| | | } |
| | | |
| | |
| | | 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: |
| | |
| | | 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); |
| | | } |
| | | } |
| | | |