public void ReadFromFile(BinaryReader reader) { uint count1 = reader.ReadUInt32(); uint count2 = reader.ReadUInt32(); uint unknown = reader.ReadUInt32(); DecalPattern = new DecalPatternItem[count1]; for (int i = 0; i < DecalPattern.Length; i++) { DecalPatternItem Item = new DecalPatternItem(); Item.ID = reader.ReadInt64(); Item.UV_min_x = reader.ReadSingle(); Item.UV_min_y = reader.ReadSingle(); Item.UV_max_x = reader.ReadSingle(); Item.UV_max_y = reader.ReadSingle(); Item.MaterialGUID_Part0 = reader.ReadUInt32(); Item.MaterialGUID_Part1 = reader.ReadUInt32(); Item.MinRadius = reader.ReadSingle(); Item.MaxRadius = reader.ReadSingle(); Item.Flags = (EDecalFlags)reader.ReadUInt32(); Item.Impact = reader.ReadSingle(); Item.TexCols = reader.ReadInt32(); Item.TexRows = reader.ReadInt32(); Item.TexStart = reader.ReadInt32(); Item.TexEnd = reader.ReadInt32(); Item.Group = reader.ReadUInt32(); Item.MultiDecal = reader.ReadInt32(); Item.BlendTime = reader.ReadSingle(); Item.FootStep = reader.ReadInt32(); Item.Notes = StringHelpers.ReadStringBuffer(reader, 32); DecalPattern[i] = Item; } }
public void WriteToFile(XBinWriter writer) { writer.Write(DecalPattern.Length); writer.Write(DecalPattern.Length); writer.Write(0); for (int i = 0; i < DecalPattern.Length; i++) { DecalPatternItem Item = DecalPattern[i]; writer.Write(Item.ID); writer.Write(Item.UV_min_x); writer.Write(Item.UV_min_y); writer.Write(Item.UV_max_x); writer.Write(Item.UV_max_y); writer.Write(Item.MaterialGUID_Part0); writer.Write(Item.MaterialGUID_Part1); writer.Write(Item.MinRadius); writer.Write(Item.MaxRadius); writer.Write((uint)Item.Flags); writer.Write(Item.Impact); writer.Write(Item.TexCols); writer.Write(Item.TexRows); writer.Write(Item.TexStart); writer.Write(Item.TexEnd); writer.Write(Item.Group); writer.Write(Item.MultiDecal); writer.Write(Item.BlendTime); writer.Write(Item.FootStep); StringHelpers.WriteStringBuffer(writer, 32, Item.Notes); } }
public void SetFromTreeNodes(TreeNode Root) { DecalPattern = new DecalPatternItem[Root.Nodes.Count]; for (int i = 0; i < DecalPattern.Length; i++) { TreeNode ChildNode = Root.Nodes[i]; DecalPatternItem Entry = (DecalPatternItem)ChildNode.Tag; DecalPattern[i] = Entry; } }