protected virtual void RegisterGameObject(IGameObject toRegister) { if (!_gameObjects.Contains(toRegister)) { _gameObjects.Add(toRegister); } if (toRegister is ITemporary) { _temporaryObjects.Add((ITemporary)toRegister); } if (toRegister is ISimpleRenderable) { Renderer.AddRenderableObject((ISimpleRenderable)toRegister); } }