public void ShowAbilityRewards()
        {
            //Debug.Log("FactionChangePanelController.ShowAbilityRewards()");

            ClearRewardIcons();
            // show ability rewards
            // new game manager ? isn't this only in-game ?
            CapabilityProps capabilityProps = faction.GetFilteredCapabilities(newGameManager);

            if (capabilityProps.AbilityList.Count > 0)
            {
                abilitiesArea.gameObject.SetActive(true);
            }
            else
            {
                abilitiesArea.gameObject.SetActive(false);
                return;
            }
            for (int i = 0; i < capabilityProps.AbilityList.Count; i++)
            {
                RewardButton rewardIcon = objectPooler.GetPooledObject(rewardIconPrefab, abilityIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.Configure(systemGameManager);
                rewardIcon.SetOptions(rectTransform, false);
                rewardIcon.SetDescribable(capabilityProps.AbilityList[i]);
                abilityRewardIcons.Add(rewardIcon);
                if (capabilityProps.AbilityList[i].RequiredLevel > playerManager.MyCharacter.CharacterStats.Level)
                {
                    rewardIcon.StackSizeText.text  = "Level\n" + capabilityProps.AbilityList[i].RequiredLevel;
                    rewardIcon.HighlightIcon.color = new Color32(255, 255, 255, 80);
                }
                abilityRewardsGrid.AddActiveButton(rewardIcon);
            }
        }
Пример #2
0
        public void HandleAttemptSelect(RewardButton rewardButton)
        {
            //Debug.Log("QuestDetailsArea.HandleAttemptSelect()");
            if (GetHighlightedItemRewardIcons().Contains(rewardButton))
            {
                //Debug.Log("QuestDetailsArea.HandleAttemptSelect(): it's an item reward; current count of highlighted icons: " + GetHighlightedItemRewardIcons().Count + "; max: " + quest.MyMaxItemRewards);
                if (quest.MyMaxItemRewards > 0 && GetHighlightedItemRewardIcons().Count > quest.MyMaxItemRewards)
                {
                    rewardButton.Unselect();
                }
            }
            if (GetHighlightedFactionRewardIcons().Contains(rewardButton))
            {
                //Debug.Log("QuestDetailsArea.HandleAttemptSelect(): it's an faction reward; current count of highlighted icons: " + GetHighlightedFactionRewardIcons().Count + "; max: " + quest.MyMaxFactionRewards);
                if (quest.MyMaxFactionRewards > 0 && GetHighlightedFactionRewardIcons().Count > quest.MyMaxFactionRewards)
                {
                    rewardButton.Unselect();
                }
            }

            if (GetHighlightedAbilityRewardIcons().Contains(rewardButton))
            {
                //Debug.Log("QuestDetailsArea.HandleAttemptSelect(): it's an ability reward; current count of highlighted icons: " + GetHighlightedAbilityRewardIcons().Count + "; max: " + quest.MyMaxAbilityRewards);
                if (quest.MyMaxAbilityRewards > 0 && GetHighlightedAbilityRewardIcons().Count > quest.MyMaxAbilityRewards || PlayerManager.MyInstance.MyCharacter.MyCharacterAbilityManager.HasAbility(rewardButton.MyDescribable as BaseAbility))
                {
                    rewardButton.Unselect();
                }
            }
        }
        public void ShowAbilityRewards()
        {
            //Debug.Log("ClassChangePanelController.ShowAbilityRewards()");

            ClearRewardIcons();
            // show ability rewards
            if (characterClass.AbilityList.Count > 0)
            {
                abilitiesArea.gameObject.SetActive(true);
            }
            else
            {
                abilitiesArea.gameObject.SetActive(false);
            }
            for (int i = 0; i < characterClass.AbilityList.Count; i++)
            {
                if (characterClass.AbilityList[i] != null)
                {
                    RewardButton rewardIcon = Instantiate(rewardIconPrefab, abilityIconsArea.transform).GetComponent <RewardButton>();
                    rewardIcon.SetDescribable(characterClass.AbilityList[i]);
                    abilityRewardIcons.Add(rewardIcon);
                    if (characterClass.AbilityList[i].MyRequiredLevel > PlayerManager.MyInstance.MyCharacter.CharacterStats.Level)
                    {
                        rewardIcon.StackSizeText.text    = "Level\n" + characterClass.AbilityList[i].MyRequiredLevel;
                        rewardIcon.MyHighlightIcon.color = new Color32(255, 255, 255, 80);
                    }
                }
            }
        }
        public void ShowTraitRewards()
        {
            //Debug.Log("ClassChangePanelController.ShowTraitRewards()");

            ClearTraitRewardIcons();
            // show trait rewards
            if (classSpecialization.TraitList.Count > 0)
            {
                traitsArea.gameObject.SetActive(true);
            }
            else
            {
                traitsArea.gameObject.SetActive(false);
            }
            for (int i = 0; i < classSpecialization.TraitList.Count; i++)
            {
                if (classSpecialization.TraitList[i] != null)
                {
                    RewardButton rewardIcon = Instantiate(rewardIconPrefab, traitIconsArea.transform).GetComponent <RewardButton>();
                    rewardIcon.SetDescribable(classSpecialization.TraitList[i]);
                    traitRewardIcons.Add(rewardIcon);
                    if ((classSpecialization.TraitList[i] as StatusEffect).MyRequiredLevel > PlayerManager.MyInstance.MyCharacter.CharacterStats.Level)
                    {
                        rewardIcon.StackSizeText.text    = "Level\n" + (classSpecialization.TraitList[i] as StatusEffect).MyRequiredLevel;
                        rewardIcon.MyHighlightIcon.color = new Color32(255, 255, 255, 80);
                    }
                }
            }
        }
        public void ShowTraitRewards()
        {
            //Debug.Log("ClassChangePanelController.ShowTraitRewards()");

            ClearTraitRewardIcons();
            // show trait rewards
            CapabilityProps capabilityProps = classSpecialization.GetFilteredCapabilities(playerManager.ActiveCharacter);

            if (capabilityProps.TraitList.Count > 0)
            {
                traitsArea.gameObject.SetActive(true);
            }
            else
            {
                traitsArea.gameObject.SetActive(false);
                return;
            }
            for (int i = 0; i < capabilityProps.TraitList.Count; i++)
            {
                if (capabilityProps.TraitList[i] != null)
                {
                    RewardButton rewardIcon = objectPooler.GetPooledObject(rewardIconPrefab, traitIconsArea.transform).GetComponent <RewardButton>();
                    rewardIcon.Configure(systemGameManager);
                    rewardIcon.SetOptions(rectTransform, false);
                    rewardIcon.SetDescribable(capabilityProps.TraitList[i]);
                    traitRewardIcons.Add(rewardIcon);
                    if ((capabilityProps.TraitList[i] as StatusEffect).RequiredLevel > playerManager.MyCharacter.CharacterStats.Level)
                    {
                        rewardIcon.StackSizeText.text  = "Level\n" + (capabilityProps.TraitList[i] as StatusEffect).RequiredLevel;
                        rewardIcon.HighlightIcon.color = new Color32(255, 255, 255, 80);
                    }
                }
            }
        }
Пример #6
0
        public void ShowAbilityRewards()
        {
            //Debug.Log("FactionChangePanelController.ShowAbilityRewards()");

            ClearRewardIcons();
            // show ability rewards
            Faction faction = SystemFactionManager.MyInstance.GetResource(factionName);

            if (faction.MyLearnedAbilityList.Count > 0)
            {
                abilitiesArea.gameObject.SetActive(true);
            }
            else
            {
                abilitiesArea.gameObject.SetActive(false);
            }
            for (int i = 0; i < faction.MyLearnedAbilityList.Count; i++)
            {
                RewardButton rewardIcon = Instantiate(rewardIconPrefab, abilityIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.SetDescribable(SystemAbilityManager.MyInstance.GetResource(faction.MyLearnedAbilityList[i]));
                abilityRewardIcons.Add(rewardIcon);
                if (SystemAbilityManager.MyInstance.GetResource(faction.MyLearnedAbilityList[i]).MyRequiredLevel > PlayerManager.MyInstance.MyCharacter.MyCharacterStats.MyLevel)
                {
                    rewardIcon.MyStackSizeText.text  = "Level\n" + SystemAbilityManager.MyInstance.GetResource(faction.MyLearnedAbilityList[i]).MyRequiredLevel;
                    rewardIcon.MyHighlightIcon.color = new Color32(255, 255, 255, 80);
                }
            }
        }
        public void ShowTraitRewards()
        {
            //Debug.Log("ClassChangePanelController.ShowTraitRewards()");

            ClearTraitRewardIcons();
            // show trait rewards
            CapabilityProps capabilityProps = characterClass.GetFilteredCapabilities(playerManager.ActiveCharacter);

            if (playerManager.MyCharacter.Faction != null)
            {
                CapabilityConsumerSnapshot capabilityConsumerSnapshot = new CapabilityConsumerSnapshot(playerManager.ActiveCharacter, systemGameManager);
                capabilityConsumerSnapshot.CharacterClass = characterClass;
                CapabilityProps capabilityPropsFaction = playerManager.MyCharacter.Faction.GetFilteredCapabilities(capabilityConsumerSnapshot, false);
                capabilityProps = capabilityPropsFaction.Join(capabilityProps);
            }

            List <StatusEffect> traitList = capabilityProps.TraitList.Distinct().ToList();

            if (traitList.Count > 0)
            {
                traitsArea.gameObject.SetActive(true);
            }
            else
            {
                traitsArea.gameObject.SetActive(false);
                return;
            }
            for (int i = 0; i < traitList.Count; i++)
            {
                if (traitList[i] != null)
                {
                    RewardButton rewardIcon = objectPooler.GetPooledObject(rewardIconPrefab, traitIconsArea.transform).GetComponent <RewardButton>();
                    rewardIcon.Configure(systemGameManager);
                    rewardIcon.SetOptions(rectTransform, false);
                    rewardIcon.SetDescribable(traitList[i]);
                    traitRewardIcons.Add(rewardIcon);
                    if (traitList[i].RequiredLevel > playerManager.MyCharacter.CharacterStats.Level)
                    {
                        rewardIcon.StackSizeText.text  = "Level\n" + traitList[i].RequiredLevel;
                        rewardIcon.HighlightIcon.color = new Color32(255, 255, 255, 80);
                    }
                    uINavigationControllers[1].AddActiveButton(rewardIcon);
                }
            }
        }
        public void ShowAbilityRewards()
        {
            //Debug.Log("ClassChangePanelController.ShowAbilityRewards()");

            ClearRewardIcons();
            // show ability rewards
            CapabilityProps capabilityProps = characterClass.GetFilteredCapabilities(PlayerManager.MyInstance.ActiveCharacter);

            if (PlayerManager.MyInstance.MyCharacter.Faction != null)
            {
                CapabilityConsumerSnapshot capabilityConsumerSnapshot = new CapabilityConsumerSnapshot(PlayerManager.MyInstance.ActiveCharacter);
                capabilityConsumerSnapshot.CharacterClass = characterClass;
                CapabilityProps capabilityPropsFaction = PlayerManager.MyInstance.MyCharacter.Faction.GetFilteredCapabilities(capabilityConsumerSnapshot, false);
                capabilityProps = capabilityPropsFaction.Join(capabilityProps);
            }
            List <BaseAbility> abilityList = capabilityProps.AbilityList.Distinct().ToList();

            if (abilityList.Count > 0)
            {
                abilitiesArea.gameObject.SetActive(true);
            }
            else
            {
                abilitiesArea.gameObject.SetActive(false);
                return;
            }
            for (int i = 0; i < abilityList.Count; i++)
            {
                if (abilityList[i] != null)
                {
                    RewardButton rewardIcon = Instantiate(rewardIconPrefab, abilityIconsArea.transform).GetComponent <RewardButton>();
                    rewardIcon.SetDescribable(abilityList[i]);
                    abilityRewardIcons.Add(rewardIcon);
                    if (abilityList[i].RequiredLevel > PlayerManager.MyInstance.MyCharacter.CharacterStats.Level)
                    {
                        rewardIcon.StackSizeText.text    = "Level\n" + abilityList[i].RequiredLevel;
                        rewardIcon.MyHighlightIcon.color = new Color32(255, 255, 255, 80);
                    }
                }
            }
        }
Пример #9
0
        public void ShowDescription(Quest quest)
        {
            //Debug.Log("QuestDetailsArea.ShowDescription()");

            ClearDescription();

            if (quest == null)
            {
                return;
            }
            this.quest = quest;

            questDescription.text = quest.GetObjectiveDescription();

            experienceReward.text += quest.MyExperienceReward + " XP";

            // show item rewards
            if (quest.MyItemRewards.Count > 0)
            {
                itemsHeading.gameObject.SetActive(true);
                if (quest.MyMaxItemRewards > 0)
                {
                    itemsHeading.GetComponent <Text>().text = "Choose " + quest.MyMaxItemRewards + " Item Rewards:";
                }
                else
                {
                    itemsHeading.GetComponent <Text>().text = "Item Rewards:";
                }
            }
            for (int i = 0; i < quest.MyItemRewards.Count; i++)
            {
                RewardButton rewardIcon = Instantiate(rewardIconPrefab, itemIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.OnAttempSelect += HandleAttemptSelect;
                //Debug.Log("QuestDetailsArea.ShowDescription(): setting describable (and attemptselect) for: " + quest.MyItemRewards[i]);
                rewardIcon.SetDescribable(quest.MyItemRewards[i]);
                itemRewardIcons.Add(rewardIcon);
            }

            // show ability rewards
            if (quest.MyAbilityRewards.Count > 0)
            {
                abilitiesHeading.gameObject.SetActive(true);
                if (quest.MyMaxAbilityRewards > 0)
                {
                    abilitiesHeading.GetComponent <Text>().text = "Choose " + quest.MyMaxAbilityRewards + " Ability Rewards:";
                }
                else
                {
                    abilitiesHeading.GetComponent <Text>().text = "Ability Rewards:";
                }
            }
            else
            {
                abilitiesHeading.GetComponent <Text>().text = "";
            }
            for (int i = 0; i < quest.MyAbilityRewards.Count; i++)
            {
                RewardButton rewardIcon = Instantiate(rewardIconPrefab, abilityIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.OnAttempSelect += HandleAttemptSelect;
                //Debug.Log("QuestDetailsArea.ShowDescription(): setting describable (and attemptselect) for: " + quest.MyAbilityRewards[i]);
                rewardIcon.SetDescribable(quest.MyAbilityRewards[i]);
                abilityRewardIcons.Add(rewardIcon);
            }

            // show faction rewards
            if (quest.MyFactionRewards.Count > 0)
            {
                factionsHeading.gameObject.SetActive(true);
                if (quest.MyMaxFactionRewards > 0)
                {
                    factionsHeading.GetComponent <Text>().text = "Choose " + quest.MyMaxFactionRewards + " Reputation Rewards:";
                }
                else
                {
                    factionsHeading.GetComponent <Text>().text = "Reputation Rewards:";
                }
            }
            else
            {
                factionsHeading.GetComponent <Text>().text = "";
            }
            for (int i = 0; i < quest.MyFactionRewards.Count; i++)
            {
                RewardButton rewardIcon = Instantiate(rewardIconPrefab, factionIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.OnAttempSelect += HandleAttemptSelect;
                //Debug.Log("QuestDetailsArea.ShowDescription(): setting describable (and attemptselect) for: " + quest.MyFactionRewards[i]);
                rewardIcon.SetDescribable(quest.MyFactionRewards[i]);
                factionRewardIcons.Add(rewardIcon);
            }

            // show Skill rewards
            if (quest.MySkillRewards.Count > 0)
            {
                skillHeading.gameObject.SetActive(true);
                if (quest.MyMaxSkillRewards > 0)
                {
                    skillHeading.GetComponent <Text>().text = "Choose " + quest.MyMaxSkillRewards + " Skill Rewards:";
                }
                else
                {
                    skillHeading.GetComponent <Text>().text = "Skill Rewards:";
                }
            }
            else
            {
                skillHeading.GetComponent <Text>().text = "";
            }
            for (int i = 0; i < quest.MySkillRewards.Count; i++)
            {
                RewardButton rewardIcon = Instantiate(rewardIconPrefab, skillIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.SetDescribable(quest.MySkillRewards[i]);
                skillRewardIcons.Add(rewardIcon);
            }
        }
Пример #10
0
        public void ShowDescription(Quest quest)
        {
            //Debug.Log("QuestDetailsArea.ShowDescription()");

            ClearDescription();

            if (quest == null)
            {
                return;
            }
            this.quest = quest;

            questDescription.text = quest.GetObjectiveDescription();

            experienceReward.text += LevelEquations.GetXPAmountForQuest(playerManager.MyCharacter.CharacterStats.Level, quest, systemConfigurationManager) + " XP";

            // display currency rewards

            List <CurrencyNode> currencyNodes = quest.GetCurrencyReward();

            // currencies could be different
            if (currencyNodes.Count > 0)
            {
                currencyHeading.gameObject.SetActive(true);
                currencyArea.gameObject.SetActive(true);
                if (currencyLootButton != null)
                {
                    KeyValuePair <Sprite, string> keyValuePair = currencyConverter.RecalculateValues(currencyNodes, true);
                    currencyLootButton.Icon.sprite = keyValuePair.Key;
                    currencyLootButton.Title.text  = keyValuePair.Value;
                }
            }
            else
            {
                currencyHeading.gameObject.SetActive(false);
                currencyArea.gameObject.SetActive(false);
            }


            // show item rewards
            if (quest.ItemRewards.Count > 0)
            {
                itemsHeading.gameObject.SetActive(true);
                if (quest.MaxItemRewards > 0)
                {
                    itemsHeading.GetComponent <TextMeshProUGUI>().text = "Choose " + quest.MaxItemRewards + " Item Rewards:";
                }
                else
                {
                    itemsHeading.GetComponent <TextMeshProUGUI>().text = "Item Rewards:";
                }
            }
            for (int i = 0; i < quest.ItemRewards.Count; i++)
            {
                RewardButton rewardIcon = objectPooler.GetPooledObject(rewardIconPrefab, itemIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.Configure(systemGameManager);
                rewardIcon.SetOptions(owner.RectTransform, quest.MaxItemRewards > 0);
                rewardIcon.OnAttempSelect += HandleAttemptSelect;
                //Debug.Log("QuestDetailsArea.ShowDescription(): setting describable (and attemptselect) for: " + quest.MyItemRewards[i]);
                rewardIcon.SetDescribable(quest.ItemRewards[i]);
                itemRewardIcons.Add(rewardIcon);
                //if (quest.MaxItemRewards > 0) {
                itemGrid.AddActiveButton(rewardIcon);
                //}
            }

            // show ability rewards
            if (quest.AbilityRewards.Count > 0)
            {
                abilitiesHeading.gameObject.SetActive(true);
                if (quest.MaxAbilityRewards > 0)
                {
                    abilitiesHeading.GetComponent <TextMeshProUGUI>().text = "Choose " + quest.MaxAbilityRewards + " Ability Rewards:";
                }
                else
                {
                    abilitiesHeading.GetComponent <TextMeshProUGUI>().text = "Ability Rewards:";
                }
            }
            else
            {
                abilitiesHeading.GetComponent <TextMeshProUGUI>().text = "";
            }
            for (int i = 0; i < quest.AbilityRewards.Count; i++)
            {
                RewardButton rewardIcon = objectPooler.GetPooledObject(rewardIconPrefab, abilityIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.Configure(systemGameManager);
                rewardIcon.SetOptions(owner.RectTransform, quest.MaxAbilityRewards > 0);
                rewardIcon.OnAttempSelect += HandleAttemptSelect;
                //Debug.Log("QuestDetailsArea.ShowDescription(): setting describable (and attemptselect) for: " + quest.MyAbilityRewards[i]);
                rewardIcon.SetDescribable(quest.AbilityRewards[i]);
                abilityRewardIcons.Add(rewardIcon);
                //if (quest.MaxAbilityRewards > 0) {
                abilityGrid.AddActiveButton(rewardIcon);
                //}
            }

            // show faction rewards
            if (quest.FactionRewards.Count > 0)
            {
                factionsHeading.gameObject.SetActive(true);
                if (quest.MaxFactionRewards > 0)
                {
                    factionsHeading.GetComponent <TextMeshProUGUI>().text = "Choose " + quest.MaxFactionRewards + " Reputation Rewards:";
                }
                else
                {
                    factionsHeading.GetComponent <TextMeshProUGUI>().text = "Reputation Rewards:";
                }
            }
            else
            {
                factionsHeading.GetComponent <TextMeshProUGUI>().text = "";
            }
            for (int i = 0; i < quest.FactionRewards.Count; i++)
            {
                FactionRewardButton rewardIcon = objectPooler.GetPooledObject(factionRewardIconPrefab, factionIconsArea.transform).GetComponent <FactionRewardButton>();
                rewardIcon.Configure(systemGameManager);
                rewardIcon.SetOptions(owner.RectTransform, quest.MaxFactionRewards > 0);
                rewardIcon.OnAttempSelect += HandleAttemptSelect;
                //Debug.Log("QuestDetailsArea.ShowDescription(): setting describable (and attemptselect) for: " + quest.MyFactionRewards[i]);
                rewardIcon.SetDescribable(quest.FactionRewards[i]);
                factionRewardIcons.Add(rewardIcon);
                //if (quest.MaxFactionRewards > 0) {
                factionGrid.AddActiveButton(rewardIcon);
                //}
            }

            // show Skill rewards
            if (quest.SkillRewards.Count > 0)
            {
                skillHeading.gameObject.SetActive(true);
                if (quest.MaxSkillRewards > 0)
                {
                    skillHeading.GetComponent <TextMeshProUGUI>().text = "Choose " + quest.MaxSkillRewards + " Skill Rewards:";
                }
                else
                {
                    skillHeading.GetComponent <TextMeshProUGUI>().text = "Skill Rewards:";
                }
            }
            else
            {
                skillHeading.GetComponent <TextMeshProUGUI>().text = "";
            }
            for (int i = 0; i < quest.SkillRewards.Count; i++)
            {
                RewardButton rewardIcon = objectPooler.GetPooledObject(rewardIconPrefab, skillIconsArea.transform).GetComponent <RewardButton>();
                rewardIcon.Configure(systemGameManager);
                rewardIcon.SetOptions(owner.RectTransform, quest.MaxSkillRewards > 0);
                rewardIcon.SetDescribable(quest.SkillRewards[i]);
                skillRewardIcons.Add(rewardIcon);
                //if (quest.MaxSkillRewards > 0) {
                skillGrid.AddActiveButton(rewardIcon);
                //}
            }
        }