Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / serialize / SerializeVector3.cs
@lijincheng lijincheng on 3 Jun 2023 1 KB 导出表
  1. using System.Text.Json.Serialization;
  2. using Godot;
  3.  
  4. /// <summary>
  5. /// 可序列化的 Vector3 对象
  6. /// </summary>
  7. public class SerializeVector3
  8. {
  9. public SerializeVector3(float x, float y, float z)
  10. {
  11. X = x;
  12. Y = y;
  13. Z = z;
  14. }
  15.  
  16. public SerializeVector3(Vector3 v)
  17. {
  18. X = v.X;
  19. Y = v.Y;
  20. Z = v.Z;
  21. }
  22.  
  23. public SerializeVector3(Vector3I v)
  24. {
  25. X = v.X;
  26. Y = v.Y;
  27. Z = v.Z;
  28. }
  29. public SerializeVector3(SerializeVector3 v)
  30. {
  31. X = v.X;
  32. Y = v.Y;
  33. }
  34. public SerializeVector3()
  35. {
  36. }
  37. [JsonInclude]
  38. public float X { get; private set; }
  39. [JsonInclude]
  40. public float Y { get; private set; }
  41. [JsonInclude]
  42. public float Z { get; private set; }
  43. /// <summary>
  44. /// 转为 Vector3
  45. /// </summary>
  46. public Vector3 AsVector3()
  47. {
  48. return new Vector3(X, Y, Z);
  49. }
  50.  
  51. /// <summary>
  52. /// 转为 Vector3I
  53. /// </summary>
  54. public Vector3I AsVector3I()
  55. {
  56. return new Vector3I((int)X, (int)Y, (int)Z);
  57. }
  58. }