public virtual bool Collision(ColliderBase obj) { ColliderBase me = GetColliderBase(); if (me.GetColliderType() == obj.GetColliderType()) { if (me.GetColliderType() == Define.ColliderType.Box) { return(MathEx.IntersectRect(me.GetCollisinoInfo(tp.position), obj.GetCollisinoInfo(obj.transform.position))); } else { return(MathEx.IntersectCircle(me.GetCollisinoInfo(tp.position), obj.GetCollisinoInfo(obj.transform.position))); } } else { if (me.GetColliderType() == Define.ColliderType.Box) { return(MathEx.IntersectRectCircle(obj.GetCollisinoInfo(obj.transform.position), me.GetCollisinoInfo(tp.position), me.GetBound())); } else { return(MathEx.IntersectRectCircle(me.GetCollisinoInfo(tp.position), obj.GetCollisinoInfo(obj.transform.position), obj.GetBound())); } } }
public void Setup() { ColliderBase.ClearAllColliders(); actor123 = new DummyActor(new Vector2(0, 2), new Vector2(6, 2)); actor14 = new DummyActor(new Vector2(-2, 1), new Vector2(2, 4)); actor258 = new DummyActor(new Vector2(0, 0), new Vector2(2, 6)); actor6 = new DummyActor(new Vector2(2, 0), new Vector2(2, 2)); actor89 = new DummyActor(new Vector2(1, -2), new Vector2(4, 2)); }
/// <summary> /// Specify the collider type and add to the specified collider list /// </summary> /// <param name="obj"></param> public static void AddToColliderList(GameObject obj) { ColliderBase colliderBase = obj.GetComponent <ColliderBase>(); if (colliderBase.colliderType == ColliderType.Rectangle) { rectangleColliders.Add(obj.GetComponent <RectangleCollider>()); } else if (colliderBase.colliderType == ColliderType.Circle) { circleColliders.Add(obj.GetComponent <CircleCollider>()); } else { Debug.LogWarning("<color=red>Add : Illegal collider type.</color>"); } }
/// <summary> /// Specify the collider type and remove from the specified collider list /// </summary> /// <param name="obj">A GameObject instance</param> public static void RemoveFromColliderList(GameObject obj) { ColliderBase colliderBase = obj.GetComponent <ColliderBase>(); if (colliderBase.colliderType == ColliderType.Rectangle) { rectangleColliders.Remove(obj.GetComponent <RectangleCollider>()); Debug.Log("<color=cyan>Successfully removed from Rectangles List</color>"); } else if (colliderBase.colliderType == ColliderType.Circle) { circleColliders.Remove(obj.GetComponent <CircleCollider>()); Debug.Log("<color=cyan>Successfully removed from Circles List</color>"); } else { Debug.LogWarning("<color=red>Remove : Illegal collider type.</color>"); } }
// "other" is the collider we've hit and contains reference to the object it belongs to void MyCollision(ColliderBase other) { }
private void ColliderBaseTests_CollisionEnded(ColliderBase sender, ColliderBase collider) { eventRaised = true; }
private void Actor1_CollisionStarted(ColliderBase sender, ColliderBase collider) { eventRaised = true; }
public void SetColliderFromChild() { colliderBase = GetComponentInChildren <ColliderBase>(); }
public void SetCollider() { colliderBase = GetComponent <ColliderBase>(); }
public virtual bool Collision(ObjectBase obj) { ColliderBase other = obj.GetColliderBase(); return(Collision(other)); }
public void Setup() { ColliderBase.ClearAllColliders(); }