Example #1
0
    public void SetAttacks()
    {
        var children = new List <GameObject>();

        foreach (Transform child in attacksGlg.transform)
        {
            children.Add(child.gameObject);
        }
        children.ForEach(child => Destroy(child));

        FeatContainer feats = FightManager.Instance.Feats;

        ignore = new List <Attack>();
        foreach (var attack in feats.Attacks)
        {
            if (!ignore.Contains(attack))
            {
                foundStage2 = false;
                foundStage3 = false;
                AddAttack(attack);
                if (!foundStage2)
                {
                    AddSpace();
                    AddSpace();
                }
                if (!foundStage3)
                {
                    AddSpace();
                    AddSpace();
                }
            }
        }
    }
Example #2
0
    private void AddAttack(Attack attack)
    {
        GameObject     character = Menu.Instance.Character;
        Atributes      attribute = character.GetComponent <Atributes>();
        CharacterClass charClass = attribute.CharClass;

        FeatContainer feats = FightManager.Instance.Feats;

        if (attack.Class == charClass || attack.Class == CharacterClass.Any)
        {
            Sprite iconSprite = Resources.Load <Sprite>(attack.Icon);

            GameObject attackButton = GameObject.Instantiate(IconPrefab);

            attackButton.transform.SetParent(attacksGlg.transform);
            attackButton.transform.GetChild(0).GetComponent <Image>().sprite = iconSprite;
            attackButton.GetComponent <FeatSlot>().Feat = attack;
            attackButton.name = attack.Name;
            attackButton.transform.localScale = new Vector3(1f, 1f, 1f);


            if (Menu.Instance.Character.GetComponent <Atributes>().Feats.Contains(attackButton.GetComponent <FeatSlot>().Feat))
            {
                attackButton.GetComponent <FeatSlot>().Unlocked = true;
            }
            else
            {
                attackButton.GetComponent <FeatSlot>().Unlocked = false;
            }

            if (attack.MinLevel > attribute.Level)
            {
                attackButton.GetComponent <FeatSlot>().EnoughLevel = false;
            }
            else
            {
                attackButton.GetComponent <FeatSlot>().EnoughLevel = true;
            }


            ignore.Add(attack);

            foreach (var other in feats.Attacks)
            {
                if (other.Need == attack.ID && other != attack)
                {
                    AddArrow();
                    AddAttack(other);
                    if (!foundStage2)
                    {
                        foundStage2 = true;
                    }
                    else
                    {
                        foundStage3 = true;
                    }
                    break;
                }
            }
        }
    }