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); }