public void Pack(Packer packer, object obj) { Int16Serializer.PackDirect(packer, (short)obj); }
public void Pack(Packer packer, object obj) { var packerObject = (Packer.PackerObject)obj; PackerObjectSerializer.PackDirect(packer, packerObject); }
public void Pack(Packer packer, object obj) { var meta = (Packer.MetaType[])obj; MetaTypeArraySerializer.PackDirect(packer, meta); }
public void Pack(Packer packer, object obj) { var arr = (IList)obj; var type = arr.GetType(); var int32 = new Int32Serializer(); int32.Pack(packer, arr.Count); if (type.IsArray == true) { var rank = type.GetArrayRank(); if (rank > 1) { packer.WriteByte(2); } else { packer.WriteByte(1); } int32.Pack(packer, packer.GetMetaTypeId(type.GetElementType())); if (rank > 1) { int32.Pack(packer, rank); var arrData = (System.Array)arr; for (int j = 0; j < rank; ++j) { int32.Pack(packer, arrData.GetLength(j)); } void WrapDimension(int[] ids, int currentDimension) { if (currentDimension == rank) { packer.PackInternal(arrData.GetValue(ids)); } else { for (int i = 0, length = arrData.GetLength(currentDimension); i < length; i++) { ids[currentDimension] = i; WrapDimension(ids, currentDimension + 1); } } } WrapDimension(new int[rank], 0); } else { for (int i = 0; i < arr.Count; ++i) { packer.PackInternal(arr[i]); } } } else { packer.WriteByte(0); int32.Pack(packer, packer.GetMetaTypeId(arr.GetType().GenericTypeArguments[0])); int32.Pack(packer, packer.GetMetaTypeId(arr.GetType().GetGenericTypeDefinition())); for (int i = 0; i < arr.Count; ++i) { packer.PackInternal(arr[i]); } } }
public static void PackDirect(Packer packer, Packer.PackerObject packerObject) { ByteArraySerializer.PackDirect(packer, packerObject.data); MetaSerializer.PackDirect(packer, packerObject.meta); }
public void Pack(Packer packer, object obj) { ViewIdSerializer.PackDirect(packer, (ViewId)obj); }
public void Pack(Packer packer, object obj) { Int32Serializer.PackDirect(packer, (RPCId)obj); }
public void Pack(Packer packer, object obj) { CharSerializer.PackDirect(packer, (char)obj); }
public void Pack(Packer packer, object obj) { UInt64Serializer.PackDirect(packer, (ulong)obj); }
public static void PackDirect(Packer packer, char obj) { UInt16Serializer.PackDirect(packer, obj); }
public static char UnpackDirect(Packer packer) { return((char)UInt16Serializer.UnpackDirect(packer)); }
public void Pack(Packer packer, object obj) { UInt32Serializer.PackDirect(packer, (uint)obj); }
public object Unpack(Packer packer) { return(StringSerializer.UnpackDirect(packer)); }
public void Pack(Packer packer, object obj) { StringSerializer.PackDirect(packer, (string)obj); }
public static void PackDirect(Packer packer, ViewId obj) { UInt32Serializer.PackDirect(packer, obj); }
public static void PackDirect(Packer packer, double obj) { var b = new Float64Bytes() { value = obj }; byte size = 8; if (b.b8 == 0) { --size; if (b.b7 == 0) { --size; if (b.b6 == 0) { --size; if (b.b5 == 0) { --size; if (b.b4 == 0) { --size; if (b.b3 == 0) { --size; if (b.b2 == 0) { --size; if (b.b1 == 0) { --size; } } } } } } } } packer.WriteByte(size); if (size >= 1) { packer.WriteByte(b.b1); } if (size >= 2) { packer.WriteByte(b.b2); } if (size >= 3) { packer.WriteByte(b.b3); } if (size >= 4) { packer.WriteByte(b.b4); } if (size >= 5) { packer.WriteByte(b.b5); } if (size >= 6) { packer.WriteByte(b.b6); } if (size >= 7) { packer.WriteByte(b.b7); } if (size >= 8) { packer.WriteByte(b.b8); } }
public static ViewId UnpackDirect(Packer packer) { return(UInt32Serializer.UnpackDirect(packer)); }
public void Pack(Packer packer, object obj) { DoubleSerializer.PackDirect(packer, (double)obj); }
public object Unpack(Packer packer) { return((ViewId)ViewIdSerializer.UnpackDirect(packer)); }
public static void PackDirect(Packer packer, ME.ECS.Views.IView view) { var viewId = Worlds.currentWorld.GetModule <ME.ECS.Views.ViewsModule>().GetViewSourceId(view); ViewIdSerializer.PackDirect(packer, viewId); }
public object Unpack(Packer packer) { return((RPCId)Int32Serializer.UnpackDirect(packer)); }
public static ME.ECS.Views.IView UnpackDirect(Packer packer) { var viewId = ViewIdSerializer.UnpackDirect(packer); return(Worlds.currentWorld.GetModule <ME.ECS.Views.ViewsModule>().GetViewSource(viewId)); }
public object Unpack(Packer packer) { var int32 = new Int32Serializer(); var length = (int)int32.Unpack(packer); var isArray = packer.ReadByte(); var typeId = (int)int32.Unpack(packer); var typeIn = packer.GetMetaType(typeId); IList arr = null; if (isArray == 2) { var rank = (int)int32.Unpack(packer); if (rank > 1) { var lengthArray = new int[rank]; for (int j = 0; j < rank; ++j) { lengthArray[j] = (int)int32.Unpack(packer); } var arrData = System.Array.CreateInstance(typeIn, lengthArray); arr = arrData; void WrapDimension(int[] ids, int currentDimension) { if (currentDimension == rank) { arrData.SetValue(packer.UnpackInternal(), ids); } else { for (int i = 0, len = arrData.GetLength(currentDimension); i < len; i++) { ids[currentDimension] = i; WrapDimension(ids, currentDimension + 1); } } } WrapDimension(new int[rank], 0); } } else if (isArray == 1) { arr = System.Array.CreateInstance(typeIn, length); for (int i = 0; i < length; ++i) { arr[i] = packer.UnpackInternal(); } } else { var type = packer.GetMetaType((int)int32.Unpack(packer)); var t = type.MakeGenericType(typeIn); arr = (IList)System.Activator.CreateInstance(t); for (int i = 0; i < length; ++i) { arr.Add(packer.UnpackInternal()); } } return(arr); }
public void Pack(Packer packer, object obj) { ViewSerializer.PackDirect(packer, (ME.ECS.Views.IView)obj); }
public static void PackDirect(Packer packer, Packer.MetaType meta) { Int32Serializer.PackDirect(packer, meta.id); StringSerializer.PackDirect(packer, meta.type); }
public void Pack(Packer packer, object obj) { Int64Serializer.PackDirect(packer, (Tick)obj); }
public object Unpack(Packer packer) { return(PackerObjectSerializer.UnpackDirect(packer)); }
public object Unpack(Packer packer) { return((Tick)Int64Serializer.UnpackDirect(packer)); }
public object Unpack(Packer packer) { return(MetaTypeArraySerializer.UnpackDirect(packer)); }
public object Unpack(Packer packer) { return(UInt16Serializer.UnpackDirect(packer)); }