Exemplo n.º 1
0
        public virtual void RemoveCollidableObject(ICollidable toRemove)
        {
            IBoxCollidable box = toRemove as IBoxCollidable;

            if ((box != null) && (_boxColliders.Contains(box)))
            {
                _boxColliders.Remove(box); return;
            }

            ICircularCollidable circle = toRemove as ICircularCollidable;

            if ((circle != null) && (_circularColliders.Contains(circle)))
            {
                _circularColliders.Remove(circle); return;
            }

            IPolygonCollidable poly = toRemove as IPolygonCollidable;

            if ((poly != null) && (_polygonColliders.Contains(poly)))
            {
                _polygonColliders.Remove(poly); return;
            }

            ICompoundPolygonCollidable compound = toRemove as ICompoundPolygonCollidable;

            if ((compound != null) && (_compoundPolygonColliders.Contains(compound)))
            {
                _compoundPolygonColliders.Remove(compound); return;
            }
        }
Exemplo n.º 2
0
        public virtual void AddCollidableObject(ICollidable toAdd)
        {
            IBoxCollidable box = toAdd as IBoxCollidable;

            if ((box != null) && (!_boxColliders.Contains(box)))
            {
                _boxColliders.Add(box); return;
            }

            ICircularCollidable circle = toAdd as ICircularCollidable;

            if ((circle != null) && (!_circularColliders.Contains(circle)))
            {
                _circularColliders.Add(circle); return;
            }

            IPolygonCollidable poly = toAdd as IPolygonCollidable;

            if ((poly != null) && (!_polygonColliders.Contains(poly)))
            {
                _polygonColliders.Add(poly); return;
            }

            ICompoundPolygonCollidable compound = toAdd as ICompoundPolygonCollidable;

            if ((compound != null) && (!_compoundPolygonColliders.Contains(compound)))
            {
                _compoundPolygonColliders.Add(compound); return;
            }
        }