123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- using UnityEngine;
- using UnityEngine.UI;
- using System.Collections;
- using System.Collections.Generic;
- public class EquipPanel : PopUpPanel
- {
- public Transform craftContainer;
- public EquipCraftItemRenderer craftItemPrefab;
- public Transform equipContainer;
- public EquipIcon equipItemPrefab;
- public Transform equipedContainer;
- public EquipIcon equipedItemPrefab;
- public EquipInfo equipInfo;
- public Transform equipedStyleContainer;
- public Button recommandBtn;
- public Button customizeBtn;
- public Text recommandLabel;
- public Text customizeLabel;
- private CraftConfigData craftData;
- private EquipedData equipedData;
- void Awake()
- {
- equipItemPrefab.equipPanel = this;
- equipedItemPrefab.equipPanel = this;
- List<CraftConfigData> craftList = CraftManager.GetInstance ().GetDataList ();
- craftItemPrefab.equipPanel = this;
- ListHelper.FillList<CraftConfigData> (craftContainer, craftList, craftItemPrefab);
- ListHelper.HideAll (equipContainer);
- ListHelper.HideAll (equipedContainer);
- Shown ();
- equipInfo.equipPanel = this;
- recommandLabel.text = Language.GetStr ("EquipPanel", "recommand");
- customizeLabel.text = Language.GetStr ("EquipPanel", "customize");
- SelectCraft (craftContainer.GetChild(0).GetComponent<EquipCraftItemRenderer>());
- }
- protected override void Shown ()
- {
- EquipManager.GetInstance ().InventoryUpdate.AddListener (OnInventoryUpdate);
- EquipManager.GetInstance ().RequestInventory ();
- }
- private void OnInventoryUpdate()
- {
- EquipManager.GetInstance ().InventoryUpdate.RemoveListener (OnInventoryUpdate);
- SelectCraft (craftContainer.GetChild(0).GetComponent<EquipCraftItemRenderer>());
- List<Equipment> list = EquipManager.GetInstance ().GetInventoryList ();
- ListHelper.FillList<Equipment> (equipContainer, list, equipItemPrefab);
- if (list.Count > 0)
- SelectEquip (equipItemPrefab);
- else
- SelectEquip (null);
- }
- public void SelectCraft(EquipCraftItemRenderer itemRenderer)
- {
- craftData = itemRenderer.data as CraftConfigData;
- ButtonUtil.TabSelected (itemRenderer, craftContainer);
- if(EquipManager.GetInstance().initialized)
- {
- equipedData = EquipManager.GetInstance ().GetEquipedData (craftData.id);
- SelectEquipedStyle (equipedData.styleType.GetHashCode ());
- }
- }
- public void SelectEquip(EquipIcon icon)
- {
- if (icon != null) {
- ButtonUtil.TabSelected (icon, equipContainer);
- equipInfo.SetEquip (icon.data as Equipment);
- } else {
- equipInfo.SetEquip (null);
- }
- }
- public void SelectEquiped(EquipIcon icon)
- {
-
- }
- public void Equip(Equipment equip)
- {
- if(!equipedData.IsEquiped(equip))
- {
- bool replaced = equipedData.ReplaceCustomize (null, equip);
- if (!replaced) {
- Debuger.LogError ("Can not replaced");
- }
- SelectEquipedStyle (equipedData.styleType.GetHashCode());
- }
- }
- public void SelectEquipedStyle(int index)
- {
- ButtonUtil.TabSelected (index, equipedStyleContainer);
- equipedData.styleType = EquipedData.GetSytleTypeByCode(index);
- ListHelper.FillList<Equipment> (equipedContainer, equipedData.GetCurrentList(), equipedItemPrefab);
- }
- private static EquipPanel currentPanel;
- public static EquipPanel Show()
- {
- if (currentPanel != null) {
- currentPanel.gameObject.SetActive (true);
- PopUpManager.AddToMainCanvas (currentPanel.gameObject);
- }
- else
- currentPanel = PopUpManager.AddPopUp<EquipPanel> (Resources.Load<GameObject> ("Prefabs/UI/EquipPanel/EquipPanel"), null, true);
- currentPanel.Open ();
- return currentPanel;
- }
- }
|