示例#1
0
            public virtual T Load <T, U>(IExposedMod mod) where T : U, new()
            {
                ModEntry modEntry = mod as ModEntry;
                var      t        = new T();
                var      filepath = GetSettingsPath(modEntry);

                if (File.Exists(filepath))
                {
                    try
                    {
                        using (var stream = File.OpenRead(filepath))
                        {
                            var serializer = new XmlSerializer(typeof(T));
                            var result     = (T)serializer.Deserialize(stream);
                            return(result);
                        }
                    }
                    catch (Exception e)
                    {
                        LoggerDelegates.LogError($"Can't read {filepath}.", e);
                    }
                }

                return(t);
            }
 protected void AddExposedMod(IExposedMod mod)
 {
     if (!m_ExposedMods.Contains(mod))
     {
         m_ExposedMods.Add(mod);
     }
 }
示例#3
0
        public static ModEntry FindMod(string id)
        {
            IExposedMod mod = BaseModType.ExposedMods
                              .Where(entry => ((entry as ModEntry) != null) && (entry.GetModName() == id))
                              .SingleOrDefault();

            if (mod == null)
            {
                LoggerDelegates.LogError($"Unable to find mod: {id}");
            }

            return(mod as ModEntry);
        }
示例#4
0
        public T Load <T, U>(IExposedMod mod) where T : U, new()
        {
            string strSettingsPath = GetSettingsPath(mod);

            if (File.Exists(strSettingsPath))
            {
                try
                {
                    T deserialized = JsonConvert.DeserializeObject <T>(strSettingsPath);
                    return(deserialized);
                }
                catch (Exception e)
                {
                    LoggerDelegates.LogError($"Can't read {strSettingsPath}.", e);
                }
            }

            return(new T());
        }
示例#5
0
            public virtual void Save(IExposedMod mod)
            {
                ModEntry modEntry = mod as ModEntry;

                Save(this, modEntry);
            }
示例#6
0
            public virtual string GetSettingsPath(IExposedMod mod)
            {
                ModEntry modEntry = mod as ModEntry;

                return(Path.Combine(modEntry.Path, Constants.UMM_SETTINGS_FILE_NAME));
            }
示例#7
0
        public virtual void Save(IExposedMod mod)
        {
            VortexMod vortexMod = mod as VortexMod;

            Save(this, vortexMod);
        }
示例#8
0
        public virtual string GetSettingsPath(IExposedMod mod)
        {
            VortexMod modEntry = mod as VortexMod;

            return(Path.Combine(modEntry.VortexData.ModPath, Constants.VORTEX_SETTINGS_FILE));
        }