protected virtual void HandleClientCallFunction(LiteNetLibMessageHandler messageHandler) { NetDataReader reader = messageHandler.reader; FunctionReceivers receivers = (FunctionReceivers)reader.GetByte(); long connectionId = -1; if (receivers == FunctionReceivers.Target) { connectionId = (long)reader.GetPackedULong(); } LiteNetLibElementInfo info = LiteNetLibElementInfo.DeserializeInfo(reader); LiteNetLibIdentity identity; if (Assets.TryGetSpawnedObject(info.objectId, out identity)) { if (receivers == FunctionReceivers.Server) { identity.ProcessNetFunction(info, reader, true); } else { LiteNetLibFunction netFunction = identity.ProcessNetFunction(info, reader, false); // Use call with out parameters set because parameters already set while process net function if (receivers == FunctionReceivers.Target) { netFunction.CallWithoutParametersSet(connectionId); } else { netFunction.CallWithoutParametersSet(DeliveryMethod.ReliableOrdered, receivers); } } } }
public void Deserialize(NetDataReader reader) { value = reader.GetPackedULong(); }