void CScriptbind_Entity::RemoteInvocation(EntityId entityId, EntityId targetId, mono::string methodName, mono::object args, ERMInvocation target, int channelId) { CRY_ASSERT(entityId != 0); IGameObject *pGameObject = gEnv->pGameFramework->GetGameObject(entityId); CRY_ASSERT(pGameObject); CMonoEntityExtension::RMIParams params(*args, ToCryString(methodName), targetId); if(target & eRMI_ToServer) pGameObject->InvokeRMI(CMonoEntityExtension::SvScriptRMI(), params, target, channelId); else pGameObject->InvokeRMI(CMonoEntityExtension::ClScriptRMI(), params, target, channelId); }
void CScriptbind_ActorSystem::RemoteInvocation(EntityId entityId, EntityId targetId, mono::string methodName, mono::object args, ERMInvocation target, int channelId) { CRY_ASSERT(entityId != 0); IGameObject *pGameObject = static_cast<CScriptSystem *>(GetMonoScriptSystem())->GetIGameFramework()->GetGameObject(entityId); CRY_ASSERT(pGameObject); CMonoEntityExtension::RMIParams params(args, ToCryString(methodName), targetId); if(target & eRMI_ToServer) pGameObject->InvokeRMI(CMonoActor::SvScriptRMI(), params, target, channelId); else pGameObject->InvokeRMI(CMonoActor::ClScriptRMI(), params, target, channelId); }