public void Set(Entity entity, Transform transform, CircleCollider collider) { this.collider = collider; this.entity = entity; this.transform = transform; colliderTag = collider.Tag; center = transform.Position; sortDistance = (float)collider.Radius; }
/// <summary> /// Add a listener which is notified when any collision happens between two /// colliders with the given ColliderTags (the collision filter) /// </summary> public void AddListener(ColliderTag tag1, ColliderTag tag2, CollisionListener listener) { var collisionType = new CollisionFilter(tag1, tag2); if (!listenerMap.ContainsKey(collisionType)) { listenerMap[collisionType] = new List <CollisionListener>(); } listenerMap[collisionType].Add(listener); }
public void Set(Entity entity, Transform transform, BoxCollider collider) { this.collider = collider; this.entity = entity; this.transform = transform; colliderTag = collider.Tag; center = transform.Position; collider.CalculatePoints(transform); // Diagonal distances var diagonal1 = (collider.Points.c - collider.Points.a).Length(); var diagonal2 = (collider.Points.d - collider.Points.b).Length(); double maxDiagonal = diagonal1 > diagonal2 ? diagonal1 : diagonal2; sortDistance = (float)(maxDiagonal / 1.95); }