2024-11-29 18:18:36 +08:00
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using TMPro;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
|
|
|
|
public class EquipPanel : BasePanel
|
|
|
|
|
{
|
|
|
|
|
//<2F><>ť<EFBFBD><C5A5>ʼ<EFBFBD><CABC>ɫ<EFBFBD>ǰ<EFBFBD>ɫ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD>ɫ
|
|
|
|
|
private string imgColor = "A6A6A6";
|
|
|
|
|
//<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ɫ <20><><EFBFBD><EFBFBD>
|
|
|
|
|
private string txtColor1 = "4A5551";
|
|
|
|
|
//<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ dz<><C7B3>
|
|
|
|
|
private string txtColor2 = "CDDACF";
|
|
|
|
|
|
|
|
|
|
public Button btnClose;
|
|
|
|
|
public Button btnTou;
|
|
|
|
|
public Button btnYi;
|
|
|
|
|
public Button btnShou;
|
|
|
|
|
public Button btnYao;
|
|
|
|
|
public Button btnTui;
|
|
|
|
|
public Button btnXie;
|
|
|
|
|
public Text txtTou;
|
|
|
|
|
public Text txtYi;
|
|
|
|
|
public Text txtShou;
|
|
|
|
|
public Text txtYao;
|
|
|
|
|
public Text txtTui;
|
|
|
|
|
public Text txtXie;
|
|
|
|
|
|
|
|
|
|
public Button btnAll;
|
|
|
|
|
public Button btnToukui;
|
|
|
|
|
public Button btnZhanPao;
|
|
|
|
|
public Button btnHuShou;
|
|
|
|
|
public Button btnHuYao;
|
|
|
|
|
public Button btnHuTui;
|
|
|
|
|
public Button btnZhanXue;
|
|
|
|
|
public Button btnFenJie;
|
|
|
|
|
|
|
|
|
|
public Text txtAll;
|
|
|
|
|
public Text txtToukui;
|
|
|
|
|
public Text txtZhanPao;
|
|
|
|
|
public Text txtHuShou;
|
|
|
|
|
public Text txtHuYao;
|
|
|
|
|
public Text txtHuTui;
|
|
|
|
|
public Text txtZhanXue;
|
|
|
|
|
public Text txtFenJie;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>»<EFBFBD><C2BB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
public ScrollRect sv;
|
|
|
|
|
|
|
|
|
|
//װ<><D7B0>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>
|
|
|
|
|
public GameObject btnEquip;
|
|
|
|
|
|
|
|
|
|
//ѡ<><D1A1><EFBFBD>İ<EFBFBD>ť
|
|
|
|
|
private Button btnChoose;
|
|
|
|
|
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
private Text txtChoose;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private UserEquipInfo userEquip;
|
|
|
|
|
//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>ҳ<EFBFBD><D2B3>
|
|
|
|
|
private List<GameObject> equipList = new List<GameObject>();
|
|
|
|
|
|
|
|
|
|
public override void Init()
|
|
|
|
|
{
|
|
|
|
|
btnChoose = btnAll;
|
|
|
|
|
txtChoose = txtAll;
|
|
|
|
|
userEquip = GameDataMgr.Instance.userEquip;
|
|
|
|
|
|
|
|
|
|
//<2F><>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><CDB8>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
UpdatePanel();
|
|
|
|
|
|
|
|
|
|
btnClose.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
UIManager.Instance.HidePanel<EquipPanel>();
|
|
|
|
|
});
|
|
|
|
|
//ȫ<><C8AB><EFBFBD><EFBFBD>ť
|
|
|
|
|
btnAll.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0>ť<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
|
|
|
|
if (btnChoose!=btnAll)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
UpdateAllEquip();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//ͷ<><CDB7><EFBFBD><EFBFBD>ť
|
|
|
|
|
btnToukui.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0>ť<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
|
|
|
|
if (btnChoose != btnToukui)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>ð<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
SetColor(btnToukui, txtToukui);
|
|
|
|
|
UpdateEquip(1);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//ս<>۰<EFBFBD>ť
|
|
|
|
|
btnZhanPao.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0>ť<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
|
|
|
|
if (btnChoose != btnZhanPao)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>ð<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
SetColor(btnZhanPao, txtZhanPao);
|
|
|
|
|
UpdateEquip(2);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//<2F><><EFBFBD>ְ<EFBFBD>ť
|
|
|
|
|
btnHuShou.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0>ť<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
|
|
|
|
if (btnChoose != btnHuShou)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>ð<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
SetColor(btnHuShou, txtHuShou);
|
|
|
|
|
UpdateEquip(3);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť
|
|
|
|
|
btnHuYao.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0>ť<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
|
|
|
|
if (btnChoose != btnHuYao)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>ð<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
SetColor(btnHuYao, txtHuYao);
|
|
|
|
|
UpdateEquip(4);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//<2F><><EFBFBD>Ȱ<EFBFBD>ť
|
|
|
|
|
btnHuTui.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0>ť<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
|
|
|
|
if (btnChoose != btnHuTui)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>ð<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
SetColor(btnHuTui, txtHuTui);
|
|
|
|
|
UpdateEquip(5);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//սѥ<D5BD><D1A5>ť
|
|
|
|
|
btnZhanXue.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0>ť<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
|
|
|
|
if (btnChoose != btnZhanXue)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>ð<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
SetColor(btnZhanXue, txtZhanXue);
|
|
|
|
|
UpdateEquip(6);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//<2F>ֽⰴť
|
|
|
|
|
btnFenJie.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0>ť<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
|
|
|
|
if (btnChoose != btnFenJie)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>ð<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
SetColor(btnFenJie, txtFenJie);
|
|
|
|
|
UpdateAllEquip();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
2024-12-02 18:00:58 +08:00
|
|
|
|
//<2F><>װ<EFBFBD><D7B0>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ť
|
|
|
|
|
btnTou.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
DressEquipBtn("tou");
|
|
|
|
|
});
|
|
|
|
|
//<2F><>װ<EFBFBD><D7B0>ս<EFBFBD>۰<EFBFBD>ť
|
|
|
|
|
btnYi.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
DressEquipBtn("yi");
|
|
|
|
|
});
|
|
|
|
|
//<2F><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD>ť
|
|
|
|
|
btnShou.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
DressEquipBtn("shou");
|
|
|
|
|
});
|
|
|
|
|
//<2F><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť
|
|
|
|
|
btnYao.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
DressEquipBtn("yao");
|
|
|
|
|
});
|
|
|
|
|
//<2F><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>Ȱ<EFBFBD>ť
|
|
|
|
|
btnTui.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
DressEquipBtn("tui");
|
|
|
|
|
});
|
|
|
|
|
//<2F><>װ<EFBFBD><D7B0>սѥ<D5BD><D1A5>ť
|
|
|
|
|
btnXie.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
DressEquipBtn("xie");
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20>Ѵ<EFBFBD><D1B4><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void DressEquipBtn(string name)
|
|
|
|
|
{
|
|
|
|
|
if (GameDataMgr.Instance.userEquip.dressEquip.ContainsKey(name))
|
|
|
|
|
{
|
|
|
|
|
if (GameDataMgr.Instance.userEquip.dressEquip[name] != null)
|
|
|
|
|
{
|
|
|
|
|
EquipDressPanel dress = UIManager.Instance.ShowPanel<EquipDressPanel>(E_UILayer.System);
|
|
|
|
|
dress.UpdatePanel(GameDataMgr.Instance.userEquip.dressEquip[name]);
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-11-29 18:18:36 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD>ı䰴ť<E4B0B4><C5A5><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="btn"></param>
|
|
|
|
|
/// <param name="txt"></param>
|
|
|
|
|
public void SetColor(Button btn, Text txt)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫǰ<C9AB>Ȱ<EFBFBD><C8B0><EFBFBD>һ<EFBFBD>εİ<CEB5>ť<EFBFBD><C5A5>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
|
|
|
|
if (btnChoose != null && txtChoose != null)
|
|
|
|
|
{
|
|
|
|
|
btnChoose.image.color = Color.white;
|
|
|
|
|
txtChoose.color = GameMgr.Instance.HexToColor(txtColor1);
|
|
|
|
|
}
|
|
|
|
|
//Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>ô˴ε<CBB4><CEB5><EFBFBD><EFBFBD>İ<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
btn.image.color = GameMgr.Instance.HexToColor(imgColor);
|
|
|
|
|
txt.color = GameMgr.Instance.HexToColor(txtColor2);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD>µİ<C2B5>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
|
|
|
btnChoose = btn;
|
|
|
|
|
txtChoose = txt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void UpdatePanel()
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>
|
|
|
|
|
UpdateAllEquip();
|
|
|
|
|
//<2F><><EFBFBD>ð<EFBFBD>ť<EFBFBD><C5A5>ɫ
|
|
|
|
|
SetColor(btnAll, txtAll);
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD>װ<EFBFBD><D7B0>
|
|
|
|
|
if (userEquip.dressEquip.ContainsKey("tou"))
|
|
|
|
|
{
|
|
|
|
|
txtTou.text = userEquip.dressEquip["tou"].name;
|
2024-12-02 18:00:58 +08:00
|
|
|
|
txtTou.color = GameMgr.Instance.HexToColor(userEquip.dressEquip["tou"].equipColor);
|
2024-11-29 18:18:36 +08:00
|
|
|
|
}
|
|
|
|
|
if (userEquip.dressEquip.ContainsKey("yi"))
|
|
|
|
|
{
|
|
|
|
|
txtYi.text = userEquip.dressEquip["yi"].name;
|
2024-12-02 18:00:58 +08:00
|
|
|
|
txtYi.color = GameMgr.Instance.HexToColor(userEquip.dressEquip["yi"].equipColor);
|
2024-11-29 18:18:36 +08:00
|
|
|
|
}
|
|
|
|
|
if (userEquip.dressEquip.ContainsKey("shou"))
|
|
|
|
|
{
|
|
|
|
|
txtShou.text = userEquip.dressEquip["shou"].name;
|
2024-12-02 18:00:58 +08:00
|
|
|
|
txtShou.color = GameMgr.Instance.HexToColor(userEquip.dressEquip["shou"].equipColor);
|
2024-11-29 18:18:36 +08:00
|
|
|
|
}
|
|
|
|
|
if (userEquip.dressEquip.ContainsKey("yao"))
|
|
|
|
|
{
|
|
|
|
|
txtYao.text = userEquip.dressEquip["yao"].name;
|
2024-12-02 18:00:58 +08:00
|
|
|
|
txtYao.color = GameMgr.Instance.HexToColor(userEquip.dressEquip["yao"].equipColor);
|
2024-11-29 18:18:36 +08:00
|
|
|
|
}
|
|
|
|
|
if (userEquip.dressEquip.ContainsKey("tui"))
|
|
|
|
|
{
|
|
|
|
|
txtTui.text = userEquip.dressEquip["tui"].name;
|
2024-12-02 18:00:58 +08:00
|
|
|
|
txtTui.color = GameMgr.Instance.HexToColor(userEquip.dressEquip["tui"].equipColor);
|
2024-11-29 18:18:36 +08:00
|
|
|
|
}
|
|
|
|
|
if (userEquip.dressEquip.ContainsKey("xie"))
|
|
|
|
|
{
|
|
|
|
|
txtXie.text = userEquip.dressEquip["xie"].name;
|
2024-12-02 18:00:58 +08:00
|
|
|
|
txtXie.color = GameMgr.Instance.HexToColor(userEquip.dressEquip["xie"].equipColor);
|
2024-11-29 18:18:36 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
|
|
|
|
|
private void UpdateEquip(int equipType)
|
|
|
|
|
{
|
|
|
|
|
//1 ͷ<><CDB7>2<EFBFBD>·<EFBFBD><C2B7><EFBFBD>3<EFBFBD>֣<EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>5<EFBFBD>ȣ<EFBFBD>6Ь
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>б<EFBFBD>
|
|
|
|
|
for (int i = 0; i < equipList.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
Destroy(equipList[i]);
|
|
|
|
|
}
|
|
|
|
|
equipList.Clear();
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < userEquip.itemEquip.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
if (userEquip.itemEquip[i].equipType==equipType)
|
|
|
|
|
{
|
|
|
|
|
GameObject go = Instantiate(btnEquip);
|
|
|
|
|
go.GetComponent<BtnEquip>().UpdatePanel(userEquip.itemEquip[i]);
|
|
|
|
|
go.transform.SetParent(sv.content, false);
|
|
|
|
|
equipList.Add(go);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//ȫ<><C8AB>װ<EFBFBD><D7B0>
|
|
|
|
|
private void UpdateAllEquip()
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>б<EFBFBD>
|
|
|
|
|
for (int i = 0; i < equipList.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
Destroy(equipList[i]);
|
|
|
|
|
}
|
|
|
|
|
equipList.Clear();
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < userEquip.itemEquip.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
GameObject go = Instantiate(btnEquip);
|
|
|
|
|
go.GetComponent<BtnEquip>().UpdatePanel(userEquip.itemEquip[i]);
|
|
|
|
|
go.transform.SetParent(sv.content,false);
|
|
|
|
|
equipList.Add(go);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OnDestroy()
|
|
|
|
|
{
|
|
|
|
|
equipList = null;
|
|
|
|
|
}
|
|
|
|
|
}
|