private async Task ListenChat(GameService.GameServiceClient client, Channel channel) { try { using (var call = client.ListenChat(new Empty())) using (var chatStream = call.ResponseStream) { while (await chatStream.MoveNext(channel.ShutdownToken)) { ChatMessageRecived?.Invoke(chatStream.Current.Nickname, chatStream.Current.StickerID); } } } catch (Exception e) { Debug.LogError(e); throw; } }
private void OnChatMessageRecived(string nickname, int stickerID) { ChatMessageRecived?.Invoke(nickname, stickerID); }