Exemplo n.º 1
0
        public void MakeDefault()
        {
            if (this.Disposed == true)
            {
                throw new ObjectDisposedException(this.GetType().Name);
            }

            _state = DeclState.Defaulted;

            idE.DeclManager.MediaPrint("DEFAULTED");

            string defaultText = this.DefaultDefinition;

            // a parse error inside a DefaultDefinition() string could
            // cause an infinite loop, but normal default definitions could
            // still reference other default definitions, so we can't
            // just dump out on the first recursion.
            if (++_recursionLevel > 100)
            {
                idConsole.FatalError("make default: bad defaultDefinition(): {0}", defaultText);
                return;
            }

            // always free data before parsing
            ClearData();

            // parse
            Parse(defaultText);

            // we could still eventually hit the recursion if we have enough Error() calls inside Parse...
            _recursionLevel--;
        }
Exemplo n.º 2
0
        public void Purge()
        {
            if (this.Disposed == true)
            {
                throw new ObjectDisposedException(this.GetType().Name);
            }

            // never purge things that were referenced outside level load,
            // like the console and menu graphics
            if (this.ParsedOutsideLevelLoad == true)
            {
                return;
            }

            _referencedThisLevel = false;

            MakeDefault();

            // the next Find() for this will re-parse the real data
            _state = DeclState.Unparsed;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Parses the decl definition.  After calling parse, a decl will be guaranteed usable.
        /// </summary>
        internal void ParseLocal()
        {
            bool generatedDefaultText = false;

            // always free data before parsing
            ClearData();

            idE.DeclManager.MediaPrint("parsing {0} {1}", this.Type.ToString().ToLower(), this.Name);

            // if no text source try to generate default text
            if (_textSource == null)
            {
                generatedDefaultText = GenerateDefaultText();
            }

            // indent for DEFAULTED or media file references
            idE.DeclManager.Indent++;

            // no text immediately causes a MakeDefault()
            if (_textSource == null)
            {
                MakeDefault();
                idE.DeclManager.Indent--;

                return;
            }

            _state = DeclState.Parsed;

            // parse
            Parse(_textSource);

            // free generated text
            if (generatedDefaultText == true)
            {
                _textSource = null;
            }

            idE.DeclManager.Indent--;
        }
Exemplo n.º 4
0
		/// <summary>
		/// Parses the decl definition.  After calling parse, a decl will be guaranteed usable.
		/// </summary>
		internal void ParseLocal()
		{
			bool generatedDefaultText = false;
			
			// always free data before parsing
			ClearData();

			idE.DeclManager.MediaPrint("parsing {0} {1}", this.Type.ToString().ToLower(), this.Name);

			// if no text source try to generate default text
			if(_textSource == null)
			{
				generatedDefaultText = GenerateDefaultText();
			}

			// indent for DEFAULTED or media file references
			idE.DeclManager.Indent++;

			// no text immediately causes a MakeDefault()
			if(_textSource == null)
			{
				MakeDefault();
				idE.DeclManager.Indent--;

				return;
			}

			_state = DeclState.Parsed;

			// parse
			Parse(_textSource);
			
			// free generated text
			if(generatedDefaultText == true)
			{
				_textSource = null;
			}

			idE.DeclManager.Indent--;
		}
Exemplo n.º 5
0
		public void Purge()
		{
			if(this.Disposed == true)
			{
				throw new ObjectDisposedException(this.GetType().Name);
			}

			// never purge things that were referenced outside level load,
			// like the console and menu graphics
			if(this.ParsedOutsideLevelLoad == true)
			{
				return;
			}

			_referencedThisLevel = false;

			MakeDefault();

			// the next Find() for this will re-parse the real data
			_state = DeclState.Unparsed;
		}
Exemplo n.º 6
0
		public void MakeDefault()
		{
			if(this.Disposed == true)
			{
				throw new ObjectDisposedException(this.GetType().Name);
			}

			_state = DeclState.Defaulted;

			idE.DeclManager.MediaPrint("DEFAULTED");

			string defaultText = this.DefaultDefinition;

			// a parse error inside a DefaultDefinition() string could
			// cause an infinite loop, but normal default definitions could
			// still reference other default definitions, so we can't
			// just dump out on the first recursion.
			if(++_recursionLevel > 100)
			{
				idConsole.FatalError("make default: bad defaultDefinition(): {0}", defaultText);
				return;
			}

			// always free data before parsing
			ClearData();

			// parse
			Parse(defaultText);

			// we could still eventually hit the recursion if we have enough Error() calls inside Parse...
			_recursionLevel--;
		}
Exemplo n.º 7
0
		public idDecl()
		{
			_name = "unnamed";
			_type = DeclType.EntityDef;
			_state = DeclState.Unparsed;
		}
Exemplo n.º 8
0
 public idDecl()
 {
     _name  = "unnamed";
     _type  = DeclType.EntityDef;
     _state = DeclState.Unparsed;
 }