private protected override void NextFrame(TileCollection tiles, IDictionary <string, GameObject> gameObjects) { switch (CurrentFrame) { case 0: graphicsHandler.PreventAnimatedSpriteUpdates = true; tiles.DrawText(4, 7, CharacterNicknameString); tiles.DrawText(27, 5, "CTRL-H HIGHSCORES"); tiles.DrawText(28, 5, "CTRL-R RESET"); tiles.DrawText(29, 5, "WASD MOVE"); tiles.DrawText(30, 5, "P PAUSE"); tiles.DrawText(31, 5, "ENTER START"); break; case 1: UntilNextFrame = 1000; gameObjects[StaticBlinkyObjName] = new GameObject(GraphicsConstants.SpriteSize) { Position = Game.Vector2FromTilePosition(5, 6.5) }; graphicsHandler.SetStaticSprite(gameObjects[StaticBlinkyObjName], GraphicsID.SpriteGhostRight0, PaletteID.Blinky); break; case 2: UntilNextFrame = 500; tiles.DrawText(6, 7, $"-{BlinkyName}", PaletteID.Blinky); break; case 3: UntilNextFrame = 500; tiles.DrawText(6, 18, $"\"{BlinkyNickname}\"", PaletteID.Blinky); break; case 4: UntilNextFrame = 1000; gameObjects[StaticPinkyObjName] = new GameObject(GraphicsConstants.SpriteSize) { Position = Game.Vector2FromTilePosition(5, 9.5) }; graphicsHandler.SetStaticSprite(gameObjects[StaticPinkyObjName], GraphicsID.SpriteGhostRight0, PaletteID.Pinky); break; case 5: UntilNextFrame = 500; tiles.DrawText(9, 7, $"-{PinkyName}", PaletteID.Pinky); break; case 6: UntilNextFrame = 500; tiles.DrawText(9, 18, $"\"{PinkyNickname}\"", PaletteID.Pinky); break; case 7: UntilNextFrame = 1000; gameObjects[StaticInkyObjName] = new GameObject(GraphicsConstants.SpriteSize) { Position = Game.Vector2FromTilePosition(5, 12.5) }; graphicsHandler.SetStaticSprite(gameObjects[StaticInkyObjName], GraphicsID.SpriteGhostRight0, PaletteID.Inky); break; case 8: UntilNextFrame = 500; tiles.DrawText(12, 7, $"-{InkyName}", PaletteID.Inky); break; case 9: UntilNextFrame = 500; tiles.DrawText(12, 18, $"\"{InkyNickname}\"", PaletteID.Inky); break; case 10: UntilNextFrame = 1000; gameObjects[StaticClydeObjName] = new GameObject(GraphicsConstants.SpriteSize) { Position = Game.Vector2FromTilePosition(5, 15.5) }; graphicsHandler.SetStaticSprite(gameObjects[StaticClydeObjName], GraphicsID.SpriteGhostRight0, PaletteID.Clyde); break; case 11: UntilNextFrame = 500; tiles.DrawText(15, 7, $"-{ClydeName}", PaletteID.Clyde); break; case 12: UntilNextFrame = 500; tiles.DrawText(15, 18, $"\"{ClydeNickname}\"", PaletteID.Clyde); break; case 13: UntilNextFrame = 1000; gameObjects[PelletDemoObjName] = new GameObject(GraphicsConstants.TileSize) { Position = Game.Vector2FromTilePosition(10.5, 23.5) }; graphicsHandler.SetStaticSprite(gameObjects[PelletDemoObjName], GraphicsID.TilePelletSmall, PaletteID.Pellet, Resources.Tiles, GraphicsConstants.TileWidth); tiles.DrawText(23, 12, PelletObject.Worth.ToString()); tiles.DrawPts(23, 15); gameObjects[PowerPelletDemoObjName] = new PowerPelletObject(graphicsHandler) { Position = Game.Vector2FromTilePosition(10.5, 25.5) }; tiles.DrawText(25, 12, PowerPelletObject.Worth.ToString()); tiles.DrawPts(25, 15); break; } }