public void add(string actname, string info, int pkt = 1, string actFullName = "!") { if (actFullName == "!") { actFullName = actname; } string act = ""; for (int i = 0; i < actname.Length; i++) { if (actname[i] == '/') { int actid = id(act); if (actid != -1) { skill[actid].add(actname.Substring(i + 1, actname.Length - (i + 1)), info, pkt, actFullName); return; } } act += actname[i]; } SkillsOne newskill = new SkillsOne(); newskill.name = actname; newskill.info = info; newskill.height = height + 1; newskill.fullName = actFullName; newskill.pkt = pkt; if (newskill.info == "category") { newskill.activated = true; } skill.Add(newskill); }
void Start() { skillSample = GameObject.Find("SkillsTree/Panel/SkillSample"); lineSample = GameObject.Find("SkillsTree/Panel/LineSample"); list = GameObject.Find("SkillsTree/Panel/List"); pkt = GameObject.Find("SkillsTree/Panel/Pkt"); target = GameObject.Find("SkillsTree/Panel/Target"); oneskill = this.GetComponent <SkillsOne>(); skillSample.active = false; lineSample.active = false; Open(); }
private float CalculateRest(SkillsOne skill) { float rest_a = skill.GetTheLongest(); if (rest_a != 0) { rest_a--; } rest_a = rest_a * 0.5f; return(rest_a); }
private void GenerateOne(int x, int y, SkillsOne skill) { int longest = skill.GetTheLongest(); if (longest != 0) { longest--; } GenerateLine(x + ((longest) * 0.5f), (y * 2)); if (longest > 0) { float rest_a = CalculateRest(skill.skill[0]); float rest_b = CalculateRest(skill.skill[skill.skill.Count - 1]); GenerateLine(x + rest_a, y * 2, longest - rest_a - rest_b); } if (skill.GetTheLongest() > 0) { GenerateLine(x + ((longest) * 0.5f), (y * 2), 0.0f, true); } GameObject element = Instantiate(skillSample); element.transform.SetParent(list.transform); element.active = true; element.GetComponent <SkillsElement>().SetInfo(skill.name, skill.info, skill.fullName, skill.pkt); element.GetComponent <SkillsElement>().SetImage(skill.name); Color kolor = new Color(); if (skill.activated) { kolor = new Color(0, 0, 1); } else { if (CanBeSelected(skill) && this.GetComponent <SkillsLevel>().levels[type].points >= skill.pkt) { kolor = new Color(1, 1, 0); } else { kolor = new Color(1, 1, 1); } } element.GetComponent <SkillsElement>().SetColor(kolor); element.GetComponent <SkillsElement>().Pos(x + ((longest) * 0.5f), (y * 2)); }
public bool NewActive(string fullN, int pkt) { SkillsOne copy = this.GetComponent <SkillsOne>(); SkillsLevelSegment level = this.GetComponent <SkillsLevel>().levels[type]; if (level.points >= pkt) { if (this.GetComponent <SkillsOne>().NewActive(fullN)) { level.points -= pkt; Generate(); return(true); } } return(false); }
public void Generate() { SkillsOne copy = this.GetComponent <SkillsOne>().skill[type]; //pobieranie wyglądu drzewa SkillsLevelSegment level = this.GetComponent <SkillsLevel>().levels[type]; //wczytywanie informacji o poziomach StartCenterTree(); //zerowanie pozycji PosTextPkt(level.points + "pkt"); //ustawianie pozycji tekstu z punktami Remove(); //usuwanie elementów this.GetComponent <SkillsBackground>().Reset(type.ToString()); //zmiana tła target.GetComponent <SkillsTargetSample>().set(level.name + " Level " + level.level, level.procent()); //zmiana tekstu GenerateLine(0, 0, copy.skill); //rysowanie drzewa CenterTree(copy.GetTheLongest()); //centrowanie drzewa }
public bool CanBeSelected(SkillsOne one) { return(this.GetComponent <SkillsOne>().get(one.Last()).activated); }