Как правильно дождаться второго игрока перед запуском симуляции?C#

Место общения программистов C#
Ответить
Anonymous
 Как правильно дождаться второго игрока перед запуском симуляции?

Сообщение Anonymous »

Я использую Photon Quantum 3.x в Unity.
Я хочу начать многопользовательскую игру только тогда, когда присоединился второй игрок, чтобы симуляция Quantum не запускалась, когда есть только один подключенный клиент.
Мой текущий процесс:
  • Подключитесь к комнате Photon с помощью MatchmakingExtensions.ConnectToRoomAsync
  • Запустите Quantum с помощью SessionRunner.StartAsync
  • Добавьте игроков с помощью Runner.Game.AddPlayer
Проблема в том, что Квантовая симуляция запускается сразу при первом запуске игрок присоединяется к комнате.

Что я пробовал (НЕ сработало)
Я пробовал дождаться второго игрока перед запуском Quantum, например:

Код: Выделить всё

Client = await MatchmakingExtensions.ConnectToRoomAsync(args);

while (Client.CurrentRoom.PlayerCount < 2) {
await Task.Delay(200);
}

Runner = (QuantumRunner)await SessionRunner.StartAsync(sessionArgs);
Это не работает, первый клиент застревает в ожидании навсегда (Client.CurrentRoom.PlayerCount остается равным 1, даже если второй игрок уже присоединился к той же комнате)...


Подробнее здесь: https://stackoverflow.com/questions/798 ... simulation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»