using System.Collections.Generic; using System.Runtime.Serialization; namespace NJDOTNET.Trivia { [DataContract] public class Game { protected readonly IQuestionProvider questionProvider; [DataMember] public int Id { get; internal set; } [DataMember] private readonly List players = new List(); public virtual IEnumerable Players { get { return players; } } [DataMember] public string Name { get; set; } internal Game() { } public Game(IQuestionProvider questionProvider) { this.questionProvider = questionProvider; } public virtual void AddPlayer(Player player) { if (!players.Contains(player)) players.Add(player); } public virtual Question NextQuestion() { return questionProvider.NextQuestion(); } } }