Метод обратного вызова PUN для отключения локального клиента от всех серверов Photon: OnDisconnectedFromPhoton()
.Если этот метод вызывается, тогда локальный клиент должен сначала повторно подключиться к серверам Photon, чтобы иметь возможность вызывать любую другую операцию.
Метод обратного вызова PUN для случая, когда local клиент покинул комнату OnLeftRoom()
.Если этот метод вызывается, то локальный клиент больше не может вызывать какие-либо операции внутри комнаты, например SetProperties
, что вы пытаетесь сделать с помощью PhotonNetwork.room.SetCustomProperties
.
Обратный вызов PUNдля случая, когда удаленный клиент покинул комнату, используется OnPhotonPlayerDisconnected(PhotonPlayer player)
.
Логика, которую вы используете в ReleaseSlot
, не может быть выполнена после OnDisconnectedFromPhoton()
или OnLeftRoom()
.С другой стороны, если вы хотите позвонить по этому вопросу непосредственно перед тем, как игрок решит покинуть комнату, вы не будете обрабатывать случаи неожиданных отключений, когда игрок невольно покидает комнату.
Поэтому вам нужно изменитькак вы освобождаете игровые автоматы (или обновляете счет ?!), когда игрок покидает комнату.Вы должны сделать это от одного из оставшихся игроков, предпочтительно от основного клиента.Однако, когда комната становится пустой после ухода главного клиента, никто не останется звонить ReleaseSlot
.Конечно, это в том случае, если эту ситуацию нужно обработать.
Так что OnPhotonPlayerDisconnected
- хороший кандидат.
И если вы пропустили это, мой коллега Тобиас уже отправил комментарий к обсуждению, идентичный этому, который вы начали на официальном форуме Фотона .