public TechTreeElement ReadData(RAMBuffer buffer, byte version = NEW_TECH_TREE_VERSION) { // Eigenschaften lesen ElementType = (ItemType)buffer.ReadByte(); ElementObjectID = buffer.ReadShort(); Age = buffer.ReadByte(); RenderMode = (ItemRenderMode)buffer.ReadByte(); // Deaktivierende Kulturen lesen byte disableCivCount = buffer.ReadByte(); DisableCivs = new List <byte>(); for (int i = 0; i < disableCivCount; ++i) { DisableCivs.Add(buffer.ReadByte()); } // Kindelemente lesen short childrenCount = buffer.ReadShort(); Children = new List <TechTreeElement>(); for (int i = 0; i < childrenCount; ++i) { Children.Add(new TechTreeElement().ReadData(buffer, version)); } // Benötigte Elemente lesen short requireCount = buffer.ReadShort(); RequiredElements = new List <Tuple <ItemType, short> >(); for (int i = 0; i < requireCount; ++i) { RequiredElements.Add(new Tuple <ItemType, short>((ItemType)buffer.ReadByte(), buffer.ReadShort())); } // Node-Hintergrund lesen if (version >= 1) { NodeTypeIndex = buffer.ReadInteger(); } else { NodeTypeIndex = (int)ElementType; } return(this); }
public override void ReadData(RAMBuffer buffer) { // Eigenschaften lesen ElementType = (ItemType)buffer.ReadByte(); ElementObjectID = buffer.ReadShort(); Age = buffer.ReadByte(); RenderMode = (ItemRenderMode)buffer.ReadByte(); // Deaktivierende Kulturen lesen byte disableCivCount = buffer.ReadByte(); DisableCivs = new List<byte>(); for(int i = 0; i < disableCivCount; ++i) DisableCivs.Add(buffer.ReadByte()); // Kindelemente lesen short childrenCount = buffer.ReadShort(); Children = new List<TechTreeElement>(); for(int i = 0; i < childrenCount; ++i) Children.Add(new TechTreeElement().ReadDataInline(buffer)); // Benötigte Elemente lesen short requireCount = buffer.ReadShort(); RequiredElements = new List<Tuple<ItemType, short>>(); for(int i = 0; i < requireCount; ++i) RequiredElements.Add(new Tuple<ItemType, short>((ItemType)buffer.ReadByte(), buffer.ReadShort())); }