mirror of
https://github.com/StarBeat/UnityDependencyAnalyzer.git
synced 2026-03-08 05:35:27 +08:00
65 lines
2.3 KiB
C#
65 lines
2.3 KiB
C#
#nullable enable
|
|
|
|
using MemoryPack.Formatters;
|
|
using UnityEngine;
|
|
|
|
namespace MemoryPack
|
|
{
|
|
public static partial class MemoryPackFormatterProvider
|
|
{
|
|
static void UnityRegister<T>()
|
|
where T : unmanaged
|
|
{
|
|
Register(new UnmanagedFormatter<T>());
|
|
Register(new UnmanagedArrayFormatter<T>());
|
|
Register(new ListFormatter<T>());
|
|
Register(new NullableFormatter<T>());
|
|
}
|
|
|
|
static partial void RegisterInitialFormatters()
|
|
{
|
|
// struct
|
|
UnityRegister<UnityEngine.Vector2>();
|
|
UnityRegister<UnityEngine.Vector3>();
|
|
UnityRegister<UnityEngine.Vector4>();
|
|
UnityRegister<UnityEngine.Quaternion>();
|
|
UnityRegister<UnityEngine.Color>();
|
|
UnityRegister<UnityEngine.Bounds>();
|
|
UnityRegister<UnityEngine.Rect>();
|
|
UnityRegister<UnityEngine.Keyframe>();
|
|
Register(new UnmanagedFormatter<UnityEngine.WrapMode>());
|
|
UnityRegister<UnityEngine.Matrix4x4>();
|
|
UnityRegister<UnityEngine.GradientColorKey>();
|
|
UnityRegister<UnityEngine.GradientAlphaKey>();
|
|
Register(new UnmanagedFormatter<UnityEngine.GradientMode>());
|
|
UnityRegister<UnityEngine.Color32>();
|
|
UnityRegister<UnityEngine.LayerMask>();
|
|
UnityRegister<UnityEngine.Vector2Int>();
|
|
UnityRegister<UnityEngine.Vector3Int>();
|
|
UnityRegister<UnityEngine.RangeInt>();
|
|
UnityRegister<UnityEngine.RectInt>();
|
|
UnityRegister<UnityEngine.BoundsInt>();
|
|
|
|
// class
|
|
if (!IsRegistered<AnimationCurve>())
|
|
{
|
|
Register(new AnimationCurveFormatter());
|
|
Register(new ArrayFormatter<AnimationCurve>());
|
|
Register(new ListFormatter<AnimationCurve>());
|
|
}
|
|
if (!IsRegistered<Gradient>())
|
|
{
|
|
Register(new GradientFormatter());
|
|
Register(new ArrayFormatter<Gradient>());
|
|
Register(new ListFormatter<Gradient>());
|
|
}
|
|
if (!IsRegistered<RectOffset>())
|
|
{
|
|
Register(new RectOffsetFormatter());
|
|
Register(new ArrayFormatter<RectOffset>());
|
|
Register(new ListFormatter<RectOffset>());
|
|
}
|
|
}
|
|
}
|
|
}
|