Method group is Obsolete

TargetRpcAttribute

class in UnityEngine.Networking

切换到手册
Obsolete

描述

这是一个可添加到 NetworkBehaviour 类的方法上,以允许它们能够从服务器的客户端上调用的属性。与 ClientRpc 属性不同,这些函数在单个目标客户端上调用,而不是在所有准备就绪的客户端上调用。

[TargetRpc] 函数由服务器上的用户代码调用,然后在指定 NetworkConnection 的客户端上的相应客户端对象上调用。RPC 调用的参数通过网络进行了序列化,因此客户端函数可使用与服务器上的函数相同的值进行调用。这些函数必须以前缀“Target”开头,并且不能为静态。

TargetRpc 函数的第一个参数必须是 NetworkConnection 对象。

using UnityEngine;
using UnityEngine.Networking;

public class Example : NetworkBehaviour { [TargetRpc] public void TargetDoMagic(NetworkConnection target, int extra) { Debug.Log("Magic = " + (123 + extra)); }

[Command] void CmdTest() { TargetDoMagic(connectionToClient, 55); } }

允许的参数类型为:

• 基本类型(byte、int、float、string 和 UInt64 等)\ • 内置 Unity 数学类型(Vector3、四元数等)\ • 基本类型数组\ • 包含允许类型的结构\ • NetworkIdentity \ • NetworkInstanceId\ • NetworkHash128\ • 附加 NetworkIdentity 组件的游戏对象。