public void Deserialize(Stream input) { this.Unknown0 = ReadString(input); this.Flags = input.ReadValueU32(); if ((this.Flags & 8) != 0) { this.DepthShader = ReadString(input); this.HShader = ReadString(input); } if ((this.Flags & 16) != 0) { this.Unknown3 = ReadString(input); } if ((this.Flags & 32) != 0) { this.CShader = ReadString(input); } this.VertexShader = ReadString(input); this.PixelShader = ReadString(input); this.Unknown6.Clear(); { var count = input.ReadValueU32(); for (uint i = 0; i < count; i++) { var unknown5 = new Subtype4(); unknown5.Deserialize(input); this.Unknown6.Add(unknown5); } } this.Unknown7.Clear(); { var count = input.ReadValueU32(); for (uint i = 0; i < count; i++) { var unknown6 = new Subtype5(); unknown6.Deserialize(input); this.Unknown7.Add(unknown6); } } this.Unknown8.Clear(); { var count = input.ReadValueU32(); for (uint i = 0; i < count; i++) { var unknown7 = new Subtype6(); unknown7.Deserialize(input); this.Unknown8.Add(unknown7); } } this.Unknown9.Clear(); { var count = input.ReadValueU32(); for (uint i = 0; i < count; i++) { var unknown8 = new Subtype7(); unknown8.Deserialize(input); this.Unknown9.Add(unknown8); } } }