これは、サーバー側からクライアント側にある NetworkBehaviour のメソッドの実行を許可するために使用される属性です。
[ClientRPC] 関数は UNET サーバー上のユーザーが実装したコードによって呼び出されます。そして、対応するクライアント上のオブジェクトに対し起動します。RPC コールの引数はネットワークを通してシリアライズされ、そのため、クライアント関数は、サーバー上の関数と同じ値で起動します。これらの関数は接頭辞 "Rpc" を付ける必要があります。
#pragma strict public class Example extends NetworkBehaviour { var counter: int; @ClientRpc public function RpcDoMagic(extra: int) { Debug.Log("Magic = " + (123 + extra)); } function Update() { counter += 1; if (counter % 100 == 0 && NetworkServer.active) { RpcDoMagic(counter); } } }
using UnityEngine; using UnityEngine.Networking;
public class Example : NetworkBehaviour { int counter; [ClientRpc] public void RpcDoMagic(int extra) { Debug.Log ("Magic = " + (123 + extra)); } void Update () { counter += 1; if (counter % 100 == 0 && NetworkServer.active) { RpcDoMagic(counter); } } }
channel | RPC 送信で使用するチャンネル ID |