/// <inheritdoc/> public override void Read(NetPacketReader message) { base.Read(message); try { NetworkID = message.GetUInt(); MethodID = message.GetUShort(); RPCInfo = Network.InstanceType == NetInstanceType.Server ? (RPCInfo)Network.ServerRPCLookupTable.GetRPCInfo(MethodID) : Network.ClientRPCLookupTable.GetRPCInfo(MethodID); ParametersNum = RPCInfo.ParameterTypes.Length; if (Parameters.Length < ParametersNum) { Parameters = new object[ParametersNum]; } for (int i = 0; i < ParametersNum; i++) { Parameters[i] = NetData.Read(RPCInfo.ParameterTypes[i], message); } } catch (Exception e) { throw new MalformedPacketException("Failed to read packet.", e); } }