コード例 #1
0
        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));
        }
コード例 #2
0
        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);
                }
            }
        }