# 【ENetRole】

ENetRole是Unreal Engine中用于描述Actor角色的枚举类型。

它表示一个Actor在网络游戏中的角色扮演,可以是客户端、服务器或者既是客户端又是服务器。

ENetRole可以帮助开发人员确定在多人游戏中不同的Actor扮演的角色,以便正确处理网络同步和授权。

具有以下枚举值:

  • ENetRole::ROLE_Authority
  • ENetRole::ROLE_SimulatedProxy
  • ENetRole::ROLE_AutonomousProxy
  • ENetRole::ROLE_None

Authority:表示Actor是服务器上的权威性实例,负责执行游戏逻辑并同步状态到客户端。

SimulatedProxy:表示Actor是一个在客户端上模拟并通过网络同步的代理。通常用于在客户端上进行状态预测和插值。

AutonomousProxy:表示Actor是在客户端上进行独立模拟并通过网络同步的代理。通常用于由客户端独立控制的Actor。

None:表示Actor没有网络角色。通常用于未参与网络同步的Actor或临时性Actor。

# LocalRole

GetLocalRole函数返回的角色扮演是在本地(当前客户端)进行模拟和控制的角色(ENetRole类型)。

APawn* pawn;
// 获取 ENetRole
ENetRole LocalRole = pawn->GetLocalRole();

Markdown 图片

Markdown 图片

# RemoteRole

GetRemoteRole函数返回调用该函数的角色在网络游戏中的远程角色扮演(ENetRole类型),即确定该角色在远程客户端的角色。

APawn* pawn;
// 获取 ENetRole
ENetRole RemoteRole = pawn->GetRemoteRole();

Markdown 图片

Markdown 图片