Пример #1
0
        public TagLong SetLong(string name, long value)
        {
            TagLong tag;

            if (!this.entries.ContainsKey(name))
            {
                this.entries[name] = tag = new TagLong(name, value);
            }
            else
            {
                tag       = this.GetLong(name);
                tag.Value = value;
            }

            return(tag);
        }
Пример #2
0
        public override void Read(EndiannessAwareBinaryReader reader, bool readName)
        {
            base.Read(reader, readName);

            TagType nextType;

            while ((nextType = (TagType)reader.ReadByte()) != TagType.TAG_End)
            {
                Tag nextTag = null;
                switch (nextType)
                {
                case TagType.TAG_Byte:
                    nextTag = new TagByte(reader, true);
                    break;

                case TagType.TAG_Short:
                    nextTag = new TagShort(reader, true);
                    break;

                case TagType.TAG_Int:
                    nextTag = new TagInt(reader, true);
                    break;

                case TagType.TAG_Long:
                    nextTag = new TagLong(reader, true);
                    break;

                case TagType.TAG_Float:
                    nextTag = new TagFloat(reader, true);
                    break;

                case TagType.TAG_Double:
                    nextTag = new TagDouble(reader, true);
                    break;

                case TagType.TAG_Byte_Array:
                    nextTag = new TagByteArray(reader, true);
                    break;

                case TagType.TAG_String:
                    nextTag = new TagString(reader, true);
                    break;

                case TagType.TAG_List:
                    nextTag = new TagList(reader, true);
                    break;

                case TagType.TAG_Compound:
                    nextTag = new TagCompound(reader, true);
                    break;

                case TagType.TAG_Int_Array:
                    nextTag = new TagIntArray(reader, true);
                    break;

                case TagType.TAG_Long_Array:
                    nextTag = new TagLongArray(reader, true);
                    break;
                }

                this.entries.Add(nextTag.Name, nextTag);
            }
        }