/// <summary> /// Raises the <see cref="E:ItemRemoved" /> event. /// </summary> /// <param name="e">The <see cref="QuadtreeItemEventArgs" /> instance containing the event data.</param> protected virtual void OnItemRemoved(QuadtreeItemEventArgs e) { var handler = (EventHandler <QuadtreeItemEventArgs>) this._eventDelegates[_removeEventKey]; if (handler != null) { handler(this, e); } }
/// <summary> /// Handles the ItemRemoved event of the _collisionTree control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="QuadtreeItemEventArgs"/> instance containing the event data.</param> /// <exception cref="System.NotImplementedException"></exception> private void _collisionTree_ItemRemoved(object sender, QuadtreeItemEventArgs e) { var collidable = e.Item as IMovingCollidable; if (collidable != null) { this._movingObjects.Remove(collidable); } this._allObjects.Remove((ICollidable)e.Item); }