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; } }
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; } }