public void ShowEquipBar(EquipData equip, EquipItemCallback2 callback = null) { switch (equip.equipType) { case EquipType.Armor: UpdateEquip(Armor, out hasArmor, out hasUpArmor, equip, callback); break; case EquipType.Helmet: UpdateEquip(Helmet, out hasHelmet, out hasUpHelmet, equip, callback); break; case EquipType.Necklace: UpdateEquip(Necklace, out hasNecklace, out hasUpNecklace, equip, callback); break; case EquipType.Ring: UpdateEquip(Ring, out hasRing, out hasUpRing, equip, callback); break; case EquipType.shoes: UpdateEquip(shoes, out hasshoes, out hasUpshoes, equip, callback); break; case EquipType.weapon: UpdateEquip(Weapon, out hasWeapon, out hasUpWeapon, equip, callback); break; } }
/// <summary> /// 初始化面板,以及更新面板 /// </summary> /// <param name="equips"></param> public void Init(List <EquipData> equips, EquipItemCallback2 callback = null) { int atk = 0, hp = 0, def = 0, mana = 0; //更新的时候把是否更新置为false hasUpWeapon = false; hasUpshoes = false; hasUpRing = false; hasUpHelmet = false; hasUpArmor = false; hasUpNecklace = false; for (int i = 0; i < equips.Count; i++) { atk += equips[i].addAtk; hp += equips[i].addHp; def += equips[i].addDef; mana += equips[i].addMana; //如果有对应装备实列化到面板上 ShowEquipBar(equips[i], callback); } //如果没有移除 RemoveEquip(Armor, ref hasArmor, hasUpArmor); RemoveEquip(Helmet, ref hasHelmet, hasUpHelmet); RemoveEquip(Necklace, ref hasNecklace, hasUpNecklace); RemoveEquip(Ring, ref hasRing, hasUpRing); RemoveEquip(shoes, ref hasshoes, hasUpshoes); RemoveEquip(Weapon, ref hasWeapon, hasUpWeapon); AtkValueText.text = atk.ToString(); HpValueText.text = hp.ToString(); DefValueText.text = def.ToString(); ManaValueText.text = mana.ToString(); }
//背包的初始化 public void Init(EquipData equipData, EquipItemCallback2 callback = null) { nowType = EquipViewType.Bag; click.onClick.RemoveAllListeners(); this.callback2 = callback; click.onClick.AddListener(Click2); myEquipData2 = equipData; SpriteAtlas sa = ResManager.Instance.Load <SpriteAtlas>("UI/equip/EquipAtlas"); equipImage.sprite = sa.GetSprite(equipData.icon); }
public void ShowEquip(List <EquipData> equipDataList, EquipItemCallback2 callback = null) { //1.如果当前图标数小于传进来的数据那么就添加 //2.如果大于就失活 if (equipDataList == null) { return; } Debug.Log("更新"); for (int i = 0; i < equipDataList.Count; i++) { GameObject item = null; if (i < equipItemContent.childCount) { item = equipItemContent.GetChild(i).gameObject; } else { //实例化到场景中 item = PoolManager.Instance.GetObj("Prafebs/UI/equipItem"); //设置父对象 item.transform.SetParent(equipItemContent); (item.transform as RectTransform).localScale = Vector3.one; } EquipItemController si = item.GetComponent <EquipItemController>(); //初始化图标 LocalEquipData localEquip = EquipDataModel.Instance.MyEquipData2Local(equipDataList[i]); si.Init(equipDataList[i], callback); } int num = equipItemContent.childCount; for (int i = equipDataList.Count; i < num; i++) { PoolManager.Instance.PushObj(equipItemContent.GetChild(equipDataList.Count).gameObject); } }
public void Init(List <EquipData> equipDataList, EquipItemCallback2 callback = null) { ShowEquip(equipDataList, callback); }
public void UpdateEquip(Image equipImage, out bool hasEquip, out bool hasUpEquip, EquipData equip, EquipItemCallback2 callback = null) { GameObject item = null; if (equipImage.transform.childCount < 2) { //实例化到场景中 item = PoolManager.Instance.GetObj("Prafebs/UI/equipItem"); //设置父对象 item.transform.SetParent(equipImage.transform); item.transform.localScale = Vector3.one; item.transform.localPosition = Vector3.zero; } else { item = equipImage.transform.GetChild(1).gameObject; } EquipItemController si = item.GetComponent <EquipItemController>(); si.Init(equip, callback); hasEquip = true; hasUpEquip = true; }