/// <summary> /// Creates a new large item control ViewModel instance representing a pair of items /// starting at the specified item type. /// </summary> /// <param name="type"> /// The first item type to be represented. /// </param> /// <returns> /// A new pair large item control ViewModel instance. /// </returns> private ILargeItemVMBase GetPairLargeItemVM(LargeItemType type) { var itemType = Enum.Parse <ItemType>(type.ToString()); return(_pairFactory( new IItem[] { _items[itemType], _items[itemType + 1] }, $"avares://OpenTracker/Assets/Images/Items/{type.ToString().ToLowerInvariant()}")); }
/// <summary> /// Creates a new large item control ViewModel instance representing a pair of items /// starting at the specified item type. /// </summary> /// <param name="type"> /// The first item type to be represented. /// </param> /// <returns> /// A new pair large item control ViewModel instance. /// </returns> private static LargeItemVMBase GetPairLargeItemVM(LargeItemType type) { var itemType = Enum.Parse <ItemType>(type.ToString()); return(new PairLargeItemVM( $"avares://OpenTracker/Assets/Images/Items/{type.ToString().ToLowerInvariant()}", new IItem[] { ItemDictionary.Instance[itemType], ItemDictionary.Instance[itemType + 1] })); }
/// <summary> /// Creates a new prize large item control ViewModel instance representing the specified /// item type. /// </summary> /// <param name="type"> /// The item type to be represented. /// </param> /// <returns> /// A new prize large item control ViewModel instance. /// </returns> private ILargeItemVMBase GetPrizeLargeItemControlVM(LargeItemType type) { IPrizeSection section = type switch { LargeItemType.Aga1 => (IPrizeSection)_locations[LocationID.AgahnimTower].Sections[1], LargeItemType.Aga2 => (IPrizeSection)_locations[LocationID.GanonsTower].Sections[4], _ => throw new ArgumentOutOfRangeException(nameof(type)) }; return(_prizeFactory( section, $"avares://OpenTracker/Assets/Images/Prizes/{type.ToString().ToLowerInvariant()}")); }
/// <summary> /// Creates a new crystal requirement large item control ViewModel instance representing /// the specified item type. /// </summary> /// <param name="type"> /// The item type to be represented. /// </param> /// <returns> /// A new crystal requirement large item control ViewModel instance. /// </returns> private ILargeItemVMBase GetCrystalRequirementLargeItemVM(LargeItemType type) { return(_crystalFactory( (ICrystalRequirementItem)_items[Enum.Parse <ItemType>(type.ToString())], $"avares://OpenTracker/Assets/Images/Items/{type.ToString().ToLowerInvariant()}.png")); }
/// <summary> /// Creates a new basic large item control ViewModel instance representing the specified /// item type. /// </summary> /// <param name="type"> /// The item type to be represented. /// </param> /// <returns> /// A new basic large item control ViewModel instance. /// </returns> private ILargeItemVMBase GetLargeItemControlVM(LargeItemType type) { return(_largeItemFactory( _items[Enum.Parse <ItemType>(type.ToString())], $"avares://OpenTracker/Assets/Images/Items/{type.ToString().ToLowerInvariant()}")); }
/// <summary> /// Creates a new small key large item control ViewModel instance representing the /// specified item type. /// </summary> /// <param name="type"> /// The item type to be represented. /// </param> /// <returns> /// A new small key large item control ViewModel instance. /// </returns> private static LargeItemVMBase GetSmallKeyLargeItemVM(LargeItemType type) { return(new SmallKeyLargeItemVM( $"avares://OpenTracker/Assets/Images/Items/{type.ToString().ToLowerInvariant()}", ItemDictionary.Instance[Enum.Parse <ItemType>(type.ToString())])); }