Merge branch 'main' into pgd/20250311_merge
This commit is contained in:
34
Assets/Scripts/CustomMessagePackResolver.cs
Normal file
34
Assets/Scripts/CustomMessagePackResolver.cs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using MessagePack;
|
||||||
|
using MessagePack.Formatters;
|
||||||
|
using MessagePack.Resolvers;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
public class CustomMessagePackResolver : IFormatterResolver
|
||||||
|
{
|
||||||
|
public static readonly IFormatterResolver Instance = new CustomMessagePackResolver();
|
||||||
|
|
||||||
|
private static readonly Dictionary<Type, object> formatters = new Dictionary<Type, object>
|
||||||
|
{
|
||||||
|
{ typeof(XED.Asset.MaterialPropertyData), new MessagePack.Formatters.XED.Asset.MaterialPropertyDataFormatter() },
|
||||||
|
{ typeof(XED.Asset.ModelData), new MessagePack.Formatters.XED.Asset.ModelDataFormatter() },
|
||||||
|
{ typeof(XED.Asset.SaveData), new MessagePack.Formatters.XED.Asset.SaveDataFormatter() },
|
||||||
|
{ typeof(XED.Asset.SavedModelData), new MessagePack.Formatters.XED.Asset.SavedModelDataFormatter() },
|
||||||
|
{ typeof(XED.Asset.SerializableMesh), new MessagePack.Formatters.XED.Asset.SerializableMeshFormatter() },
|
||||||
|
{ typeof(XED.Asset.SerializableQuaternion), new MessagePack.Formatters.XED.Asset.SerializableQuaternionFormatter() },
|
||||||
|
{ typeof(XED.Asset.SerializableVector2), new MessagePack.Formatters.XED.Asset.SerializableVector2Formatter() },
|
||||||
|
{ typeof(XED.Asset.SerializableVector3), new MessagePack.Formatters.XED.Asset.SerializableVector3Formatter() },
|
||||||
|
{ typeof(XED.Asset.SubmeshData), new MessagePack.Formatters.XED.Asset.SubmeshDataFormatter() },
|
||||||
|
{ typeof(XED.Asset.TextureData), new MessagePack.Formatters.XED.Asset.TextureDataFormatter() },
|
||||||
|
{ typeof(XED.Asset.TransformData), new MessagePack.Formatters.XED.Asset.TransformDataFormatter() },
|
||||||
|
};
|
||||||
|
|
||||||
|
public IMessagePackFormatter<T> GetFormatter<T>()
|
||||||
|
{
|
||||||
|
if (formatters.TryGetValue(typeof(T), out var formatter))
|
||||||
|
{
|
||||||
|
return (IMessagePackFormatter<T>)formatter;
|
||||||
|
}
|
||||||
|
return StandardResolver.Instance.GetFormatter<T>();
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/Scripts/CustomMessagePackResolver.cs.meta
Normal file
2
Assets/Scripts/CustomMessagePackResolver.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 47d35b011d941df44a78fe2904fcc881
|
||||||
758
Assets/Scripts/GeneratedMessagePackResolver.cs
Normal file
758
Assets/Scripts/GeneratedMessagePackResolver.cs
Normal file
@@ -0,0 +1,758 @@
|
|||||||
|
// <auto-generated>
|
||||||
|
// THIS (.cs) FILE IS GENERATED BY MPC(MessagePack-CSharp). DO NOT CHANGE IT.
|
||||||
|
// </auto-generated>
|
||||||
|
|
||||||
|
#pragma warning disable 618
|
||||||
|
#pragma warning disable 612
|
||||||
|
#pragma warning disable 414
|
||||||
|
#pragma warning disable 168
|
||||||
|
#pragma warning disable CS1591 // document public APIs
|
||||||
|
|
||||||
|
#pragma warning disable SA1312 // Variable names should begin with lower-case letter
|
||||||
|
#pragma warning disable SA1649 // File name should match first type name
|
||||||
|
|
||||||
|
namespace MessagePack.Resolvers
|
||||||
|
{
|
||||||
|
public class GeneratedResolver : global::MessagePack.IFormatterResolver
|
||||||
|
{
|
||||||
|
public static readonly global::MessagePack.IFormatterResolver Instance = new GeneratedResolver();
|
||||||
|
|
||||||
|
private GeneratedResolver()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::MessagePack.Formatters.IMessagePackFormatter<T> GetFormatter<T>()
|
||||||
|
{
|
||||||
|
return FormatterCache<T>.Formatter;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class FormatterCache<T>
|
||||||
|
{
|
||||||
|
internal static readonly global::MessagePack.Formatters.IMessagePackFormatter<T> Formatter;
|
||||||
|
|
||||||
|
static FormatterCache()
|
||||||
|
{
|
||||||
|
var f = GeneratedResolverGetFormatterHelper.GetFormatter(typeof(T));
|
||||||
|
if (f != null)
|
||||||
|
{
|
||||||
|
Formatter = (global::MessagePack.Formatters.IMessagePackFormatter<T>)f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static class GeneratedResolverGetFormatterHelper
|
||||||
|
{
|
||||||
|
private static readonly global::System.Collections.Generic.Dictionary<global::System.Type, int> lookup;
|
||||||
|
|
||||||
|
static GeneratedResolverGetFormatterHelper()
|
||||||
|
{
|
||||||
|
lookup = new global::System.Collections.Generic.Dictionary<global::System.Type, int>(18)
|
||||||
|
{
|
||||||
|
{ typeof(global::XED.Asset.MaterialPropertyData[]), 0 },
|
||||||
|
{ typeof(global::XED.Asset.ModelData[]), 1 },
|
||||||
|
{ typeof(global::XED.Asset.SavedModelData[]), 2 },
|
||||||
|
{ typeof(global::XED.Asset.SerializableVector2[]), 3 },
|
||||||
|
{ typeof(global::XED.Asset.SerializableVector3[]), 4 },
|
||||||
|
{ typeof(global::XED.Asset.SubmeshData[]), 5 },
|
||||||
|
{ typeof(global::XED.Asset.TextureData[]), 6 },
|
||||||
|
{ typeof(global::XED.Asset.MaterialPropertyData), 7 },
|
||||||
|
{ typeof(global::XED.Asset.ModelData), 8 },
|
||||||
|
{ typeof(global::XED.Asset.SaveData), 9 },
|
||||||
|
{ typeof(global::XED.Asset.SavedModelData), 10 },
|
||||||
|
{ typeof(global::XED.Asset.SerializableMesh), 11 },
|
||||||
|
{ typeof(global::XED.Asset.SerializableQuaternion), 12 },
|
||||||
|
{ typeof(global::XED.Asset.SerializableVector2), 13 },
|
||||||
|
{ typeof(global::XED.Asset.SerializableVector3), 14 },
|
||||||
|
{ typeof(global::XED.Asset.SubmeshData), 15 },
|
||||||
|
{ typeof(global::XED.Asset.TextureData), 16 },
|
||||||
|
{ typeof(global::XED.Asset.TransformData), 17 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static object GetFormatter(global::System.Type t)
|
||||||
|
{
|
||||||
|
int key;
|
||||||
|
if (!lookup.TryGetValue(t, out key))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (key)
|
||||||
|
{
|
||||||
|
case 0: return new global::MessagePack.Formatters.ArrayFormatter<global::XED.Asset.MaterialPropertyData>();
|
||||||
|
case 1: return new global::MessagePack.Formatters.ArrayFormatter<global::XED.Asset.ModelData>();
|
||||||
|
case 2: return new global::MessagePack.Formatters.ArrayFormatter<global::XED.Asset.SavedModelData>();
|
||||||
|
case 3: return new global::MessagePack.Formatters.ArrayFormatter<global::XED.Asset.SerializableVector2>();
|
||||||
|
case 4: return new global::MessagePack.Formatters.ArrayFormatter<global::XED.Asset.SerializableVector3>();
|
||||||
|
case 5: return new global::MessagePack.Formatters.ArrayFormatter<global::XED.Asset.SubmeshData>();
|
||||||
|
case 6: return new global::MessagePack.Formatters.ArrayFormatter<global::XED.Asset.TextureData>();
|
||||||
|
case 7: return new MessagePack.Formatters.XED.Asset.MaterialPropertyDataFormatter();
|
||||||
|
case 8: return new MessagePack.Formatters.XED.Asset.ModelDataFormatter();
|
||||||
|
case 9: return new MessagePack.Formatters.XED.Asset.SaveDataFormatter();
|
||||||
|
case 10: return new MessagePack.Formatters.XED.Asset.SavedModelDataFormatter();
|
||||||
|
case 11: return new MessagePack.Formatters.XED.Asset.SerializableMeshFormatter();
|
||||||
|
case 12: return new MessagePack.Formatters.XED.Asset.SerializableQuaternionFormatter();
|
||||||
|
case 13: return new MessagePack.Formatters.XED.Asset.SerializableVector2Formatter();
|
||||||
|
case 14: return new MessagePack.Formatters.XED.Asset.SerializableVector3Formatter();
|
||||||
|
case 15: return new MessagePack.Formatters.XED.Asset.SubmeshDataFormatter();
|
||||||
|
case 16: return new MessagePack.Formatters.XED.Asset.TextureDataFormatter();
|
||||||
|
case 17: return new MessagePack.Formatters.XED.Asset.TransformDataFormatter();
|
||||||
|
default: return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma warning restore 168
|
||||||
|
#pragma warning restore 414
|
||||||
|
#pragma warning restore 618
|
||||||
|
#pragma warning restore 612
|
||||||
|
|
||||||
|
#pragma warning restore SA1312 // Variable names should begin with lower-case letter
|
||||||
|
#pragma warning restore SA1649 // File name should match first type name
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// <auto-generated>
|
||||||
|
// THIS (.cs) FILE IS GENERATED BY MPC(MessagePack-CSharp). DO NOT CHANGE IT.
|
||||||
|
// </auto-generated>
|
||||||
|
|
||||||
|
#pragma warning disable 618
|
||||||
|
#pragma warning disable 612
|
||||||
|
#pragma warning disable 414
|
||||||
|
#pragma warning disable 168
|
||||||
|
#pragma warning disable CS1591 // document public APIs
|
||||||
|
|
||||||
|
#pragma warning disable SA1129 // Do not use default value type constructor
|
||||||
|
#pragma warning disable SA1309 // Field names should not begin with underscore
|
||||||
|
#pragma warning disable SA1312 // Variable names should begin with lower-case letter
|
||||||
|
#pragma warning disable SA1403 // File may only contain a single namespace
|
||||||
|
#pragma warning disable SA1649 // File name should match first type name
|
||||||
|
|
||||||
|
namespace MessagePack.Formatters.XED.Asset
|
||||||
|
{
|
||||||
|
public sealed class MaterialPropertyDataFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.MaterialPropertyData>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.MaterialPropertyData value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
writer.WriteNil();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
writer.WriteArrayHeader(11);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<float[]>(formatterResolver).Serialize(ref writer, value.baseColor, options);
|
||||||
|
writer.Write(value.metallic);
|
||||||
|
writer.Write(value.smoothness);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<float[]>(formatterResolver).Serialize(ref writer, value.emissionColor, options);
|
||||||
|
writer.Write(value.renderMode);
|
||||||
|
writer.Write(value.surfaceType);
|
||||||
|
writer.Write(value.blendMode);
|
||||||
|
writer.Write(value.occlusionStrength);
|
||||||
|
writer.Write(value.normalScale);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string[]>(formatterResolver).Serialize(ref writer, value.texTypes, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string[]>(formatterResolver).Serialize(ref writer, value.texUIDs, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.MaterialPropertyData Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var ____result = new global::XED.Asset.MaterialPropertyData();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
____result.baseColor = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<float[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
____result.metallic = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
____result.smoothness = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
____result.emissionColor = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<float[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
____result.renderMode = reader.ReadInt32();
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
____result.surfaceType = reader.ReadInt32();
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
____result.blendMode = reader.ReadInt32();
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
____result.occlusionStrength = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
____result.normalScale = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
____result.texTypes = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
____result.texUIDs = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class ModelDataFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.ModelData>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.ModelData value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
writer.WriteNil();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
writer.WriteArrayHeader(3);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.TransformData>(formatterResolver).Serialize(ref writer, value.transformData, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableMesh>(formatterResolver).Serialize(ref writer, value.mesh, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.MaterialPropertyData[]>(formatterResolver).Serialize(ref writer, value.materialProperties, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.ModelData Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var ____result = new global::XED.Asset.ModelData();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
____result.transformData = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.TransformData>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
____result.mesh = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableMesh>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
____result.materialProperties = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.MaterialPropertyData[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class SaveDataFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.SaveData>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.SaveData value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
writer.WriteNil();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
writer.WriteArrayHeader(2);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SavedModelData[]>(formatterResolver).Serialize(ref writer, value.modelDatas, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.TextureData[]>(formatterResolver).Serialize(ref writer, value.textureDatas, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.SaveData Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var ____result = new global::XED.Asset.SaveData();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
____result.modelDatas = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SavedModelData[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
____result.textureDatas = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.TextureData[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class SavedModelDataFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.SavedModelData>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.SavedModelData value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
writer.WriteNil();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
writer.WriteArrayHeader(3);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Serialize(ref writer, value.assetName, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Serialize(ref writer, value.folderName, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.ModelData[]>(formatterResolver).Serialize(ref writer, value.models, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.SavedModelData Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var ____result = new global::XED.Asset.SavedModelData();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
____result.assetName = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
____result.folderName = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
____result.models = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.ModelData[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class SerializableMeshFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.SerializableMesh>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.SerializableMesh value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
writer.WriteNil();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
writer.WriteArrayHeader(4);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector3[]>(formatterResolver).Serialize(ref writer, value.vertices, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector3[]>(formatterResolver).Serialize(ref writer, value.normals, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector2[]>(formatterResolver).Serialize(ref writer, value.uv, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SubmeshData[]>(formatterResolver).Serialize(ref writer, value.submeshes, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.SerializableMesh Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var ____result = new global::XED.Asset.SerializableMesh();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
____result.vertices = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector3[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
____result.normals = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector3[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
____result.uv = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector2[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
____result.submeshes = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SubmeshData[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class SerializableQuaternionFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.SerializableQuaternion>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.SerializableQuaternion value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
writer.WriteArrayHeader(4);
|
||||||
|
writer.Write(value.x);
|
||||||
|
writer.Write(value.y);
|
||||||
|
writer.Write(value.z);
|
||||||
|
writer.Write(value.w);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.SerializableQuaternion Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
throw new global::System.InvalidOperationException("typecode is null, struct not supported");
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var ____result = new global::XED.Asset.SerializableQuaternion();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
____result.x = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
____result.y = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
____result.z = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
____result.w = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class SerializableVector2Formatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.SerializableVector2>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.SerializableVector2 value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
writer.WriteArrayHeader(2);
|
||||||
|
writer.Write(value.x);
|
||||||
|
writer.Write(value.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.SerializableVector2 Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
throw new global::System.InvalidOperationException("typecode is null, struct not supported");
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var __x__ = default(float);
|
||||||
|
var __y__ = default(float);
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
__x__ = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
__y__ = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var ____result = new global::XED.Asset.SerializableVector2(__x__, __y__);
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class SerializableVector3Formatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.SerializableVector3>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.SerializableVector3 value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
writer.WriteArrayHeader(3);
|
||||||
|
writer.Write(value.x);
|
||||||
|
writer.Write(value.y);
|
||||||
|
writer.Write(value.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.SerializableVector3 Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
throw new global::System.InvalidOperationException("typecode is null, struct not supported");
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var __x__ = default(float);
|
||||||
|
var __y__ = default(float);
|
||||||
|
var __z__ = default(float);
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
__x__ = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
__y__ = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
__z__ = reader.ReadSingle();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var ____result = new global::XED.Asset.SerializableVector3(__x__, __y__, __z__);
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class SubmeshDataFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.SubmeshData>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.SubmeshData value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
writer.WriteNil();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
writer.WriteArrayHeader(2);
|
||||||
|
writer.Write(value.materialIndex);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<int[]>(formatterResolver).Serialize(ref writer, value.triangles, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.SubmeshData Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var ____result = new global::XED.Asset.SubmeshData();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
____result.materialIndex = reader.ReadInt32();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
____result.triangles = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<int[]>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class TextureDataFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.TextureData>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.TextureData value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
writer.WriteNil();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
writer.WriteArrayHeader(3);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Serialize(ref writer, value.name, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Serialize(ref writer, value.uid, options);
|
||||||
|
writer.Write(value.data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.TextureData Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var __name__ = default(string);
|
||||||
|
var __uid__ = default(string);
|
||||||
|
var __data__ = default(byte[]);
|
||||||
|
//var ____result = new global::XED.Asset.TextureData();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
//____result.name = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
__name__ = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
//____result.uid = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
__uid__ = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<string>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
//____result.data = global::MessagePack.Internal.CodeGenHelpers.GetArrayFromNullableSequence(reader.ReadBytes());
|
||||||
|
__data__ = global::MessagePack.Internal.CodeGenHelpers.GetArrayFromNullableSequence(reader.ReadBytes());
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var ____result = new global::XED.Asset.TextureData(__name__, __uid__, __data__);
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed class TransformDataFormatter : global::MessagePack.Formatters.IMessagePackFormatter<global::XED.Asset.TransformData>
|
||||||
|
{
|
||||||
|
|
||||||
|
public void Serialize(ref global::MessagePack.MessagePackWriter writer, global::XED.Asset.TransformData value, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
writer.WriteNil();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
writer.WriteArrayHeader(3);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector3>(formatterResolver).Serialize(ref writer, value.position, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableQuaternion>(formatterResolver).Serialize(ref writer, value.rotation, options);
|
||||||
|
global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector3>(formatterResolver).Serialize(ref writer, value.scale, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
public global::XED.Asset.TransformData Deserialize(ref global::MessagePack.MessagePackReader reader, global::MessagePack.MessagePackSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TryReadNil())
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.Security.DepthStep(ref reader);
|
||||||
|
global::MessagePack.IFormatterResolver formatterResolver = options.Resolver;
|
||||||
|
var length = reader.ReadArrayHeader();
|
||||||
|
var ____result = new global::XED.Asset.TransformData();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
____result.position = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector3>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
____result.rotation = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableQuaternion>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
____result.scale = global::MessagePack.FormatterResolverExtensions.GetFormatterWithVerify<global::XED.Asset.SerializableVector3>(formatterResolver).Deserialize(ref reader, options);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reader.Skip();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Depth--;
|
||||||
|
return ____result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma warning restore 168
|
||||||
|
#pragma warning restore 414
|
||||||
|
#pragma warning restore 618
|
||||||
|
#pragma warning restore 612
|
||||||
|
|
||||||
|
#pragma warning restore SA1129 // Do not use default value type constructor
|
||||||
|
#pragma warning restore SA1309 // Field names should not begin with underscore
|
||||||
|
#pragma warning restore SA1312 // Variable names should begin with lower-case letter
|
||||||
|
#pragma warning restore SA1403 // File may only contain a single namespace
|
||||||
|
#pragma warning restore SA1649 // File name should match first type name
|
||||||
|
|
||||||
2
Assets/Scripts/GeneratedMessagePackResolver.cs.meta
Normal file
2
Assets/Scripts/GeneratedMessagePackResolver.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bab1dbb292003874992b64c18aaea648
|
||||||
@@ -12,6 +12,7 @@ using Newtonsoft.Json;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using UnityEngine.EventSystems;
|
using UnityEngine.EventSystems;
|
||||||
|
using MessagePack.Resolvers;
|
||||||
|
|
||||||
namespace XED.Asset
|
namespace XED.Asset
|
||||||
{
|
{
|
||||||
@@ -28,12 +29,14 @@ namespace XED.Asset
|
|||||||
private SharedMaterial sharedMaterial;
|
private SharedMaterial sharedMaterial;
|
||||||
private MessagePackFileManager<SaveData> fileManager;
|
private MessagePackFileManager<SaveData> fileManager;
|
||||||
private bool isSaveTaskComplete = true;
|
private bool isSaveTaskComplete = true;
|
||||||
private bool isLoadTaskComplete = true;
|
private bool isLoadTaskComplete = true;
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
saveData = new SaveData();
|
saveData = new SaveData();
|
||||||
sharedMaterial = new SharedMaterial();
|
sharedMaterial = new SharedMaterial();
|
||||||
fileManager = new MessagePackFileManager<SaveData>();
|
fileManager = new MessagePackFileManager<SaveData>();
|
||||||
|
fileManager.Initialize();
|
||||||
|
|
||||||
identifier = identifier.Length == 0 ? "defaultAssetData" : identifier;
|
identifier = identifier.Length == 0 ? "defaultAssetData" : identifier;
|
||||||
StartCoroutine(CoroutineLoadLocalFiles());
|
StartCoroutine(CoroutineLoadLocalFiles());
|
||||||
string baseDataPath = Application.streamingAssetsPath + "/baseAssetData";
|
string baseDataPath = Application.streamingAssetsPath + "/baseAssetData";
|
||||||
@@ -266,6 +269,7 @@ namespace XED.Asset
|
|||||||
if (task.Result == null)
|
if (task.Result == null)
|
||||||
{
|
{
|
||||||
Debug.LogError("Error on loading local data.");
|
Debug.LogError("Error on loading local data.");
|
||||||
|
Debug.LogError("Error file location : " + filePath);
|
||||||
isLoadTaskComplete = true;
|
isLoadTaskComplete = true;
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
@@ -574,6 +578,13 @@ namespace XED.Asset
|
|||||||
{
|
{
|
||||||
dicTextureIDs[tex] = texUID;
|
dicTextureIDs[tex] = texUID;
|
||||||
Texture2D readableTex = GetReadableTexture(tex);
|
Texture2D readableTex = GetReadableTexture(tex);
|
||||||
|
//TextureData textureData = new TextureData()
|
||||||
|
//{
|
||||||
|
// name = tex.name,
|
||||||
|
// uid = texUID,
|
||||||
|
// data = readableTex.EncodeToPNG()
|
||||||
|
//};
|
||||||
|
//textureDatas.Add(textureData);
|
||||||
textureDatas.Add(new TextureData(tex.name, texUID, readableTex.EncodeToPNG()));
|
textureDatas.Add(new TextureData(tex.name, texUID, readableTex.EncodeToPNG()));
|
||||||
}
|
}
|
||||||
return texUID;
|
return texUID;
|
||||||
@@ -597,19 +608,19 @@ namespace XED.Asset
|
|||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class SaveData
|
public class SaveData
|
||||||
{
|
{
|
||||||
[Key("ModelData")]
|
[Key(0)]
|
||||||
public SavedModelData[] modelDatas;
|
public SavedModelData[] modelDatas;
|
||||||
[Key("TextureData")]
|
[Key(1)]
|
||||||
public TextureData[] textureDatas;
|
public TextureData[] textureDatas;
|
||||||
}
|
}
|
||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class SavedModelData
|
public class SavedModelData
|
||||||
{
|
{
|
||||||
[Key("AssetName")]
|
[Key(0)]
|
||||||
public string assetName;
|
public string assetName;
|
||||||
[Key("FolderName")]
|
[Key(1)]
|
||||||
public string folderName;
|
public string folderName;
|
||||||
[Key("ModelArray")]
|
[Key(2)]
|
||||||
public ModelData[] models;
|
public ModelData[] models;
|
||||||
public void SaveData(GameObject modelObject, SharedMaterial sharedMaterial)
|
public void SaveData(GameObject modelObject, SharedMaterial sharedMaterial)
|
||||||
{
|
{
|
||||||
@@ -661,21 +672,21 @@ namespace XED.Asset
|
|||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class ModelData
|
public class ModelData
|
||||||
{
|
{
|
||||||
[Key("TransformData")]
|
[Key(0)]
|
||||||
public TransformData transformData;
|
public TransformData transformData;
|
||||||
[Key("MeshData")]
|
[Key(1)]
|
||||||
public SerializableMesh mesh;
|
public SerializableMesh mesh;
|
||||||
[Key("MaterialData")]
|
[Key(2)]
|
||||||
public MaterialPropertyData[] materialProperties;
|
public MaterialPropertyData[] materialProperties;
|
||||||
}
|
}
|
||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class TransformData
|
public class TransformData
|
||||||
{
|
{
|
||||||
[Key("Position")]
|
[Key(0)]
|
||||||
public SerializableVector3 position;
|
public SerializableVector3 position;
|
||||||
[Key("Rotation")]
|
[Key(1)]
|
||||||
public SerializableQuaternion rotation;
|
public SerializableQuaternion rotation;
|
||||||
[Key("Scale")]
|
[Key(2)]
|
||||||
public SerializableVector3 scale;
|
public SerializableVector3 scale;
|
||||||
public void SetData(Transform transform)
|
public void SetData(Transform transform)
|
||||||
{
|
{
|
||||||
@@ -697,13 +708,13 @@ namespace XED.Asset
|
|||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class SerializableMesh
|
public class SerializableMesh
|
||||||
{
|
{
|
||||||
[Key("Vertices")]
|
[Key(0)]
|
||||||
public SerializableVector3[] vertices;
|
public SerializableVector3[] vertices;
|
||||||
[Key("Normals")]
|
[Key(1)]
|
||||||
public SerializableVector3[] normals;
|
public SerializableVector3[] normals;
|
||||||
[Key("UVs")]
|
[Key(2)]
|
||||||
public SerializableVector2[] uv;
|
public SerializableVector2[] uv;
|
||||||
[Key("Submeshes")]
|
[Key(3)]
|
||||||
public SubmeshData[] submeshes;
|
public SubmeshData[] submeshes;
|
||||||
public void SetData(Mesh mesh)
|
public void SetData(Mesh mesh)
|
||||||
{
|
{
|
||||||
@@ -740,20 +751,22 @@ namespace XED.Asset
|
|||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class SubmeshData
|
public class SubmeshData
|
||||||
{
|
{
|
||||||
[Key("MaterialIndex")]
|
[Key(0)]
|
||||||
public int materialIndex;
|
public int materialIndex;
|
||||||
[Key("Triangles")]
|
[Key(1)]
|
||||||
public int[] triangles;
|
public int[] triangles;
|
||||||
}
|
}
|
||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public struct SerializableVector3
|
public struct SerializableVector3
|
||||||
{
|
{
|
||||||
[Key("V3x")]
|
[Key(0)]
|
||||||
public float x;
|
public float x;
|
||||||
[Key("V3y")]
|
[Key(1)]
|
||||||
public float y;
|
public float y;
|
||||||
[Key("V3z")]
|
[Key(2)]
|
||||||
public float z;
|
public float z;
|
||||||
|
|
||||||
|
[SerializationConstructor]
|
||||||
public SerializableVector3(float x, float y, float z)
|
public SerializableVector3(float x, float y, float z)
|
||||||
{
|
{
|
||||||
this.x = x;
|
this.x = x;
|
||||||
@@ -776,10 +789,12 @@ namespace XED.Asset
|
|||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public struct SerializableVector2
|
public struct SerializableVector2
|
||||||
{
|
{
|
||||||
[Key("V2x")]
|
[Key(0)]
|
||||||
public float x;
|
public float x;
|
||||||
[Key("V2y")]
|
[Key(1)]
|
||||||
public float y;
|
public float y;
|
||||||
|
|
||||||
|
[SerializationConstructor]
|
||||||
public SerializableVector2(float x, float y)
|
public SerializableVector2(float x, float y)
|
||||||
{
|
{
|
||||||
this.x = x;
|
this.x = x;
|
||||||
@@ -801,13 +816,13 @@ namespace XED.Asset
|
|||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public struct SerializableQuaternion
|
public struct SerializableQuaternion
|
||||||
{
|
{
|
||||||
[Key("Qx")]
|
[Key(0)]
|
||||||
public float x;
|
public float x;
|
||||||
[Key("Qy")]
|
[Key(1)]
|
||||||
public float y;
|
public float y;
|
||||||
[Key("Qz")]
|
[Key(2)]
|
||||||
public float z;
|
public float z;
|
||||||
[Key("Qw")]
|
[Key(3)]
|
||||||
public float w;
|
public float w;
|
||||||
|
|
||||||
public void FromQuaternion(Quaternion q) { x = q.x; y = q.y; z = q.z; w = q.w; }
|
public void FromQuaternion(Quaternion q) { x = q.x; y = q.y; z = q.z; w = q.w; }
|
||||||
@@ -816,27 +831,27 @@ namespace XED.Asset
|
|||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class MaterialPropertyData
|
public class MaterialPropertyData
|
||||||
{
|
{
|
||||||
[Key("BaseColor")]
|
[Key(0)]
|
||||||
public float[] baseColor;
|
public float[] baseColor;
|
||||||
[Key("Metallic")]
|
[Key(1)]
|
||||||
public float metallic;
|
public float metallic;
|
||||||
[Key("Smoothness")]
|
[Key(2)]
|
||||||
public float smoothness;
|
public float smoothness;
|
||||||
[Key("Emission")]
|
[Key(3)]
|
||||||
public float[] emissionColor;
|
public float[] emissionColor;
|
||||||
[Key("RenderMode")]
|
[Key(4)]
|
||||||
public int renderMode;
|
public int renderMode;
|
||||||
[Key("SurfaceType")]
|
[Key(5)]
|
||||||
public int surfaceType;
|
public int surfaceType;
|
||||||
[Key("BlendMode")]
|
[Key(6)]
|
||||||
public int blendMode;
|
public int blendMode;
|
||||||
[Key("OcclusionStrength")]
|
[Key(7)]
|
||||||
public float occlusionStrength;
|
public float occlusionStrength;
|
||||||
[Key("NormalScale")]
|
[Key(8)]
|
||||||
public float normalScale;
|
public float normalScale;
|
||||||
[Key("TextureTypes")]
|
[Key(9)]
|
||||||
public string[] texTypes;
|
public string[] texTypes;
|
||||||
[Key("TextureUIDs")]
|
[Key(10)]
|
||||||
public string[] texUIDs;
|
public string[] texUIDs;
|
||||||
|
|
||||||
public void SetData(Material material)
|
public void SetData(Material material)
|
||||||
@@ -951,12 +966,14 @@ namespace XED.Asset
|
|||||||
[MessagePackObject]
|
[MessagePackObject]
|
||||||
public class TextureData
|
public class TextureData
|
||||||
{
|
{
|
||||||
[Key("TextureName")]
|
[Key(0)]
|
||||||
public string name;
|
public string name;
|
||||||
[Key("TextureUID")]
|
[Key(1)]
|
||||||
public string uid;
|
public string uid;
|
||||||
[Key("TextureData")]
|
[Key(2)]
|
||||||
public byte[] data;
|
public byte[] data;
|
||||||
|
|
||||||
|
[SerializationConstructor]
|
||||||
public TextureData(string name, string uid, byte[] data)
|
public TextureData(string name, string uid, byte[] data)
|
||||||
{
|
{
|
||||||
this.name = name;
|
this.name = name;
|
||||||
@@ -967,10 +984,22 @@ namespace XED.Asset
|
|||||||
}
|
}
|
||||||
public class MessagePackFileManager<T>
|
public class MessagePackFileManager<T>
|
||||||
{
|
{
|
||||||
|
public void Initialize()
|
||||||
|
{
|
||||||
|
StaticCompositeResolver.Instance.Register(
|
||||||
|
GeneratedResolver.Instance,
|
||||||
|
StandardResolver.Instance
|
||||||
|
);
|
||||||
|
MessagePackSerializer.DefaultOptions = MessagePackSerializerOptions.Standard.WithResolver(
|
||||||
|
StaticCompositeResolver.Instance
|
||||||
|
);
|
||||||
|
}
|
||||||
public async Task<T> LoadAsync(string filePath)
|
public async Task<T> LoadAsync(string filePath)
|
||||||
{
|
{
|
||||||
var lz4Option = MessagePackSerializerOptions.Standard.WithCompression(MessagePackCompression.Lz4Block);
|
var lz4Option = MessagePackSerializerOptions.Standard.
|
||||||
byte[] readByte;
|
WithCompression(MessagePackCompression.Lz4Block).
|
||||||
|
WithResolver(StaticCompositeResolver.Instance);
|
||||||
|
byte[] readByte = null;
|
||||||
T deserailze = default(T);
|
T deserailze = default(T);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -980,13 +1009,21 @@ public class MessagePackFileManager<T>
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.LogError($"Task Error: {ex.Message}\n{ex.StackTrace}");
|
Debug.LogError($"Task Error: {ex.Message}\n{ex.StackTrace}");
|
||||||
|
int byteLength = 0;
|
||||||
|
if (readByte != null)
|
||||||
|
{
|
||||||
|
byteLength = (int)readByte.Length;
|
||||||
|
}
|
||||||
|
Debug.LogError("Read Byte Size : " + byteLength.ToString());
|
||||||
}
|
}
|
||||||
return deserailze;
|
return deserailze;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SaveAsync(string filePath, T data)
|
public async Task SaveAsync(string filePath, T data)
|
||||||
{
|
{
|
||||||
var lz4Option = MessagePackSerializerOptions.Standard.WithCompression(MessagePackCompression.Lz4Block);
|
var lz4Option = MessagePackSerializerOptions.Standard.
|
||||||
|
WithCompression(MessagePackCompression.Lz4Block).
|
||||||
|
WithResolver(StaticCompositeResolver.Instance);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
byte[] bytes = MessagePackSerializer.Serialize<T>(data, lz4Option);
|
byte[] bytes = MessagePackSerializer.Serialize<T>(data, lz4Option);
|
||||||
@@ -996,5 +1033,5 @@ public class MessagePackFileManager<T>
|
|||||||
{
|
{
|
||||||
Debug.LogError($"Task Error: {ex.Message}\n{ex.StackTrace}");
|
Debug.LogError($"Task Error: {ex.Message}\n{ex.StackTrace}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user