From 884103d805270bd776b7a485d9431401c0c05594 Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Sun, 30 Mar 2025 18:50:13 +0000
Subject: [PATCH] #16 added ores to player inventory #14 show inventory in UI

---
 Assets/Scripts/TouchingDirections.cs |   64 +++++++++++++++++++++++---------
 1 files changed, 46 insertions(+), 18 deletions(-)

diff --git a/Assets/Scripts/TouchingDirections.cs b/Assets/Scripts/TouchingDirections.cs
index 01e3ab7..08bf06c 100644
--- a/Assets/Scripts/TouchingDirections.cs
+++ b/Assets/Scripts/TouchingDirections.cs
@@ -5,22 +5,24 @@
 public class TouchingDirections : MonoBehaviour
 {
     public ContactFilter2D castFilter;
-    public float groundDistance = 0.05f;
-    public float wallDistance = 0.2f;
+    public float groundDistance = 0.01f;
+    public float wallDistance = 0.01f;
     public float ceilingDistance = 0.05f;
 
-    private Vector2 wallCheckDirection => gameObject.transform.localScale.x > 0 ? Vector2.right : Vector2.left;
+    //private Vector2 wallCheckDirection => gameObject.transform.localScale.x > 0 ? Vector2.right : Vector2.left;
 
     Rigidbody2D rb;
     public GameObject rotorGO;
 
     BoxCollider2D touchingCol;
+    //CapsuleCollider2D touchingCol;
     Animator animator;
     Animator animator_rotor;
 
-    RaycastHit2D[] groundHits = new RaycastHit2D[5];
-    RaycastHit2D[] wallHits = new RaycastHit2D[5];
-    RaycastHit2D[] ceilingHits = new RaycastHit2D[5];
+    public RaycastHit2D[] groundHits = new RaycastHit2D[5];
+    public RaycastHit2D[] wallHitsRight = new RaycastHit2D[5];
+    public RaycastHit2D[] wallHitsLeft = new RaycastHit2D[5];
+    public RaycastHit2D[] ceilingHits = new RaycastHit2D[5];
 
     [SerializeField]
     private bool _isGrounded;
@@ -31,22 +33,35 @@
         set
         {
             _isGrounded = value;
-            animator.SetBool(AnimationStrings.Player.IsGrounded, value);
-            animator_rotor.SetBool(AnimationStrings.Player.IsGrounded, value);
+            animator.SetBool(AnimationStrings.Player.isGrounded, value);
+            animator_rotor.SetBool(AnimationStrings.Player.isGrounded, value);
         }
     }
 
     [SerializeField]
-    private bool _isAtWall;
+    private bool _isAtWallLeft;
 
-    public bool IsAtWall
+    public bool IsAtWallLeft
     {
-        get { return _isAtWall; }
+        get { return _isAtWallLeft; }
         set
         {
-            _isAtWall = value;
-            animator.SetBool(AnimationStrings.Player.IsAtWall, value);
-            animator_rotor.SetBool(AnimationStrings.Player.IsAtWall, value);
+            _isAtWallLeft = value;
+            animator.SetBool(AnimationStrings.Player.isAtWall, value);
+            animator_rotor.SetBool(AnimationStrings.Player.isAtWall, value);
+        }
+    }
+    [SerializeField]
+    private bool _isAtWallRight;
+
+    public bool IsAtWallRight
+    {
+        get { return _isAtWallRight; }
+        set
+        {
+            _isAtWallRight = value;
+            animator.SetBool(AnimationStrings.Player.isAtWall, value);
+            animator_rotor.SetBool(AnimationStrings.Player.isAtWall, value);
         }
     }
 
@@ -59,17 +74,24 @@
         set
         {
             _isAtCeiling = value;
-            animator.SetBool(AnimationStrings.Player.IsAtCeiling, value);
-            animator_rotor.SetBool(AnimationStrings.Player.IsAtCeiling, value);
+            animator.SetBool(AnimationStrings.Player.isAtCeiling, value);
+            animator_rotor.SetBool(AnimationStrings.Player.isAtCeiling, value);
         }
     }
 
-
+    public bool IsAtWall
+    {
+        get
+        {
+            return IsAtWallLeft || IsAtWallRight;
+        }
+    }
 
     void Awake()
     {
         rb = GetComponent<Rigidbody2D>();
         touchingCol = rb.GetComponent<BoxCollider2D>();
+        //touchingCol = rb.GetComponent<CapsuleCollider2D>();
         animator = rb.GetComponent<Animator>();
         animator_rotor = rotorGO.GetComponent<Animator>();
     }
@@ -81,8 +103,14 @@
 
     void FixedUpdate()
     {
+
+        //int contactsAmount = touchingCol.GetContacts(contacts);
+        //Debug.Log("contactsAmount: " + contactsAmount);
         IsGrounded = touchingCol.Cast(Vector2.down, castFilter, groundHits, groundDistance) > 0;
-        IsAtWall = touchingCol.Cast(wallCheckDirection, castFilter, wallHits, wallDistance) > 0;
+        IsAtWallLeft = touchingCol.Cast(Vector2.left, castFilter, wallHitsLeft, wallDistance) > 0;
+        IsAtWallRight = touchingCol.Cast(Vector2.right, castFilter, wallHitsRight, wallDistance) > 0;
         IsAtCeiling = touchingCol.Cast(Vector2.up, castFilter, ceilingHits, ceilingDistance) > 0;
     }
+
+    //TODO getTileForDrillHere?
 }

--
Gitblit v1.9.3