using System.Collections.Generic; using System.ServiceModel; using NJDOTNET.Trivia; using NJDOTNET.Trivia.Data; namespace NJDOTNET.Trivia.Server { [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)] public class TriviaService : GameServer { public TriviaService() { System.Diagnostics.Debug.WriteLine("Starting server..."); } public override void NewGame() { System.Diagnostics.Debug.WriteLine("Creating new game..."); base.NewGame(); } public override void Start() { System.Diagnostics.Debug.WriteLine("Starting game..."); base.Start(); } public override AnswerSubmissionResponse SubmitAnswer(Answer answer) { System.Diagnostics.Debug.WriteLine("Received an answer!"); return base.SubmitAnswer(answer); } public override void RegisterPlayer(Player player) { base.RegisterPlayer(player); System.Diagnostics.Debug.WriteLine("Registered player: " + player.Name); } public override IGameClient GameClient { get { return OperationContext.Current.GetCallbackChannel(); } } protected override GameController CreateNewGameController() { // TODO: Switch to a better question provider // Just make a question provider with some dummy questions var questions = new List { new Question(1) {Text = "Question #1"}, new Question(2) {Text = "Question #2"}, new Question(3) {Text = "Question #3"} }; var questionProvider = new QuestionProvider(questions); var game = new Game(questionProvider); return new TestGameController(game); } } }