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); }
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); } }