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(); } } } }
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; } } } }