public void SetFromClone(GameState clone) { VictoryPoints = clone.VictoryPoints; Money = clone.Money; NumberOfRounds = clone.NumberOfRounds; ResidualMoney = clone.ResidualMoney; RemainingBonusActions = clone.RemainingBonusActions; Round = clone.Round; Hand.SetFromClone(clone.Hand, Entities); VineDeck.SetFromClone(clone.VineDeck, Entities); OrderDeck.SetFromClone(clone.OrderDeck, Entities); AutomaDeck.SetFromClone(clone.AutomaDeck, Entities); SummerVisitorDeck.SetFromClone(clone.SummerVisitorDeck, Entities); WinterVisitorDeck.SetFromClone(clone.WinterVisitorDeck, Entities); Yoke.SetFromClone(clone.Yoke, Entities); Trellis.SetFromClone(clone.Trellis, Entities); Cottage.SetFromClone(clone.Cottage, Entities); Windmill.SetFromClone(clone.Windmill, Entities); Irigation.SetFromClone(clone.Irigation, Entities); LargeCellar.SetFromClone(clone.LargeCellar, Entities); TastingRoom.SetFromClone(clone.TastingRoom, Entities); MediumCellar.SetFromClone(clone.MediumCellar, Entities); Field1.SetFromClone(clone.Field1, Entities); Field2.SetFromClone(clone.Field2, Entities); Field3.SetFromClone(clone.Field3, Entities); Grande.SetFromClone(clone.Grande, Entities); NeutralWorker.SetFromClone(clone.NeutralWorker, Entities); for (var i = 0; i < 5; i++) { _workers[i].SetFromClone(clone.Workers.ElementAt(i), Entities); } for (int i = 0; i < 9; i++) { _redGrapes[i].SetFromClone(clone._redGrapes[i], Entities); } for (int i = 0; i < 9; i++) { _whiteGrapes[i].SetFromClone(clone._whiteGrapes[i], Entities); } for (int i = 0; i < 9; i++) { _redWines[i].SetFromClone(clone._redWines[i], Entities); } for (int i = 0; i < 9; i++) { _whiteWines[i].SetFromClone(clone._whiteWines[i], Entities); } for (int i = 0; i < 6; i++) { _blushWines[i].SetFromClone(clone._blushWines[i], Entities); } for (int i = 0; i < 3; i++) { _sparklingWines[i].SetFromClone(clone._sparklingWines[i], Entities); } }