Example #1
0
        public override void AddBtActionBar()
        {
            if (PART_BtActionBar != null)
            {
#if DEBUG
                logger.Debug($"GameActivity [Ignored] - PART_BtActionBar allready insert");
#endif
                return;
            }

            FrameworkElement BtActionBar;

            if (PluginDatabase.PluginSettings.EnableIntegrationInDescriptionWithToggle)
            {
                if (PluginDatabase.PluginSettings.EnableIntegrationButtonDetails)
                {
                    BtActionBar = new GameActivityToggleButtonDetails();
                }
                else
                {
                    BtActionBar = new GameActivityToggleButton();
                }

                ((ToggleButton)BtActionBar).Click += OnBtActionBarToggleButtonClick;
            }
            else
            {
                if (PluginDatabase.PluginSettings.EnableIntegrationButtonDetails)
                {
                    BtActionBar = new GameActivityButtonDetails();
                }
                else
                {
                    BtActionBar = new GameActivityButton();
                }

                ((Button)BtActionBar).Click += OnBtActionBarClick;
            }

            if (!PluginDatabase.PluginSettings.EnableIntegrationInDescriptionOnlyIcon)
            {
                BtActionBar.MinWidth = 150;
            }

            BtActionBar.Name = BtActionBarName;

            try
            {
                ui.AddButtonInGameSelectedActionBarButtonOrToggleButton(BtActionBar);
                PART_BtActionBar = IntegrationUI.SearchElementByName(BtActionBarName);
            }
            catch (Exception ex)
            {
                Common.LogError(ex, "GameActivity");
            }
        }
Example #2
0
        public override void AddCustomElements()
        {
            if (ListCustomElements.Count > 0)
            {
#if DEBUG
                logger.Debug($"GameActivity [Ignored] - CustomElements allready insert - {ListCustomElements.Count}");
#endif
                return;
            }

            FrameworkElement PART_GaButtonWithJustIcon        = null;
            FrameworkElement PART_GaButtonWithTitle           = null;
            FrameworkElement PART_GaButtonWithTitleAndDetails = null;

            FrameworkElement PART_GameActivity_Graphic    = null;
            FrameworkElement PART_GameActivity_GraphicLog = null;
            try
            {
                PART_GaButtonWithJustIcon        = IntegrationUI.SearchElementByName("PART_GaButtonWithJustIcon", false, true);
                PART_GaButtonWithTitle           = IntegrationUI.SearchElementByName("PART_GaButtonWithTitle", false, true);
                PART_GaButtonWithTitleAndDetails = IntegrationUI.SearchElementByName("PART_GaButtonWithTitleAndDetails", false, true);

                PART_GameActivity_Graphic    = IntegrationUI.SearchElementByName("PART_GameActivity_Graphic", false, true);
                PART_GameActivity_GraphicLog = IntegrationUI.SearchElementByName("PART_GameActivity_GraphicLog", false, true);
            }
            catch (Exception ex)
            {
                Common.LogError(ex, "GameActivity", $"Error on find custom element");
            }


            if (PART_GaButtonWithJustIcon != null)
            {
                PART_GaButtonWithJustIcon = new GameActivityButton(true);
                ((Button)PART_GaButtonWithJustIcon).Click += OnBtActionBarClick;
                try
                {
                    ui.AddElementInCustomTheme(PART_GaButtonWithJustIcon, "PART_GaButtonWithJustIcon");
                    ListCustomElements.Add(new CustomElement {
                        ParentElementName = "PART_GaButtonWithJustIcon", Element = PART_GaButtonWithJustIcon
                    });
                }
                catch (Exception ex)
                {
                    Common.LogError(ex, "GameActivity");
                }
            }
            else
            {
#if DEBUG
                logger.Debug($"GameActivity [Ignored] - PART_GaButtonWithJustIcon not find");
#endif
            }

            if (PART_GaButtonWithTitle != null)
            {
                PART_GaButtonWithTitle = new GameActivityButton(false);
                ((Button)PART_GaButtonWithTitle).Click += OnBtActionBarClick;
                try
                {
                    ui.AddElementInCustomTheme(PART_GaButtonWithTitle, "PART_GaButtonWithTitle");
                    ListCustomElements.Add(new CustomElement {
                        ParentElementName = "PART_GaButtonWithTitle", Element = PART_GaButtonWithTitle
                    });
                }
                catch (Exception ex)
                {
                    Common.LogError(ex, "GameActivity");
                }
            }
            else
            {
#if DEBUG
                logger.Debug($"GameActivity [Ignored] - PART_GaButtonWithTitle not find");
#endif
            }

            if (PART_GaButtonWithTitleAndDetails != null)
            {
                PART_GaButtonWithTitleAndDetails = new GameActivityButtonDetails();
                ((Button)PART_GaButtonWithTitleAndDetails).Click += OnBtActionBarClick;
                try
                {
                    ui.AddElementInCustomTheme(PART_GaButtonWithTitleAndDetails, "PART_GaButtonWithTitleAndDetails");
                    ListCustomElements.Add(new CustomElement {
                        ParentElementName = "PART_GaButtonWithTitleAndDetails", Element = PART_GaButtonWithTitleAndDetails
                    });
                }
                catch (Exception ex)
                {
                    Common.LogError(ex, "GameActivity");
                }
            }
            else
            {
#if DEBUG
                logger.Debug($"GameActivity [Ignored] - PART_GaButtonWithTitleAndDetails not find");
#endif
            }


            if (PART_GameActivity_Graphic != null && PluginDatabase.PluginSettings.IntegrationShowGraphic)
            {
                PART_GameActivity_Graphic = new GameActivityGameGraphicTime(0, PluginDatabase.PluginSettings.IntegrationGraphicOptionsCountAbscissa);
                ((GameActivityGameGraphicTime)PART_GameActivity_Graphic).DisableAnimations(true);

                PART_GameActivity_Graphic.Name = "GameActivity_Graphic";
                try
                {
                    ui.AddElementInCustomTheme(PART_GameActivity_Graphic, "PART_GameActivity_Graphic");
                    ListCustomElements.Add(new CustomElement {
                        ParentElementName = "PART_GameActivity_Graphic", Element = PART_GameActivity_Graphic
                    });
                }
                catch (Exception ex)
                {
                    Common.LogError(ex, "GameActivity");
                }
            }
            else
            {
#if DEBUG
                logger.Debug($"GameActivity [Ignored] - PART_GameActivity_Graphic not find");
#endif
            }

            if (PART_GameActivity_GraphicLog != null && PluginDatabase.PluginSettings.IntegrationShowGraphicLog)
            {
                PART_GameActivity_GraphicLog = new GameActivityGameGraphicLog(null, string.Empty, 0, !PluginDatabase.PluginSettings.EnableIntegrationInCustomTheme, PluginDatabase.PluginSettings.IntegrationGraphicLogOptionsCountAbscissa);
                ((GameActivityGameGraphicLog)PART_GameActivity_GraphicLog).DisableAnimations(true);

                PART_GameActivity_GraphicLog.Name = "GameActivity_GraphicLog";
                try
                {
                    ui.AddElementInCustomTheme(PART_GameActivity_GraphicLog, "PART_GameActivity_GraphicLog");
                    ListCustomElements.Add(new CustomElement {
                        ParentElementName = "PART_GameActivity_GraphicLog", Element = PART_GameActivity_GraphicLog
                    });
                }
                catch (Exception ex)
                {
                    Common.LogError(ex, "GameActivity");
                }
            }
            else
            {
#if DEBUG
                logger.Debug($"GameActivity [Ignored] - PART_GameActivity_GraphicLog not find");
#endif
            }
        }
Example #3
0
        private void Integration()
        {
            try
            {
                // Refresh database
                if (GameActivity.isFirstLoad)
                {
                    GameActivityDatabases = new GameActivityCollection();
                    GameActivityDatabases.InitializeCollection(this.GetPluginUserDataPath());
                    GameActivity.isFirstLoad = false;
                }


                GameActivityClass SelectedGameGameActivity = GameActivityDatabases.Get(GameSelected.Id);


                // Search game description
                if (PART_ElemDescription == null)
                {
                    foreach (StackPanel sp in Tools.FindVisualChildren <StackPanel>(Application.Current.MainWindow))
                    {
                        if (sp.Name == "PART_ElemDescription")
                        {
                            PART_ElemDescription = sp;
                            break;
                        }
                    }
                }


                // Delete
                logger.Info("GameActivity - Delete");
                ui.RemoveButtonInGameSelectedActionBarButtonOrToggleButton("PART_GaButton");
                ui.RemoveButtonInGameSelectedActionBarButtonOrToggleButton("PART_GaToggleButton");
                ui.RemoveElementInGameSelectedDescription("PART_GameActivity");
                ui.ClearElementInCustomTheme("PART_GameActivty_Graphic");
                ui.ClearElementInCustomTheme("PART_GameActivty_GraphicLog");


                // Reset resources
                //List<ResourcesList> resourcesLists = new List<ResourcesList>();
                //ui.AddResources(resourcesLists);


                // No game activity
                if (SelectedGameGameActivity == null)
                {
                    logger.Info("GameActivity - No activity for " + GameSelected.Name);
                    return;
                }


                // Add resources
                //ui.AddResources(resourcesLists);


                // Auto integration
                if (settings.EnableIntegrationInDescription || settings.EnableIntegrationInDescriptionWithToggle)
                {
                    if (settings.EnableIntegrationInDescriptionWithToggle)
                    {
                        ToggleButton tb = new ToggleButton();
                        if (settings.IntegrationToggleDetails)
                        {
                            tb = new GameActivityToggleButtonDetails(SelectedGameGameActivity.GetLastSessionActivity().ElapsedSeconds);
                        }
                        else
                        {
                            tb         = new GameActivityToggleButton();
                            tb.Content = resources.GetString("LOCGameActivityTitle");
                        }

                        tb.IsChecked           = false;
                        tb.Name                = "PART_GaToggleButton";
                        tb.Width               = 150;
                        tb.HorizontalAlignment = HorizontalAlignment.Right;
                        tb.VerticalAlignment   = VerticalAlignment.Stretch;
                        tb.Margin              = new Thickness(10, 0, 0, 0);
                        tb.Click              += OnGameSelectedToggleButtonClick;

                        ui.AddButtonInGameSelectedActionBarButtonOrToggleButton(tb);
                    }


                    // Add game activity elements
                    StackPanel GaSp = CreateGa(SelectedGameGameActivity, settings.IntegrationShowTitle, settings.IntegrationShowGraphic, settings.IntegrationShowGraphicLog, false);

                    if (settings.EnableIntegrationInDescriptionWithToggle)
                    {
                        GaSp.Visibility = Visibility.Collapsed;
                    }

                    ui.AddElementInGameSelectedDescription(GaSp, settings.IntegrationTopGameDetails);
                }


                // Auto adding button
                if (settings.EnableIntegrationButton || settings.EnableIntegrationButtonDetails)
                {
                    Button bt = new Button();
                    if (settings.EnableIntegrationButton)
                    {
                        bt.Content = resources.GetString("LOCGameActivityTitle");
                    }

                    if (settings.EnableIntegrationButtonDetails)
                    {
                        bt = new GameActivityButtonDetails(SelectedGameGameActivity.GetLastSessionActivity().ElapsedSeconds);
                    }

                    bt.Name  = "PART_GaButton";
                    bt.Width = 150;
                    bt.HorizontalAlignment = HorizontalAlignment.Right;
                    bt.VerticalAlignment   = VerticalAlignment.Stretch;
                    bt.Margin = new Thickness(10, 0, 0, 0);
                    bt.Click += OnBtGameSelectedActionBarClick;

                    ui.AddButtonInGameSelectedActionBarButtonOrToggleButton(bt);
                }


                // Custom theme
                if (settings.EnableIntegrationInCustomTheme)
                {
                    // Create
                    StackPanel spGaG = CreateGa(SelectedGameGameActivity, false, true, false, true);
                    ui.AddElementInCustomTheme(spGaG, "PART_GameActivty_Graphic");

                    StackPanel spGaGL = CreateGa(SelectedGameGameActivity, false, false, true, true);
                    ui.AddElementInCustomTheme(spGaGL, "PART_GameActivty_GraphicLog");
                }
            }
            catch (Exception ex)
            {
                Common.LogError(ex, "GameActivity", $"Impossible integration");
            }
        }