示例#1
0
 /// <summary>
 /// Initializes a new instance of the OBJ|ACTOR tag.
 /// </summary>
 /// <param name="typeName">The type of the actor tag.</param>
 /// <param name="id">The ID of the object that this tag represents.</param>
 /// <param name="ownerId">The ID of the owner of the current actor.</param>
 /// <param name="name">The name of the actor.</param>
 /// <param name="description">The description of the actor.</param>
 protected RdlActor(RdlObjectTypeName typeName, int id, int ownerId, string name, string description)
     : base(typeName, id)
 {
     _ownerIdIndex = this.GetNextIndex();
     _nameIndex    = this.GetNextIndex();
     _descIndex    = this.GetNextIndex();
     this.Args.Insert(_ownerIdIndex, ownerId);
     this.Args.Insert(_nameIndex, name);
     this.Args.Insert(_descIndex, description);
 }
示例#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));
        }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the OBJ tag.
 /// </summary>
 /// <param name="typeName">The object tag type.</param>
 /// <param name="id">The ID of the object represented by this tag.</param>
 protected RdlObject(RdlObjectTypeName typeName, int id)
     : this(typeName.ToString(), id)
 {
 }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the OBJ tag.
 /// </summary>
 /// <param name="typeName">The object tag type.</param>
 protected RdlObject(RdlObjectTypeName typeName)
     : this(typeName, 0)
 {
 }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the OBJ|ACTOR tag.
 /// </summary>
 /// <param name="typeName">The type of the actor tag.</param>
 /// <param name="id">The ID of the object that this tag represents.</param>
 /// <param name="ownerId">The ID of the owner of the current actor.</param>
 /// <param name="name">The name of the actor.</param>
 protected RdlActor(RdlObjectTypeName typeName, int id, int ownerId, string name)
     : this(typeName, id, ownerId, name, String.Empty)
 {
 }