CultivateImmortal/Assets/Scripts/GameScene/UI/EquipInfoPanel.cs

204 lines
6.2 KiB
C#
Raw Normal View History

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EquipInfoPanel : BasePanel
{
public Button btnClose;
public Button btnDress;
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;
public override void Init()
{
player = GameDataMgr.Instance.player;
btnClose.onClick.AddListener(() =>
{
UIManager.Instance.HidePanel<EquipInfoPanel>();
});
btnDress.onClick.AddListener(() =>
{
DressEquip();
UIManager.Instance.HidePanel<EquipInfoPanel>();
});
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;
txtName.color = GameMgr.Instance.HexToColor(equip.color);
txtName.gameObject.GetComponent<Outline>().effectColor = GameMgr.Instance.HexToColorAlaph(equip.color);
txtJingjie.text=equip.name.Substring(0,2);
txtJingjie.color = GameMgr.Instance.HexToColor(equip.color);
txtJingjie.gameObject.GetComponent<Outline>().effectColor = GameMgr.Instance.HexToColorAlaph(equip.color);
txtQuality.text = equip.colorName;
txtQuality.color = GameMgr.Instance.HexToColor(equip.color);
txtQuality.gameObject.GetComponent<Outline>().effectColor = GameMgr.Instance.HexToColorAlaph(equip.color);
CreateTxtEntry(equip);
}
//<2F><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
private void CreateTxtEntry(EquipData equip)
{
GameObject go;
if (equip.hp!=0)
{
go = Instantiate(txtEntry);
go.transform.SetParent(basicAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel(<><D1AA>+"+equip.hp);
}
if (equip.atk != 0)
{
go = Instantiate(txtEntry);
go.transform.SetParent(basicAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+" + equip.atk);
}
if (equip.def != 0)
{
go = Instantiate(txtEntry);
go.transform.SetParent(basicAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+" + equip.def);
}
if (equip.crit != 0f)
{
go = Instantiate(txtEntry);
go.transform.SetParent(basicAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+" + equip.crit+"%");
}
if (equip.critDamage != 0f)
{
go = Instantiate(txtEntry);
go.transform.SetParent(basicAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>+" + equip.critDamage + "%");
}
if (equip.atkSpeed != 0f)
{
go = Instantiate(txtEntry);
go.transform.SetParent(addAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>+" + equip.atkSpeed + "%");
}
if (equip.kangCrit != 0f)
{
go = Instantiate(txtEntry);
go.transform.SetParent(addAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+" + equip.kangCrit + "%");
}
if (equip.gasAdd != 0f)
{
go = Instantiate(txtEntry);
go.transform.SetParent(addAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>+" + equip.gasAdd + "%");
}
if (equip.yuAdd != 0f)
{
go = Instantiate(txtEntry);
go.transform.SetParent(addAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>+" + equip.yuAdd + "%");
}
if (equip.stoneAdd != 0f)
{
go = Instantiate(txtEntry);
go.transform.SetParent(addAtt, false);
go.GetComponent<TxtEntry>().UpdatePanel("<22><>ʯ<EFBFBD>ӳ<EFBFBD>+" + equip.stoneAdd + "%");
}
}
//<2F><><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
private void DressEquip()
{
GameDataMgr.Instance.userEquip.itemEquip.Remove(equipData);
switch (equipData.equipType)
{
case 1:
AddEquip("tou");
break;
case 2:
AddEquip("yi");
break;
case 3:
AddEquip("shou");
break;
case 4:
AddEquip("yao");
break;
case 5:
AddEquip("tui");
break;
case 6:
AddEquip("xie");
break;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PlayerDataAdd();
//<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();
}
private void AddEquip(string name)
{
if (GameDataMgr.Instance.userEquip.dressEquip.ContainsKey(name))
{
if (GameDataMgr.Instance.userEquip.dressEquip[name]!=null)
{
EquipData equip = GameDataMgr.Instance.userEquip.dressEquip[name];
GameDataMgr.Instance.userEquip.dressEquip[name] = equipData;
GameDataMgr.Instance.userEquip.itemEquip.Add(equip);
}
else
{
GameDataMgr.Instance.userEquip.dressEquip[name] = equipData;
}
}
else
{
GameDataMgr.Instance.userEquip.dressEquip.Add(name, equipData);
}
}
private void PlayerDataAdd()
{
player.hp += equipData.hp;
player.atk += equipData.atk;
player.def += equipData.def;
player.crit += equipData.crit;
player.critDamage += equipData.critDamage;
player.atkSpeed += equipData.atkSpeed;
player.kangCrit += equipData.kangCrit;
player.gasAdd += equipData.gasAdd;
player.stoneAdd += equipData.stoneAdd;
}
}