Beispiel #1
0
        public BaseTest()
        {
            dal       = FakeDAL.OurFakeDal();
            underrail = d_Underrail.Generate(dal);
            var build = new Build {
                Name = "New Build", Game = underrail
            };

            dal.Save(build);
            manager = new BuildDefinitionManager(dal, underrail, build);
        }
        public MultiParamTypeViewModel(FakeDAL dal, BuildParameterType t, BuildDefinitionManager manager)
            : base(dal, t, manager)
        {
            // Edit defaults
            ChainChange      = false;
            CellChangeAmount = 1;
            TappedCell       = null;
            Increase         = new MvxCommand(() => Change(+CellChangeAmount));
            Decrease         = new MvxCommand(() => Change(-CellChangeAmount));

            // our params
            var oprms = dal.Get <BuildParameter>().Where(x => x.Type.id == t.id && x.Game.id == t.Game.id);

            // Set up cols, grouped
            IList <CHVM> grp = new List <CHVM>(), prm = new List <CHVM>();
            var          gg = oprms.GroupBy(x => x.Category);

            foreach (var pg in gg)
            {
                bool frs = true;
                foreach (var p in pg)
                {
                    grp.Add(frs ? new CHVM {
                        CSpan = pg.Count(), Name = pg.Key
                    } : null);
                    prm.Add(new CHVM {
                        CSpan = 1, Name = p.Name, Sub = true
                    });
                    frs = false;
                }
            }
            CHeaders = grp.Where(x => x != null && x.Name != null).Any() ? new[] { grp, prm }.ToList() : new[] { prm }.ToList();
            // cells, same order as col headers!
            var tapCommand = new MvxCommand <LevelParamViewModel>(lp =>
            {
                if (TappedCell != null)
                {
                    TappedCell.IsSelected = false;
                }
                lp.IsSelected = true;
                TappedCell    = lp;
                CanIncrease   = CanChange(+CellChangeAmount);
                CanDecrease   = CanChange(-CellChangeAmount);
            });
            var plk = oprms.ToDictionary(x => x.Name);

            Cells = Enumerable.Range(1, t.Game.MaxLevel)
                    .Select(l =>
                            prm.Select(x => new LevelParamViewModel(dal, plk[x.Name], l, manager.build, tapCommand))
                            .ToList() as IList <LevelParamViewModel>
                            )
                    .ToList();
        }
Beispiel #3
0
 public BuildViewModel(FakeDAL dal, Build build)
 {
     this.build     = build;
     this.dal       = dal;
     id             = build.id;
     Name           = build.Name;
     Game           = build.Game.Name;
     manager        = new BuildDefinitionManager(dal, build.Game, build);
     ParameterTypes = new MvxObservableCollection <ParamTypeViewModel>(dal.Get <BuildParameterType>()
                                                                       .Where(x => x.Game.id == build.Game.id)
                                                                       .Select(GetVM)).Concat(new[] { new Lolmodek(dal, new BuildParameterType {
             Game = build.Game, Name = "HAHA"
         }, manager) }).ToList();
 }
        public ParamTypeViewModel(FakeDAL dal, BuildParameterType t, BuildDefinitionManager manager)
        {
            this.dal     = dal;
            this.manager = manager;
            this.t       = t;
            Name         = t.Name;
            Type         = GetType().Name;

            var Popup = new MvxCommand <string>(s => StatusModal = s);

            ClosePopup = new MvxCommand(() => StatusModal = null);

            // Row Headers
            RHeaders = Enumerable.Range(1, t.Game.MaxLevel)
                       .Select(x =>
            {
                var xx = EvaluateLevelStats(manager.LevelStatus(t, x), x);
                return(new[] { new RHVM {
                                   Level = x, Status = xx.status, Icon = xx.icon, StatusTap = Popup
                               } }.ToList() as IList <RHVM>);
            })
                       .ToList();
            manager.ParameterChanged += EvaluateStatsAroundLevel;
        }
Beispiel #5
0
 public BinaryParamTypeViewModel(FakeDAL dal, BuildParameterType t, BuildDefinitionManager manager) : base(dal, t, manager)
 {
     Cells = Enumerable.Range(1, t.Game.MaxLevel)
             .Select(getLevel)
             .ToList();
 }
Beispiel #6
0
 public Lolmodek(FakeDAL dal, BuildParameterType t, BuildDefinitionManager manager) : base(dal, t, manager)
 {
 }