summaryrefslogtreecommitdiff
path: root/Runtime/Network/PackMonoRPC.h
blob: bd169008b6276c4496562d5d6643d7d519803a5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

#include "Configuration/UnityConfigure.h"

#if ENABLE_NETWORK

#include "Runtime/Mono/MonoIncludes.h"
#include "External/RakNet/builds/include/BitStream.h"
#include "NetworkEnums.h"

typedef void NetworkViewRpcFunc (RPCParameters *rpcParameters);

bool UnpackAndInvokeRPCMethod (GameObject& target, const char* name, RakNet::BitStream& parameters, SystemAddress sender, NetworkViewID viewID, RakNetTime timestamp, Object* netview);
bool PackRPCParameters (GameObject& target, const char* name, RakNet::BitStream& inStream, MonoArray* data, Object* netview);

bool UnpackAndInvokeRPCMethod (MonoBehaviour& targetBehaviour, MonoMethod* method, RakNet::BitStream& parameters, SystemAddress sender, NetworkViewID viewID, RakNetTime timestamp, Object* netview);
bool PackRPCParameters (MonoBehaviour& targetBehaviour, MonoMethod* method, RakNet::BitStream& inStream, MonoArray* data, Object* netview, bool doPack);

#endif