Exemplo n.º 1
0
        private static void SetAreas(Fallout4ChecklistContext context)
        {
            Areas = context.Areas
                    .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Armor.Select(a => a.ImagePath))))
                    .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Companions.Select(a => a.ImagePath))))
                    .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.OtherRewards)))
                    .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Settlements)))
                    .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Weapons.Select(a => a.ImagePath))))
                    .Include(x => x.Companions.Select(y => y.ImagePath))
                    .Include(x => x.Weapons.Select(y => y.ImagePath))
                    .Include(x => x.Weapons.Select(y => y.QuestStages))
                    .Include(x => x.Bobbleheads.Select(y => y.ImagePath))
                    .Include(x => x.Magazines.Select(y => y.ImagePath))
                    .Include(x => x.Armor.Select(y => y.Slots))
                    .Include(x => x.Armor.Select(y => y.Effects))
                    .Include(x => x.NPCS.Select(y => y.WeaponsSold.Select(z => z.ImagePath)))
                    .Include(x => x.NPCS.Select(y => y.WeaponsWorn.Select(z => z.ImagePath)))
                    .Include(x => x.NPCS.Select(y => y.ArmorSold.Select(z => z.Effects)))
                    .Include(x => x.NPCS.Select(y => y.ArmorSold.Select(z => z.Slots)))
                    .Include(x => x.NPCS.Select(y => y.ArmorWorn.Select(z => z.Effects)))
                    .Include(x => x.NPCS.Select(y => y.ArmorWorn.Select(z => z.Slots)))
                    .ToList();

            foreach (var area in Areas)
            {
                foreach (var npc in area.NPCS)
                {
                    npc.ArmorSold.ForEach(x => x.IsPurchased   = true);
                    npc.ArmorWorn.ForEach(x => x.IsWornByNPC   = true);
                    npc.WeaponsSold.ForEach(x => x.IsPurchased = true);
                    npc.WeaponsWorn.ForEach(x => x.IsWornByNPC = true);
                }
            }
        }
Exemplo n.º 2
0
        private static void SetWeaponMenuItems(Fallout4ChecklistContext context)
        {
            var weapons = context.Weapons
                          .Include(x => x.Merchants)
                          .Include(x => x.WornByCharacters)
                          .Include(x => x.QuestStages)
                          .Include(x => x.Areas)
                          .Where(x => x.IsMenuItem).ToList();

            var wTypes    = context.Set <WeaponSubType>().ToList();
            var subGroups = new List <MenuSubGroup>();

            foreach (var wType in wTypes)
            {
                var items    = weapons.Where(x => x.WeaponSubTypeID == wType.ID && x.WeaponTypeID == wType.WeaponTypeID);
                var subItems = new List <MenuItem>();

                foreach (var item in items)
                {
                    subItems.Add(new MenuItem(item));
                }

                var menuSubGroup = new MenuSubGroup(wType.WeaponTypeID + " - " + wType.ID, subItems);
                subGroups.Add(menuSubGroup);
            }

            var menuItem = new MenuGroup("Weapons", subGroups);

            MenuItems.Add(menuItem);
        }
        public static void SaveMenuSubItem(IMenuItem item)
        {
            using (var context = new Fallout4ChecklistContext())
            {
                IMenuItem match = (IMenuItem)context.Set(item.GetType()).Find(item.EntityKey);
                if (match == null)
                {
                    return;
                }

                match.IsChecked = item.IsChecked;
                context.SaveChanges();
            }
        }
Exemplo n.º 4
0
        private static void SetPowerArmorMenuItems(Fallout4ChecklistContext context)
        {
            var armor    = context.Set <Armor>().Where(x => x.IsMenuItem && x.IsPowerArmor).ToList();
            var subItems = new List <MenuItem>();

            foreach (var item in armor)
            {
                subItems.Add(new MenuItem(item));
            }

            var menuSubGroup = new MenuSubGroup("All", subItems);
            var menuItem     = new MenuGroup("Power Armor", menuSubGroup);

            MenuItems.Add(menuItem);
        }
Exemplo n.º 5
0
        private static List <ChecklistMagazine> GetChecklistMagazine(Fallout4ChecklistContext context)
        {
            var magazines = context.Set <Magazine>();
            var result    = new List <ChecklistMagazine>();

            foreach (var item in magazines)
            {
                result.Add(new ChecklistMagazine()
                {
                    Magazine = item
                });
            }

            return(result);
        }
Exemplo n.º 6
0
        private static List <ChecklistCompanion> GetChecklistCompanion(Fallout4ChecklistContext context)
        {
            var companions = context.Companions;
            var result     = new List <ChecklistCompanion>();

            foreach (var item in companions)
            {
                result.Add(new ChecklistCompanion()
                {
                    Companion = item
                });
            }

            return(result);
        }
Exemplo n.º 7
0
        private static List <ChecklistWeapon> GetChecklistWeapon(Fallout4ChecklistContext context)
        {
            var weapons = context.Weapons.Where(x => x.IsMenuItem);
            var result  = new List <ChecklistWeapon>();

            foreach (var item in weapons)
            {
                result.Add(new ChecklistWeapon()
                {
                    Weapon = item
                });
            }

            return(result);
        }
Exemplo n.º 8
0
        private static List <ChecklistArmor> GetChecklistArmor(Fallout4ChecklistContext context)
        {
            var armor  = context.Armor.Where(x => x.IsMenuItem);
            var result = new List <ChecklistArmor>();

            foreach (var item in armor)
            {
                result.Add(new ChecklistArmor()
                {
                    Armor = item
                });
            }

            return(result);
        }
Exemplo n.º 9
0
        private static List <ChecklistQuest> GetChecklistQuest(Fallout4ChecklistContext context)
        {
            var quests = context.Set <Quest>();
            var result = new List <ChecklistQuest>();

            foreach (var item in quests)
            {
                result.Add(new ChecklistQuest()
                {
                    Quest = item
                });
            }

            return(result);
        }
Exemplo n.º 10
0
        private static List <ChecklistBobblehead> GetChecklistBobblehead(Fallout4ChecklistContext context)
        {
            var bobbleheads = context.Set <Bobblehead>();
            var result      = new List <ChecklistBobblehead>();

            foreach (var item in bobbleheads)
            {
                result.Add(new ChecklistBobblehead()
                {
                    Bobblehead = item
                });
            }

            return(result);
        }
Exemplo n.º 11
0
 private static void SetAreaPaths(Fallout4ChecklistContext context)
 {
     AreaPaths = context.Set <AreaPath>()
                 .Include(x => x.Area.Quests)
                 .Include(x => x.Area.Armor)
                 .Include(x => x.Area.Bobbleheads)
                 .Include(x => x.Area.Magazines)
                 .Include(x => x.Area.Companions)
                 .Include(x => x.Area.Weapons)
                 .Include(x => x.Area.NPCS.Select(y => y.ArmorSold))
                 .Include(x => x.Area.NPCS.Select(y => y.ArmorWorn))
                 .Include(x => x.Area.NPCS.Select(y => y.WeaponsSold))
                 .Include(x => x.Area.NPCS.Select(y => y.WeaponsWorn))
                 .ToList();
 }
Exemplo n.º 12
0
        private static void SetCompanionMenuItems(Fallout4ChecklistContext context)
        {
            var companions = context.Companions.Include(x => x.Area).ToList();
            var subItems   = new List <MenuItem>();

            foreach (var item in companions)
            {
                var menuSubItem = new MenuItem(item);
                subItems.Add(menuSubItem);
            }

            var menuSubGroup = new MenuSubGroup("All", subItems);
            var menuItem     = new MenuGroup("Companions", menuSubGroup);

            MenuItems.Add(menuItem);
        }
Exemplo n.º 13
0
        private static void SetQuests(Fallout4ChecklistContext context)
        {
            QuestTypes = context.QuestTypes
                         .Include(x => x.Quests.Select(y => y.QuestStages))
                         .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Armor.Select(a => a.Slots))))
                         .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Armor.Select(a => a.Effects))))
                         .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Companions)))
                         .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.NPCs)))
                         .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.OtherRewards)))
                         .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Settlements)))
                         .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Weapons)))
                         .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.NextQuestStages)))
                         .OrderBy(x => x.DisplayOrder)
                         .ToList();

            Quests = QuestTypes.SelectMany(x => x.Quests).OrderBy(x => x.DisplayOrder).ToList();
        }
Exemplo n.º 14
0
 public static void Initialize()
 {
     MenuItems = new List <MenuGroup>();
     using (var context = new Fallout4ChecklistContext())
     {
         SetChecklists(context);
         SetAreas(context);
         SetAreaPaths(context);
         SetQuests(context);
         SetBobbleheadMenuItems(context);
         SetMagazineMenuItems(context);
         SetWeaponMenuItems(context);
         SetArmorMenuItems(context);
         SetPowerArmorMenuItems(context);
         SetCompanionMenuItems(context);
     }
 }
        public static void UpdateQuestCompleted(Quest quest)
        {
            using (var context = new Fallout4ChecklistContext())
            {
                var dbMatch = context.Quests
                              .Include(x => x.QuestStages.Select(y => y.Armor))
                              .Include(x => x.QuestStages.Select(y => y.Weapons))
                              .Include(x => x.QuestStages.Select(y => y.Companions))
                              .FirstOrDefault(x => x.ID == quest.ID);

                if (dbMatch == null)
                {
                    return;
                }
                dbMatch.Completed = quest.IsChecked;
                dbMatch.ArmorRewards.ForEach(x => x.IsChecked     = quest.IsChecked);
                dbMatch.WeaponRewards.ForEach(x => x.IsChecked    = quest.IsChecked);
                dbMatch.CompanionRewards.ForEach(x => x.IsChecked = quest.IsChecked);

                context.SaveChanges();
            }
        }
Exemplo n.º 16
0
        public static Checklist Add(string name)
        {
            var checklist = new Checklist();

            checklist.Name        = name;
            checklist.DateCreated = DateTime.Now;
            checklist.DateDeleted = null;
            checklist.IsDeleted   = false;

            using (var context = new Fallout4ChecklistContext())
            {
                checklist.ArmorCollectedStatus.AddRange(GetChecklistArmor(context));
                checklist.WeaponCollectedStatus.AddRange(GetChecklistWeapon(context));
                checklist.CompanionCollectedStatus.AddRange(GetChecklistCompanion(context));
                checklist.MagazineCollectedStatus.AddRange(GetChecklistMagazine(context));
                checklist.BobbleheadCollectedStatus.AddRange(GetChecklistBobblehead(context));
                checklist.QuestCollectedStatus.AddRange(GetChecklistQuest(context));
                context.Checklists.Add(checklist);
                context.SaveChanges();
            }

            return(checklist);
        }
Exemplo n.º 17
0
        private static void SetMagazineMenuItems(Fallout4ChecklistContext context)
        {
            var magazines = context.Set <Magazine>().ToList();
            var mTypes    = context.Set <MagazineType>().ToList();
            var subGroups = new List <MenuSubGroup>();

            foreach (var mType in mTypes)
            {
                var items    = magazines.Where(x => x.MagazineTypeID == mType.ID);
                var subItems = new List <MenuItem>();

                foreach (var item in items)
                {
                    subItems.Add(new MenuItem(item));
                }

                var menuSubGroup = new MenuSubGroup(mType.ID, subItems);
                subGroups.Add(menuSubGroup);
            }

            var menuItem = new MenuGroup("Magazines", subGroups);

            MenuItems.Add(menuItem);
        }
Exemplo n.º 18
0
        private static void SetBobbleheadMenuItems(Fallout4ChecklistContext context)
        {
            var bobbleheads = context.Set <Bobblehead>().ToList();
            var bTypes      = context.Set <BobbleheadType>().ToList();
            var subGroups   = new List <MenuSubGroup>();

            foreach (var bType in bTypes)
            {
                var items    = bobbleheads.Where(x => x.BobbleheadTypeID == bType.ID);
                var subItems = new List <MenuItem>();

                foreach (var item in items)
                {
                    subItems.Add(new MenuItem(item));
                }

                var menuSubGroup = new MenuSubGroup(bType.ID, subItems);
                subGroups.Add(menuSubGroup);
            }

            var menuItem = new MenuGroup("Bobbleheads", subGroups);

            MenuItems.Add(menuItem);
        }
Exemplo n.º 19
0
 private static void SetChecklists(Fallout4ChecklistContext context)
 {
     Checklists = context.Set <Checklist>()
                  .Where(x => !x.IsDeleted)
                  .ToList();
 }