public void RefreshUserData(int game_id) { Task.Run(() => { TitleList titleList = howLongToBeatClient.GetUserData(game_id); if (titleList != null) { int index = Database.UserHltbData.TitlesList.FindIndex(x => x.Id == game_id); if (index > -1) { Database.UserHltbData.TitlesList[index] = titleList; } else { Database.UserHltbData.TitlesList.Add(titleList); } try { string PathHltbUserStats = Path.Combine(PluginUserDataPath, "HltbUserStats.json"); File.WriteAllText(PathHltbUserStats, JsonConvert.SerializeObject(Database.UserHltbData)); } catch (Exception ex) { Common.LogError(ex, "HowLongToBeat"); } } }); }
/// <summary> /// The setup. /// </summary> /// <param name="scannedSource"> /// The scanned source. /// </param> /// <param name="srcName"> /// The src Name. /// </param> /// <param name="addAction"> /// The add Action. /// </param> /// <param name="preset"> /// The preset. /// </param> public void Setup(Source scannedSource, string srcName, Action <IEnumerable <SelectionTitle> > addAction, Preset preset) { this.TitleList.Clear(); this.addToQueue = addAction; if (scannedSource != null) { IEnumerable <Title> titles = orderedByTitle ? scannedSource.Titles : scannedSource.Titles.OrderByDescending(o => o.Duration).ToList(); foreach (Title item in titles) { SelectionTitle title = new SelectionTitle(item, srcName) { IsSelected = true }; TitleList.Add(title); } } if (preset != null) { this.CurrentPreset = string.Format(ResourcesUI.QueueSelection_UsingPreset, preset.Name); } this.NotifyOfPropertyChange(() => this.IsAutoNamingEnabled); }
private void DV_Form_Load(object sender, EventArgs e) { titles = TitleManager.ShowData(); titleBS = new BindingSource(titles, ""); publishers = PublisherManager.ShowPublisherData(); publisherBS = new BindingSource(publishers, ""); pubComboBox.DataSource = publisherBS; pubComboBox.DisplayMember = "pub_name"; pubComboBox.ValueMember = "pub_id"; titleID.DataBindings.Add("Text", titleBS, "title_id", true); title.DataBindings.Add("Text", titleBS, "title", true); type.DataBindings.Add("Text", titleBS, "type", true); pubComboBox.DataBindings.Add("SelectedValue", titleBS, "pub_id", true); price.DataBindings.Add("Text", titleBS, "price", true); advance.DataBindings.Add("Text", titleBS, "advance", true); royal.DataBindings.Add("Value", titleBS, "royalty", true); sales.DataBindings.Add("Value", titleBS, "ytd_sales", true); notes.DataBindings.Add("Text", titleBS, "notes", true); date.DataBindings.Add("Value", titleBS, "pubdate", true); BindNav = new BindingNavigator(true); this.Controls.Add(BindNav); BindNav.Dock = DockStyle.Top; BindNav.BindingSource = titleBS; }
/// <summary> /// The order by duration. /// </summary> public void OrderByDuration() { TitleList = new BindingList <SelectionTitle>(TitleList.OrderByDescending(o => o.Title.Duration).ToList()); this.NotifyOfPropertyChange(() => TitleList); this.OrderedByTitle = false; this.OrderedByDuration = true; }
/// <summary> /// The create title. /// </summary> /// <param name="title"> /// The title. /// </param> /// <returns> /// The <see cref="Title"/>. /// </returns> private static Title CreateTitle(TitleList title) { Title newTitle = new Title { TitleNumber = title.Index, Playlist = title.Playlist, Resolution = new Size(title.Geometry.Width, title.Geometry.Height), ParVal = new Size(title.Geometry.PAR.Num, title.Geometry.PAR.Den), Duration = new TimeSpan(title.Duration.Hours, title.Duration.Minutes, title.Duration.Seconds), AutoCropDimensions = new Cropping { Top = title.Crop[0], Bottom = title.Crop[1], Left = title.Crop[2], Right = title.Crop[3] }, AngleCount = title.AngleCount, VideoCodecName = title.VideoCodec, Framerate = ((double)title.FrameRate.Num) / title.FrameRate.Den, FramerateNumerator = title.FrameRate.Num, FramerateDenominator = title.FrameRate.Den, Path = title.Path }; switch (title.Type) { case 2: newTitle.InputType = InputType.Stream; break; case 0: newTitle.InputType = InputType.Dvd; break; case 1: newTitle.InputType = InputType.Bluray; break; case 3: newTitle.InputType = InputType.FFStream; break; } foreach (Subtitle subtitleTrack in CreateSubtitleTracks(title.SubtitleList)) { newTitle.Subtitles.Add(subtitleTrack); } foreach (AudioTrack audioTrack in CreateAudioTracks(title.AudioList)) { newTitle.AudioTracks.Add(audioTrack); } foreach (Chapter chapter in CreateChapters(title.ChapterList)) { newTitle.Chapters.Add(chapter); } return(newTitle); }
public override bool Init(InitBaseData initData, Action callback = null) { var data = initData as InitOtherPlayerData; foreach (var item in data.TitleList) { if (TitleList.ContainsKey(item.Key)) { TitleList[item.Key] = item.Value; } else { TitleList.Add(item.Key, item.Value); } } AllianceName = data.AllianceName; RobotId = data.RobotId; if (!base.Init(initData)) { return(false); } serverId = data.ServerId; AreaState = data.AreaState; var tbPvpRule = Table.GetPVPRule(GameLogic.Instance.Scene.TableScene.PvPRule); if (tbPvpRule.NameColorRule == (int)NameColorRule.FightingEachOther && GameLogic.Instance.Scene.TableScene.IsHideName == 1) { Name = GameUtils.GetDictionaryText(220697 + RoleId); } return(true); }
/// <summary> /// The order by name. /// </summary> public void OrderByName() { TitleList = new BindingList <SelectionTitle>(TitleList.OrderBy(o => o.Title.SourceName).ToList()); this.NotifyOfPropertyChange(() => TitleList); this.OrderedByTitle = false; this.OrderedByDuration = false; this.OrderedByName = true; }
/// <summary> /// Constructor /// </summary> public ConfigViewModel() { this.WindowTitle = NameTitle.Config.ToString(); TitleList.Add(item: new EntityViewTitleHierarchy() { Title = this.WindowTitle , NameTitle = NameTitle.Config }); }
/// <summary> /// Constructor /// </summary> public MainViewModel() { this.WindowTitle = NameTitle.Main.ToString(); TitleList.Add(item: new EntityViewTitleHierarchy() { Title = this.WindowTitle , NameTitle = NameTitle.Main }); }
/// <summary> /// 获取每个表的字段名 /// </summary> private void getTitleList() { foreach (String tabname in m_selectedTableList) { List <String> tempList = new List <string>(); tempList = RealDBHelper.getTitleList(tabname + "-" + Instru); TitleList.Add(tempList); Pusher._pusher.TitleDict.Add(tabname + "-" + Instru, tempList); } Pusher._pusher.TitleList = TitleList; }
// POST: odata/TitleLists public IHttpActionResult Post(TitleList titleList) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.TitleLists.Add(titleList); db.SaveChanges(); return(Created(titleList)); }
private void SetTitle(int id, int value) { if (TitleList.ContainsKey(id)) { TitleList[id] = value; } else { TitleList.Add(id, value); } NameBoardUpdate(); }
public static TitleList ShowData() { TitleList result = new TitleList(); try { return (covnertDataTableToList(dBManager.executeDataTableQuiry("ShowData"))); } catch { } return(result); }
internal static TitleList covnertDataTableToList(DataTable dataTable) { TitleList titles = new TitleList(); try{ foreach (DataRow dataRow in dataTable.Rows) { titles.Add(covnertDataRowToTitle(dataRow)); } } catch { } return(titles); }
// DELETE: odata/TitleLists(5) public IHttpActionResult Delete([FromODataUri] int key) { TitleList titleList = db.TitleLists.Find(key); if (titleList == null) { return(NotFound()); } db.TitleLists.Remove(titleList); db.SaveChanges(); return(StatusCode(HttpStatusCode.NoContent)); }
// Show Data private void GV_Form_Load(object sender, EventArgs e) { titles = TitleManager.ShowData(); titlesBS = new BindingSource(titles, ""); dgvTitle.DataSource = titlesBS; publishers = PublisherManager.ShowPublisherData(); publisherBS = new BindingSource(publishers, ""); dgvComboBoxCol = new DataGridViewComboBoxColumn(); dgvComboBoxCol.DataSource = publisherBS; dgvComboBoxCol.HeaderText = "Publisher"; dgvComboBoxCol.DisplayMember = "pub_name"; dgvComboBoxCol.ValueMember = "pub_id"; dgvComboBoxCol.DataPropertyName = "pub_id"; dgvTitle.Columns.Add(dgvComboBoxCol); dgvTitle.Columns["pub_id"].Visible = false; dgvTitle.Columns["State"].Visible = false; }
/// <summary> /// 获取数据 /// </summary> public void GetDate() { try { List <SeatManage.ClassModel.AMS_Advertisement> modelList = SeatManage.Bll.AdvertisementOperation.GetAdList(null, SeatManage.EnumType.AdType.TitleAd); TitleList.Clear(); foreach (SeatManage.ClassModel.AMS_Advertisement model in modelList) { SeatManage.ClassModel.TitleAdvertInfoV2 view = SeatManage.ClassModel.TitleAdvertInfoV2.ToModel(model.AdContent); view.AdContent = model.AdContent; view.ID = model.ID; TitleList.Add(view); } } catch (Exception ex) { ErrorMessage = ex.Message; SeatManage.SeatManageComm.WriteLog.Write("获取学校通知失败" + ex.Message); } }
private void readTitles() { DBClass.openConnection(); DBClass.sql = "select titileBook from books"; DBClass.cmd.CommandType = CommandType.Text; DBClass.cmd.CommandText = DBClass.sql; DBClass.da = new SqlDataAdapter(DBClass.cmd); DBClass.dt = new DataTable(); DBClass.da.Fill(DBClass.dt); // wyciągamy dane int i = 0; int j = 0; TitleList.Clear(); using (SqlDataReader reader = DBClass.cmd.ExecuteReader()) { while (reader.Read()) { for (j = 0; j <= reader.FieldCount - 1; j++) // Looping throw colums { data[j] = reader.GetValue(j).ToString(); titleList.Add(data[j]); } } } DBClass.closeConnection(); try { } catch (Exception exp) { MessageBox.Show(exp.Message); } DataGrid_Loaded(); }
/// <summary> /// The setup. /// </summary> /// <param name="scannedSource"> /// The scanned source. /// </param> /// <param name="srcName"> /// The src Name. /// </param> /// <param name="addAction"> /// The add Action. /// </param> public void Setup(Source scannedSource, string srcName, Action <IEnumerable <SelectionTitle> > addAction) { this.TitleList.Clear(); this.addToQueue = addAction; if (scannedSource != null) { IEnumerable <Title> titles = orderedByTitle ? scannedSource.Titles : scannedSource.Titles.OrderByDescending(o => o.Duration).ToList(); foreach (Title item in titles) { SelectionTitle title = new SelectionTitle(item, srcName) { IsSelected = true }; TitleList.Add(title); } } this.NotifyOfPropertyChange(() => this.IsAutoNamingEnabled); this.NotifyOfPropertyChange(() => this.IsAutomaticTrackSelectionEnabled); }
public IHttpActionResult Patch([FromODataUri] int key, Delta <TitleList> patch) { Validate(patch.GetEntity()); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } TitleList titleList = db.TitleLists.Find(key); if (titleList == null) { return(NotFound()); } patch.Patch(titleList); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TitleListExists(key)) { return(NotFound()); } else { throw; } } return(Updated(titleList)); }
public HltbUserStats GetUserData() { if (GetIsUserLoggedIn()) { hltbUserStats = new HltbUserStats(); hltbUserStats.Login = (UserLogin.IsNullOrEmpty()) ? HowLongToBeat.PluginDatabase.Database.UserHltbData.Login : UserLogin; hltbUserStats.UserId = (UserId == 0) ? HowLongToBeat.PluginDatabase.Database.UserHltbData.UserId : UserId; hltbUserStats.TitlesList = new List <TitleList>(); try { List <HttpCookie> Cookies = webViews.GetCookies(); Cookies = Cookies.Where(x => x.Domain.Contains("howlongtobeat")).ToList(); #if DEBUG logger.Debug($"HowLongToBeat [Ignored] - Cookies: {JsonConvert.SerializeObject(Cookies)}"); #endif // Get list games var formContent = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("n", UserLogin), new KeyValuePair <string, string>("c", "user_beat"), new KeyValuePair <string, string>("p", string.Empty), new KeyValuePair <string, string>("y", string.Empty) }); string response = Web.PostStringDataCookies(UrlUserStatsGameList, formContent, Cookies).GetAwaiter().GetResult(); HtmlParser parser = new HtmlParser(); IHtmlDocument htmlDocument = parser.Parse(response); foreach (var ListGame in htmlDocument.QuerySelectorAll("table.user_game_list tbody")) { TitleList titleList = new TitleList(); var tr = ListGame.QuerySelectorAll("tr"); var td = tr[0].QuerySelectorAll("td"); titleList.UserGameId = ListGame.GetAttribute("id").Replace("user_sel_", string.Empty).Trim(); titleList.GameName = td[0].QuerySelector("a").InnerHtml.Trim(); titleList.Platform = td[0].QuerySelector("span").InnerHtml.Trim(); titleList.Id = int.Parse(td[0].QuerySelector("a").GetAttribute("href").Replace("game?id=", string.Empty)); // Get game details formContent = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("option", titleList.UserGameId), new KeyValuePair <string, string>("option_b", "comp_all") }); response = Web.PostStringDataCookies(UrlUserStatsGameDetails, formContent, Cookies).GetAwaiter().GetResult(); parser = new HtmlParser(); htmlDocument = parser.Parse(response); var GameDetails = htmlDocument.QuerySelectorAll("div.user_game_detail > div"); // Game status type titleList.GameStatuses = new List <GameStatus>(); foreach (var GameStatus in GameDetails[0].QuerySelectorAll("span")) { switch (GameStatus.InnerHtml.ToLower()) { case "playing": titleList.GameStatuses.Add(new GameStatus { Status = StatusType.Playing }); break; case "backlog": titleList.GameStatuses.Add(new GameStatus { Status = StatusType.Backlog }); break; case "replays": titleList.GameStatuses.Add(new GameStatus { Status = StatusType.Replays }); break; case "custom tab": titleList.GameStatuses.Add(new GameStatus { Status = StatusType.CustomTab }); break; case "completed": titleList.GameStatuses.Add(new GameStatus { Status = StatusType.Completed }); break; case "retired": titleList.GameStatuses.Add(new GameStatus { Status = StatusType.Retired }); break; } } // Game status time int iPosUserData = 1; if (GameDetails[1].InnerHtml.ToLower().Contains("<h5>progress</h5>")) { List <string> ListTime = GameDetails[1].QuerySelector("span").InnerHtml .Replace("<strong>", string.Empty).Replace("</strong>", string.Empty) .Split('/').ToList(); for (int i = 0; i < titleList.GameStatuses.Count; i++) { titleList.GameStatuses[i].Time = ConvertStringToLongUser(ListTime[i]); } iPosUserData = 2; } // User data titleList.HltbUserData = new HltbData(); for (int i = 0; i < GameDetails[iPosUserData].Children.Count(); i++) { string tempTime = string.Empty; // Completion date if (GameDetails[iPosUserData].Children[i].InnerHtml.ToLower().Contains("completion")) { if (GameDetails[iPosUserData].Children[i].QuerySelectorAll("p").FirstOrDefault() != null) { tempTime = GameDetails[iPosUserData].Children[i].QuerySelectorAll("p").FirstOrDefault().InnerHtml; titleList.Completion = Convert.ToDateTime(tempTime); } } if (GameDetails[iPosUserData].Children[i].InnerHtml.ToLower().Contains("main story")) { i++; tempTime = GameDetails[iPosUserData].Children[i].QuerySelector("span").InnerHtml; titleList.HltbUserData.MainStory = ConvertStringToLongUser(tempTime); } if (GameDetails[iPosUserData].Children[i].InnerHtml.ToLower().Contains("main+extras")) { i++; tempTime = GameDetails[iPosUserData].Children[i].QuerySelector("span").InnerHtml; titleList.HltbUserData.MainExtra = ConvertStringToLongUser(tempTime); } if (GameDetails[iPosUserData].Children[i].InnerHtml.ToLower().Contains("completionist")) { i++; tempTime = GameDetails[iPosUserData].Children[i].QuerySelector("span").InnerHtml; titleList.HltbUserData.Completionist = ConvertStringToLongUser(tempTime); } if (GameDetails[iPosUserData].Children[i].InnerHtml.ToLower().Contains("solo")) { i++; tempTime = GameDetails[iPosUserData].Children[i].QuerySelector("span").InnerHtml; titleList.HltbUserData.Solo = ConvertStringToLongUser(tempTime); } if (GameDetails[iPosUserData].Children[i].InnerHtml.ToLower().Contains("co-op")) { i++; tempTime = GameDetails[iPosUserData].Children[i].QuerySelector("span").InnerHtml; titleList.HltbUserData.CoOp = ConvertStringToLongUser(tempTime); } if (GameDetails[iPosUserData].Children[i].InnerHtml.ToLower().Contains("vs")) { i++; tempTime = GameDetails[iPosUserData].Children[i].QuerySelector("span").InnerHtml; titleList.HltbUserData.Vs = ConvertStringToLongUser(tempTime); } } #if DEBUG logger.Debug($"HowLongToBeat [Ignored] - titleList: {JsonConvert.SerializeObject(titleList)}"); #endif hltbUserStats.TitlesList.Add(titleList); } } catch (Exception ex) { Common.LogError(ex, "HowLongToBeat"); _PlayniteApi.Notifications.Add(new NotificationMessage( "HowLongToBeat-Import-Error", "HowLongToBeat" + System.Environment.NewLine + ex.Message, NotificationType.Error, () => _plugin.OpenSettingsView())); return(null); } return(hltbUserStats); } else { _PlayniteApi.Notifications.Add(new NotificationMessage( "HowLongToBeat-Import-Error", "HowLongToBeat" + System.Environment.NewLine + resources.GetString("LOCNotLoggedIn"), NotificationType.Error, () => _plugin.OpenSettingsView())); return(null); } }
public HowLongToBeatView(IPlayniteAPI PlayniteApi, HowLongToBeatSettings settings, GameHowLongToBeat gameHowLongToBeat) { _gameHowLongToBeat = gameHowLongToBeat; InitializeComponent(); HltbDataUser gameData = _gameHowLongToBeat.Items.FirstOrDefault(); if (gameData == null) { return; } if (_gameHowLongToBeat.HasData || _gameHowLongToBeat.HasDataEmpty) { CoverImage = gameData.UrlImg; if (!settings.ShowHltbImg) { if (!_gameHowLongToBeat.CoverImage.IsNullOrEmpty()) { CoverImage = PlayniteApi.Database.GetFullFilePath(_gameHowLongToBeat.CoverImage); } } GameName = _gameHowLongToBeat.Name; HltbName = resources.GetString("LOCSourceLabel") + ": " + gameData.Name; } if (_gameHowLongToBeat.HasData) { int ElIndicator = 0; Hltb_El1.Visibility = Visibility.Hidden; Hltb_El1_Color.Visibility = Visibility.Hidden; Hltb_El2.Visibility = Visibility.Hidden; Hltb_El2_Color.Visibility = Visibility.Hidden; Hltb_El3.Visibility = Visibility.Hidden; Hltb_El3_Color.Visibility = Visibility.Hidden; TitleList titleList = PluginDatabase.GetUserHltbData(_gameHowLongToBeat.GetData().Id); if (gameData.GameHltbData.MainStory != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatMainStory"), gameData.GameHltbData.MainStoryFormat, (titleList != null) ? titleList.HltbUserData.MainStoryFormat : string.Empty); SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorFirst); } if (gameData.GameHltbData.MainExtra != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatMainExtra"), gameData.GameHltbData.MainExtraFormat, (titleList != null) ? titleList.HltbUserData.MainExtraFormat : string.Empty); SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorSecond); } if (gameData.GameHltbData.Completionist != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatCompletionist"), gameData.GameHltbData.CompletionistFormat, (titleList != null) ? titleList.HltbUserData.CompletionistFormat : string.Empty); SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorThird); } if (gameData.GameHltbData.Solo != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatSolo"), gameData.GameHltbData.SoloFormat, (titleList != null) ? titleList.HltbUserData.SoloFormat : string.Empty); SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorFirstMulti); } if (gameData.GameHltbData.CoOp != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatCoOp"), gameData.GameHltbData.CoOpFormat, (titleList != null) ? titleList.HltbUserData.CoOpFormat : string.Empty); SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorSecondMulti); } if (gameData.GameHltbData.Vs != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatVs"), gameData.GameHltbData.VsFormat, (titleList != null) ? titleList.HltbUserData.VsFormat : string.Empty); SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorThirdMulti); } LongToTimePlayedConverter converter = new LongToTimePlayedConverter(); PlaytimeFormat = (string)converter.Convert((long)_gameHowLongToBeat.Playtime, null, null, CultureInfo.CurrentCulture); hltbProgressBar = new HltbProgressBar(); PART_HltbProgressBar.Children.Add(hltbProgressBar); } // Set Binding data DataContext = this; }
private void LoadData() { try { // Definied data value in different component. int ElIndicator = 0; long MaxValue = 0; long MaxHltb = 0; List <ListProgressBar> listProgressBars = new List <ListProgressBar>(); if (_gameHowLongToBeat.HasData) { var HltbData = _gameHowLongToBeat.GetData(); if (HltbData.GameHltbData.MainStory != 0) { ElIndicator += 1; listProgressBars.Add(new ListProgressBar { Indicator = ElIndicator, Value = HltbData.GameHltbData.MainStory, Format = HltbData.GameHltbData.MainStoryFormat }); if (MaxValue < HltbData.GameHltbData.MainStory) { MaxValue = HltbData.GameHltbData.MainStory; } SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorFirst); } if (HltbData.GameHltbData.MainExtra != 0) { ElIndicator += 1; listProgressBars.Add(new ListProgressBar { Indicator = ElIndicator, Value = HltbData.GameHltbData.MainExtra, Format = HltbData.GameHltbData.MainExtraFormat }); if (MaxValue < HltbData.GameHltbData.MainExtra) { MaxValue = HltbData.GameHltbData.MainExtra; } SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorSecond); } if (HltbData.GameHltbData.Completionist != 0) { ElIndicator += 1; listProgressBars.Add(new ListProgressBar { Indicator = ElIndicator, Value = HltbData.GameHltbData.Completionist, Format = HltbData.GameHltbData.CompletionistFormat }); if (MaxValue < HltbData.GameHltbData.Completionist) { MaxValue = HltbData.GameHltbData.Completionist; } SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorThird); } if (HltbData.GameHltbData.Solo != 0) { ElIndicator += 1; listProgressBars.Add(new ListProgressBar { Indicator = ElIndicator, Value = HltbData.GameHltbData.Solo, Format = HltbData.GameHltbData.SoloFormat }); if (MaxValue < HltbData.GameHltbData.Solo) { MaxValue = HltbData.GameHltbData.Solo; } SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorFirstMulti); } if (HltbData.GameHltbData.CoOp != 0) { ElIndicator += 1; listProgressBars.Add(new ListProgressBar { Indicator = ElIndicator, Value = HltbData.GameHltbData.CoOp, Format = HltbData.GameHltbData.CoOpFormat }); if (MaxValue < HltbData.GameHltbData.CoOp) { MaxValue = HltbData.GameHltbData.CoOp; } SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorSecondMulti); } if (HltbData.GameHltbData.Vs != 0) { ElIndicator += 1; listProgressBars.Add(new ListProgressBar { Indicator = ElIndicator, Value = HltbData.GameHltbData.Vs, Format = HltbData.GameHltbData.VsFormat }); if (MaxValue < HltbData.GameHltbData.Vs) { MaxValue = HltbData.GameHltbData.Vs; } SetColor(ElIndicator, PluginDatabase.PluginSettings.ColorThirdMulti); } } // Define the maxvalue for progressbar & slider MaxHltb = MaxValue; if (_Playtime > MaxValue) { MaxValue = _Playtime; } // Adjust position tracker if (_Playtime > 69) { SliderPlaytime.Margin = new Thickness(-8, 0, -3, 0); } // Limit MaxValue when playtime is more than MaxHltb long MaxPercent = (long)Math.Ceiling((double)(10 * MaxHltb / 100)); if (MaxValue > MaxHltb + MaxPercent) { MaxValue = MaxHltb + MaxPercent; } // Add data ProgressHltb_El1.Maximum = MaxValue; ProgressHltb_El2.Maximum = MaxValue; ProgressHltb_El3.Maximum = MaxValue; SliderPlaytime.Value = _Playtime; SliderPlaytime.Maximum = MaxValue; #if DEBUG logger.Debug($"HowLongToBeat [Ignored] - listProgressBars: {JsonConvert.SerializeObject(listProgressBars)}"); #endif ProgressHltb_El1.Visibility = Visibility.Hidden; spHltb_El1.Visibility = Visibility.Hidden; spHltbTime_El1.Visibility = Visibility.Hidden; ProgressHltb_El2.Visibility = Visibility.Hidden; spHltb_El2.Visibility = Visibility.Hidden; spHltbTime_El2.Visibility = Visibility.Hidden; ProgressHltb_El3.Visibility = Visibility.Hidden; spHltb_El3.Visibility = Visibility.Hidden; spHltbTime_El3.Visibility = Visibility.Hidden; foreach (var listProgressBar in listProgressBars) { SetDataInView(listProgressBar.Indicator, listProgressBar.Value, listProgressBar.Format); } SliderPlaytime.UpdateLayout(); // Show user hltb datas PartSliderFirst.Maximum = MaxValue; PartSliderFirst.Visibility = Visibility.Hidden; PartSliderSecond.Maximum = MaxValue; PartSliderSecond.Visibility = Visibility.Hidden; PartSliderThird.Maximum = MaxValue; PartSliderThird.Visibility = Visibility.Hidden; if (_gameHowLongToBeat.HasData && PluginDatabase.PluginSettings.ProgressBarShowTimeUser) { TitleList titleList = PluginDatabase.GetUserHltbData(_gameHowLongToBeat.GetData().Id); #if DEBUG logger.Debug($"HowLongToBeat [Ignored] - titleList: {JsonConvert.SerializeObject(titleList)}"); #endif if (titleList != null) { ElIndicator = 0; if (titleList.HltbUserData.MainStory != 0) { ElIndicator++; SetUserData(ElIndicator, titleList.HltbUserData.MainStory, PluginDatabase.PluginSettings.ColorFirst); } if (titleList.HltbUserData.MainExtra != 0) { ElIndicator++; SetUserData(ElIndicator, titleList.HltbUserData.MainExtra, PluginDatabase.PluginSettings.ColorSecond); } if (titleList.HltbUserData.Completionist != 0) { ElIndicator++; SetUserData(ElIndicator, titleList.HltbUserData.Completionist, PluginDatabase.PluginSettings.ColorThird); } if (titleList.HltbUserData.Solo != 0) { ElIndicator++; SetUserData(ElIndicator, titleList.HltbUserData.Solo, PluginDatabase.PluginSettings.ColorFirstMulti); } if (titleList.HltbUserData.CoOp != 0) { ElIndicator++; SetUserData(ElIndicator, titleList.HltbUserData.CoOp, PluginDatabase.PluginSettings.ColorSecondMulti); } if (titleList.HltbUserData.Vs != 0) { ElIndicator++; SetUserData(ElIndicator, titleList.HltbUserData.Vs, PluginDatabase.PluginSettings.ColorThirdMulti); } this.DataContext = new { ThumbFirst = solidColorBrushFirst, ThumbSecond = solidColorBrushSecond, ThumbThird = solidColorBrushThird, ThumbPoint = ThumbPoint }; } } } catch (Exception ex) { Common.LogError(ex, "HowLongToBeat", "Error on LoadData()"); } }
private void LoadTitles() { TitleList.DataSource = Enum.GetNames(typeof(Titles)); TitleList.DataBind(); }
/// <summary> /// Check if the dog qualifies for the requested title /// </summary> /// <param name="titleName"></param> /// <returns></returns> public bool QualifiesForTitle(string titleName) { // REVIEW: Should we affirm all the dog's qualifying legs have been assessed and the title list is current? return(null == TitleList.FirstOrDefault(t => t.Name == titleName)); }