private void BindModels() { _models = new ModelRegistry(); _models.Bind <Service.ICardTemplateService, CardTemplateService>(new CardTemplateService()); _models.Bind <IBoardModel, BoardModel>(new BoardModel(8, 8)); _models.Bind <IArbiterModel, ArbiterModel>(new ArbiterModel()); _models.Bind <IEndTurnButtonModel, EndTurnButtonModel>(); _models.Bind <ICardModel, CardModel>(); _models.Bind <IDeckModel, DeckModel>(); _models.Bind <IHandModel, HandModel>(); _models.Bind <IPieceModel, PieceModel>(); _models.Bind <IPlayerModel, PlayerModel>(); _models.Bind <IPopupModel, PopupModel>(); _models.Resolve(); // make the required minimal components for a game _boardModel = _models.Get <IBoardModel>(); _arbiterModel = _models.Get <IArbiterModel>(); _whitePlayerModel = _models.Get <IPlayerModel>(EColor.White); _blackPlayerModel = _models.Get <IPlayerModel>(EColor.Black); // resolve any cycles of dependency for singletons, // as well as creates models used internally by other models. foreach (var model in _models.Instances.ToList()) { model.PrepareModels(); } }
protected virtual void SetupTest() { _reg = new Registry <IModel>(); _reg.Bind <Service.ICardTemplateService, Service.Impl.CardTemplateService>(new Service.Impl.CardTemplateService()); _reg.Bind <IBoardModel, BoardModel>(new BoardModel(8, 8)); _reg.Bind <IArbiterModel, ArbiterModel>(new ArbiterModel()); _reg.Bind <IWhitePlayerModel, WhitePlayerModel>(); _reg.Bind <IBlackPlayerModel, BlackPlayerModel>(); _reg.Bind <ICardModel, CardModel>(); _reg.Bind <IDeckModel, MockDeck>(); _reg.Bind <IHandModel, MockHand>(); _reg.Bind <IPieceModel, PieceModel>(); _reg.Bind <IEndTurnButtonModel, EndTurnButtonModel>(); _reg.Resolve(); _board = _reg.Get <IBoardModel>(); _arbiter = _reg.Get <IArbiterModel>(); _white = _reg.Get <IWhitePlayerModel>(); _black = _reg.Get <IBlackPlayerModel>(); foreach (var model in _reg.Instances.ToList()) { model.PrepareModels(); } }