public bool Serialize(Type _Type, object _Object, out byte[] _Bytes) { if (!TypeDictionary.ContainsKey(_Type)) { _Bytes = null; return(false); } ByteWriter var_Writer = new ByteWriter(); if (_Object == null) { var_Writer.Write((bool)true); _Bytes = var_Writer.ToArray(); return(true); } else { var_Writer.Write((bool)false); } // EUnityType var_UnityType = TypeDictionary[_Type]; switch (var_UnityType) { case EUnityType.BONEWEIGHT: { BoneWeight var_BoneWeight = (BoneWeight)_Object; var_Writer.Write(var_BoneWeight.boneIndex0); var_Writer.Write(var_BoneWeight.boneIndex1); var_Writer.Write(var_BoneWeight.boneIndex2); var_Writer.Write(var_BoneWeight.boneIndex3); var_Writer.Write(var_BoneWeight.weight0); var_Writer.Write(var_BoneWeight.weight1); var_Writer.Write(var_BoneWeight.weight2); var_Writer.Write(var_BoneWeight.weight3); break; } case EUnityType.BOUNDS: { Bounds var_Bounds = (Bounds)_Object; var_Writer.Write(var_Bounds.center); var_Writer.Write(var_Bounds.extents); var_Writer.Write(var_Bounds.max); var_Writer.Write(var_Bounds.min); var_Writer.Write(var_Bounds.size); break; } case EUnityType.COLOR: { Color var_Color = (Color)_Object; var_Writer.Write(var_Color.r); var_Writer.Write(var_Color.g); var_Writer.Write(var_Color.b); var_Writer.Write(var_Color.a); break; } case EUnityType.COLOR32: { Color32 var_Color = (Color32)_Object; var_Writer.Write(var_Color.r); var_Writer.Write(var_Color.g); var_Writer.Write(var_Color.b); var_Writer.Write(var_Color.a); break; } } _Bytes = var_Writer.ToArray(); return(true); }
public bool DeSerialize(Type _Type, byte[] _Bytes, out object _Object) { if (!TypeDictionary.ContainsKey(_Type)) { _Object = null; return(false); } ByteReader var_Reader = new ByteReader(_Bytes); bool var_IsNull = var_Reader.ReadBoolean(); if (var_IsNull) { _Object = null; return(true); } // _Object = null; // EUnityType var_UnityType = TypeDictionary[_Type]; switch (var_UnityType) { case EUnityType.BONEWEIGHT: { BoneWeight var_BoneWeight = new BoneWeight(); var_BoneWeight.boneIndex0 = var_Reader.ReadInt32(); var_BoneWeight.boneIndex1 = var_Reader.ReadInt32(); var_BoneWeight.boneIndex2 = var_Reader.ReadInt32(); var_BoneWeight.boneIndex3 = var_Reader.ReadInt32(); var_BoneWeight.weight0 = var_Reader.ReadSingle(); var_BoneWeight.weight1 = var_Reader.ReadSingle(); var_BoneWeight.weight2 = var_Reader.ReadSingle(); var_BoneWeight.weight3 = var_Reader.ReadSingle(); _Object = var_BoneWeight; break; } case EUnityType.BOUNDS: { Bounds var_Bounds = new Bounds(); var_Bounds.center = var_Reader.ReadVector3(); var_Bounds.extents = var_Reader.ReadVector3(); var_Bounds.max = var_Reader.ReadVector3(); var_Bounds.min = var_Reader.ReadVector3(); var_Bounds.size = var_Reader.ReadVector3(); _Object = var_Bounds; break; } case EUnityType.COLOR: { Color var_Color = new Color(); var_Color.r = var_Reader.ReadByte(); var_Color.g = var_Reader.ReadByte(); var_Color.b = var_Reader.ReadByte(); var_Color.a = var_Reader.ReadByte(); _Object = var_Color; break; } case EUnityType.COLOR32: { Color32 var_Color = new Color32(); var_Color.r = var_Reader.ReadByte(); var_Color.g = var_Reader.ReadByte(); var_Color.b = var_Reader.ReadByte(); var_Color.a = var_Reader.ReadByte(); _Object = var_Color; break; } } return(true); }