public bool Destroy() { Scale = Vector3.Zero; _exists = false; _editable = true; _factory.Update -= _updateListener; foreach (EntityDeletedDelegate del in _deletedDelegates.ToArray()) { _OnWorldDelete -= del; } foreach (EntityTouchedDelegate touched in _touchedDelegates.ToArray()) { _OnWorldTouch -= touched; } return(_factory.RemovePrim(_id)); }