private List <List <string> > LoadStats() { var data = YamlParser .ParseFile <List <RogueskivGameStats> >(AppConfig.GameStatsFilePath); if (data == null) { return(new List <List <string> >()); } return(data .AsEnumerable() .Reverse() .Select(gameStat => new List <string> { gameStat.GetResult(), gameStat.GetDateTime(), RogueskivMenu.CleanGameModeText(gameStat.GameMode), gameStat.Floors.ToString(), gameStat.DiedOnFloor.ToString(), gameStat.FinalHealth.ToString(), gameStat.GetRealTimeFormatted(), gameStat.GetInGameTimeFormatted(), }) .ToList()); }
public RogueskivMenuRenderer(UxContext uxContext, RogueskivMenu game, string fontFile) : base(uxContext, game) { var titleFont = uxContext.GetFont(fontFile, TITLE_FONT_SIZE); var menuFont = uxContext.GetFont(fontFile, MENU_FONT_SIZE); var smallFont = uxContext.GetFont(fontFile, SMALL_FONT_SIZE); Renderers.Add(new TitleRenderer(uxContext, titleFont, smallFont)); Renderers.Add(new InstructionsRenderer(uxContext, smallFont)); Renderers.Add(new ControlsInfoRenderer(uxContext, game, smallFont)); Renderers.Add(new CustomSeedInputRenderer(uxContext, game, smallFont)); CompRenderers[typeof(MenuOptionComp)] = new MenuOptionRenderer(uxContext, game, menuFont); CompRenderers[typeof(StatsComp)] = new StatsRenderer(uxContext, smallFont); }
private GameEngine <EntityList> CreateMenuStage() { StopCurrentFloorEngine(); CurrentFloor = 1; FloorEngines.ForEach(gameEngine => gameEngine.Dispose()); FloorEngines.Clear(); UxContext.PlayMusic(AppConfig.MenuMusicFilePath, AppConfig.MenuMusicVolume); var gameContext = new GameContext(AppConfig.MaxGameStepsWithoutRender); var game = new RogueskivMenu(AppConfig, GameStageCodes.Menu, LoadStats); var renderer = new RogueskivMenuRenderer(UxContext, game, AppConfig.FontFile); var userInput = new RogueskivMenuInputHandler(UxContext, game, renderer); var engine = new GameEngine <EntityList>(gameContext, userInput, game, renderer); return(engine); }
public CustomSeedInputRenderer(UxContext uxContext, RogueskivMenu game, IntPtr font) { Game = game; TextRenderer = new TextRenderer(uxContext, font); }
public MenuOptionRenderer(UxContext uxContext, RogueskivMenu game, IntPtr font) : base(uxContext, font) =>
public ControlsInfoRenderer(UxContext uxContext, RogueskivMenu game, IntPtr font) { UxContext = uxContext; Game = game; TextRenderer = new TextRenderer(uxContext, font); }