Example #1
0
 private void LoadSettings()
 {
     KaptureConfig.Initialize(_kaptureData.GetAppDirectory());
     _kaptureConfig = KaptureConfig.GetInstance();
     _configuration = (Configuration)_kaptureConfig.ConfigManager.Config;
     if (_language.Id == _configuration.XIVPlugin.LanguageId)
     {
         _kaptureConfig.ConfigManager.LoadSettings();
         _configuration.XIVPlugin.FreshInstall = false;
         _kaptureConfig.ConfigManager.SaveSettings();
     }
     else
     {
         var newConfig = new Configuration
         {
             General   = _configuration.General,
             Filters   = _configuration.Filters,
             Items     = new Items(),
             Zones     = new Zones(),
             Logging   = new Logging(),
             Discord   = new Discord(),
             HTTP      = new HTTP(),
             XIVPlugin = new XIVPlugin()
         };
         newConfig.XIVPlugin.LanguageId = _language.Id;
         KaptureConfig.GetInstance().Config = newConfig;
         _configuration = newConfig;
     }
 }
Example #2
0
 public AboutPresenter(AboutView aboutView)
 {
     KaptureConfig          = KaptureConfig.GetInstance();
     Configuration          = (Configuration)KaptureConfig.ConfigManager.Config;
     AboutView              = aboutView;
     AboutView.LinkClicked += OpenLink;
 }
Example #3
0
        private void OpenItemsView(object sender, EventArgs e)
        {
            var config    = (Configuration)KaptureConfig.GetInstance().Config;
            var itemsList = config.Items.ItemsList;
            var itemsView = new ItemsView(itemsList);

            _itemsPresenter = new ItemsPresenter(itemsView, _aetherbridge.ItemService);
            UpdateViewPanel(_itemsPresenter.ItemsView);
        }
Example #4
0
        private void InitAdvancedPresenter()
        {
            var config       = (Configuration)KaptureConfig.GetInstance().Config;
            var itemsList    = config.Items.ItemsList;
            var zonesList    = new List <string>();
            var advancedView = new AdvancedView(itemsList, zonesList);

            _advancedPresenter =
                new AdvancedPresenter(advancedView, _kaptureData.ItemService, _kaptureData.ContentService);
        }
Example #5
0
 public AdvancedPresenter(AdvancedView advancedView, ItemService itemService, ContentService contentService)
 {
     AdvancedView    = advancedView;
     _itemService    = itemService;
     _contentService = contentService;
     KaptureConfig   = KaptureConfig.GetInstance();
     Configuration   = (Configuration)KaptureConfig.ConfigManager.Config;
     SetupItemsFilter();
     SetupZonesFilter();
 }
Example #6
0
 public AboutPresenter(AboutView aboutView)
 {
     KaptureConfig              = KaptureConfig.GetInstance();
     Configuration              = (Configuration)KaptureConfig.ConfigManager.Config;
     AboutView                  = aboutView;
     AboutView.Version          = PluginService.GetInstance().Version;
     AboutView.UpdateClicked   += CheckForUpdates;
     AboutView.LinkClicked     += OpenLink;
     AboutView.ViewLogsClicked += OpenPluginLog;
 }
        public void SetUp()
        {
            var language = new Language(1, "English", "en");

            _kaptureData = KaptureDataMock.GetInstance();
            _kaptureData.ACTConfig.GameLanguageId = language.Id;
            _kaptureData.Initialize(language.Id);
            KaptureConfig.Initialize(AppDomain.CurrentDomain.BaseDirectory);
            _configuration = (Config.Model.Config)KaptureConfig.GetInstance().ConfigManager.Config;
            _configuration.General.PluginEnabled = true;
            _parser = new ENLogLineParser(new ENLogLineParserContext(_kaptureData));
        }
Example #8
0
 public MainPresenter(MainView mainView, KaptureGUILogger kaptureGUILogger)
 {
     MainView         = mainView;
     KaptureGUILogger = kaptureGUILogger;
     KaptureConfig    = KaptureConfig.GetInstance();
     Configuration    = (Configuration)KaptureConfig.ConfigManager.Config;
     SetupGeneral();
     SetupFilters();
     SetupLogging();
     SetupDiscord();
     SetupHTTP();
     SetupMessageLog();
 }
Example #9
0
        public HTTPPresenter(HTTPView httpView)
        {
            HTTPView      = httpView;
            KaptureConfig = KaptureConfig.GetInstance();
            Configuration = (Configuration)KaptureConfig.ConfigManager.Config;

            HTTPView.HTTPEnabled = Configuration.HTTP.HTTPEnabled;
            HTTPView.Endpoint    = Configuration.HTTP.Endpoint;
            HTTPView.CustomJson  = Configuration.HTTP.CustomJson;

            HTTPView.HTTPEnabledChanged += HTTPEnabledChanged;
            HTTPView.HTTPUpdated        += HTTPUpdated;
        }
Example #10
0
        public DiscordPresenter(DiscordView discordView)
        {
            KaptureConfig = KaptureConfig.GetInstance();
            Configuration = (Configuration)KaptureConfig.ConfigManager.Config;

            DiscordView   = discordView;
            DiscordConfig = Configuration.Discord;

            DiscordView.DiscordEnabled = DiscordConfig.DiscordEnabled;
            DiscordView.Endpoint       = DiscordConfig.Endpoint;

            DiscordView.DiscordEnabledChanged += DiscordEnabledChanged;
            DiscordView.DiscordUpdated        += DiscordUpdated;
        }
Example #11
0
        public void SetUp()
        {
            var language = new Language(4, "Japanese", "ja");

            _kaptureData = KaptureDataMock.GetInstance();
            _kaptureData.ACTConfig.GameLanguageId = language.Id;
            _kaptureData.Initialize(language.Id);
            KaptureConfig.Initialize(AppDomain.CurrentDomain.BaseDirectory);
            _configuration = (Config.Model.Config)KaptureConfig.GetInstance().ConfigManager.Config;
            _configuration.General.PluginEnabled = true;
            _configuration.Filters.ItemRolledOn  = true;
            _configuration.Filters.ItemLost      = true;
            _configuration.Filters.ItemCastLot   = true;
            _parser = new JALogLineParser(new JALogLineParserContext(_kaptureData));
        }
Example #12
0
        public LoggingPresenter(LoggingView loggingView)
        {
            LoggingView = loggingView;

            KaptureConfig = KaptureConfig.GetInstance();
            Configuration = (Configuration)KaptureConfig.ConfigManager.Config;
            LoggingConfig = Configuration.Logging;

            LoggingView.LoggingEnabled = LoggingConfig.LoggingEnabled;
            LoggingView.LogFormatList  = LogFormat.LogFormats;
            LoggingView.LogFormat      = LoggingConfig.LogFormat;
            LoggingView.LogLocation    = LoggingConfig.LogLocation;

            LoggingView.LoggingEnabledChanged += LoggingEnabledChanged;
            LoggingView.LogFormatChanged      += LogFormatChanged;
            LoggingView.LogLocationUpdated    += LogLocationUpdated;
        }
Example #13
0
 private void HandleLootEvent(object sender, LogLineEvent logLineEvent)
 {
     try
     {
         if (logLineEvent == null)
         {
             return;
         }
         _configuration = (Configuration)KaptureConfig.GetInstance().ConfigManager.Config;
         _kaptureGuiLogger.Info(logLineEvent.LogMessage);
         LogMessage(logLineEvent);
         SendToDiscordQueue(logLineEvent);
         SendToHTTPQueue(logLineEvent);
         EventSource.SendEvent("LootData", logLineEvent);
     }
     catch (Exception ex)
     {
         _kaptureGuiLogger.Error(logLineEvent?.LogMessage + "." + Environment.NewLine, ex);
     }
 }
Example #14
0
        public ItemsPresenter(ItemsView itemsView, ItemService itemService)
        {
            ItemsView = itemsView;

            KaptureConfig = KaptureConfig.GetInstance();
            Configuration = (Configuration)KaptureConfig.ConfigManager.Config;
            _itemService  = itemService;

            ItemsView.FilterByItems  = Configuration.Items.FilterByItems;
            ItemsView.ItemPresetList = ItemPreset.ItemPresets;
            ItemsView.ItemPreset     = Configuration.Items.ItemPreset;
            ItemsView.AddItem        = itemService.GetItemNames();
            SetFilterByPreset();

            ItemsView.FilterByItemsChanged       += FilterByItemsChanged;
            ItemsView.ItemPresentChanged         += ItemPresetChanged;
            ItemsView.IncludeItemsEnabledChanged += IncludeItemsEnabledChanged;
            ItemsView.ExcludeItemsEnabledChanged += ExcludeItemsEnabledChanged;
            ItemsView.ItemsListChanged           += ItemsListChanged;
            ItemsView.ItemsListAdded             += ItemsListAdded;
        }
Example #15
0
        public EventsPresenter(EventsView eventsView)
        {
            EventsView = eventsView;

            KaptureConfig = KaptureConfig.GetInstance();
            Configuration = (Configuration)KaptureConfig.ConfigManager.Config;

            EventsView.ItemAddedEnabled    = Configuration.Events.ItemAddedEnabled;
            EventsView.ItemLostEnabled     = Configuration.Events.ItemDroppedEnabled;
            EventsView.YouObtainedEnabled  = Configuration.Events.YouObtainedEnabled;
            EventsView.TheyObtainedEnabled = Configuration.Events.TheyObtainedEnabled;
            EventsView.YouRolledEnabled    = Configuration.Events.YouRolledEnabled;
            EventsView.TheyRolledEnabled   = Configuration.Events.TheyRolledEnabled;

            EventsView.ItemAddedEnabledChanged    += ItemAddedEnabledChanged;
            EventsView.ItemDroppedEnabledChanged  += ItemDroppedEnabledChanged;
            EventsView.YouObtainedEnabledChanged  += YouObtainedEnabledChanged;
            EventsView.TheyObtainedEnabledChanged += TheyObtainedEnabledChanged;
            EventsView.YouRolledEnabledChanged    += YouRolledEnabledChanged;
            EventsView.TheyRolledEnabledChanged   += TheyRolledEnabledChanged;
        }
Example #16
0
        public ZonesPresenter(ZonesView zonesView, ContentService contentService)
        {
            ZonesView       = zonesView;
            _contentService = contentService;


            KaptureConfig = KaptureConfig.GetInstance();
            Configuration = (Configuration)KaptureConfig.ConfigManager.Config;
            ZonesConfig   = Configuration.Zones;

            ZonesView.FilterByZones  = ZonesConfig.FilterByZones;
            ZonesView.ZonePresetList = ZonePreset.ZonePresets;
            ZonesView.ZonePreset     = ZonesConfig.ZonePreset;
            ZonesView.AddZone        = _contentService.GetContentNames();

            SetFilterByPreset();

            ZonesView.FilterByZonesChanged       += FilterByZonesChanged;
            ZonesView.ZonePresentChanged         += ZonePresetChanged;
            ZonesView.IncludeZonesEnabledChanged += IncludeZonesEnabledChanged;
            ZonesView.ExcludeZonesEnabledChanged += ExcludeZonesEnabledChanged;
            ZonesView.ZonesListChanged           += ZonesListChanged;
            ZonesView.ZonesListAdded             += ZonesListAdded;
        }
Example #17
0
 protected LogLineParserBase(ILogLineParserContext context)
 {
     Context       = context;
     Configuration = (Configuration)KaptureConfig.GetInstance().ConfigManager.Config;
 }
Example #18
0
        public void InitPlugin(TabPage pluginScreenSpace, Label pluginStatusText)
        {
            try
            {
                // setup tab space
                _tabPage      = pluginScreenSpace;
                _pluginStatus = pluginStatusText;
                _tabPage.Text = PluginConstants.TabLabel;

                // setup aetherbridge
                _aetherbridge = Aetherbridge.GetInstance();

                // setup logger
                Logger.Initialize(_aetherbridge.GetAppDirectory(), PluginConstants.LogFileName);
                var logPath = Path.Combine(_aetherbridge.GetAppDirectory(), PluginConstants.LogFileName);
                _logger = Logger.GetInstance();
                if (!File.Exists(logPath))
                {
                    _logger.Info("Log file initialized.");
                }

                // setup serializer for json logs/rest calls
                _serializer = new JsonSerializer
                {
                    Options = new JsonSerializerOptions
                    {
                        TypeNameSerializationBehavior = TypeNameSerializationBehavior.Never
                    }
                };

                // setup config
                KaptureConfig.Initialize(_aetherbridge.GetAppDirectory());
                KaptureConfig = KaptureConfig.GetInstance();
                Configuration = (Configuration)KaptureConfig.ConfigManager.Config;

                // set language
                var language = _aetherbridge.LanguageService.GetCurrentLanguage();
                SetLanguage(language);

                // load settings
                if (language.Id == Configuration.XIVPlugin.LanguageId)
                {
                    KaptureConfig.ConfigManager.LoadSettings();
                }
                else
                {
                    var newConfig = new Configuration
                    {
                        General   = Configuration.General,
                        Events    = Configuration.Events,
                        Items     = new Items(),
                        Zones     = new Zones(),
                        Logging   = new Logging(),
                        Discord   = new Discord(),
                        HTTP      = new HTTP(),
                        XIVPlugin = new XIVPlugin()
                    };
                    newConfig.XIVPlugin.LanguageId = language.Id;
                    KaptureConfig.GetInstance().Config = newConfig;
                    Configuration = newConfig;
                }

                // setup plugin service
                _httpClient    = new HttpClient();
                KaptureVersion = Assembly.GetExecutingAssembly()
                                 .GetCustomAttribute <AssemblyInformationalVersionAttribute>().InformationalVersion;
                PluginService.Initialize(_httpClient, KaptureVersion,
                                         ActGlobals.oFormActMain.PluginGetSelfData(this).pluginFile.DirectoryName, language.Abbreviation);
                PluginService.GetInstance().KaptureLog =
                    Path.Combine(_aetherbridge.GetAppDirectory(), PluginConstants.LogFileName);

                // create log dir if empty
                if (Configuration.Logging.LogLocation == null)
                {
                    var path = Path.Combine(_aetherbridge.GetAppDirectory(), "KaptureLogs");
                    Directory.CreateDirectory(path);
                    Configuration.Logging.LogLocation  = path;
                    KaptureConfig.ConfigManager.Config = Configuration;
                    KaptureConfig.ConfigManager.SaveSettings();
                }

                // setup loot parser event handler
                _aetherbridge.EnableLogLineParser();
                _aetherbridge.LogLineCaptured += ParseLootEvents;

                // setup user interface
                var mainView = new MainView {
                    Dock = DockStyle.Fill
                };
                _tabPage.Controls.Add(mainView);
                _ = new MainPresenter(mainView, _aetherbridge);

                // update plugin status
                _pluginStatus.Text = PluginConstants.PluginStatusEnabled;

                // add data based on language (async)
                Task.Run(() => _aetherbridge.AddLanguage(Configuration.XIVPlugin.LanguageId));

                // kick off update check (async)
                Task.Run(() =>
                         PluginService.GetInstance().UpdatePlugin(Configuration.General.CheckForBetaEnabled, false));
            }
            catch (Exception ex)
            {
                _logger?.Error(ex);
                MessageBox.Show(PluginConstants.CriticalFailureMsg + Environment.NewLine +
                                PluginConstants.ErrorPrefix + ex.StackTrace);
                _pluginStatus.Text = PluginConstants.PluginStatusDisabledFailure;
                ActGlobals.oFormActMain.PluginGetSelfData(this).cbEnabled.Checked = false;
            }
        }