API リファレンス
RS_RoomSystem スクリプトは、個々のルームのコアとなるスクリプトです。
以下は、RS_RoomSystem で利用可能な主要なパブリックメソッドのリファレンスです。独自のカスタムスクリプトを Room System と統合したい場合に役立ちます。
コアメソッド
これらのメソッドは、ルームの状態の初期化、リセット、ネットワーク同期を処理します。
Initialize(byte roomNumber, RS_ConfigUI configUI): このルームの同期状態、プレイヤーリスト、および関連するユーザーインターフェースを初期化します。Reset(): ルームのネットワーク設定とプレイヤーリストを、デフォルトの空の状態に復元します。SyncRoomSystem(): 現在の状態からルームの UI を更新し、ルームのメンバーシップが変更されたときにローカルプレイヤーをテレポートします。
ゲッター
これらのメソッドを使用して、ルームを変更せずに現在の状態を読み取ります。
GetIsLocked(): ルームがロックされているかどうかを取得します。ルームへの新規入室がロックされている場合にtrueを返します。GetIsAnon(): ルームの UI でプレイヤー名が非表示になっているかどうかを取得します。匿名モードが有効な場合にtrueを返します。GetIsNotDisturb(): ルームの応答不可(do-not-disturb)モードが有効かどうかを取得します。GetEnteredRoom(): ローカルプレイヤーが現在このルーム内にいるとみなされているかどうかを取得します。GetPlayersCount(): 現在このルームに割り当てられているプレイヤーの数を取得します。IsPlayerInRoom(int playerId): プレイヤーがこのルームのメンバーとして登録されているかどうかを確認します。プレイヤーがルーム内にいる場合はtrueを、そうでない場合はfalseを返します。
セッターとアクション(ネットワーク同期)
これらのメソッドを使用すると、ルームの状態を変更できます。Room System は手動同期モードに依存しているため、これらのメソッドのほとんどは、自動的にネットワークの所有権を取得し、変数を更新し、ネットワーク全体でのシリアライズを要求します。
SetIsLocked(bool state): ルームのロック状態を設定し、所有権を取得して、変更を同期します。SetIsAnon(bool state): 匿名モードを設定し、所有権を取得して、変更を同期します。SetIsNotDisburb(bool state): 応答不可モードを設定し、所有権を取得して、変更を同期します。SetRoomText(string text): ルームに表示されるテキストを設定し、所有権を取得して、変更を同期します。SetRoomNumber(byte value): このルームのローカル識別子を設定します。AddPlayer(int playerId): プレイヤーをルームに追加し、プレイヤー数を更新して、変更を同期します。RemovePlayer(int playerId): プレイヤーをルームから削除し、ルームが空になったときに依存するシステムをリセットします。