daily update on 20240610 by nitload youmu

This commit is contained in:
Nitload
2024-06-10 15:11:01 +08:00
parent c0093f7b5c
commit f6963b8e00
96 changed files with 2927 additions and 2290 deletions
@@ -7,15 +7,13 @@ using System.Threading.Tasks;
namespace StgSharp.Data
{
public abstract class SSDSerializable
public interface ISSDSerializable
{
public abstract SerializableTypeCode SSDTypeCode { get; }
public SerializableTypeCode SSDTypeCode { get; }
public abstract byte[] GetBytes();
public byte[] GetBytes();
public abstract byte[] GetBytes(out int length);
internal abstract void BuildFromByteStream(byte[] stream);
internal void FromBytes(byte[] stream);
}
public enum SerializableTypeCode
@@ -28,21 +26,20 @@ namespace StgSharp.Data
Shader = 5,
Text = 6,
RawData = 7,
VirtualFolder = 8,
VirtualFolder = int.MaxValue,
}
public static partial class Serializer
{
public static byte[] Serialize(SSDSerializable serializableObject)
public static byte[] Serialize(ISSDSerializable serializableObject)
{
return serializableObject.GetBytes();
}
public static T Deserialize<T>(byte[] stream)where T : SSDSerializable
public static T Deserialize<T>(byte[] stream)where T : ISSDSerializable
{
T serializableObject = (T)Activator.CreateInstance<T>();
serializableObject.BuildFromByteStream(stream);
serializableObject.FromBytes(stream);
return serializableObject;
}