public void Pack(Packer packer, object obj) { var sentinel = (IDisposeSentinel)obj; var type = sentinel.GetType(); Int32Serializer.PackDirect(packer, packer.GetMetaTypeId(type.GetGenericTypeDefinition())); Int32Serializer.PackDirect(packer, packer.GetMetaTypeId(type.GenericTypeArguments[0])); Int32Serializer.PackDirect(packer, packer.GetMetaTypeId(type.GenericTypeArguments[1])); packer.PackInternal(sentinel.GetData()); Int64Serializer.PackDirect(packer, sentinel.GetTick()); }
public void Pack(Packer packer, object obj) { var pack = (ME.ECS.StatesHistory.HistoryEvent)obj; Int64Serializer.PackDirect(packer, pack.tick); Int32Serializer.PackDirect(packer, pack.order); Int32Serializer.PackDirect(packer, pack.rpcId); Int32Serializer.PackDirect(packer, pack.localOrder); Int32Serializer.PackDirect(packer, pack.objId); Int32Serializer.PackDirect(packer, pack.groupId); BooleanSerializer.PackDirect(packer, pack.storeInHistory); if (pack.parameters != null) { packer.WriteByte(1); var serializer = new ObjectArraySerializer(); serializer.Pack(packer, pack.parameters); } else { packer.WriteByte(0); } }
public void Pack(Packer packer, object obj) { Int64Serializer.PackDirect(packer, (Tick)obj); }
public static void PackDirect(Packer packer, fp obj) { Int64Serializer.PackDirect(packer, obj.RawValue); }