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; }
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<>() }
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; } }
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; }*/ }
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"); }
void AddTalent(BaseEotETalent talent) { CharacterInformation.CurrentAvailXP -= talent.TalentXPCost; CharacterInformation.TotalXP += talent.TalentXPCost; SetXP(); talent.Obtained = true; CharacterInformation.AddTalent(talent); }
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; }