public void SetHltbData(long Playtime, HowLongToBeatData gameData, HowLongToBeatSettings settings) { _gameData = gameData; _Playtime = Playtime; _settings = settings; ShowToolTip = settings.ProgressBarShowToolTip; ShowTime = settings.ProgressBarShowTime; ProgressHltb_El1.Foreground = new SolidColorBrush(settings.ColorFirst); ProgressHltb_El2.Foreground = new SolidColorBrush(settings.ColorSecond); ProgressHltb_El3.Foreground = new SolidColorBrush(settings.ColorThird); if (_gameData != null && _gameData.hasData && !_gameData.isEmpty) { if (ShowToolTip) { PART_ShowToolTip.Visibility = Visibility.Visible; } else { PART_ShowToolTip.Visibility = Visibility.Collapsed; } LoadData(); } }
public HowLongToBeatUI(IPlayniteAPI PlayniteApi, HowLongToBeatSettings Settings, string PluginUserDataPath) : base(PlayniteApi, PluginUserDataPath) { _Settings = Settings; _PluginUserDataPath = PluginUserDataPath; BtActionBarName = "PART_HltbButton"; SpDescriptionName = "PART_HltbDescriptionIntegration"; }
public HltbProgressBar(long Playtime, HltbDataUser gameData, HowLongToBeatSettings settings) { InitializeComponent(); this.gameData = gameData; this.Playtime = Playtime; this.settings = settings; ShowToolTip = settings.ProgressBarShowToolTip; ShowTime = settings.ProgressBarShowTime; // Set Binding data DataContext = this; }
public static void GetAllDataFromMain(IPlayniteAPI PlayniteApi, string PluginUserDataPath, HowLongToBeatSettings settings) { GlobalProgressOptions globalProgressOptions = new GlobalProgressOptions( resources.GetString("LOCCommonGettingAllDatas"), true ); globalProgressOptions.IsIndeterminate = false; PlayniteApi.Dialogs.ActivateGlobalProgress((activateGlobalProgress) => { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); var db = PlayniteApi.Database.Games.Where(x => x.Hidden == false); activateGlobalProgress.ProgressMaxValue = (double)db.Count(); string CancelText = string.Empty; foreach (Game game in db) { if (activateGlobalProgress.CancelToken.IsCancellationRequested) { CancelText = " canceled"; break; } if (!HowLongToBeatData.HaveData(game.Id, PluginUserDataPath)) { List <HltbData> dataSearch = new HowLongToBeatClient().Search(game.Name); if (dataSearch.Count == 1 && settings.AutoAccept) { HowLongToBeatData.SaveData(game.Id, dataSearch[0], PluginUserDataPath); if (settings.EnableTag) { HowLongToBeatData.AddAllTag(PlayniteApi, game, PluginUserDataPath); } } else { if (dataSearch.Count > 0 && settings.ShowWhenMismatch) { Application.Current.Dispatcher.BeginInvoke((Action) delegate { string FileGameData = PluginUserDataPath + "\\howlongtobeat\\" + game.Id.ToString() + ".json"; var ViewExtension = new HowLongToBeatSelect(dataSearch, FileGameData, game.Name); Window windowExtension = PlayniteUiHelper.CreateExtensionWindow(PlayniteApi, resources.GetString("LOCSelection"), ViewExtension); windowExtension.ShowDialog(); if (settings.EnableTag) { HowLongToBeatData.AddAllTag(PlayniteApi, game, PluginUserDataPath); } }).Wait(); } } } activateGlobalProgress.CurrentProgressValue++; } stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; logger.Info($"HowLongToBeat - Task GetAllDataFromMain(){CancelText} - {String.Format("{0:00}:{1:00}.{2:00}", ts.Minutes, ts.Seconds, ts.Milliseconds / 10)}"); }, globalProgressOptions); }
public HowLongToBeatSettingsView(IPlayniteAPI PlayniteApi, string PluginUserDataPath, HowLongToBeatSettings settings) { _PlayniteApi = PlayniteApi; _PluginUserDataPath = PluginUserDataPath; InitializeComponent(); CheckAuthenticate(); PART_SelectorColorPicker.OnlySimpleColor = true; PART_SelectorColorPicker.IsSimpleColor = true; ColorFirst = settings.ColorFirst; tbColorFirst.Background = new SolidColorBrush(settings.ColorFirst); ColorSecond = settings.ColorSecond; tbColorSecond.Background = new SolidColorBrush(settings.ColorSecond); ColorThird = settings.ColorThird; tbColorThird.Background = new SolidColorBrush(settings.ColorThird); ColorFirstMulti = settings.ColorFirstMulti; tbColorFirstMulti.Background = new SolidColorBrush(settings.ColorFirstMulti); ColorSecondMulti = settings.ColorSecondMulti; tbColorSecondMulti.Background = new SolidColorBrush(settings.ColorSecondMulti); ColorThirdMulti = settings.ColorThirdMulti; tbColorThirdMulti.Background = new SolidColorBrush(settings.ColorThirdMulti); spSettings.Visibility = Visibility.Visible; PluginDatabase.howLongToBeatClient.PropertyChanged += OnPropertyChanged; }
public HowLongToBeatView(HowLongToBeatData data, Game game, IPlayniteAPI PlayniteApi, HowLongToBeatSettings settings) { _data = data; InitializeComponent(); HltbDataUser gameData = data.GetData(); if (data.hasData && gameData != null && gameData.GameHltbData != null) { if (string.IsNullOrEmpty(game.CoverImage)) { CoverImage = gameData.GameHltbData.UrlImg; } else { CoverImage = gameData.GameHltbData.UrlImg; if (!settings.ShowHltbImg) { CoverImage = PlayniteApi.Database.GetFullFilePath(game.CoverImage); } } GameName = game.Name; HltbName = resources.GetString("LOCSourceLabel") + ": " + gameData.GameHltbData.Name; 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; if (gameData.GameHltbData.MainStory != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatMainStory"), gameData.GameHltbData.MainStoryFormat); } if (gameData.GameHltbData.MainExtra != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatMainExtra"), gameData.GameHltbData.MainExtraFormat); } if (gameData.GameHltbData.Completionist != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatCompletionist"), gameData.GameHltbData.CompletionistFormat); } if (gameData.GameHltbData.Solo != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatSolo"), gameData.GameHltbData.SoloFormat); } if (gameData.GameHltbData.CoOp != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatCoOp"), gameData.GameHltbData.CoOpFormat); } if (gameData.GameHltbData.Vs != 0) { ElIndicator += 1; SetDataInView(ElIndicator, resources.GetString("LOCHowLongToBeatVs"), gameData.GameHltbData.VsFormat); } Hltb_El1_Color.Background = new SolidColorBrush(settings.ColorFirst); Hltb_El2_Color.Background = new SolidColorBrush(settings.ColorSecond); Hltb_El3_Color.Background = new SolidColorBrush(settings.ColorThird); LongToTimePlayedConverter converter = new LongToTimePlayedConverter(); PlaytimeFormat = (string)converter.Convert((long)game.Playtime, null, null, CultureInfo.CurrentCulture); if (!data.isEmpty) { HltbProgressBar hltbProgressBar = new HltbProgressBar(); hltbProgressBar.SetHltbData(game.Playtime, data, settings); PART_HltbProgressBar.Children.Add(hltbProgressBar); } } // Set Binding data DataContext = this; }
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; }
public HowLongToBeatSettingsView(IPlayniteAPI PlayniteApi, string PluginUserDataPath, HowLongToBeatSettings settings) { _PlayniteApi = PlayniteApi; _PluginUserDataPath = PluginUserDataPath; InitializeComponent(); PART_SelectorColorPicker.OnlySimpleColor = true; PART_SelectorColorPicker.IsSimpleColor = true; tbColorFirst.Background = new SolidColorBrush(settings.ColorFirst); tbColorSecond.Background = new SolidColorBrush(settings.ColorSecond); tbColorThird.Background = new SolidColorBrush(settings.ColorThird); DataLoad.Visibility = Visibility.Collapsed; spSettings.Visibility = Visibility.Visible; }
public void SetHltbData(long Playtime, HowLongToBeatData data, HowLongToBeatSettings settings) { hltbProgressBar.SetHltbData(Playtime, data, settings); PART_HltbProgressBar.UpdateLayout(); }