Example #1
0
        public bool IsOnline()
        {
            try
            {
                var  gap      = DateTime.UtcNow - FilterCore.GetLastServerDispatchUtc();
                bool isOnline = gap.TotalSeconds < _offlineTimeoutSeconds;
                return(isOnline);
                // No, not this stuff

                /*
                 * var worldFilter = Decal.Adapter.CoreManager.Current.WorldFilter;
                 * if (worldFilter == null) { log.WriteError("worldFilter null"); return false; }
                 * var inventory = worldFilter.GetInventory();
                 * if (inventory == null) { log.WriteError("inventory null"); return false; }
                 * var firstObject = inventory.First;
                 * if (firstObject == null) { log.WriteError("firstObject null"); return false; }
                 * return Decal.Adapter.CoreManager.Current.Actions.IsValidObject(firstObject.Id);
                 */
            }
            catch (Exception exc)
            {
                log.WriteError("IsOnline exception: " + exc.ToString());
                return(false);
            }
        }
        }                                            // for game emulator

        protected override void Startup()
        {
            Debug.Init(FileLocations.PluginPersonalFolder.FullName + @"\Exceptions.txt", PluginName);
            SettingsFile.Init(FileLocations.GetFilterSettingsFilepath(), PluginName);
            LogStartup();
            theFilterCore = this;

            defaultFirstCharacterManager = new DefaultFirstCharacterManager(loginCharacterTools);
            chooseCharacterManager       = new LauncherChooseCharacterManager(loginCharacterTools);
            magFilterCommandExecutor     = new MagFilterCommandExecutor();
            magFilterCommandParser       = new MagFilterCommandParser(magFilterCommandExecutor);
            Heartbeat.SetCommandParser(magFilterCommandParser);
            loginNextCharacterManager        = new LoginNextCharacterManager(loginCharacterTools);
            thwargInventory                  = new ThwargInventory();
            magFilterCommandParser.Inventory = thwargInventory;

            ClientDispatch += new EventHandler <NetworkMessageEventArgs>(FilterCore_ClientDispatch);
            ServerDispatch += new EventHandler <NetworkMessageEventArgs>(FilterCore_ServerDispatch);
            WindowMessage  += new EventHandler <WindowMessageEventArgs>(FilterCore_WindowMessage);

            CommandLineText += new EventHandler <ChatParserInterceptEventArgs>(FilterCore_CommandLineText);
        }