public void Start() { var gameState = new GameState(); gameState.Player = _playerFactory.CreatePlayer("Bungus", new GamePosition(5, 5, 1, Layer.Blocking)); var level = _levelFactory.GenerateLevel(1); level.AddLevelElement(gameState.Player); var testItem1 = _itemFactory.CreateItem("katana", new GamePosition(7, 7, 1, Layer.OnFloor)); var testItem2 = _itemFactory.CreateItem("katana", new GamePosition(4, 9, 1, Layer.OnFloor)); level.AddLevelElement(testItem1, Level.AddStyle.Stack); level.AddLevelElement(testItem2, Level.AddStyle.Stack); var enemy = _enemyFactory.CreateEnemy("Mook", new GamePosition(10, 7, 1, Layer.Blocking), gameState); level.AddLevelElement(enemy); gameState.Levels[1] = level; gameState.CurrentLevel = level; var mainScreen = _screenFactory.GetMainScreen(gameState); gameState.CurrentScreen = mainScreen; _renderController.Initialise(gameState); _eventBus.RegisterEvent("WELCOME"); Loop(gameState); }