private bool IsAbilityUsableInAssault(PassiveAbilityItem item) { HashSet <string> assaultPassiveAbilities = new HashSet <string> { "Mental Discipline", "Riposte", "Force Attunement", "Painful Focus", "Second Wind", "Preemptive Strike", "Form II Expert", "Superb Deflection", "Determination", "Dueling Master" }; return(assaultPassiveAbilities.Contains(item.name)); }
public void DisplayPassivePowerItems(List <PassiveAbilityItem> allItems, List <PassiveAbilityItem> ownedItems, PassiveAbilityItem otherSlotItem, Action <InventoryItem> callback) { this.callback = callback; bool assaultMode = false; if (MenuController.ConfigToLoad != null && MenuController.ConfigToLoad.Game == Game.Assault) { assaultMode = true; } HashSet <string> assaultPassiveAbilities = new HashSet <string> { "Mental Discipline", "Riposte", "Force Attunement", "Painful Focus", "Second Wind", "Preemptive Strike", "Form II Expert", "Superb Deflection", "Determination", "Dueling Master" }; foreach (Transform child in ItemHolder) { UnityEngine.Object.Destroy(child.gameObject); } GameObject noneItem = Instantiate(ItemPrefab); noneItem.transform.SetParent(ItemHolder, false); noneItem.GetComponent <AbilityItem>().Setup(Localizer.Get("LightsaberDuel.Label.None"), Localizer.Get("LightsaberDuel.Description.None"), callback); foreach (PassiveAbilityItem item in allItems) { GameObject holder = Instantiate(ItemPrefab); holder.transform.SetParent(ItemHolder, false); if (item == otherSlotItem || (assaultMode && !assaultPassiveAbilities.Contains(item.TitleText.ToString()))) { holder.transform.Find("Content/Unavailable").gameObject.SetActive(true); holder.GetComponent <AbilityItem>().Setup(item, callback, !ownedItems.Contains(item), true); } else { holder.GetComponent <AbilityItem>().Setup(item, callback, !ownedItems.Contains(item), false); } } }