booth商品でprice guessやりたい2

みんな元気か?


複数インスタンスの構想

まったく完璧とは思えないが、物量で解決する。
自サーバーへのアクセス先を増やして、
部屋(インスタンス)を割り当てる作戦。

マスター

  1. 空き部屋が決まるまで、スポーンポイントに閉じ込める。

  2. インスタンスマスターが、空き部屋番号を自サーバーに問い合わせる。

  3. 空き部屋があれば、スポーンポイントの壁が消える。

  4. 部屋番号に対応したボタンだけを、アクティブにする。

  5. 空き部屋がなければ問い合わせをやり直す。

マスター以外

部屋番号、roomIDは[UdonSynced]を付ける。

  1. インスタンスに入ったら、マスターに部屋番号を問い合わせる。

  2. 部屋が決まってなければ、マスターに問い合わせ続ける。

  3. 部屋が確定したら、スポーンポイントの壁が消える。

  4. 部屋番号に対応したボタンだけを、アクティブにする。

マスターへの問い合わせの同期メモ

    // roomID同期させる
    public void roomIDsync(){
        RequestSerialization();
    }
SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, "roomIDsync");

動作のタイミングのずれ

インスタンスマスターjoin後、遅れてjoinした場合、
booth読み取りギミックが、約7秒のサイクルタイムで動作しているので、
ボタンが押されてからの処理が7秒ほど遅れてしまうことがある。
まずは、1サイクルタイム毎にインスタンスマスターのサイクルタイムに同期させることにした。

値段の入力パッド

誰か各プレイヤーでの同期の方法教えてくれや。
個人にオブジェクト割り当てて、オブジェクトオーナーになるんかな?