示例#1
0
        // Construct from IDictionary
        internal MapLumpInfo(string name, Configuration cfg)
        {
            // Apply settings
            this.Name        = name;
            this.Script      = null;
            this.Required    = cfg.ReadSetting("maplumpnames." + name + ".required", false);
            this.BlindCopy   = cfg.ReadSetting("maplumpnames." + name + ".blindcopy", false);
            this.NodeBuild   = cfg.ReadSetting("maplumpnames." + name + ".nodebuild", false);
            this.AllowEmpty  = cfg.ReadSetting("maplumpnames." + name + ".allowempty", false);
            this.ScriptBuild = cfg.ReadSetting("maplumpnames." + name + ".scriptbuild", false);                                //mxd
            this.Forbidden   = cfg.ReadSetting("maplumpnames." + name + ".forbidden", false);                                  //mxd
            string scriptconfig = (this.ScriptBuild ? string.Empty : cfg.ReadSetting("maplumpnames." + name + ".script", "")); //mxd. Setting Script when "scriptbuild" is true can result in unexpected behaviour...

            // Find script configuration
            if (scriptconfig.Length > 0)
            {
                if (General.ScriptConfigs.ContainsKey(scriptconfig.ToLowerInvariant()))
                {
                    this.Script = General.ScriptConfigs[scriptconfig.ToLowerInvariant()];
                }
                else
                {
                    General.ErrorLogger.Add(ErrorType.Warning, "Map lump \"" + name + "\" in the current game configuration specifies an unknown script configuration \"" + scriptconfig + "\". Using plain text instead.");
                    this.Script = new ScriptConfiguration();
                }
            }
        }
示例#2
0
        // Construct from IDictionary
        internal MapLumpInfo(string name, Configuration cfg)
        {
            string scriptconfig = "";

            // Apply settings
            this.name       = name;
            this.script     = null;
            this.required   = cfg.ReadSetting("maplumpnames." + name + ".required", false);
            this.blindcopy  = cfg.ReadSetting("maplumpnames." + name + ".blindcopy", false);
            this.nodebuild  = cfg.ReadSetting("maplumpnames." + name + ".nodebuild", false);
            this.allowempty = cfg.ReadSetting("maplumpnames." + name + ".allowempty", false);
            scriptconfig    = cfg.ReadSetting("maplumpnames." + name + ".script", "");

            // Find script configuration
            if (scriptconfig.Length > 0)
            {
                if (General.ScriptConfigs.ContainsKey(scriptconfig.ToLowerInvariant()))
                {
                    this.script = General.ScriptConfigs[scriptconfig.ToLowerInvariant()];
                }
                else
                {
                    General.ErrorLogger.Add(ErrorType.Warning, "Map lump '" + name + "' in the current game configuration specifies an unknown script configuration '" + scriptconfig + "'. Using plain text instead.");
                    this.script = new ScriptConfiguration();
                }
            }
        }