@Ezekiel4
Охотник на пиратов и сборщик монолитов

Как проверить параметры комнаты Photon Network, в которую игрок собирается войти?

По логике проекта комнатам задаётся ряд параметров, среди которых есть "ставка" - некоторое количество денег, которое игрок выиграет или проиграет по итогу партии. А сам игрок должен иметь возможность войти в комнату по коду (названию). Происходит это так:

// вызывается по нажатию кнопки
public void TryJoinGame() {
	PhotonNetwork.JoinRoom(roomTitle);
}

// вызывается, когда нужная комната не существует или заполнилась
public override void OnJoinRoomFailed(short returnCode, string message) {
	// warn : cant join room
}

// вызывается, когда присоединился к комнате
public override void OnJoinedRoom() {
	PhotonNetwork.LoadLevel(targetGameSceneIndex);
}

Колбек OnJoinedRoom не передаёт параметров комнаты, потому не ясно как проверить её данные. В параметрах RoomOptions.CustomRoomProperties есть значение, хранящее, в том числе, ставку:

private Hashtable Properties() {
	return new Hashtable() {{ "properties", mode.ToString() + ";" +
		type.ToString() + ";" + payoutCoins.ToString() }};
}

Но можно ли как-нибудь получить к ним доступ, и, желательно, до присоединения к комнате, чтобы не трогать логику колбеков выхода из комнаты?

UPD. Я использую Photon's PUN2, поэтому мне не доступна функция PhotonNetwork.GetRoomList(), с посощью которой можно было бы перебрать все комнаты, найти нужные и проверить параметры.
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы