public void Use(GameCore <Player> game, Point position) { DialogsManager.Provider.OpenWaitDialog("Descending...", () => { var newMap = DungeonMapGenerator.Current.GenerateNewMap(game.Map.Level + 1, out var newPlayerPosition); game.ChangeMap(newMap, newPlayerPosition); game.Map.Refresh(); game.Journal.Write(new DungeonLevelMessage(game.Map.Level)); }); }