public void Draw(SpriteBatch spriteBatch) { DrawGameObjectList(spriteBatch, CurrentRoomBlocks.Cast <IGameObject>().ToList()); DrawGameObjectList(spriteBatch, CurrentRoomItems.Cast <IGameObject>().ToList()); DrawGameObjectList(spriteBatch, CurrentRoomChars.Cast <IGameObject>().ToList()); DrawGameObjectList(spriteBatch, CurrentRoomPlayers.Cast <IGameObject>().ToList()); DrawGameObjectList(spriteBatch, CurrentRoomProjectiles.Cast <IGameObject>().ToList()); DrawGameObjectList(spriteBatch, CurrentRoomUsableItems.Cast <IGameObject>().ToList()); DrawGameObjectList(spriteBatch, CurrentRoomDoorTriggers.Cast <IGameObject>().ToList()); foreach (ISpriteEffect spriteEffect in CurrentRoomSpriteEffects) { spriteEffect.Draw(spriteBatch); } }