Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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();
            }
        }