private void ProcessorOnColliderRemoved(StaticColliderComponent component, StaticColliderData data) { builder.Remove(data); if (AutomaticRebuild) { pendingRebuild = true; } }
/// <summary> /// Removes a specific collider from the builder /// </summary> /// <param name="colliderData">The collider data object to remove</param> public void Remove(StaticColliderData colliderData) { lock (colliders) { if (!registeredGuids.Contains(colliderData.Component.Id)) { throw new InvalidOperationException("Trying to remove unregistered collider"); } colliders.Remove(colliderData); registeredGuids.Remove(colliderData.Component.Id); } }
/// <summary> /// Adds information about a collider to this builder /// </summary> /// <remarks> /// You can only register a single <see cref="StaticColliderComponent"/> once /// </remarks> /// <exception cref="InvalidOperationException">When trying to register collider data with the same <see cref="StaticColliderComponent"/> twice</exception> /// <param name="colliderData">A collider data object to add</param> public void Add(StaticColliderData colliderData) { lock (colliders) { if (registeredGuids.Contains(colliderData.Component.Id)) { throw new InvalidOperationException("Duplicate collider added"); } colliders.Add(colliderData); registeredGuids.Add(colliderData.Component.Id); } }