Как правильно дождаться второго игрока перед запуском симуляции?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

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