Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / serialize / SerializeVector2.cs
@小李xl 小李xl on 6 Jan 2024 1 KB 读取TileSet数据, 开发中
  1.  
  2. using System.Text.Json.Serialization;
  3. using Godot;
  4.  
  5. /// <summary>
  6. /// 可序列化的 Vector2 对象
  7. /// </summary>
  8. public class SerializeVector2 : IClone<SerializeVector2>
  9. {
  10. public SerializeVector2(float x, float y)
  11. {
  12. X = x;
  13. Y = y;
  14. }
  15.  
  16. public SerializeVector2(Vector2 v)
  17. {
  18. X = v.X;
  19. Y = v.Y;
  20. }
  21.  
  22. public SerializeVector2(Vector2I v)
  23. {
  24. X = v.X;
  25. Y = v.Y;
  26. }
  27. public SerializeVector2(SerializeVector2 v)
  28. {
  29. X = v.X;
  30. Y = v.Y;
  31. }
  32.  
  33. public SerializeVector2()
  34. {
  35. }
  36.  
  37. [JsonInclude]
  38. public float X { get; private set; }
  39. [JsonInclude]
  40. public float Y { get; private set; }
  41.  
  42. /// <summary>
  43. /// 转为 Vector2
  44. /// </summary>
  45. public Vector2 AsVector2()
  46. {
  47. return new Vector2(X, Y);
  48. }
  49.  
  50. /// <summary>
  51. /// 转为 Vector2I
  52. /// </summary>
  53. public Vector2I AsVector2I()
  54. {
  55. return new Vector2I((int)X, (int)Y);
  56. }
  57.  
  58.  
  59. public SerializeVector2 Clone()
  60. {
  61. return new SerializeVector2(this);
  62. }
  63. }