コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
                }
            }
        }