Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
 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();
 }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
0
    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));
    }
Exemplo n.º 5
0
    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);
    }
Exemplo n.º 6
0
    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
    }
Exemplo n.º 7
0
 public bool CanBeSelected(SkillsOne one)
 {
     return(this.GetComponent <SkillsOne>().get(one.Last()).activated);
 }