private void ApplySaveDataEquipments(EquipmentsSaveSlotInfo saveSlotEquipments) { foreach (EquipmentGroupViewModel group in AllEquipments) { foreach (EquipmentViewModel equipment in group.Equipments) { equipment.IsPossessed = false; GameEquipment foundGameEquipmentFromMasterData = gameEquipments.FirstOrDefault(x => x.Name == Localization.Get(equipment.Name)); if (foundGameEquipmentFromMasterData == null) { Console.WriteLine($"Missing equipment from master data: {equipment.Name}"); } else { Equipment n = saveSlotEquipments.Equipments .FirstOrDefault(x => IsMatch(x, foundGameEquipmentFromMasterData)); if (n != null) { equipment.IsPossessed = true; } } } } ComputeVisibility(); }
internal GameImages(ContentManager content) { Backgrounds = new GameBackgrounds(content); Controls = new GameControls(content); Ships = new GameShips(content); MiniShips = new GameMiniShips(content); NonPlayingObjects = new NonPlayingGameObjects(content); SecondaryWeapon = new GameSecondaryWeapon(content); Equipment = new GameEquipment(content); }
private void PrepareComponents() { //core components, endabled by default InstalledComponents.Add(Inventory = new Inventory { Client = this, Enabled = true }); InstalledComponents.Add(PlayerAttributes = new PlayerAttributes { Client = this, Enabled = true }); InstalledComponents.Add(Magic = new Magic { Client = this, Enabled = true }); InstalledComponents.Add(GameEquipment = new GameEquipment { Client = this, Enabled = true }); InstalledComponents.Add(Activebar = new Activebar { Client = this, Enabled = true }); InstalledComponents.Add(TargetFinder = new TargetFinder { Client = this, Enabled = true }); //disabled by default components InstalledComponents.Add(StressTest = new StressTest { Client = this, Enabled = false }); //mandatory components FieldMap = new Map(); FieldMap.Enabled = true; FieldMap.Client = this; FieldMap.Init(0, 0, 0); InstalledComponents.Add(Map = FieldMap); //init state machine. StateMachine = new GameStateEngine(this); StateMachine.Client = this; StateMachine.Enabled = true; InstalledComponents.Add(GameStateEngine = StateMachine); LoadStates("BotCore.dll"); callback = value => { }; }
private static bool IsMatch(Equipment saveDataEquipment, GameEquipment masterDataEquipment) { if (saveDataEquipment.ClassId != masterDataEquipment.Id) { return(false); } if (saveDataEquipment.Type == MHWSaveUtils.EquipmentType.Armor && saveDataEquipment.ArmorPieceType == (ArmorPieceType)(masterDataEquipment.Type - 1)) { return(true); } if (saveDataEquipment.Type == MHWSaveUtils.EquipmentType.Charm && (Core.DataStructures.EquipmentType)masterDataEquipment.Type == Core.DataStructures.EquipmentType.Charm) { return(true); } return(false); }