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; }
public SimpleBoardGameVM( CommandContainer commandContainer, IEndTurn mainGame, ISimpleBoardGamesData viewModel, BasicData basicData, TestOptions test, IGamePackageResolver resolver) : base(commandContainer, mainGame, viewModel, basicData, test, resolver) { }
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)); } }); }