287 lines
7.7 KiB
C#
287 lines
7.7 KiB
C#
|
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>1δ<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>2δ<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;
|
|||
|
}
|
|||
|
}
|