public WCFGameInfo ToWCFGameInfo() { WCFGameInfo result = new WCFGameInfo(); result.Step = this.Step; result.Turn = this.Turn; result.Barbarian = this.Barbarian; result.Battle = this.Battle == null ? null : this.Battle.ToWCFBattle(); result.Garrison = new List <WCFGarrison>(); foreach (var item in this.Garrison) { result.Garrison.Add(item.ToWCFGarrison()); } result.VesterosDecks = new List <WCFVesterosDecks>(); foreach (var item in VesterosDecks.Where(p => p.IsFull)) { result.VesterosDecks.Add(item.ToWCFVesterosDecks()); } return(result); }