Files
plugin-library/Assets/02.InformationSave/RunTime/Extension/VectorExtension.cs
2025-03-26 09:34:52 +08:00

67 lines
1.4 KiB
C#

using System;
using UnityEngine;
namespace Stary.Evo.InformationSave
{
public static class VectorExtension {
public static Vector3Data GetVector3Data(this Vector3 vector)
{
return new Vector3Data(vector);
}
public static Vector3 SetVector3Data(this Vector3Data vector3Data)
{
return new Vector3(vector3Data.x, vector3Data.y, vector3Data.z);
}
public static Vector2Data GetVector2Data( this Vector2 vector)
{
return new Vector2Data(vector);
}
public static Vector2 SetVector2Data(this Vector2Data vector3Data)
{
return new Vector2(vector3Data.x, vector3Data.y);
}
}
[Serializable]
public class Vector3Data
{
public float x;
public float y;
public float z;
public Vector3Data()
{
}
public Vector3Data(Vector3 vector)
{
x = vector.x;
y = vector.y;
z = vector.z;
}
public Vector3Data(float x, float y, float z)
{
this.x = x;
this.y = y;
this.z = z;
}
}
[Serializable]
public class Vector2Data
{
public float x;
public float y;
public Vector2Data(Vector2 vector)
{
x = vector.x;
y = vector.y;
}
}
}