public string TranslateTalentActivationSpecial(BaseEotETalent.ActivationSpec activationSpec)
    {
        string activationSpecString = "";

        switch (activationSpec)
        {
            case BaseEotETalent.ActivationSpec.ACTION:
                activationSpecString = "Action";
                break;
            case BaseEotETalent.ActivationSpec.INCIDENTAL:
                activationSpecString = "Incidental";
                break;
            case BaseEotETalent.ActivationSpec.MANEUVER:
                activationSpecString = "Maneuver";
                break;
            case BaseEotETalent.ActivationSpec.OUTOFTURN:
                activationSpecString = "Out of Turn";
                break;
            default:
                Debug.LogWarning("Talent specific activation could not be identified: " + activationSpec.ToString());
                break;
        }
        return activationSpecString;
    }
    public string TranslateCareerTree(BaseEotETalent.Trees careerTree)
    {
        string careerTreeString = "";

        switch(careerTree)
        {
            case BaseEotETalent.Trees.ASSASSIN:
                careerTreeString = "Assassin";
                break;
            case BaseEotETalent.Trees.BODYGUARD:
                careerTreeString = "Bodyguard";
                break;
            case BaseEotETalent.Trees.DOCTOR:
                careerTreeString = "Doctor";
                break;
            case BaseEotETalent.Trees.FORCESENSITIVEEXILE:
                careerTreeString = "Force Sensitive Exile";
                break;
            case BaseEotETalent.Trees.FRINGER:
                careerTreeString = "Fringer";
                break;
            case BaseEotETalent.Trees.GADGETEER:
                careerTreeString = "Gadgeteer";
                break;
            case BaseEotETalent.Trees.MARAUDER:
                careerTreeString = "Marauder";
                break;
            case BaseEotETalent.Trees.MECHANIC:
                careerTreeString = "Mechanic";
                break;
            case BaseEotETalent.Trees.MERCENARYSOLDIER:
                careerTreeString = "Mercenary Soldier";
                break;
            case BaseEotETalent.Trees.NPCONLY:
                careerTreeString = "NPC Only";
                break;
            case BaseEotETalent.Trees.OUTLAWTECH:
                careerTreeString = "Outlaw Tech";
                break;
            case BaseEotETalent.Trees.PILOT:
                careerTreeString = "Pilot";
                break;
            case BaseEotETalent.Trees.POLITICO:
                careerTreeString = "Politico";
                break;
            case BaseEotETalent.Trees.SCHOLAR:
                careerTreeString = "Scholar";
                break;
            case BaseEotETalent.Trees.SCOUNDREL:
                careerTreeString = "Scoundrel";
                break;
            case BaseEotETalent.Trees.SCOUT:
                careerTreeString = "Scout";
                break;
            case BaseEotETalent.Trees.SLICER:
                careerTreeString = "Slicer";
                break;
            case BaseEotETalent.Trees.SURVIVALIST:
                careerTreeString = "Survivalist";
                break;
            case BaseEotETalent.Trees.THIEF:
                careerTreeString = "Thief";
                break;
            case BaseEotETalent.Trees.TRADER:
                careerTreeString = "Trader";
                break;
            default:
                Debug.LogWarning("Talent career tree could not be identified: " + careerTree.ToString());
                break;
        }

        return careerTreeString;
    }
    public static void RemoveTalent(BaseEotETalent talentToRemove)
    {
        foreach (var talent in talentsLearned)
        {
            if (talent.GetType() == talentToRemove.GetType())
            {
                if (talent.RankedTalent)
                {
                    if (talent.TalentRank > 1)
                    {
                        talent.TalentRank -= 1;
                        return;
                    }
                    talentsLearned.Remove(talent);
                    return;
                }
                else
                {
                    Debug.Log("THIS SHOULD NOT HAPPEN.  CHECK ME: " + talent.TalentName);
                    return;
                }
            }
        }

        talentsLearned.Remove(talentToRemove);
        return;
        //var first = talentsLearned.OfType<>()
    }
    public string TranslateTalentActivation(BaseEotETalent.Activation activation)
    {
        string activationString = "";

        switch (activation)
        {
            case BaseEotETalent.Activation.ACTIVE:
                activationString = "Active";
                break;
            case BaseEotETalent.Activation.PASSIVE:
                activationString = "Passive";
                break;
            default:
                Debug.LogWarning("Talent activation could not be identified: " + activation.ToString());
                break;
        }

        return activationString;
    }
Ejemplo n.º 5
0
    void SetTalent(Image image, BaseEotETalent talent, GameObject talentToggle, Text talentLabel)
    {


        if (CheckTalentUnlocked(talent, talentToggle, talentLabel))
        {
            if(talent.TalentActivation == BaseEotETalent.Activation.ACTIVE)
            {
                image.sprite = Resources.Load<Sprite>("Textures/Talent/TalentActive");
            }
            else
            {
                image.sprite = Resources.Load<Sprite>("Textures/Talent/TalentPassive");
            }
        }
        else
        {
            image.sprite = Resources.Load<Sprite>("Textures/Talent/TalentLocked");
        }
        
    }
    public static void AddTalent(BaseEotETalent talentToAdd)
    {
        foreach (var talent in talentsLearned)
        {
            if(talent.GetType() == talentToAdd.GetType())
            {
                if (talent.RankedTalent)
                {
                    talent.TalentRank += 1;
                    return;
                }
                else
                {
                    Debug.Log("THIS SHOULD NOT HAPPEN.  CHECK ME: " + talent.TalentName);
                    return;
                }
            }
        }

        talentToAdd.TalentRank = 1;
        talentsLearned.Add(talentToAdd);
        return;
        //var first = talentsLearned.OfType<>()
    }
Ejemplo n.º 7
0
    bool CheckTalentUnlocked(BaseEotETalent talent, GameObject talentToggle, Text talentLabel)
    {
        Debug.Log("Checking lock status on " + talent.TalentName);

        /*if (CharacterInformation.CurrentAvailXP >= talent.TalentXPCost && !talent.Obtained)
        {
            talentToggle.GetComponent<Toggle>().interactable = false;
        }*/
        CheckChildrenObtained(talent);

        if (talent.IsDeep)
        {
            talentToggle.GetComponent<Toggle>().interactable = false;
        }
        else
        {
            talentToggle.GetComponent<Toggle>().interactable = true;
        }
        if (talent.IsRoot)
        {
            talentToggle.SetActive(true);
            return true;
        }
        else
        {
            //Debug.Log("TEST: " + talent.ParentTalents[0].Obtained);
            //Debug.Log("Parent Talents: " + talent.ParentTalents.Count);
            //int parentsObtained = 0;
            for (int i = 0; i < talent.ParentTalents.Count; i++ )
            {
                //Debug.Log(t.Obtained);
                //Debug.Log(i);
                //Debug.Log("Talent: " + talent.TalentName + " Checking Parent: " + talent.ParentTalents[0].TalentName);
                //Debug.Log(talent.ParentTalents[0].Obtained);
                //Debug.Log("WHY???? " + talent.ParentTalents[i].TalentName);
                

                if (talent.ParentTalents[i].Obtained)
                {
                    talent.Unlocked = true;
                    talentToggle.SetActive(true);
                    return true;
                }
            }

            talentToggle.SetActive(false);
            talent.Unlocked = false;
            return false;
        }
        
    }
Ejemplo n.º 8
0
    void CheckChildrenObtained(BaseEotETalent talent)
    {
        //bool obtainedChild = false;
        //bool obtainedParent = false;
        Debug.Log("Current Talent: " + talent.TalentName + ";");
        //Debug.Log("Child Talent: " + talent.ChildTalents[0].TalentName + ";");

        //talent.IsDeep = talent.Obtained;

        /*if(!talent.IsRoot)
        {
            for (int i = 0; i < talent.ParentTalents.Count; i++)
            {
                if (talent.ParentTalents[i].Obtained)
                {
                        obtainedParent = true;
                }
            }
        }*/
       
        if (talent.ChildTalents.Count == 0)
        {
            // If the talent is the last leaf on the tree, leave it interactable
            talent.IsDeep = false;
        }
        else
        {
            for (int i = 0; i < talent.ChildTalents.Count; i++)
            {
                if (!talent.ChildTalents[i].Obtained)
                {
                    talent.IsDeep = false;
                    return;
                }
                if (talent.ChildTalents.Count > 1)
                {
                    for (int j = 0; j < talent.ChildTalents[i].ParentTalents.Count; j++)
                    {
                        if (talent.ChildTalents[i].ParentTalents[j].Obtained && talent.ChildTalents[i].ParentTalents[j] != talent)
                        {
                            talent.IsDeep = false;
                            return;
                        }
                    }
                }
                
            }
            
            talent.IsDeep = talent.Obtained;
        }
        /*for (int i = 0; i < talent.ChildTalents.Count; i++)
        {
            Debug.Log("  Talent Child Being Checked: " + talent.ChildTalents[i]);
            if (!talent.ChildTalents[i].Obtained)
            {
                talent.IsDeep = false;
            }
            else
            {
                if(!talent.IsRoot)
                {
                    for (int j = 0; j < talent.ParentTalents.Count; j++)
                    {
                        if (talent.ParentTalents[j].Obtained)
                        {
                            if (talent.ParentTalents[j] != talent.ChildTalents[i])
                            {
                                obtainedParent = true;
                            }

                        }
                    }
                }
                obtainedChild = true;
                                
            }
        }
        if(obtainedChild && obtainedParent && talent.Obtained)
        {
            talent.IsDeep = true;
        }*/
    }
Ejemplo n.º 9
0
 void RemoveTalent(BaseEotETalent talent)
 {
     CharacterInformation.CurrentAvailXP += talent.TalentXPCost;
     CharacterInformation.TotalXP -= talent.TalentXPCost;
     SetXP();
     talent.Obtained = false;
     CharacterInformation.RemoveTalent(talent);
     
     //Debug.Log("Add remove talent method");
 }
Ejemplo n.º 10
0
 void AddTalent(BaseEotETalent talent)
 {
     CharacterInformation.CurrentAvailXP -= talent.TalentXPCost;
     CharacterInformation.TotalXP += talent.TalentXPCost;
     SetXP();
     talent.Obtained = true;
     CharacterInformation.AddTalent(talent);
     
 }
Ejemplo n.º 11
0
    void LaunchPopup(BaseEotETalent talent)
    {

        talentPopup.SetActive(true);
        GameObject popUpPanel = GameObject.Find("PopupPanel");
        Text talentNameText = GameObject.Find("TalentNameText").gameObject.GetComponent<Text>();
        Text talentRankedText = GameObject.Find("TalentRankedText").gameObject.GetComponent<Text>();
        Text talentActivationText = GameObject.Find("TalentActivationText").gameObject.GetComponent<Text>();
        Text talentTreesText = GameObject.Find("TalentTreesText").gameObject.GetComponent<Text>();
        Text talentDescriptionText = GameObject.Find("TalentDescriptionText").gameObject.GetComponent<Text>();

        talentNameText.text = talent.TalentName;
        bool IsRanked = talent.RankedTalent;
        string rankedString = "";
        if (IsRanked)
            rankedString = "Yes";
        else
            rankedString = "No";
        talentRankedText.text = rankedString;
        string activationString = "";
        if (talent.TalentActivation == BaseEotETalent.Activation.ACTIVE)
            activationString = "Active";
        else
            activationString = "Passive";
        if (talent.TalentActivationSpec.Count > 0)
        {
            activationString += " (";
            foreach (BaseEotETalent.ActivationSpec activeSpec in talent.TalentActivationSpec)
            {
                switch (activeSpec)
                {
                    case BaseEotETalent.ActivationSpec.ACTION:
                        activationString += "Action";
                        break;
                    case BaseEotETalent.ActivationSpec.INCIDENTAL:
                        activationString += "Incidental";
                        break;
                    case BaseEotETalent.ActivationSpec.MANEUVER:
                        activationString += "Maneuver";
                        break;
                    case BaseEotETalent.ActivationSpec.OUTOFTURN:
                        activationString += "Out of Turn";
                        break;
                    default:
                        break;
                }
                if (talent.TalentActivationSpec.Count > 1 && activeSpec != talent.TalentActivationSpec[talent.TalentActivationSpec.Count - 1])
                {
                    activationString += ", ";
                }
            }
            activationString += ")";
        }
        talentActivationText.text = activationString;
        string talentTreesString = "";
        foreach (BaseEotETalent.Trees tree in talent.TalentTrees)
        {
            string treeName = "";
            switch (tree)
            {
                case BaseEotETalent.Trees.ASSASSIN:
                    treeName = "Assassin";
                    break;
                case BaseEotETalent.Trees.BODYGUARD:
                    treeName = "Bodyguard";
                    break;
                case BaseEotETalent.Trees.DOCTOR:
                    treeName = "Doctor";
                    break;
                case BaseEotETalent.Trees.FORCESENSITIVEEXILE:
                    treeName = "Force Sensitive Exile";
                    break;
                case BaseEotETalent.Trees.FRINGER:
                    treeName = "Fringer";
                    break;
                case BaseEotETalent.Trees.GADGETEER:
                    treeName = "Gadgeteer";
                    break;
                case BaseEotETalent.Trees.MARAUDER:
                    treeName = "Maurader";
                    break;
                case BaseEotETalent.Trees.MECHANIC:
                    treeName = "Mechanic";
                    break;
                case BaseEotETalent.Trees.MERCENARYSOLDIER:
                    treeName = "Mercenary Soldier";
                    break;
                case BaseEotETalent.Trees.NPCONLY:
                    treeName = "NPC Only";
                    break;
                case BaseEotETalent.Trees.OUTLAWTECH:
                    treeName = "Outlaw Tech";
                    break;
                case BaseEotETalent.Trees.PILOT:
                    treeName = "Pilot";
                    break;
                case BaseEotETalent.Trees.POLITICO:
                    treeName = "Politico";
                    break;
                case BaseEotETalent.Trees.SCHOLAR:
                    treeName = "Scholar";
                    break;
                case BaseEotETalent.Trees.SCOUNDREL:
                    treeName = "Scoundrel";
                    break;
                case BaseEotETalent.Trees.SCOUT:
                    treeName = "Scout";
                    break;
                case BaseEotETalent.Trees.SLICER:
                    treeName = "Slicer";
                    break;
                case BaseEotETalent.Trees.SURVIVALIST:
                    treeName = "Survivalist";
                    break;
                case BaseEotETalent.Trees.THIEF:
                    treeName = "Thief";
                    break;
                case BaseEotETalent.Trees.TRADER:
                    treeName = "Trader";
                    break;
                default:
                    break;
            }
            if (talentTreesString == "")
                talentTreesString = treeName;
            else
                talentTreesString += ", " + treeName;
        }
        talentTreesText.text = talentTreesString;
        talentDescriptionText.text = talent.TalentDescription;
        

    }