コード例 #1
0
ファイル: TagInt.cs プロジェクト: headhunter45/LibNBT
 public override void Write(Stream output)
 {
     output.WriteByte((byte)Type);
     TagString.WriteString(output, Name);
     TagInt.WriteInt(output, Value);
 }
コード例 #2
0
ファイル: TagInt.cs プロジェクト: headhunter45/LibNBT
 public TagInt(Stream input)
 {
     Name  = TagString.ReadString(input);
     Value = ReadInt(input);
 }
コード例 #3
0
ファイル: TagFloat.cs プロジェクト: headhunter45/LibNBT
 public TagFloat(Stream input)
 {
     Name  = TagString.ReadString(input);
     Value = ReadFloat(input);
 }
コード例 #4
0
        internal static List <AbstractTag> ReadTagList(Stream input)
        {
            TagType tagType = (TagType)TagByte.ReadByte(input);
            int     length  = TagInt.ReadInt(input);

            List <AbstractTag> tags = new List <AbstractTag>();

            for (int i = 0; i < length; i++)
            {
                AbstractTag tag = null;

                switch (tagType)
                {
                case TagType.Byte:
                    tag = TagByte.ReadUnnamedTagByte(input);
                    break;

                case TagType.ByteArray:
                    tag = TagByteArray.ReadUnnamedTagByteArray(input);
                    break;

                case TagType.Compound:
                    tag = TagCompound.ReadUnnamedTagCompound(input);
                    break;

                case TagType.Double:
                    tag = TagDouble.ReadUnnamedTagDouble(input);
                    break;

                case TagType.End:
                    tag = new TagEnd();
                    break;

                case TagType.Float:
                    tag = TagFloat.ReadUnnamedTagFloat(input);
                    break;

                case TagType.Int:
                    tag = TagInt.ReadUnnamedTagInt(input);
                    break;

                case TagType.IntArray:
                    tag = TagIntArray.ReadUnnamedTagIntArray(input);
                    break;

                case TagType.List:
                    tag = TagList.ReadUnnamedTagList(input);
                    break;

                case TagType.Long:
                    tag = TagLong.ReadUnnamedTagLong(input);
                    break;

                case TagType.Short:
                    tag = TagShort.ReadUnnamedTagShort(input);
                    break;

                case TagType.String:
                    tag = TagString.ReadUnnamedTagString(input);
                    break;

                default:
                    tag = null;
                    break;
                }

                if (tag != null)
                {
                    tags.Add(tag);
                }
            }

            return(tags);
        }
コード例 #5
0
 public TagByteArray(Stream input)
 {
     Name  = TagString.ReadString(input);
     Value = ReadByteArray(input);
 }
コード例 #6
0
 public TagByte(Stream decompressedInput)
 {
     Name  = TagString.ReadString(decompressedInput);
     Value = ReadByte(decompressedInput);
 }
コード例 #7
0
ファイル: TagLong.cs プロジェクト: headhunter45/LibNBT
 public TagLong(Stream input)
 {
     Name  = TagString.ReadString(input);
     Value = ReadLong(input);
 }
コード例 #8
0
 public TagCompound(Stream input)
 {
     Name        = TagString.ReadString(input);
     _dictionary = ReadDictionary(input);
 }
コード例 #9
0
 public override void Write(Stream output)
 {
     output.WriteByte((byte)Type);
     TagString.WriteString(output, Name);
     TagCompound.WriteCompound(output, this);
 }
コード例 #10
0
ファイル: TagDouble.cs プロジェクト: headhunter45/LibNBT
 public TagDouble(Stream input)
 {
     Name  = TagString.ReadString(input);
     Value = ReadDouble(input);
 }
コード例 #11
0
 public override void Write(System.IO.Stream output)
 {
     output.WriteByte((byte)Type);
     TagString.WriteString(output, Name);
     TagIntArray.WriteIntArray(output, Value);
 }