public SettingGeneralPaneVM() { Name = "General"; _options = new MBBindingList <GenericOptionDataVM>(); _settings = PartyScreenConfig.ExtraSettings; AddSettingVms(); }
public PlotsVM(Action closeScreenAction) { _closeScreenAction = closeScreenAction; ActivePlots = new MBBindingList <PlotItemVM>(); foreach (var gamePlot in GameManager.Instance.PlotManager.GamePlots) { foreach (var plot in gamePlot) { ActivePlots.Add(new PlotItemVM(plot.Title, plot.Description, SetSelectedPlot)); } } AvailablePlots = new MBBindingList <PlotItemVM>(); foreach (var trigger in GameManager.Instance.Triggers.Where(trigger => trigger.CanPlayerStart())) { AvailablePlots.Add(new PlotItemVM(trigger.Title, trigger.Description, SetSelectedPlot)); } SetSelectedPlot(ActivePlots.FirstOrDefault()); IsThereAnyPlot = ActivePlots.Any(); RefreshValues(); }
public CustomSortVM(PartyManagerSettings settings) { _settings = settings; _options = new MBBindingList <IPMOptions>(); _name = "Custom Sort"; _titleText = "Custom Sort Options"; var sortOptions = PartyManagerSettings.GetSelectableSortOrderStrings(); _options.Add(new PMStringOptionDataType <CustomSortOrder>(_settings.CustomSortOrderField1, "Custom Sort Field 1", "The first sort option to be applied in your custom sort", sortOptions, b => { _settings.CustomSortOrderField1 = b; }, CampaignOptionItemVM.OptionTypes.Selection)); _options.Add(new PMStringOptionDataType <CustomSortOrder>(_settings.CustomSortOrderField2, "Custom Sort Field 2", "The second sort option to be applied in your custom sort", sortOptions, b => { _settings.CustomSortOrderField2 = b; }, CampaignOptionItemVM.OptionTypes.Selection)); _options.Add(new PMStringOptionDataType <CustomSortOrder>(_settings.CustomSortOrderField3, "Custom Sort Field 3", "The third sort option to be applied in your custom sort", sortOptions, b => { _settings.CustomSortOrderField3 = b; }, CampaignOptionItemVM.OptionTypes.Selection)); _options.Add(new PMStringOptionDataType <CustomSortOrder>(_settings.CustomSortOrderField4, "Custom Sort Field 4", "The fourth sort option to be applied in your custom sort", sortOptions, b => { _settings.CustomSortOrderField4 = b; }, CampaignOptionItemVM.OptionTypes.Selection)); _options.Add(new PMStringOptionDataType <CustomSortOrder>(_settings.CustomSortOrderField5, "Custom Sort Field 5", "The fifth sort option to be applied in your custom sort", sortOptions, b => { _settings.CustomSortOrderField5 = b; }, CampaignOptionItemVM.OptionTypes.Selection)); this.RefreshValues(); }
// weaponDesignVM._pieceLists[pieceType] would be cleaner but it's private private CraftPartVM GetCraftPartVM(WeaponDesignVM weaponDesignVM, CraftingPiece.PieceTypes pieceType, string pieceId) { MBBindingList <CraftPartVM> partList = null; switch (pieceType) { case CraftingPiece.PieceTypes.Blade: partList = weaponDesignVM.BladePartList; break; case CraftingPiece.PieceTypes.Guard: partList = weaponDesignVM.GuardPartList; break; case CraftingPiece.PieceTypes.Handle: partList = weaponDesignVM.HandlePartList; break; case CraftingPiece.PieceTypes.Pommel: partList = weaponDesignVM.PommelPartList; break; case CraftingPiece.PieceTypes.Invalid: case CraftingPiece.PieceTypes.NumberOfPieceTypes: break; } return(partList.First(p => p.CraftingPiece.CraftingPiece.StringId == pieceId)); }
public CultureItemVM(CultureObject value, ref MBBindingList <CultureItemVM> cultureItemList, ref CultureChangerProperties cultureChangerProperties) { this._item = value; this._is_selected = false; this._cultureChangerProperties = cultureChangerProperties; this._cultureItemList = cultureItemList; }
public void Search() { if (_searchText == _prevSearchText) { return; } // Clear Page Model _pagemodel = new MBBindingList <PrefabVM>(); List <PrefabVM> result = new List <PrefabVM>(); foreach (var category in _xmlParse.Entities) { foreach (var sub_category in category.Value) { result.AddRange(sub_category.Value.Select(name => name).Where(name => name.ModelID.Contains(_searchText))); } } _enumerator = result.GetEnumerator(); _prevSearchText = _searchText; var entities = Enumerate(_amount); if (entities.Count < 1) { return; } GameEntityList = entities; }
public HeroAdminDevelopSkillPerkVM(HeroAdminCharacter heroAdminCharacter, Action <int> onResetLevelAction) { this._onResetLevelAction = onResetLevelAction; this._heroAdminCharacter = heroAdminCharacter; this._skills = new MBBindingList <HeroAdminSkillVM>(); RefreshHeroSkill(); }
public static void SortUnits(TroopRoster input, SortType sortType, MBBindingList <PartyCharacterVM> partyVmUnits = null, bool useStickySlots = false) { if (input == null || input.Count == 0) { return; } int sticky = 0; if (useStickySlots) { sticky = PartyManagerSettings.Settings.StickySlots; } var stickyUnits = input.Where(x => !x.Character.IsHero).Select(x => x.Character.Name.ToString()).Take(sticky).ToList(); var inputList = input.ToList(); var flattenedOrder = CreateFlattenedRoster(input, sortType, partyVmUnits); flattenedOrder = flattenedOrder.Where(x => !stickyUnits.Contains(x.Troop.Name.ToString())).ToList(); for (int i = 0; i < inputList.Count; i++) { if (!inputList[i].Character.IsHero && !stickyUnits.Contains(inputList[i].Character.Name.ToString())) { input.RemoveTroop(inputList[i].Character, inputList[i].Number); } } input.Add(flattenedOrder); }
public override void OnFinalize() { base.OnFinalize(); _partyVm = null; _parent = null; _mainPartyList = null; }
public SortAllTroopsVM(PartyVM partyVm, PartyScreenLogic logic) { _partyVM = partyVm; _partyLogic = logic; _mainPartyList = _partyVM.MainPartyTroops; _mainPartyPrisoners = _partyVM.MainPartyPrisoners; _sortHint = new HintViewModel(new TextObject("Sort Troops\nCtrl Click to sort just main party")); }
public PMGenericOptionVM(string name, string titleText, MBBindingList <IPMOptions> options) { _options = options; _name = name; _titleText = titleText; this.RefreshValues(); }
MBBindingList <HeroAdminAttributeItemVM> _attributes; //成长属性 public HeroAdminDevelopAttributeVM(HeroAdminCharacter hero) { this.hero = hero; this.Level = hero.Level; this._attributes = new MBBindingList <HeroAdminAttributeItemVM>(); RefreshAttribute(); }
public TransferWoundedTroopsVM(PartyEnhancementsVM parent, PartyVM partyVm, bool shouldShow) { _parent = parent; _partyVm = partyVm; _mainPartyList = partyVm?.MainPartyTroops; _shouldShowTransferWounded = shouldShow; _woundedHint = new HintViewModel(new TextObject("Transfer All Wounded")); }
public SpousesStatisticsVM() { this._statisticsViews = new MBBindingList <SpouseStatisticsItemVM>(); GenerateStatsData(); InitRoleTypeData(); InitSortTypeData(); InitOrderTypeData(); }
public new void OnFinalize() { base.OnFinalize(); SaveSettingList(); _possibleSettingList = null; _settingList = null; }
public RecruitPrisonerVM(PartyEnhancementsVM parent, PartyVM partyVm, PartyScreenLogic logic) { _parent = parent; _partyVM = partyVm; _partyLogic = logic; _mainPartyPrisoners = _partyVM.MainPartyPrisoners; _recruitHint = new HintViewModel(new TextObject("Recruit All Prisoners.\nClick with CTRL pressed to ignore party size limits")); }
public ClanFinanceWorkshopItemExpandedVM(Workshop workshop, Action <ClanFinanceIncomeItemBaseVM> onSelection, Action onRefresh) : base(workshop, onSelection, onRefresh) { _ownWorkshopCopy = workshop; _productions = new MBBindingList <ClanFinanceWorkshopProductionsVM>(); RefreshValues(); }
public override void OnFinalize() { base.OnFinalize(); _mainPartyPrisoners = null; _mainPartyList = null; _partyLogic = null; _partyVM = null; }
public SettingSortingOrderScreenVM(SettingScreenVM parent, PartySort sorter) { _settingScreen = parent; _sorter = sorter; _sortingOrder = new MBBindingList <SettingSortingOrderVM>(); Name = sorter.GetName(); InitializeList(); }
private static void Prefix(ItemMenuVM __instance, MBBindingList <ItemFlagVM> list, ref WeaponComponentData weapon) { var character = (BasicCharacterObject)ItemMenuVmCharacterField.GetValue(__instance); if (weapon.WeaponClass == WeaponClass.Crossbow) // Make sure we're always using the correct value, in case this overwrites some shared WeaponComponentData { weapon.WeaponFlags = HeroHasPerk(character, _crossbowExpert) ? weapon.WeaponFlags & ~WeaponFlags.CantReloadOnHorseback : weapon.WeaponFlags; } }
private static void Prefix(ItemMenuVM __instance, MBBindingList <ItemFlagVM> list, ref WeaponComponentData weapon) { var character = (BasicCharacterObject)typeof(ItemMenuVM).GetField("_character", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance); if (weapon.WeaponClass == WeaponClass.Crossbow) // Make sure we're always using the correct value, in case this overwrites some shared WeaponComponentData { weapon.WeaponFlags = HeroHasPerk(character, CrossbowCavalry) ? weapon.WeaponFlags & ~WeaponFlags.CantReloadOnHorseback : weapon.WeaponFlags; } }
public GrantFiefSortControllerVM(ref MBBindingList <GrantFiefItemVM> listToControl) { _listToControl = listToControl; _typeComparer = new GrantFiefSortControllerVM.ItemTypeComparer(); _prosperityComparer = new GrantFiefSortControllerVM.ItemProsperityComparer(); _defendersComparer = new GrantFiefSortControllerVM.ItemDefendersComparer(); _relationComparer = new GrantFiefSortControllerVM.ItemRelationComparer(); _nameComparer = new GrantFiefSortControllerVM.ItemNameComparer(); }
public RecruitAllPrisonersWidget(UIContext context) : base(context) { if (ScreenManager.TopScreen is GauntletPartyScreen) { this._partyVM = (PartyVM)((GauntletPartyScreen)ScreenManager.TopScreen).GetField("_dataSource"); this._partyLogic = (PartyScreenLogic)this._partyVM.GetField("_partyScreenLogic"); this._mainPartyList = this._partyVM.MainPartyTroops; } }
private static void Prefix(ItemMenuVM __instance, MBBindingList <ItemFlagVM> list, ref WeaponComponentData weapon) { var character = (BasicCharacterObject)ItemMenuVmCharacterField.GetValue(__instance); if (weapon.ItemUsage == "long_bow") // Make sure we're always using the correct value, in case this overwrites some shared WeaponComponentData { WeaponComponentDataItemUsageMethod .Invoke(weapon, new[] { HeroHasPerk(character, _bowExpert) ? "bow" : weapon.ItemUsage }); } }
public new void OnFinalize() { base.OnFinalize(); SaveList(); PartyScreenConfig.Save(); _sortingOrder = null; _settingScreen = null; _sorter = null; }
public HeroAdminRecordItemVM(HeroAdminCharacter heroAdminCharacter, Action <HeroAdminRecordItemVM> selectAction) { _heroAdminCharacter = heroAdminCharacter; this._onRecordSelected = selectAction; CharacterCode characterCode = CreateFrom(heroAdminCharacter); this.Visual = new ImageIdentifierVM(characterCode); this._skills = new MBBindingList <EncyclopediaSkillVM>(); RefreshHeroSkill(); }
public HeroAdminSkillVM(SkillObject skillObject, HeroAdminCharacter hero, Action <HeroAdminSkillVM> onSkillSelection) { this._perks = new MBBindingList <HeroAdminPerkVM>(); this._skillObject = skillObject; this.SkillId = skillObject.StringId; this.NameText = skillObject.Name.ToString(); this.MaxLevel = 300; FillHeroData(hero); this.onSkillSelection = onSkillSelection; }
public void RandomizeMap() { MBBindingList <MapItemVM> mapSearchResults = MapSearchResults; // ISSUE: explicit non-virtual call if (mapSearchResults != null && mapSearchResults.Count > 0) { MapSearchResults[MBRandom.RandomInt(MapSearchResults.Count)].ExecuteSelection(); } }
public CanvassKingdomClanSortControllerVM(ref MBBindingList <KingdomClanItemVM> listToControl) : base(ref listToControl) { this._listToControl = listToControl; this._bannerComparer = new ItemBannerComparer(); this._influenceComparer = new CanvassKingdomClanSortControllerVM.ItemInfluenceComparer(); this._membersComparer = new CanvassKingdomClanSortControllerVM.ItemMembersComparer(); this._nameComparer = new CanvassKingdomClanSortControllerVM.ItemNameComparer(); this._fiefsComparer = new CanvassKingdomClanSortControllerVM.ItemFiefsComparer(); this._typeComparer = new CanvassKingdomClanSortControllerVM.ItemTypeComparer(); }
public WangClanMembersVM(Action onRefresh) { _onRefresh = onRefresh; _faction = Hero.MainHero.Clan; Family = new MBBindingList <WangLordItemVM>(); Companions = new MBBindingList <WangLordItemVM>(); CanWashPerksHint = new HintViewModel(); RefreshMembersList(); RefreshValues(); }