public PlayerViewModel(Character character, int index, IGetAbilities getAbilities) { this.character = character; this.index = index; Weapon = new ItemComboBoxModel <EquipmentType>(() => character.Weapon, x => character.Weapon = x); Accessories = new EquipmentItemsViewModel(EquipmentManagerFactory.ForAccessory(character)); Consumables = new EquipmentItemsViewModel(EquipmentManagerFactory.ForConsumable(character)); Abilities = character.Abilities .Select((_, i) => new AbilityViewModel(character.Abilities, i, getAbilities)) .ToList(); }
public SystemViewModel(ISaveKh1 save, IGetAbilities getAbilities) { this.save = save; _getAbilities = getAbilities; ShortcutItems = new KhEnumListModel <EnumIconTypeModel <CommandType>, CommandType>(() => default(CommandType), x => { }); Pc0 = new KhEnumListModel <PlayableCharacterType>(() => save.PlayableCharacter, x => save.PlayableCharacter = x); Pc1 = new KhEnumListModel <PlayableCharacterType>(() => save.CompanionCharacter1, x => save.CompanionCharacter1 = x); Pc2 = new KhEnumListModel <PlayableCharacterType>(() => save.CompanionCharacter2, x => save.CompanionCharacter2 = x); Pc3 = new KhEnumListModel <PlayableCharacterType>(() => save.CompanionCharacter3, x => save.CompanionCharacter3 = x); Difficulties = save.IsFinalMix ? GetDifficulty <DifficultyFm>() : GetDifficulty <Difficulty>(); Worlds = new KhEnumListModel <WorldType>(); SharedAbility1 = new AbilityViewModel(save.SharedAbilities, 0, getAbilities); SharedAbility2 = new AbilityViewModel(save.SharedAbilities, 1, getAbilities); SharedAbility3 = new AbilityViewModel(save.SharedAbilities, 2, getAbilities); SharedAbility4 = new AbilityViewModel(save.SharedAbilities, 3, getAbilities); }
public AbilityViewModel(byte[] abilities, int index, IGetAbilities getAbilities) { _abilities = abilities; _abilityIndex = index; _getAbilities = getAbilities; }
public PlayersViewModel(IEnumerable <Character> list, IGetAbilities getAbilities) : this(list.Select((pc, index) => new PlayerViewModel(pc, index, getAbilities))) { }
public PlayersViewModel(ISaveKh1 save, IGetAbilities getAbilities) : this(save.Characters, getAbilities) { this.save = save; }