コード例 #1
0
 public BoardDiceGameVM(CommandContainer commandContainer,
                        IEndTurn mainGame,
                        IDiceBoardGamesData viewModel,
                        BasicData basicData,
                        TestOptions test,
                        IGamePackageResolver resolver,
                        IStandardRollProcesses rollProcesses
                        ) : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
 {
     _rollProcesses = rollProcesses;
 }
コード例 #2
0
 public SimpleBoardGameVM(
     CommandContainer commandContainer,
     IEndTurn mainGame,
     ISimpleBoardGamesData viewModel,
     BasicData basicData,
     TestOptions test,
     IGamePackageResolver resolver) : base(commandContainer,
                                           mainGame,
                                           viewModel,
                                           basicData,
                                           test,
                                           resolver)
 {
 }
コード例 #3
0
        public BasicMultiplayerMainVM(CommandContainer commandContainer,
                                      IEndTurn mainGame,
                                      IViewModelData viewModel,
                                      BasicData basicData,
                                      TestOptions test,
                                      IGamePackageResolver resolver
                                      )
        {
            CommandContainer              = commandContainer;
            CommandContainer.IsExecuting  = true; //has to be proven false.
            CommandContainer.ManuelFinish = true;
            _mainGame  = mainGame;
            _viewModel = viewModel;
            _basicData = basicData;
            _test      = test;
            _resolver  = resolver;
            _viewModel.PropertyChanged += ViewModelPropertyChange;
            if (_basicData.MultiPlayer)
            {
                _network = Resolve <INetworkMessages>();
            }
            Type type          = GetType();
            var  ourProperties = type.GetPropertiesWithAttribute <VMAttribute>().ToCustomBasicList();

            if (ourProperties.Count == 0)
            {
                throw new BasicBlankException("There has to be at least one property on the list.  Rethink");
            }
            type = _viewModel.GetType();
            var vmProperties = type.GetPropertiesWithAttribute <VMAttribute>().ToCustomBasicList();

            vmProperties.ForEach(p =>
            {
                var o = ourProperties.Where(x => x.Name == p.Name).SingleOrDefault();
                var v = p;

                if (o != null)
                {
                    PropertyLink link = new PropertyLink();
                    link.VMProperty   = v;
                    link.OurProperty  = o;
                    _properties.Add(link);
                    //set the values as well.
                    o.SetValue(this, v.GetValue(_viewModel));
                }
            });
        }