public static void ValidateAndSetupDoors() { List <ulong> removeSim = new List <ulong>(); foreach (ObjectGuid guid in new List <ObjectGuid>(GoHere.Settings.mDoorSettings.Keys)) { DoorSettings settings = GoHere.Settings.mDoorSettings[guid]; if (Simulator.GetProxy(guid) != null && settings.SettingsValid) { foreach (KeyValuePair <ulong, long> sims in settings.mSimsRecentlyLetThrough) { if (!settings.WasSimRecentlyLetThrough(sims.Key)) { removeSim.Add(sims.Key); } else if (MiniSimDescription.Find(sims.Key) == null) { removeSim.Add(sims.Key); } } foreach (ulong sim in removeSim) { settings.mSimsRecentlyLetThrough.Remove(sim); } GoHere.Settings.AddOrUpdateDoorSettings(guid, settings, false); Door door = GameObject.GetObject(guid) as Door; if (door != null) { RegisterRoomListeners(door.LotCurrent); } continue; } GoHere.Settings.mDoorSettings.Remove(guid); } TooltipHelper.AddListener(typeof(Door), Type.GetType("NRaas.GoHereSpace.Helpers.DoorPortalComponentEx,NRaasGoHere").GetMethod("SceneWindow_Hover")); }