public CollisionExclusion(Collider a, IIgnorableCollision b) { if (a == null) { throw new System.ArgumentNullException("a"); } if (b == null) { throw new System.ArgumentNullException("b"); } _collA = IgnorableCollider.GetIgnorableCollision(a); _collB = b; }
public CollisionExclusion(IIgnorableCollision a, Collider b) { if (a == null) { throw new System.ArgumentNullException("a"); } if (b == null) { throw new System.ArgumentNullException("b"); } _collA = a; _collB = IgnorableCollider.GetIgnorableCollision(b); }
public static IgnorableCollider GetIgnorableCollider(Collider coll) { if (coll == null) return null; lock (_table) { IgnorableCollider aspect; if (_table.TryGetValue(coll, out aspect)) { return aspect; } else { aspect = new IgnorableCollider(coll); _table.Add(coll, aspect); return aspect; } } }