Merge branch 'Withaust-dropunreliablerpc'
This commit is contained in:
@@ -2151,6 +2151,18 @@ void NetworkInternal::OnNetworkMessageObjectRpc(NetworkEvent& event, NetworkClie
|
|||||||
NetworkMessageObjectRpc msgData;
|
NetworkMessageObjectRpc msgData;
|
||||||
event.Message.ReadStructure(msgData);
|
event.Message.ReadStructure(msgData);
|
||||||
ScopeLock lock(ObjectsLock);
|
ScopeLock lock(ObjectsLock);
|
||||||
|
|
||||||
|
// Find RPC info
|
||||||
|
NetworkRpcName name;
|
||||||
|
name.First = Scripting::FindScriptingType(msgData.RpcTypeName);
|
||||||
|
name.Second = msgData.RpcName;
|
||||||
|
const NetworkRpcInfo* info = NetworkRpcInfo::RPCsTable.TryGet(name);
|
||||||
|
if (!info)
|
||||||
|
{
|
||||||
|
NETWORK_REPLICATOR_LOG(Error, "[NetworkReplicator] Unknown RPC {}::{} for object {}", String(msgData.RpcTypeName), String(msgData.RpcName), msgData.ObjectId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
NetworkReplicatedObject* e = ResolveObject(msgData.ObjectId, msgData.ParentId, msgData.ObjectTypeName);
|
NetworkReplicatedObject* e = ResolveObject(msgData.ObjectId, msgData.ParentId, msgData.ObjectTypeName);
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
@@ -2159,17 +2171,7 @@ void NetworkInternal::OnNetworkMessageObjectRpc(NetworkEvent& event, NetworkClie
|
|||||||
if (!obj)
|
if (!obj)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Find RPC info
|
|
||||||
NetworkRpcName name;
|
|
||||||
name.First = Scripting::FindScriptingType(msgData.RpcTypeName);
|
|
||||||
name.Second = msgData.RpcName;
|
|
||||||
const NetworkRpcInfo* info = NetworkRpcInfo::RPCsTable.TryGet(name);
|
|
||||||
if (!info)
|
|
||||||
{
|
|
||||||
NETWORK_REPLICATOR_LOG(Error, "[NetworkReplicator] Unknown RPC {}::{} for object {}", String(msgData.RpcTypeName), String(msgData.RpcName), msgData.ObjectId);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Validate RPC
|
// Validate RPC
|
||||||
if (info->Server && NetworkManager::IsClient())
|
if (info->Server && NetworkManager::IsClient())
|
||||||
{
|
{
|
||||||
@@ -2192,7 +2194,7 @@ void NetworkInternal::OnNetworkMessageObjectRpc(NetworkEvent& event, NetworkClie
|
|||||||
// Execute RPC
|
// Execute RPC
|
||||||
info->Execute(obj, stream, info->Tag);
|
info->Execute(obj, stream, info->Tag);
|
||||||
}
|
}
|
||||||
else
|
else if(info->Channel != static_cast<uint8>(NetworkChannelType::Unreliable) && info->Channel != static_cast<uint8>(NetworkChannelType::UnreliableOrdered))
|
||||||
{
|
{
|
||||||
NETWORK_REPLICATOR_LOG(Error, "[NetworkReplicator] Unknown object {} RPC {}::{}", msgData.ObjectId, String(msgData.RpcTypeName), String(msgData.RpcName));
|
NETWORK_REPLICATOR_LOG(Error, "[NetworkReplicator] Unknown object {} RPC {}::{}", msgData.ObjectId, String(msgData.RpcTypeName), String(msgData.RpcName));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user