示例#1
0
 /// <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;
     }
 }
示例#2
0
 /// <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;
 }
示例#3
0
 /// <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);
 }