using System; using NJDOTNET.Trivia; namespace NJDOTNET.Trivia.ServiceClient { /// /// The internal adapter from any IGameClient to an ITriviaServiceCallback /// internal class RemoteGameClient : IGameClient, TriviaService.IGameServerCallback { private readonly IGameClient _gameClient; public RemoteGameClient(IGameClient gameClient) { _gameClient = gameClient; _gameClient.OnGameEnd += OnGameEnd; _gameClient.OnGameStart += OnGameStart; _gameClient.OnQuestionChanged += OnQuestionChanged; } public event EventHandler> OnGameEnd; public event EventHandler> OnGameStart; public event EventHandler> OnQuestionChanged; public void HandleGameStart(Game game) { _gameClient.HandleGameStart(game); } public void HandleGameEnd(GameSummary summary) { _gameClient.HandleGameEnd(summary); } public void HandleQuestionChanged(Question question) { _gameClient.HandleQuestionChanged(question); } } }