Страница 1 из 1

Одновременное подключение игроков в один бой

СообщениеДобавлено: 22 июн 2018, 09:38
lol
Допустим есть UNET и есть игроки, которые находят друг друга через NetworkDiscovery. Проблема в том, что бродкаст может либо слушать, либо излучать. И когда два человека одновременно нажимают "начать игру" они одновременно сначала проверяют: если никто до этого ничего мне не присылал как слушателю, то я создаю хост. И получаются, что они оба создают свой хост(бой). А надо бы, как то их поместить в один бой.

Re: Одновременное подключение игроков в один бой

СообщениеДобавлено: 22 июн 2018, 21:01
v319
Можно спользовать lock{} - конструкцию : в этом случае будет полная уверенность в том, что они не смогут сделать лобби одновременно
MSDN

Re: Одновременное подключение игроков в один бой

СообщениеДобавлено: 22 июн 2018, 21:10
seaman
Это изучали?
https://docs.unity3d.com/Manual/UNetLobby.html
С этим разбирались?
https://forum.unity.com/threads/multipl ... ks.366429/
Можно спользовать lock{}

Хотите на несколько секунд повесить игру?

Re: Одновременное подключение игроков в один бой

СообщениеДобавлено: 22 июн 2018, 21:15
ilkalawson
v319 писал(а):Можно спользовать lock{} - конструкцию : в этом случае будет полная уверенность в том, что они не смогут сделать лобби одновременно
MSDN

:ymapplause: вы сами то хоть читали что там по ссылке?

Re: Одновременное подключение игроков в один бой

СообщениеДобавлено: 23 июн 2018, 03:18
v319
Хотите на несколько секунд повесить игру?

Корутина не ?

:ymapplause: вы сами то хоть читали что там по ссылке?

Нет, на халяву кинул

Re: Одновременное подключение игроков в один бой

СообщениеДобавлено: 23 июн 2018, 09:19
lol
Каким образом лок потока может помочь в проблеме создания одновременно 2 хостов на 2 разных компах?
Лобби на базе нетворк менеджера.

Оказалось что фразу "Note that you cannot have a Network Discovery server and client running in the same process at the same time." можно разрулить, если повесить network discovery на 2 разных GameObject.