1. [Client]
标记一个方法,使其仅在客户端运行。如果在服务器上尝试调用这个方法,它将不会执行任何操作。
2. [ClientCallback]
与 [Client]类似,但是这是一个回调方法,用于客户端事件。
3. [Server]
标记一个方法,使其仅在服务器上运行。如果在客户端上尝试调用这个方法,它将不会执行任何操作。
4. [Command]
标记一个方法作为命令 (Command)。命令是从客户端发送到服务器的方法,常用于告诉服务器客户端的动作或意图,例如移动、攻击等。
5. [TargetRpc]
标记一个方法作为目标远程过程调用 (Target RPC)。这允许服务器调用连接到服务器的特定客户端的方法。
6. [ClientRpc]
标记一个方法作为客户端远程过程调用 (Client RPC)。这允许服务器调用所有连接到服务器的客户端的方法。
7. [SyncVar]
用于标记一个字段,使其在服务器上的值自动同步到所有连接的客户端。当这个字段的值在服务器上改变时,所有客户端的这个字段的值也会自动更新。
[Client]
void ClientMethod()
{
// 这个方法只会在客户端上运行
}
[Server]
void ServerMethod()
{
// 这个方法只会在服务器上运行
}
[Command]
void CmdDoSomething()
{
// 这个命令在客户端上调用,但在服务器上执行
}
[ClientRpc]
void RpcUpdateUI()
{
// 这个 RPC 在服务器上调用,但在所有客户端上执行,用于更新 UI 或其他客户端状态
}
[SyncVar]
int health;
// 这个字段的值会自动在服务器和所有客户端之间同步的信息。