# 【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();
# RemoteRole
GetRemoteRole函数返回调用该函数的角色在网络游戏中的远程角色扮演(ENetRole类型),即确定该角色在远程客户端的角色。
APawn* pawn;
// 获取 ENetRole
ENetRole RemoteRole = pawn->GetRemoteRole();