/// <summary> /// Constructor /// </summary> /// <param name="colorSettings"> /// The color settings data. /// </param> /// <param name="requirements"> /// The requirement dictionary. /// </param> /// <param name="undoRedoManager"> /// The undo/redo manager. /// </param> /// <param name="undoableFactory"> /// A factory for creating undoable actions. /// </param> /// <param name="alternativeFactory"> /// An Autofac factory for creating alternative requirements. /// </param> /// <param name="alwaysDisplayFactory"> /// An Autofac factory for creating always display dungeon items requirements. /// </param> /// <param name="dungeon"> /// The dungeon whose small keys are to be represented. /// </param> public SmallKeySmallItemVM( IColorSettings colorSettings, IRequirementDictionary requirements, IUndoRedoManager undoRedoManager, IUndoableFactory undoableFactory, AlternativeRequirement.Factory alternativeFactory, AlwaysDisplayDungeonItemsRequirement.Factory alwaysDisplayFactory, IDungeon dungeon) { _colorSettings = colorSettings; _undoRedoManager = undoRedoManager; _undoableFactory = undoableFactory; _item = dungeon.SmallKeyItem; _spacerRequirement = alternativeFactory(new List <IRequirement> { alwaysDisplayFactory(true), requirements[RequirementType.SmallKeyShuffleOn] }); _requirement = dungeon.ID == LocationID.EasternPalace ? requirements[RequirementType.KeyDropShuffleOn] : requirements[RequirementType.NoRequirement]; HandleClick = ReactiveCommand.Create <PointerReleasedEventArgs>(HandleClickImpl); _colorSettings.PropertyChanged += OnColorsChanged; _item.PropertyChanged += OnItemChanged; _requirement.PropertyChanged += OnRequirementChanged; _spacerRequirement.PropertyChanged += OnRequirementChanged; }
public SmallItemVMFactory( ILocationDictionary locations, IRequirementDictionary requirements, AggregateRequirement.Factory aggregateFactory, AlternativeRequirement.Factory alternativeFactory, AlwaysDisplayDungeonItemsRequirement.Factory alwaysDisplayFactory, DisplayMapsCompassesRequirement.Factory displayMapsCompassesFactory, ItemsPanelOrientationRequirement.Factory itemsPanelOrientationFactory, SmallKeySmallItemVM.Factory smallKeyFactory, SpacerSmallItemVM.Factory spacerFactory, SmallItemVM.Factory smallItemFactory, BigKeySmallItemVM.Factory bigKeyFactory, DungeonItemSmallItemVM.Factory dungeonItemFactory, PrizeSmallItemVM.Factory prizeFactory, BossSmallItemVM.Factory bossFactory) { _locations = locations; _requirements = requirements; _aggregateFactory = aggregateFactory; _alternativeFactory = alternativeFactory; _alwaysDisplayFactory = alwaysDisplayFactory; _displayMapsCompassesFactory = displayMapsCompassesFactory; _itemsPanelOrientationFactory = itemsPanelOrientationFactory; _smallKeyFactory = smallKeyFactory; _spacerFactory = spacerFactory; _smallItemFactory = smallItemFactory; _bigKeyFactory = bigKeyFactory; _dungeonItemFactory = dungeonItemFactory; _prizeFactory = prizeFactory; _bossFactory = bossFactory; }