- using System.Text.Json.Serialization;
- using Godot;
-
- /// <summary>
- /// 可序列化的 Vector3 对象
- /// </summary>
- public class SerializeVector3
- {
- public SerializeVector3(float x, float y, float z)
- {
- X = x;
- Y = y;
- Z = z;
- }
-
- public SerializeVector3(Vector3 v)
- {
- X = v.X;
- Y = v.Y;
- Z = v.Z;
- }
-
- public SerializeVector3(Vector3I v)
- {
- X = v.X;
- Y = v.Y;
- Z = v.Z;
- }
-
- public SerializeVector3(SerializeVector3 v)
- {
- X = v.X;
- Y = v.Y;
- }
-
- public SerializeVector3()
- {
- }
-
- [JsonInclude]
- public float X { get; private set; }
- [JsonInclude]
- public float Y { get; private set; }
- [JsonInclude]
- public float Z { get; private set; }
-
- /// <summary>
- /// 转为 Vector3
- /// </summary>
- public Vector3 AsVector3()
- {
- return new Vector3(X, Y, Z);
- }
-
- /// <summary>
- /// 转为 Vector3I
- /// </summary>
- public Vector3I AsVector3I()
- {
- return new Vector3I((int)X, (int)Y, (int)Z);
- }
- }