private void FindModsToSync()
        {
#if DIALOG_CHECK_MODS
            Log.Warning("Begin Dialog_CheckMods.FindModsToSync");
#endif
            this.modsToSync = new List <ModToSync>();
#if TRACE && DIALOG_CHECK_MODS
            Log.Message("    Mods:");
#endif
            foreach (ModMetaData modMetaData in ModsConfig.ActiveModsInLoadOrder)
            {
#if TRACE && DIALOG_CHECK_MODS
                Log.Message("        " + modMetaData.Name + "   OnSteamWorkshop: " + modMetaData.OnSteamWorkshop + "  IsCoreMod: " + modMetaData.IsCoreMod);
#endif
                if (modMetaData.OnSteamWorkshop == false && modMetaData.IsCoreMod == false)
                {
#if TRACE && DIALOG_CHECK_MODS
                    Log.Message("            Add to ModsToSync");
#endif
                    ModToSync mod;
                    if (ModToSyncFactory.TryCreateModToSync(modMetaData, out mod))
                    {
                        if (mod.Host != null)
                        {
                            this.modsToSync.Add(mod);
                        }
                    }
                }
            }
#if DIALOG_CHECK_MODS
            Log.Warning("End Dialog_CheckMods.FindModsToSync");
#endif
        }
Exemplo n.º 2
0
        private void Resync()
        {
#if DIALOG_CHECK_MODS
            Log.Warning("Begin Dialog_CheckMods.Resync");
#endif
#if TRACE && DIALOG_CHECK_MODS
            Log.Message("    Mods:");
#endif
            foreach (ModToSync mod in this.modsToSync)
            {
#if TRACE && DIALOG_CHECK_MODS
                Log.Message("        " + mod.Mod.Name);
#endif
                if (mod.Host != null)
                {
                    RestUtil.GetModSyncXml(mod.Host.ModSyncXmlUri, (XmlDocument xml) =>
                    {
#if TRACE && DIALOG_CHECK_MODS
                        Log.Message("ModCheck Callback: " + mod.Mod.Name);
#endif
                        mod.RequestDone = true;

                        ModSyncInfo info;
                        IHost host;
                        if (xml != null)
                        {
                            if (mod.Host is HugsLibVersionHost)
                            {
                                if (ModToSyncFactory.ReadVersion(xml, mod.Mod.Name, out info, out host))
                                {
                                    mod.RemoteInfo = info;
                                }
                            }
                            else if (mod.Host is ManifestHost)
                            {
                                if (ModToSyncFactory.ReadManifest(xml, mod.Mod.Name, out info, out host))
                                {
                                    mod.RemoteInfo = info;
                                }
                            }
                            else
                            {
                                if (ModToSyncFactory.ReadModSync(xml, mod.Mod.Name, out info, out host))
                                {
                                    mod.RemoteInfo = info;
                                }
                            }
                        }
                    });
                }
                else
                {
                    mod.RequestDone = true;
                }
            }
#if DIALOG_CHECK_MODS
            Log.Warning("End Dialog_CheckMods.Resync");
#endif
        }