/// <summary>
        /// loads configfile and prepares it with all needed lists
        /// </summary>
        /// <returns></returns>
        public static WeldingConfiguration loadConfig()
        {
            WeldingConfiguration configuration = new WeldingConfiguration();
            ModuleLists          moduleList    = new ModuleLists();
            FileStream           FileStream;

            if (System.IO.File.Exists(_configFile))
            {
                XmlSerializer configSerializer = new XmlSerializer(typeof(WeldingConfiguration));
                configSerializer.UnknownNode      += new XmlNodeEventHandler(serializer_UnknownNode);
                configSerializer.UnknownAttribute += new XmlAttributeEventHandler(serializer_UnknownAttribute);
                FileStream    = new FileStream(_configFile, FileMode.Open);
                configuration = (WeldingConfiguration)configSerializer.Deserialize(FileStream);
                FileStream.Close();

                if (configuration.MainWindowXPosition > (Screen.width - Constants.guiScreenEdgeClearance))
                {
                    configuration.MainWindowXPosition = Screen.width - Constants.guiScreenEdgeClearance;
                }
                if (configuration.MainWindowYPosition > (Screen.height - Constants.guiScreenEdgeClearance))
                {
                    configuration.MainWindowYPosition = Screen.height - Constants.guiScreenEdgeClearance;
                }
                FileStream.Close();
            }

            if (System.IO.File.Exists(_moduleListFile))
            {
                XmlSerializer moduleListSerializer = new XmlSerializer(typeof(ModuleLists));
                moduleListSerializer.UnknownNode      += new XmlNodeEventHandler(serializer_UnknownNode);
                moduleListSerializer.UnknownAttribute += new XmlAttributeEventHandler(serializer_UnknownAttribute);
                FileStream = new FileStream(_moduleListFile, FileMode.Open);
                moduleList = (ModuleLists)moduleListSerializer.Deserialize(FileStream);
                FileStream.Close();

                configuration.vector2CurveModules       = WeldingHelpers.convertFromToStringArray(moduleList.vector2CurveModules);
                configuration.vector4CurveModules       = WeldingHelpers.convertFromToStringArray(moduleList.vector4CurveModules);
                configuration.subModules                = WeldingHelpers.convertFromToStringArray(moduleList.subModules);
                configuration.modulesToIgnore           = WeldingHelpers.convertFromToStringArray(moduleList.modulesToIgnore);
                configuration.averagedModuleAttributes  = WeldingHelpers.convertFromToStringArray(moduleList.averagedModuleAttributes);
                configuration.unchangedModuleAttributes = WeldingHelpers.convertFromToStringArray(moduleList.unchangedModuleAttributes);
                configuration.breakingModuleAttributes  = WeldingHelpers.convertFromToStringArray(moduleList.breakingModuleAttributes);
                FileStream.Close();
            }
            else
            {
                configuration.vector2CurveModules       = Constants.basicVector2CurveModules;
                configuration.vector4CurveModules       = Constants.basicVector4CurveModules;
                configuration.subModules                = Constants.basicSubModules;
                configuration.modulesToIgnore           = Constants.basicModulesToIgnore;
                configuration.averagedModuleAttributes  = Constants.basicAveragedModuleAttributes;
                configuration.unchangedModuleAttributes = Constants.basicUnchangedModuleAttributes;
                configuration.breakingModuleAttributes  = Constants.basicBreakingModuleAttributes;
            }
            Debug.Log(string.Format("{0} Config was loaded", Constants.logPrefix));
            return(configuration);
        }
Beispiel #2
0
        private static void saveConfig(WeldingConfiguration configToSave, String configFullPathName, String moduleFullPathName)
        {
            WeldingConfiguration configuration = (WeldingConfiguration)configToSave.clone();
            ModuleLists          moduleList    = new ModuleLists();
            TextWriter           fileStreamWriter;

            if (configuration == null)
            {
                configuration = new WeldingConfiguration();
            }
            configuration.vector2CurveModules       = null;
            configuration.vector4CurveModules       = null;
            configuration.subModules                = null;
            configuration.modulesToIgnore           = null;
            configuration.modulesToMultiply         = null;
            configuration.maximizedModuleAttributes = null;
            configuration.minimizedModuleAttributes = null;
            configuration.averagedModuleAttributes  = null;
            configuration.unchangedModuleAttributes = null;
            configuration.breakingModuleAttributes  = null;

            XmlSerializer configSerializer = new XmlSerializer(typeof(WeldingConfiguration));

            fileStreamWriter = new StreamWriter(configFullPathName);
            configSerializer.Serialize(fileStreamWriter, configuration);
            fileStreamWriter.Close();

            //ModuleList from the constants or the actual config, depending on length of the array, in case user did add some entries
            moduleList.vector2CurveModules       = WeldingHelpers.convertStringFromToArray(configToSave.vector2CurveModules != null && (configToSave.vector2CurveModules.Length > Constants.basicVector2CurveModules.Length) ? configToSave.vector2CurveModules : Constants.basicVector2CurveModules);
            moduleList.vector4CurveModules       = WeldingHelpers.convertStringFromToArray(configToSave.vector4CurveModules != null && (configToSave.vector4CurveModules.Length > Constants.basicVector4CurveModules.Length) ? configToSave.vector4CurveModules : Constants.basicVector4CurveModules);
            moduleList.subModules                = WeldingHelpers.convertStringFromToArray(configToSave.subModules != null && (configToSave.subModules.Length > Constants.basicSubModules.Length) ? configToSave.subModules : Constants.basicSubModules);
            moduleList.modulesToIgnore           = WeldingHelpers.convertStringFromToArray(configToSave.modulesToIgnore != null && (configToSave.modulesToIgnore.Length > Constants.basicModulesToIgnore.Length) ? configToSave.modulesToIgnore : Constants.basicModulesToIgnore);
            moduleList.modulesToMultiply         = WeldingHelpers.convertStringFromToArray(configToSave.modulesToMultiply != null && (configToSave.modulesToMultiply.Length > Constants.basicModulesToMultiply.Length) ? configToSave.modulesToMultiply : Constants.basicModulesToMultiply);
            moduleList.maximizedModuleAttributes = WeldingHelpers.convertStringFromToArray(configToSave.maximizedModuleAttributes != null && (configToSave.maximizedModuleAttributes.Length > Constants.basicMaximizedModuleAttributes.Length) ? configToSave.maximizedModuleAttributes : Constants.basicMaximizedModuleAttributes);
            moduleList.minimizedModuleAttributes = WeldingHelpers.convertStringFromToArray(configToSave.minimizedModuleAttributes != null && (configToSave.minimizedModuleAttributes.Length > Constants.basicMinimizedModuleAttributes.Length) ? configToSave.minimizedModuleAttributes : Constants.basicMinimizedModuleAttributes);
            moduleList.averagedModuleAttributes  = WeldingHelpers.convertStringFromToArray(configToSave.averagedModuleAttributes != null && (configToSave.averagedModuleAttributes.Length > Constants.basicAveragedModuleAttributes.Length) ? configToSave.averagedModuleAttributes : Constants.basicAveragedModuleAttributes);
            moduleList.unchangedModuleAttributes = WeldingHelpers.convertStringFromToArray(configToSave.unchangedModuleAttributes != null && (configToSave.unchangedModuleAttributes.Length > Constants.basicUnchangedModuleAttributes.Length) ? configToSave.unchangedModuleAttributes : Constants.basicUnchangedModuleAttributes);
            moduleList.breakingModuleAttributes  = WeldingHelpers.convertStringFromToArray(configToSave.breakingModuleAttributes != null && (configToSave.breakingModuleAttributes.Length > Constants.basicBreakingModuleAttributes.Length) ? configToSave.breakingModuleAttributes : Constants.basicBreakingModuleAttributes);

            XmlSerializer moduleListSerializer = new XmlSerializer(typeof(ModuleLists));

            fileStreamWriter = new StreamWriter(moduleFullPathName);
            moduleListSerializer.Serialize(fileStreamWriter, moduleList);

            fileStreamWriter.WriteLine("");
            foreach (string s in comments)
            {
                fileStreamWriter.WriteLine(s);
            }
            fileStreamWriter.Close();
            Log.dbg("Config was saved");
        }
        /// <summary>
        /// saves the config file and the modulelist file so that it is possible to change them without the need to recompile
        /// </summary>
        /// <param name="configToSave"></param>
        public static void saveConfig(WeldingConfiguration configToSave)
        {
            WeldingConfiguration configuration = (WeldingConfiguration)configToSave.clone();
            ModuleLists          moduleList    = new ModuleLists();
            TextWriter           fileStreamWriter;

            if (configuration == null)
            {
                configuration = new WeldingConfiguration();
            }
            configuration.vector2CurveModules       = null;
            configuration.vector4CurveModules       = null;
            configuration.subModules                = null;
            configuration.modulesToIgnore           = null;
            configuration.averagedModuleAttributes  = null;
            configuration.unchangedModuleAttributes = null;
            configuration.breakingModuleAttributes  = null;

            XmlSerializer configSerializer = new XmlSerializer(typeof(WeldingConfiguration));

            fileStreamWriter = new StreamWriter(_configFile);
            configSerializer.Serialize(fileStreamWriter, configuration);
            fileStreamWriter.Close();


            //ModuleList from the constants or the actual config, depending on length of the array, in case user did add some entries
            moduleList.vector2CurveModules       = WeldingHelpers.convertStringFromToArray(configToSave.vector2CurveModules.Length > Constants.basicVector2CurveModules.Length ? configToSave.vector2CurveModules : Constants.basicVector2CurveModules);
            moduleList.vector4CurveModules       = WeldingHelpers.convertStringFromToArray(configToSave.vector4CurveModules.Length > Constants.basicVector4CurveModules.Length ? configToSave.vector4CurveModules: Constants.basicVector4CurveModules);
            moduleList.subModules                = WeldingHelpers.convertStringFromToArray(configToSave.subModules.Length > Constants.basicSubModules.Length ?configToSave.subModules: Constants.basicSubModules);
            moduleList.modulesToIgnore           = WeldingHelpers.convertStringFromToArray(configToSave.modulesToIgnore.Length > Constants.basicModulesToIgnore.Length ? configToSave.modulesToIgnore : Constants.basicModulesToIgnore);
            moduleList.averagedModuleAttributes  = WeldingHelpers.convertStringFromToArray(configToSave.averagedModuleAttributes.Length > Constants.basicAveragedModuleAttributes.Length ? configToSave.averagedModuleAttributes:Constants.basicAveragedModuleAttributes);
            moduleList.unchangedModuleAttributes = WeldingHelpers.convertStringFromToArray(configToSave.unchangedModuleAttributes.Length > Constants.basicUnchangedModuleAttributes.Length ? configToSave.unchangedModuleAttributes: Constants.basicUnchangedModuleAttributes);
            moduleList.breakingModuleAttributes  = WeldingHelpers.convertStringFromToArray(configToSave.breakingModuleAttributes.Length > Constants.basicBreakingModuleAttributes.Length ? configToSave.breakingModuleAttributes : Constants.basicBreakingModuleAttributes);

            XmlSerializer moduleListSerializer = new XmlSerializer(typeof(ModuleLists));

            fileStreamWriter = new StreamWriter(_moduleListFile);
            moduleListSerializer.Serialize(fileStreamWriter, moduleList);

            fileStreamWriter.WriteLine("");
            foreach (string s in comments)
            {
                fileStreamWriter.WriteLine(s);
            }
            fileStreamWriter.Close();
            Debug.Log(string.Format("{0} Config was saved", Constants.logPrefix));
        }
Beispiel #4
0
        /// <summary>
        /// loads configfile and prepares it with all needed lists
        /// </summary>
        /// <returns></returns>
        public static WeldingConfiguration loadConfig()
        {
            WeldingConfiguration configuration = new WeldingConfiguration();
            ModuleLists          moduleList    = new ModuleLists();
            FileStream           FileStream    = null;

            try {
                XmlSerializer configSerializer = new XmlSerializer(typeof(WeldingConfiguration));
                configSerializer.UnknownNode      += new XmlNodeEventHandler(serializer_UnknownNode);
                configSerializer.UnknownAttribute += new XmlAttributeEventHandler(serializer_UnknownAttribute);
                FileStream    = new FileStream(CONFIG_FULLPATHNAME, FileMode.Open);
                configuration = (WeldingConfiguration)configSerializer.Deserialize(FileStream);

                if (configuration.MainWindowXPosition > (Screen.width - Constants.guiScreenEdgeClearance))
                {
                    configuration.MainWindowXPosition = Screen.width - Constants.guiScreenEdgeClearance;
                }
                if (configuration.MainWindowYPosition > (Screen.height - Constants.guiScreenEdgeClearance))
                {
                    configuration.MainWindowYPosition = Screen.height - Constants.guiScreenEdgeClearance;
                }
            } catch (Exception e) {
                configuration = new WeldingConfiguration();
                Log.warn(String.Format("{0} : {1}", CONFIG_FULLPATHNAME, e.Message));
            } finally {
                if (null != FileStream)
                {
                    FileStream.Close();
                }
                FileStream = null;
            }

            try {
                XmlSerializer moduleListSerializer = new XmlSerializer(typeof(ModuleLists));
                moduleListSerializer.UnknownNode      += new XmlNodeEventHandler(serializer_UnknownNode);
                moduleListSerializer.UnknownAttribute += new XmlAttributeEventHandler(serializer_UnknownAttribute);
                FileStream = new FileStream(MODULELIST_FULLPATHNAME, FileMode.Open);
                moduleList = (ModuleLists)moduleListSerializer.Deserialize(FileStream);

                configuration.vector2CurveModules = moduleList.vector2CurveModules != null?WeldingHelpers.convertFromToStringArray(moduleList.vector2CurveModules) : new string[0];

                configuration.vector4CurveModules = moduleList.vector4CurveModules != null?WeldingHelpers.convertFromToStringArray(moduleList.vector4CurveModules) : new string[0];

                configuration.subModules = moduleList.subModules != null?WeldingHelpers.convertFromToStringArray(moduleList.subModules) : new string[0];

                configuration.modulesToIgnore = moduleList.modulesToIgnore != null?WeldingHelpers.convertFromToStringArray(moduleList.modulesToIgnore) : new string[0];

                configuration.modulesToMultiply = moduleList.modulesToMultiply != null?WeldingHelpers.convertFromToStringArray(moduleList.modulesToMultiply) : new string[0];

                configuration.maximizedModuleAttributes = moduleList.maximizedModuleAttributes != null?WeldingHelpers.convertFromToStringArray(moduleList.maximizedModuleAttributes) : new string[0];

                configuration.minimizedModuleAttributes = moduleList.minimizedModuleAttributes != null?WeldingHelpers.convertFromToStringArray(moduleList.minimizedModuleAttributes) : new string[0];

                configuration.averagedModuleAttributes = moduleList.averagedModuleAttributes != null?WeldingHelpers.convertFromToStringArray(moduleList.averagedModuleAttributes) : new string[0];

                configuration.unchangedModuleAttributes = moduleList.unchangedModuleAttributes != null?WeldingHelpers.convertFromToStringArray(moduleList.unchangedModuleAttributes) : new string[0];

                configuration.breakingModuleAttributes = moduleList.breakingModuleAttributes != null?WeldingHelpers.convertFromToStringArray(moduleList.breakingModuleAttributes) : new string[0];
            } catch (Exception e) {
                configuration.vector2CurveModules       = Constants.basicVector2CurveModules;
                configuration.vector4CurveModules       = Constants.basicVector4CurveModules;
                configuration.subModules                = Constants.basicSubModules;
                configuration.modulesToIgnore           = Constants.basicModulesToIgnore;
                configuration.modulesToMultiply         = Constants.basicModulesToMultiply;
                configuration.maximizedModuleAttributes = Constants.basicMaximizedModuleAttributes;
                configuration.minimizedModuleAttributes = Constants.basicMinimizedModuleAttributes;
                configuration.averagedModuleAttributes  = Constants.basicAveragedModuleAttributes;
                configuration.unchangedModuleAttributes = Constants.basicUnchangedModuleAttributes;
                configuration.breakingModuleAttributes  = Constants.basicBreakingModuleAttributes;
                Log.warn(String.Format("{0} : {1}", CONFIG_FULLPATHNAME, e.Message));
            } finally {
                if (null != FileStream)
                {
                    FileStream.Close();
                }
                FileStream = null;
            }

            Log.dbg("Config was loaded");
            return(configuration);
        }