Я добавляю новую функцию в нашу игру. Я хотел бы дать игрокам возможность приглашать своих друзей в комнату.
Точное описание функции выглядит следующим образом: игрок A создает комнату и приглашает игрока B присоединиться, игрок B должен выполнить следующие условия, чтобы увидеть приглашение: 1. является другом игрока A в facebook. 2. онлайн. и внутри вестибюля.
Для этого я использую следующий подход: я использую PlayFab для сохранения данных игроков и онлайн-статуса. При первом входе пользователя в систему с помощью Facebook создается запись PlayFab для этого плеера, эта запись включает список друзей Facebook и статус в сети среди других данных (статус онлайн для каждого игрока обновляется с помощью обратных вызовов OnDisconnectedFromPhoton и OnJoinedLobby)
Когда игрок A нажимает кнопку приглашения внутри комнаты, отображается список его друзей в сети (получить список друзей из Facebook -> проверить записи PlayFab, чтобы узнать их статус в сети -> показать друзей из Facebook, которые находятся в сети). Затем игрок выбирает друзей, которых он хочет пригласить.
Это та часть, с которой у меня проблемы. Есть ли способ отправить этому игроку в лобби сообщение-приглашение, в котором указаны номер комнаты и приглашенный идентификатор пользователя? Например, я думаю о том, чтобы отправить сообщение всем игрокам в лобби, а затем показать его только игроку B (показать сообщение, если userId включен в сообщение == player B userId). Но я надеюсь, что есть более эффективное решение, потому что посылать сообщение всем игрокам в лобби каждый раз при отправке приглашения кажется излишним!
Можете ли вы придумать лучший подход для этого?