Example #1
0
 private static bool TryParseTagName(string tagName, out RdlTagName rdlTagName)
 {
     if (Enum.IsDefined(typeof(RdlTagName), tagName))
     {
         rdlTagName = (RdlTagName)Enum.Parse(typeof(RdlTagName), tagName, true);
         return(true);
     }
     rdlTagName = RdlTagName.EMPTY;
     return(false);
 }
Example #2
0
        public static RdlTag CreateTag(string tagName, string typeName)
        {
            RdlTagName tagNameType = RdlTagName.EMPTY;

            if (TryParseTagName(tagName, out tagNameType))
            {
                switch (tagNameType)
                {
                case RdlTagName.EMPTY:
                    return(RdlTag.Empty);

                case RdlTagName.OBJ:
                    RdlObjectTypeName objTypeName = (RdlObjectTypeName)Enum.Parse(typeof(RdlObjectTypeName), typeName, true);
                    switch (objTypeName)
                    {
                    case RdlObjectTypeName.PROP:
                        return(new RdlProperty());

                    case RdlObjectTypeName.ACTOR:
                        return(new RdlActor());

                    case RdlObjectTypeName.PLAYER:
                        return(new RdlPlayer());

                    case RdlObjectTypeName.PLACE:
                        return(new RdlPlace());

                    case RdlObjectTypeName.RACE:
                        return(new RdlRace());

                    case RdlObjectTypeName.TERRAIN:
                        return(new RdlTerrain());

                    case RdlObjectTypeName.SKILL:
                        return(new RdlSkill());
                    }
                    break;

                case RdlTagName.MSG:
                    RdlMessageTypeName msgType = (RdlMessageTypeName)Enum.Parse(typeof(RdlMessageTypeName), typeName, true);
                    switch (msgType)
                    {
                    case RdlMessageTypeName.ERROR:
                        return(new RdlErrorMessage());

                    case RdlMessageTypeName.SYSTEM:
                        return(new RdlSystemMessage());

                    case RdlMessageTypeName.NEWS:
                        return(new RdlNewsMessage());

                    case RdlMessageTypeName.CHAT:
                        return(new RdlChatMessage());

                    case RdlMessageTypeName.TELL:
                        return(new RdlTellMessage());
                    }
                    break;

                case RdlTagName.CMD:
                    return(new RdlCommand(typeName));

                case RdlTagName.USER:
                    return(new RdlUser());

                case RdlTagName.RESP:
                    return(new RdlCommandResponse(typeName, false, String.Empty));

                case RdlTagName.AUTH:
                    return(new RdlAuthKey(tagName, typeName));
                }
            }
            return(new RdlTag(tagName, typeName));
        }
Example #3
0
 /// <summary>
 /// Initializes a new instance of the RdlTag class.
 /// </summary>
 /// <param name="tagName">The name of the current tag.</param>
 /// <param name="typeName">The name of the tag type.</param>
 public RdlTag(RdlTagName tagName, string typeName)
     : this(tagName.ToString(), typeName)
 {
 }
Example #4
0
 /// <summary>
 /// Initializes a new instance of the RdlTag class.
 /// </summary>
 /// <param name="tagName">The name of the current tag.</param>
 public RdlTag(RdlTagName tagName)
     : this(tagName.ToString())
 {
 }