[Unity]PhotonのPUN2で任意のタイミングでメソッドを実行する


photonは有料だけど、簡単にマルチプレイの実装が出来るので好きなんですよね。

今はfusionという新しいプランがあるのですが、まだpun2を使ってるプロジェクトもございまして、任意のタイミングでメソッドを実行するスクリプトを書いてみたいと思います。

 

using UnityEngine;
using Photon.Pun;

public class PunTest : MonoBehaviourPunCallbacks
{
    void Start()
    {

    }

    void Update()
    {
        photonView.RPC("RPCTest", RpcTarget.All, "ぺろ~ん");
    }

    [PunRPC]
    void RPCTest(string str)
    {
        Debug.Log(str);
    }
}

実際のプロジェクトでこんな書き方はしないんですが、あくまで参考ということで……

このコードでは、Updateの度にphotonView.RPC(“RPCTest”, RpcTarget.All, “ぺろ~ん”);を実行して、RPCTestを呼び出しています。

RpcTarget.Allを指定しているので、ルーム内のプレイヤー全員がRPCTestを実行し、「ぺろーん」とデバックのログを出します。

いや、実際こんなケース無いけど、実際のプロジェクトのコードの一部を書こうかと思ったけど、中身見て「あっ、見せれない」と思ったので、ものすごく適当なコード書いてます。すんません。