/// <summary>Prepares the object meta.</summary> /// <param name="tags">The tag parser.</param> public void Ready(TagHandler tags) { if (Name == null || !tags.Types.RegisteredTypes.TryGetValue(Name, out ActualType)) { tags.Engine.Context.BadOutput("Cannot register object meta for type " + Name + " because that type does not exist."); } if (SubTypeName == null || !tags.Types.RegisteredTypes.TryGetValue(SubTypeName, out ActualSubType)) { ActualSubType = null; } }
/// <summary>Constructs the tag information container.</summary> /// <param name="_system">The command system to use.</param> /// <param name="_vars">The variable argument pieces.</param> /// <param name="_bits">The tag bits.</param> /// <param name="_basecolor">The default color to use for output.</param> /// <param name="_mode">What debug mode to use.</param> /// <param name="_error">What to invoke if there is an error.</param> /// <param name="fallback">What to fall back to if the tag returns null.</param> /// <param name="_runnable">The relevant command runnable, if any.</param> public TagData(TagHandler _system, Argument[] _vars, TagBit[] _bits, string _basecolor, DebugMode _mode, Action <string> _error, Argument fallback, CompiledCommandRunnable _runnable) { TagSystem = _system; BaseColor = _basecolor ?? TextStyle.Simple; DBMode = _mode; ErrorHandler = _error; Fallback = fallback; Variables = _vars; Bits = _bits; Runnable = _runnable; ErrorAction = ErrorNoReturn; }
/// <summary>Prepares the tag meta.</summary> /// <param name="tags">The tag parser.</param> public void Ready(TagHandler tags) { ActualType = TagType == null ? null : tags.Types.RegisteredTypes[TagType]; if (ReturnType == null || !tags.Types.RegisteredTypes.TryGetValue(ReturnType, out TagType returnedTagType)) { ReturnTypeResult = default; } else { ReturnTypeResult = new TagReturnType(returnedTagType, false); } ModifierType = new TagReturnType(Modifier == null ? null : tags.Types.RegisteredTypes[Modifier], false); }