Trigger.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System.IO;
  2. namespace OpenVIII.Fields
  3. {
  4. /// <summary>
  5. /// Where door will open or event might fire if you crosses line.
  6. /// </summary>
  7. public class Trigger
  8. {
  9. #region Fields
  10. public byte DoorID = 0xFF;
  11. public WalkMesh.Vert[] Verts;
  12. private byte[] unknown;
  13. #endregion Fields
  14. #region Constructors
  15. public Trigger() => Verts = new WalkMesh.Vert[2];
  16. #endregion Constructors
  17. #region Methods
  18. public static Trigger Read(BinaryReader br)
  19. {
  20. var t = new Trigger();
  21. t.Verts[0] = new WalkMesh.Vert
  22. {
  23. x = br.ReadInt16(),
  24. z = br.ReadInt16(),
  25. y = br.ReadInt16(),
  26. };
  27. t.Verts[1] = new WalkMesh.Vert
  28. {
  29. x = br.ReadInt16(),
  30. z = br.ReadInt16(),
  31. y = br.ReadInt16(),
  32. };
  33. t.DoorID = br.ReadByte();
  34. t.unknown = br.ReadBytes(3);
  35. return t;
  36. }
  37. #endregion Methods
  38. }
  39. }