CutePet/Assets/Scripts/GameScene/Panel/GamePanel.cs

287 lines
7.7 KiB
C#
Raw Normal View History

2024-10-25 11:10:04 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GamePanel : BasePanel
{
//ͷ<><CDB7>
public Button btnHead;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Button btnJBTX;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Button btnZXLJB;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Button btnCGLJB;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Button btnYQLJB;
//<2F><><EFBFBD>а<EFBFBD>
public Button btnPHB;
//չ<><D5B9>
public Button btnEXH;
//ѡ<><D1A1><EFBFBD>ؿ<EFBFBD>
public Button btnLev;
//<2F><><EFBFBD><EFBFBD>1
public Button btnSkill1;
private string hexColor="#6F6F6F";
//<2F><><EFBFBD><EFBFBD>2
public Button btnSkill2;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Text txtUserName;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Text txtGold;
//<2F><><EFBFBD><EFBFBD>
public Text txtScore2;
public int scoreInt = 0;
//<2F>ؿ<EFBFBD>
public Text txtLev2;
//<2F>ؿ<EFBFBD><D8BF><EFBFBD>
public int levInt=1;
//<2F><>ʾ<EFBFBD><CABE>Ϣ
public Text txtTips;
public Text txtSkillTips;
public GameObject imgSkill;
//<2F><>ʾʱ<CABE><CAB1>
public float displayDuration = 0.5f;
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ΰ<EFBFBD>ť
private bool isCanButton = false;
public override void Init()
{
imgSkill.SetActive(false);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>йؿ<D0B9><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
StartCoroutine(NetMgr.Instance.AllLevGet());
//ÿ<>ν<EFBFBD><CEBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UpdatePlayerData();
UpdatePanel(GameDataMgr.Instance.player.customLev);
btnHead.onClick.AddListener(() =>
{
//<2F><>ʾ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
UIManager.Instance.ShowPanel<UserPanel>();
});
btnJBTX.onClick.AddListener(() =>
{
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
UIManager.Instance.ShowPanel<GoldRealPanel>();
});
btnZXLJB.onClick.AddListener(() =>
{
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>
UIManager.Instance.ShowPanel<OnlinePanel>();
});
btnCGLJB.onClick.AddListener(() =>
{
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>
UIManager.Instance.ShowPanel<RushPanel>();
});
btnYQLJB.onClick.AddListener(() =>
{
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>
UIManager.Instance.ShowPanel<InvitePanel>();
});
btnPHB.onClick.AddListener(() =>
{
//<2F><>ʾ<EFBFBD><CABE><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>
UIManager.Instance.ShowPanel<RankPanel>();
});
btnEXH.onClick.AddListener(() =>
{
//<2F><>ʾչ<CABE><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UIManager.Instance.ShowPanel<ExhPanel>();
btnEXH.gameObject.SetActive(false);
});
btnLev.onClick.AddListener(() =>
{
UIManager.Instance.ShowPanel<AllLevStatePanel>();
});
//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
btnSkill1.onClick.AddListener(() =>
{
if (!isCanButton)
{
if (GameMgr.Instance.skillOne == 100 && PlayerMain.Instance.isStart)
{
GameMgr.Instance.SkillOneDelPet();
UpdateColor(btnSkill1, hexColor);
}
else
{
ShowHintText("<22><><EFBFBD><EFBFBD><31><CEB4><EFBFBD><EFBFBD>޷<EFBFBD>ʹ<EFBFBD><CAB9>");
}
}
});
//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
btnSkill2.onClick.AddListener(() =>
{
if (!isCanButton)
{
if (GameMgr.Instance.skillTwo == 200 && PlayerMain.Instance.isStart)
{
PlayerMain.Instance.isStart = false;
PlayerMain.Instance.isSkillTwoStart = true;
UpdateColor(btnSkill2, hexColor);
}
else
{
ShowHintText("<22><><EFBFBD><EFBFBD><32><CEB4><EFBFBD><EFBFBD>޷<EFBFBD>ʹ<EFBFBD><CAB9>");
}
}
});
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
/// </summary>
private void UpdatePlayerData()
{
List<bool> playerList;
List<bool> playerTempList;
if (GameDataMgr.Instance.player.inviteGiftOpen.Count<GameDataMgr.Instance.playerTemp.inviteGiftOpen.Count)
{
playerList = GameDataMgr.Instance.player.inviteGiftOpen;
playerTempList = GameDataMgr.Instance.playerTemp.inviteGiftOpen;
for (int i = playerList.Count; i < playerTempList.Count; i++)
{
playerList.Add(false);
}
}
if (GameDataMgr.Instance.player.rushGiftOpen.Count < GameDataMgr.Instance.playerTemp.rushGiftOpen.Count)
{
playerList = GameDataMgr.Instance.player.rushGiftOpen;
playerTempList = GameDataMgr.Instance.playerTemp.rushGiftOpen;
for (int i = playerList.Count; i < playerTempList.Count; i++)
{
playerList.Add(false);
}
Debug.Log(GameDataMgr.Instance.player.rushGiftOpen.Count);
}
if (GameDataMgr.Instance.player.onlineGiftOpen.Count < GameDataMgr.Instance.playerTemp.onlineGiftOpen.Count)
{
playerList = GameDataMgr.Instance.player.onlineGiftOpen;
playerTempList = GameDataMgr.Instance.playerTemp.onlineGiftOpen;
for (int i = playerList.Count; i < playerTempList.Count; i++)
{
playerList.Add(false);
}
}
StartCoroutine(NetMgr.Instance.ChangeDataPost(GameDataMgr.Instance.player));
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ϣ
public void UpdatePanel(int lev)
{
UpdateGold();
UpdateUsername();
UpdateLev(lev);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
public void UpdateScore(int score)
{
txtScore2.text = score.ToString();
scoreInt=score;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD><CFBD>ҵķ<D2B5><C4B7><EFBFBD>
public void UpdateGold()
{
txtGold.text = GameDataMgr.Instance.player.gold.ToString();
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ֵķ<D6B5><C4B7><EFBFBD>
public void UpdateUsername()
{
txtUserName.text = GameDataMgr.Instance.player.username;
txtGold.text=GameDataMgr.Instance.player.gold.ToString();
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ؿ<EFBFBD><D8BF>ķ<EFBFBD><C4B7><EFBFBD>
public void UpdateLev(int lev)
{
if (lev==0)
{
levInt = 1;
}
else
{
levInt = lev;
}
if (lev > 0 && lev < 10)
{
txtLev2.text = "00" + levInt.ToString();
}
else if (lev >= 10 && lev < 100)
{
txtLev2.text = "0" + levInt.ToString();
}
else
{
txtLev2.text = levInt.ToString();
}
txtScore2.text = 0.ToString();
GameMgr.Instance.skillOne = 0;
GameMgr.Instance.skillTwo = 0;
UpdateColor(btnSkill1,hexColor);
UpdateColor(btnSkill2,hexColor);
}
//<2F>ı<C4B1>ܰ<EFBFBD>ť<EFBFBD><C5A5>ɫ
public void UpdateButon(int skillOne,int skillTwo)
{
string colorc="#FFFFFF";
if (skillOne==100)
{
UpdateColor(btnSkill1,colorc);
}
if (skillTwo==200)
{
UpdateColor(btnSkill2,colorc);
}
}
//<2F>ı<C4B1><E4B5A5><EFBFBD><EFBFBD>ť<EFBFBD><C5A5>ɫ
private void UpdateColor(Button btn,string colo)
{
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
Color newColor;
// ʹ<><CAB9>ColorUtility.TryParseHtmlString<6E><67>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪColor
if (ColorUtility.TryParseHtmlString(colo, out newColor))
{
// <20><><EFBFBD><EFBFBD>Image<67><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
btn.image.color = newColor;
}
}
// <20><>ʾ<EFBFBD><CABE>ʾ<EFBFBD><CABE><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void ShowHintText(string message)
{
isCanButton = true;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>ʾ
txtSkillTips.text = message;
imgSkill.SetActive(true);
// <20><><EFBFBD><EFBFBD>Э<EFBFBD>̣<EFBFBD><CCA3><EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
StartCoroutine(HideGameObject());
}
// Э<>̣<EFBFBD><CCA3><EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
private IEnumerator HideGameObject()
{
// <20>ȴ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
yield return new WaitForSeconds(displayDuration);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
imgSkill.SetActive(false);
isCanButton = false;
}
}