//tips
//photonの生成順序の同期
生成に順序づけを行なった場合一つのクローンが生成されて場合があるのでそちらを調整する。
基本的には2つのクローンが生成されるが、画面撮影をしている時にはなぜか一つのクローンしか生成されない。生成されているクローンのphotonviewismineを確認すると2番目のクローンが生成されていないよう。
コンソールのデバッグの流れを見ていくと、
ポイントがのったimageからキャラクター識別番号を取得するBeforeChararabbitのPUNメソッド実行命令
クリック時にカウント数を計算する際のDebug.Log(lobbyPlayerMaxCount);
カウントによる役割振り分け後にキャラクター番号からキャラクターを生成する際のDebug.Log("Charachois" + chara);
そして、PUNメソッド実行命令でキャラクター番号を入手する際のDebug.Log("rabbit");
[PunRPC]
public void Chararabbit(string id)
{
if (id == PhotonNetwork.LocalPlayer.UserId)
{
chara = 1;
Debug.Log("rabbit");
}
}
が実行されており、キャラクターの生成処理の際にはキャラクター番号が0のため生成されていない。pc負荷が重くなるとPUNの処理にも遅れが生じ、それがキャラクター生成にも影響を及ぼしてそう。
そもそもchara識別数値は個別シーンで役割は完結しているのでphotonで共有する必要はないように思われるのでそこを変更。
シンプルに下記の記述に変更して実行。
public void BeforeChararabbit()
{
chara = 1;
Debug.Log("chararabbit");
}
無事にシーン録画し、負荷が重くなってもキャラクターを正常通り2体生成することができた。
ここからはcharaUIchange2により表示されるPCharaUIBlue/RedのキャラクターUI表示選択反映に移っていく。
PCharaUIBlue/Redの部分に今まで作成したキャラクターのボタンを落とし込めれば良い。その際にはUIChuman/UICwolfタグもきちんと設定する。
ここではDeerCanvas内のPcharaUIDeerhuman/PcharaUIDeerwolf/MinimapImageをPCharaUIBlueに移動させる。
無事に反映できた。
ボタンも押してアクションを確認する。