From 685460123f10a70307cf87b682d7c93cdce0caf5 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Sun, 20 Nov 2022 18:19:05 +0300 Subject: [PATCH] Box2DColliderTriggerWithRotation Added --- Box2DColliderTriggerWithRotation.cs | 25 +++++++++++++++++++ Box2DColliderTriggerWithRotation.cs.meta | 11 ++++++++ Ground/Box2DGroundTriggerWithRotation.cs | 0 Ground/Box2DGroundTriggerWithRotation.cs.meta | 11 ++++++++ 4 files changed, 47 insertions(+) create mode 100644 Box2DColliderTriggerWithRotation.cs create mode 100644 Box2DColliderTriggerWithRotation.cs.meta create mode 100644 Ground/Box2DGroundTriggerWithRotation.cs create mode 100644 Ground/Box2DGroundTriggerWithRotation.cs.meta diff --git a/Box2DColliderTriggerWithRotation.cs b/Box2DColliderTriggerWithRotation.cs new file mode 100644 index 0000000..987ab9c --- /dev/null +++ b/Box2DColliderTriggerWithRotation.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +namespace Syntriax.Modules.Trigger +{ + + public class Box2DColliderTriggerWithRotation : Trigger, IColliderTrigger + { + public LayerMask ColliderMask { get => colliderMask; set => colliderMask = value; } + [SerializeField] private LayerMask colliderMask = 0; + + private Collider2D[] results = new Collider2D[8]; + + protected void FixedUpdate() + => IsTrigerred = Physics2D.OverlapBoxNonAlloc(transform.position, transform.localScale, transform.rotation.eulerAngles.z, results, ColliderMask) > 0; + +#if UNITY_EDITOR + private void OnDrawGizmosSelected() + { + Gizmos.color = IsTrigerred ? Color.green : Color.red; + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.DrawWireCube(Vector3.zero, Vector3.one); + } +#endif + } +} diff --git a/Box2DColliderTriggerWithRotation.cs.meta b/Box2DColliderTriggerWithRotation.cs.meta new file mode 100644 index 0000000..0cb3609 --- /dev/null +++ b/Box2DColliderTriggerWithRotation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e56ea33695c0c83438ea8b7bf11d1cf8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Ground/Box2DGroundTriggerWithRotation.cs b/Ground/Box2DGroundTriggerWithRotation.cs new file mode 100644 index 0000000..e69de29 diff --git a/Ground/Box2DGroundTriggerWithRotation.cs.meta b/Ground/Box2DGroundTriggerWithRotation.cs.meta new file mode 100644 index 0000000..fccbe69 --- /dev/null +++ b/Ground/Box2DGroundTriggerWithRotation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d8b544fd215b0df4192a7889e6f2db4c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: