-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #44 from MrTrueChina/3.0
3.0
- Loading branch information
Showing
107 changed files
with
2,757 additions
and
26,475 deletions.
There are no files selected for viewing
Binary file removed
BIN
-136 KB
Assets Package/Unity2D-Quadtree-Collision-Detection-System.unitypackage
Binary file not shown.
This file was deleted.
Oops, something went wrong.
30 changes: 24 additions & 6 deletions
30
Assets/Quadtree Collider Detection/Example/CollisionDrawer.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,45 @@ | ||
using System.Collections; | ||
using System.Collections.Generic; | ||
using UnityEngine; | ||
using UnityEngine.Events; | ||
|
||
namespace MtC.Tools.QuadtreeCollider | ||
{ | ||
public class CollisionDrawer : MonoBehaviour, IOnQuadtreeCollisionStay | ||
/// <summary> | ||
/// 绘制碰撞器的组件 | ||
/// </summary> | ||
public class CollisionDrawer : MonoBehaviour, IOnQuadtreeCollisionStay, IOnQuadtreeCollisionEnter, IOnQuadtreeCollisionExit | ||
{ | ||
private List<QuadtreeCollider> _colliders = new List<QuadtreeCollider>(); | ||
private readonly List<QuadtreeCollider> colliders = new List<QuadtreeCollider>(); | ||
|
||
public void OnQuadtreeCollisionEnter(QuadtreeCollider collider) | ||
{ | ||
Debug.Log("碰撞器 " + collider.GetInstanceID() + " 进入碰撞器 " + GetInstanceID() + " 的范围"); | ||
} | ||
|
||
public void OnQuadtreeCollisionStay(QuadtreeCollider collider) | ||
{ | ||
_colliders.Add(collider); | ||
colliders.Add(collider); | ||
} | ||
|
||
public void OnQuadtreeCollisionExit(QuadtreeCollider collider) | ||
{ | ||
Debug.Log("碰撞器 " + collider.GetInstanceID() + " 离开碰撞器 " + GetInstanceID() + " 的范围"); | ||
} | ||
|
||
private void OnDrawGizmos() | ||
{ | ||
Gizmos.color = Color.yellow * 0.8f; | ||
|
||
foreach (QuadtreeCollider collider in _colliders) | ||
if (collider) | ||
foreach (QuadtreeCollider collider in colliders) | ||
{ | ||
if (collider != null) | ||
{ | ||
Gizmos.DrawLine(transform.position, collider.transform.position); | ||
} | ||
} | ||
|
||
_colliders.Clear(); | ||
colliders.Clear(); | ||
} | ||
} | ||
} |
Oops, something went wrong.