mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-12 21:45:06 -05:00
198 lines
4.9 KiB
C#
198 lines
4.9 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace UniGLTF
|
|
{
|
|
public abstract class PrimitiveSerializationBase : IValueSerialization
|
|
{
|
|
public bool IsInline
|
|
{
|
|
get { return true; }
|
|
}
|
|
|
|
public abstract Type ValueType { get; }
|
|
|
|
public void GenerateDeserializer(StreamWriter writer, string callName)
|
|
{
|
|
throw new System.NotImplementedException();
|
|
}
|
|
|
|
public abstract string GenerateDeserializerCall(string callName, string argName);
|
|
}
|
|
|
|
public class Int8Serialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(SByte); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetInt8()";
|
|
}
|
|
}
|
|
|
|
public class Int16Serialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(Int16); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetInt16()";
|
|
}
|
|
}
|
|
|
|
public class Int32Serialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(Int32); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetInt32()";
|
|
}
|
|
}
|
|
|
|
public class Int64Serialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(Int64); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetInt64()";
|
|
}
|
|
}
|
|
|
|
public class UInt8Serialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(Byte); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetUInt8()";
|
|
}
|
|
}
|
|
|
|
public class UInt16Serialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(UInt16); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetUInt16()";
|
|
}
|
|
}
|
|
|
|
public class UInt32Serialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(UInt32); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetUInt32()";
|
|
}
|
|
}
|
|
|
|
public class UInt64Serialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(UInt64); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetUInt64()";
|
|
}
|
|
}
|
|
|
|
public class SingleSerialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(Single); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetSingle()";
|
|
}
|
|
}
|
|
|
|
public class DoubleSerialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(Double); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetDouble()";
|
|
}
|
|
}
|
|
|
|
public class BooleanSerialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(Boolean); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetBoolean()";
|
|
}
|
|
}
|
|
|
|
public class StringSerialization : PrimitiveSerializationBase
|
|
{
|
|
public override Type ValueType
|
|
{
|
|
get { return typeof(String); }
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return argName + ".GetString()";
|
|
}
|
|
}
|
|
|
|
public class EnumIntSerialization : PrimitiveSerializationBase
|
|
{
|
|
Type m_type;
|
|
|
|
public override Type ValueType
|
|
{
|
|
get { return m_type; }
|
|
}
|
|
|
|
public EnumIntSerialization(Type t)
|
|
{
|
|
m_type = t;
|
|
}
|
|
|
|
public override string GenerateDeserializerCall(string callName, string argName)
|
|
{
|
|
return string.Format("({0}){1}.GetInt32()", m_type.Name, argName);
|
|
}
|
|
}
|
|
} |