Exemplo n.º 1
0
        public static void TA_ExposeData(string key, ref int value, TA_Expose_Mode mode = TA_Expose_Mode.Load)
        {
            if (mode == TA_Expose_Mode.Save)
            {
                LogOutput.WriteLogMessage(Errorlevel.Debug, "Adding " + key + " : " + value + "to save dictionary");
                if (Configvalues.ContainsKey(key))
                {
                    Configvalues.Remove(key);
                }
                Configvalues.Add(key, value);
            }
            else if (mode == TA_Expose_Mode.Load)
            {
                if (Configvalues.TryGetValue(key, out int tempval))
                {
                    value = tempval;
                }
                else if (Configvalues.TryGetValue(Enum.GetNames(typeof(TA_Expose_Name)).Contains(key) ? ((int)Enum.Parse(typeof(TA_Expose_Name), key)).ToString() : key, out tempval)) // TODO remove backwards compatability fallback
                {
                    value = tempval;
                    LogOutput.WriteLogMessage(Errorlevel.Information, "Value " + key + " was loaded via fallback. (A new save system is in place. But this message shouldnt appear anymore after saving)");
                }
                else
                {
                    LogOutput.WriteLogMessage(Errorlevel.Information, "Value " + key + " could not be loaded. This usually happens when updating to the new config-system. Try saving and reloading the map.");
                }

                LogOutput.WriteLogMessage(Errorlevel.Debug, "Successfully loaded " + key + " : " + value + "from save dictionary.");
            }
        }
Exemplo n.º 2
0
        public static void TA_ExposeData(string key, ref int value, TA_Expose_Mode mode = TA_Expose_Mode.Load)
        {
            bool accessWasValid = false;

            if (mode == TA_Expose_Mode.Save)
            {
                LogOutput.WriteLogMessage(Errorlevel.Debug, "Adding " + key + " : " + value + "to save dictionary");
                if (Configvalues.ContainsKey(GetInt(key)))
                {
                    Configvalues.Remove(GetInt(key));
                }
                Configvalues.Add(GetInt(key), value);
            }
            else if (mode == TA_Expose_Mode.Load)
            {
                accessWasValid = Configvalues.TryGetValue(GetInt(key), out int tempval);
                if (accessWasValid)
                {
                    value = tempval;
                }
                else
                {
                    //TA_Expose_Numbers.Add(getInt(key),)
                    LogOutput.WriteLogMessage(Errorlevel.Information, "Value " + GetInt(key) + " could not be loaded. This usually happens when updating to the new config-system. Try saving and reloading the map.");
                }

                LogOutput.WriteLogMessage(Errorlevel.Debug, "Loaded " + key + " : " + value + "from save dictionary. Success: " + accessWasValid);
            }
        }
        public static void ExposeData(TA_Expose_Mode mode)
        {
            MapCompSaveHandler.TA_ExposeData("Conditionvalue_A", ref Conditionvalue_A, mode);
            MapCompSaveHandler.TA_ExposeData("Conditionvalue_B", ref Conditionvalue_B, mode);
            MapCompSaveHandler.TA_ExposeData("Conditionvalue_B_s", ref Conditionvalue_B_s, mode);
            MapCompSaveHandler.TA_ExposeData("baseTechlvlCfg", ref baseTechlvlCfg, mode);
            MapCompSaveHandler.TA_ExposeData("configCheckboxNeedTechColonists", ref configCheckboxNeedTechColonists, mode);
            MapCompSaveHandler.TA_ExposeData("configCheckboxDisableCostMultiplicatorCap", ref configCheckboxDisableCostMultiplicatorCap, mode);

            if (!MapCompSaveHandler.IsValueSaved("Conditionvalue_A"))
            {
                MapCompSaveHandler.TA_ExposeData("Conditionvalue_A", ref Conditionvalue_A, TA_Expose_Mode.Save);
                LogOutput.WriteLogMessage(Errorlevel.Information, "Value 'Conditionvalue_A' was added to the save file. This message shouldn't appear more than once per value and world.");
            }
            if (!MapCompSaveHandler.IsValueSaved("Conditionvalue_B"))
            {
                MapCompSaveHandler.TA_ExposeData("Conditionvalue_B", ref Conditionvalue_B, TA_Expose_Mode.Save);
                LogOutput.WriteLogMessage(Errorlevel.Information, "Value 'Conditionvalue_B' was added to the save file. This message shouldn't appear more than once per value and world.");
            }
            if (!MapCompSaveHandler.IsValueSaved("Conditionvalue_B_s"))
            {
                MapCompSaveHandler.TA_ExposeData("Conditionvalue_B_s", ref Conditionvalue_B_s, TA_Expose_Mode.Save);
                LogOutput.WriteLogMessage(Errorlevel.Information, "Value 'Conditionvalue_B_s' was added to the save file. This message shouldn't appear more than once per value and world.");
            }
            if (!MapCompSaveHandler.IsValueSaved("baseTechlvlCfg"))
            {
                MapCompSaveHandler.TA_ExposeData("baseTechlvlCfg", ref baseTechlvlCfg, TA_Expose_Mode.Save);
                LogOutput.WriteLogMessage(Errorlevel.Information, "Value 'baseTechlvlCfg' was added to the save file. This message shouldn't appear more than once per value and world.");
            }
            if (!MapCompSaveHandler.IsValueSaved("configCheckboxNeedTechColonists"))
            {
                MapCompSaveHandler.TA_ExposeData("configCheckboxNeedTechColonists", ref configCheckboxNeedTechColonists, TA_Expose_Mode.Save);
                LogOutput.WriteLogMessage(Errorlevel.Information, "Value 'configCheckboxNeedTechColonists' was added to the save file. This message shouldn't appear more than once per value and world.");
            }
            if (!MapCompSaveHandler.IsValueSaved("configCheckboxDisableCostMultiplicatorCap"))
            {
                MapCompSaveHandler.TA_ExposeData("configCheckboxDisableCostMultiplicatorCap", ref configCheckboxNeedTechColonists, TA_Expose_Mode.Save);
                LogOutput.WriteLogMessage(Errorlevel.Information, "Value 'configCheckboxDisableCostMultiplicatorCap' was added to the save file. This message shouldn't appear more than once per value and world.");
            }

            last_Conditionvalue_A   = Conditionvalue_A;
            last_Conditionvalue_B   = Conditionvalue_B;
            last_Conditionvalue_B_s = Conditionvalue_B_s;
            last_baseTechlvlCfg     = baseTechlvlCfg;
            last_configCheckboxNeedTechColonists           = configCheckboxNeedTechColonists;
            last_configCheckboxDisableCostMultiplicatorCap = configCheckboxDisableCostMultiplicatorCap;
        }
        public void TA_ExposeData(ConfigTabValueSavedAttribute attrib, ref int value, TA_Expose_Mode mode = TA_Expose_Mode.Load)
        {
            string saveName     = attrib.SaveName;
            object defaultValue = attrib.DefaultValue;

            if (mode == TA_Expose_Mode.Save)
            {
                LogOutput.WriteLogMessage(Errorlevel.Debug, "Adding " + saveName + " : " + value + " to save dictionary");
                if (this.ConfigValues.ContainsKey(saveName))
                {
                    this.ConfigValues.Remove(saveName);
                }
                this.ConfigValues.Add(saveName, value);
            }
            else if (mode == TA_Expose_Mode.Load)
            {
                if (this.ConfigValues.TryGetValue(saveName, out int tempval))
                {
                    value = tempval;
                }
                else if (this.ConfigValues.TryGetValue(Enum.GetNames(typeof(TA_Expose_Name)).Contains(saveName) ? ((int)Enum.Parse(typeof(TA_Expose_Name), saveName)).ToString() : saveName, out tempval)) // TODO remove backwards compatability fallback
                {
                    value = tempval;
                    LogOutput.WriteLogMessage(Errorlevel.Information, "Value " + saveName + " was loaded via fallback. (A new save system is in place. But this message shouldnt appear anymore after saving)");
                }
                else
                {
                    LogOutput.WriteLogMessage(Errorlevel.Information, "Value " + saveName + " is not present. Using default value.");

                    if (defaultValue == null)
                    {
                        LogOutput.WriteLogMessage(Errorlevel.Error, $"Default value of {saveName} is null!");
                    }
                    else
                    {
                        value = (int)defaultValue;
                    }
                }

                LogOutput.WriteLogMessage(Errorlevel.Debug, "Successfully loaded " + saveName + " : " + value + " from save dictionary.");
            }
        }