247 lines
7.4 KiB
C#
247 lines
7.4 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
|
|||
|
public class EquipDressPanel : BasePanel
|
|||
|
{
|
|||
|
public Button btnClose;
|
|||
|
public Button btnDis;
|
|||
|
public Button btnFenjie;
|
|||
|
public Button btnChong;
|
|||
|
|
|||
|
public Text txtName;
|
|||
|
public Text txtJingjie;
|
|||
|
public Text txtQuality;
|
|||
|
|
|||
|
public Transform basicAtt;
|
|||
|
public Transform addAtt;
|
|||
|
public GameObject txtEntry;
|
|||
|
|
|||
|
//<2F><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private EquipData equipData;
|
|||
|
private PlayerData player;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ--<2D><>ɫ
|
|||
|
private string entryColor = "FF4E00";
|
|||
|
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD>ɫ--<2D><>ɫ
|
|||
|
private string equipColorLv = "33A154";
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD>ɫ--<2D><>ɫ
|
|||
|
private string equipColorLan = "0030FF";
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD>ɫ--<2D><>ɫ
|
|||
|
private string equipColorZi = "8800FF";
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD>ɫ--<2D><>ɫ
|
|||
|
private string equipColorHuang = "FFD104";
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD>ɫ--<2D><>ɫ
|
|||
|
private string equipColorHong = "FF5F04";
|
|||
|
|
|||
|
public override void Init()
|
|||
|
{
|
|||
|
player = GameDataMgr.Instance.player;
|
|||
|
|
|||
|
btnClose.onClick.AddListener(() =>
|
|||
|
{
|
|||
|
UIManager.Instance.HidePanel<EquipDressPanel>();
|
|||
|
});
|
|||
|
btnDis.onClick.AddListener(() =>
|
|||
|
{
|
|||
|
DisEquip();
|
|||
|
UIManager.Instance.HidePanel<EquipDressPanel>();
|
|||
|
});
|
|||
|
btnFenjie.onClick.AddListener(() =>
|
|||
|
{
|
|||
|
|
|||
|
});
|
|||
|
btnChong.onClick.AddListener(() =>
|
|||
|
{
|
|||
|
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
|
|||
|
public void UpdatePanel(EquipData equip)
|
|||
|
{
|
|||
|
equipData = equip;
|
|||
|
txtName.text = equip.name;
|
|||
|
txtJingjie.text = equip.name.Substring(0, 2);
|
|||
|
switch (equip.equipAddAtt.Count)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
UpdateColor(equipColorLv, "<22><>ɫ");
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
UpdateColor(equipColorLan, "<22><>ɫ");
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
UpdateColor(equipColorZi, "<22><>ɫ");
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
UpdateColor(equipColorHuang, "<22><>ɫ");
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
UpdateColor(equipColorHong, "<22><>ɫ");
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
CreateTxtEntry(equip);
|
|||
|
}
|
|||
|
|
|||
|
private void UpdateColor(string color, string colorName)
|
|||
|
{
|
|||
|
txtName.color = GameMgr.Instance.HexToColor(color);
|
|||
|
txtName.gameObject.GetComponent<Outline>().effectColor = GameMgr.Instance.HexToColorAlaph(color);
|
|||
|
txtJingjie.color = GameMgr.Instance.HexToColor(color);
|
|||
|
txtJingjie.gameObject.GetComponent<Outline>().effectColor = GameMgr.Instance.HexToColorAlaph(color);
|
|||
|
txtQuality.text = "colorName";
|
|||
|
txtQuality.color = GameMgr.Instance.HexToColor(color);
|
|||
|
txtQuality.gameObject.GetComponent<Outline>().effectColor = GameMgr.Instance.HexToColorAlaph(color);
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private void CreateTxtEntry(EquipData equip)
|
|||
|
{
|
|||
|
GameObject go;
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>
|
|||
|
if (equip.equipBasicAtt.Count > 0)
|
|||
|
{
|
|||
|
for (int i = 0; i < equip.equipBasicAtt.Count; i++)
|
|||
|
{
|
|||
|
go = Instantiate(txtEntry);
|
|||
|
go.transform.SetParent(basicAtt, false);
|
|||
|
go.GetComponent<TxtEntry>().UpdatePanel(equip.equipBasicAtt[i]);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>
|
|||
|
if (equip.equipAddAtt.Count > 0)
|
|||
|
{
|
|||
|
for (int i = 0; i < equip.equipAddAtt.Count; i++)
|
|||
|
{
|
|||
|
go = Instantiate(txtEntry);
|
|||
|
go.transform.SetParent(addAtt, false);
|
|||
|
go.GetComponent<TxtEntry>().UpdatePanel(equip.equipBasicAtt[i], entryColor);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>ж<EFBFBD><D0B6>
|
|||
|
private void DisEquip()
|
|||
|
{
|
|||
|
switch (equipData.equipType)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
DischargeEquip("tou");
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
DischargeEquip("yi");
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
DischargeEquip("shou");
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
DischargeEquip("yao");
|
|||
|
break;
|
|||
|
case 5:
|
|||
|
DischargeEquip("tui");
|
|||
|
break;
|
|||
|
case 6:
|
|||
|
DischargeEquip("xie");
|
|||
|
break;
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
UIManager.Instance.GetPanel<EquipPanel>().UpdatePanel();
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
UIManager.Instance.GetPanel<UserPanel>().UpdatePanel();
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
GameDataMgr.Instance.EquipDataSave();
|
|||
|
GameDataMgr.Instance.PlayerDataSave();
|
|||
|
}
|
|||
|
//ж<><D0B6>װ<EFBFBD><D7B0>
|
|||
|
private void DischargeEquip(string name)
|
|||
|
{
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>Ϊ<EFBFBD><CEAA>
|
|||
|
GameDataMgr.Instance.userEquip.dressEquip[name] = null;
|
|||
|
//װ<><D7B0><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
|
|||
|
GameDataMgr.Instance.userEquip.itemEquip.Add(equipData);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>
|
|||
|
PlayerDataDis();
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="equip">װ<><D7B0><EFBFBD><EFBFBD>Ϣ</param>
|
|||
|
/// <param name="num"><3E><><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB>Ǽ<EFBFBD><C7BC><EFBFBD> 1<><31>ʾ<EFBFBD><CABE><EFBFBD>ӣ<EFBFBD>-1<><31>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD></param>
|
|||
|
private void PlayerDataDis()
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>
|
|||
|
for (int i = 0; i < equipData.equipBasicAtt.Count; i++)
|
|||
|
{
|
|||
|
switch (equipData.equipBasicAtt[i].entryType)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
player.hp -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
player.atk -=equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
player.def -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
player.crit -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 5:
|
|||
|
player.critDamage -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 6:
|
|||
|
player.atkSpeed -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 7:
|
|||
|
player.stoneAdd -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 8:
|
|||
|
player.kangCrit -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 9:
|
|||
|
player.gasAdd -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>
|
|||
|
for (int i = 0; i < equipData.equipAddAtt.Count; i++)
|
|||
|
{
|
|||
|
switch (equipData.equipBasicAtt[i].entryType)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
player.hp -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
player.atk -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
player.def -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
player.crit -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 5:
|
|||
|
player.critDamage -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 6:
|
|||
|
player.atkSpeed -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 7:
|
|||
|
player.stoneAdd -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 8:
|
|||
|
player.kangCrit -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
case 9:
|
|||
|
player.gasAdd -= equipData.equipBasicAtt[i].num;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|