booth商品でprice guessやりたい2
みんな元気か?
複数インスタンスの構想
まったく完璧とは思えないが、物量で解決する。
自サーバーへのアクセス先を増やして、
部屋(インスタンス)を割り当てる作戦。
マスター
空き部屋が決まるまで、スポーンポイントに閉じ込める。
インスタンスマスターが、空き部屋番号を自サーバーに問い合わせる。
空き部屋があれば、スポーンポイントの壁が消える。
部屋番号に対応したボタンだけを、アクティブにする。
空き部屋がなければ問い合わせをやり直す。
マスター以外
部屋番号、roomIDは[UdonSynced]を付ける。
インスタンスに入ったら、マスターに部屋番号を問い合わせる。
部屋が決まってなければ、マスターに問い合わせ続ける。
部屋が確定したら、スポーンポイントの壁が消える。
部屋番号に対応したボタンだけを、アクティブにする。
マスターへの問い合わせの同期メモ
// roomID同期させる
public void roomIDsync(){
RequestSerialization();
}
SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, "roomIDsync");
動作のタイミングのずれ
インスタンスマスターjoin後、遅れてjoinした場合、
booth読み取りギミックが、約7秒のサイクルタイムで動作しているので、
ボタンが押されてからの処理が7秒ほど遅れてしまうことがある。
まずは、1サイクルタイム毎にインスタンスマスターのサイクルタイムに同期させることにした。
値段の入力パッド
誰か各プレイヤーでの同期の方法教えてくれや。
個人にオブジェクト割り当てて、オブジェクトオーナーになるんかな?