From d8e9a15a36f5285e4c635f0e1044c5bae1cf4f2f Mon Sep 17 00:00:00 2001 From: miepzerino <o.skotnik@gmail.com> Date: Thu, 14 Dec 2023 22:57:28 +0000 Subject: [PATCH] Added more touching directions --- Assets/Scripts/TouchingDirections.cs | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/Assets/Scripts/TouchingDirections.cs b/Assets/Scripts/TouchingDirections.cs index cbf8a60..01e3ab7 100644 --- a/Assets/Scripts/TouchingDirections.cs +++ b/Assets/Scripts/TouchingDirections.cs @@ -6,6 +6,10 @@ { public ContactFilter2D castFilter; public float groundDistance = 0.05f; + public float wallDistance = 0.2f; + public float ceilingDistance = 0.05f; + + private Vector2 wallCheckDirection => gameObject.transform.localScale.x > 0 ? Vector2.right : Vector2.left; Rigidbody2D rb; public GameObject rotorGO; @@ -15,6 +19,8 @@ Animator animator_rotor; RaycastHit2D[] groundHits = new RaycastHit2D[5]; + RaycastHit2D[] wallHits = new RaycastHit2D[5]; + RaycastHit2D[] ceilingHits = new RaycastHit2D[5]; [SerializeField] private bool _isGrounded; @@ -29,6 +35,35 @@ animator_rotor.SetBool(AnimationStrings.Player.IsGrounded, value); } } + + [SerializeField] + private bool _isAtWall; + + public bool IsAtWall + { + get { return _isAtWall; } + set + { + _isAtWall = value; + animator.SetBool(AnimationStrings.Player.IsAtWall, value); + animator_rotor.SetBool(AnimationStrings.Player.IsAtWall, value); + } + } + + [SerializeField] + private bool _isAtCeiling; + + public bool IsAtCeiling + { + get { return _isAtCeiling; } + set + { + _isAtCeiling = value; + animator.SetBool(AnimationStrings.Player.IsAtCeiling, value); + animator_rotor.SetBool(AnimationStrings.Player.IsAtCeiling, value); + } + } + void Awake() @@ -47,5 +82,7 @@ void FixedUpdate() { IsGrounded = touchingCol.Cast(Vector2.down, castFilter, groundHits, groundDistance) > 0; + IsAtWall = touchingCol.Cast(wallCheckDirection, castFilter, wallHits, wallDistance) > 0; + IsAtCeiling = touchingCol.Cast(Vector2.up, castFilter, ceilingHits, ceilingDistance) > 0; } } -- Gitblit v1.9.3