Coordinate.cs 776 B

123456789101112131415161718192021222324252627282930313233343536
  1. using Microsoft.Xna.Framework;
  2. using System.IO;
  3. namespace OpenVIII.Battle
  4. {
  5. public struct Coordinate
  6. {
  7. #region Fields
  8. public short X;
  9. public short Y;
  10. public short Z;
  11. #endregion Fields
  12. #region Methods
  13. public static implicit operator Vector3(Coordinate @in) => @in.GetVector();
  14. public static Coordinate Read(BinaryReader br) => new Coordinate()
  15. {
  16. X = br.ReadInt16(),
  17. Y = br.ReadInt16(),
  18. Z = br.ReadInt16()
  19. };
  20. public Vector3 GetVector() => new Vector3(
  21. X,
  22. Y,
  23. -Z) / Memory.EnemyCoordinateScale; /// 100f;
  24. public override string ToString() => $"{X} {Y} {Z}";
  25. #endregion Methods
  26. }
  27. }