Unity Photon 自分以外のPlayerのCanvasが混じらないようにしたい。
UnityのPhotonを使って人狼型オンラインゲームを作ろうとしています。
役職をそれぞれのPlayerに与えるまではよかったのですが、それをそれぞれのPlayerの画面に表示すると、役職が正しく表示されません。
エラーは発生していません。
該当のソースコード
C#
1public PhotonView photonView; 2public GameObject jobUI; 3 4if(!photonView.isMine) { 5 jobUI.SetActive(false); 6} else { 7 jobUI.SetActive(true); 8} 9 10 11public IEnumerator JobOnGUI(GameObject player) 12{ 13 jobUI.SetActive(true); 14 yield return new WaitForSeconds(5f); 15 Text jobText = jobUI.transform.Find("JobText").GetComponent<Text>(); 16 jobText.text = player.GetComponent<PlayerController>().GetJob().ToString(); 17}
初心者なのでかなり書式がぐちゃぐちゃです。
試したこと
PhotonViewのついたPlayerのプレハブの子要素に役職表示用のUIを入れて、Instantiateしています。
photonViewにはPlayerについているものを入れて、jobUIには、Canvasの子要素にあるPanelを入れています。Panelの子要素にJobTextがあります。
JobTextのtextには、PlayerController(プレーヤー制御用のスクリプト)の役職の列挙型をそのまま入れています。
GameManagerのほうで役職の設定は行い(ここも正しく機能している)、このコルーチンを呼び出しています。
###結果
それぞれのプレイヤーのjobTextには、正しい役職が入っているのですが、実際に表示されている役職が違います。
補足情報(FW/ツールのバージョンなど)
Unity 2020.3.24.f1