ルーム情報の更新

ルームの現在のオーナーは、そのプロパティの一部を変更することもできます。

void SetRoom(long roomId, RoomProperties roomProperties, RoomSetEventHandler handler, FailureEventHandler failureHandler, RequestConfig config = null)
void SetRoom(long roomId, IDictionary<string, object> roomProperties, RoomSetEventHandler handler, FailureEventHandler failureHandler, RequestConfig config = null)

コード例

using SoftGear.Strix.Unity.Runtime;
using UnityEngine;

public class StrixSetRoomTest : MonoBehaviour
{
    void Start()
    {
        var strixNetwork = StrixNetwork.instance;

        // これは仮の値です。実際のアプリケーションIDに変更してください
        // Strix Cloudのアプリケーション情報タブにあります: https://www.strixcloud.net/app/applist
        strixNetwork.applicationId = "00000000-0000-0000-0000-000000000000";

        // まずマスターサーバーに接続します
        strixNetwork.ConnectMasterServer(
            // これは仮の値です。実際のマスターホスト名に変更してください。
            // Strix Cloudのアプリケーション情報タブにあります: https://www.strixcloud.net/app/applist
            host: "000000000000000000000000.game.strixcloud.net",
            connectEventHandler: _ => {
                Debug.Log("Connection established.");

                // マスターサーバーに接続した後でルームを作成できます
                strixNetwork.CreateRoom(
                    roomProperties: new RoomProperties {
                        name = "Wildwood",
                        password = "66e3f2nk",                          // このルームはパスワードで保護されるため、パスワードのないクライアントは参加できません
                        capacity = 20                                   // ルームが保持できるクライアントの最大数
                    },
                    memberProperties: new RoomMemberProperties {
                        name = "Artemis"                                // これがプレイヤーの名前になります
                    },
                    handler: __ => {
                        Debug.Log("Room created. Current capacity: " + strixNetwork.room.GetCapacity());

                        // ルームを作成したので、その定員(capacity)を変更してみましょう
                        strixNetwork.SetRoom(
                            roomId: strixNetwork.roomSession.room.GetPrimaryKey(),   // 現在のルームのIDです
                            roomProperties: new RoomProperties {
                                capacity = 15                                        // capacityを20から15に変更します
                            },
                            handler: setRoomResult => Debug.Log("Capacity changed. Current capacity: " + strixNetwork.room.GetCapacity()),  // 新しいcapacityを出力します
                            failureHandler: setRoomError => Debug.LogError("Search failed. Reason: " + setRoomError.cause)
                        );
                    },
                    failureHandler: createRoomError => Debug.LogError("Could not create room. Reason: " + createRoomError.cause)
                );
            },
            errorEventHandler: connectError => Debug.LogError("Connection failed. Reason: " + connectError.cause)
        );
    }
}

注釈

applicationIdhostの仮の値を、忘れずにStrix Cloudのアプリケーション情報タブにある実際の値に変更してください。