public void ReadHghtObjects(Hght hght) { this.BaseStream.Seek(hght.ContentOffset, SeekOrigin.Begin); while (this.BaseStream.Position < (hght.ContentOffset + hght.Size)) { HghtObject newHghtObject; byte[] mysteryData = this.ReadBytes(HghtObject.MYSTERY_SIZE); uint hghtShape = this.ReadUInt32(); newHghtObject = new HghtObject(hghtShape, this); newHghtObject.MysteryBytes = mysteryData; hght.HghtDatas.Add(newHghtObject); // skip the terminator this.BaseStream.Seek(4, SeekOrigin.Current); } }
public static void PlotHghtObj(HghtObject h, GameObject parent, string labelStart = "") { switch (h.ShapeId) { case 0x06: { PlotAsQuads(h.Coordinates, Color.green, $"{labelStart} {h.ShapeId.ToString("X2")}", parent); break; } case 0x05: { PlotAsPoints(h.Coordinates, Color.green, $"{labelStart} {h.ShapeId.ToString("X2")}", parent); break; } default: break; } }