using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.U2D; using UnityEngine.UI; public class RushPanel : BasePanel { //关闭按钮 public Button btnClose; public Button btnGift1; private bool isOpen1 = false; public Button btnGift2; private bool isOpen2 = false; public Button btnGift3; private bool isOpen3 = false; public Button btnGift4; private bool isOpen4 = false; public Button btnGift5; private bool isOpen5 = false; public Button btnGift6; private bool isOpen6 = false; public Button btnGift7; private bool isOpen7 = false; //玩家数据 private PlayerData player; //获取图集 private SpriteAtlas sa; public override void Init() { player = GameDataMgr.Instance.player; //打开面板,就更新面板 UpdateGift(); btnClose.onClick.AddListener(() => { UIManager.Instance.HidePanel(false); }); btnGift1.onClick.AddListener(() => { if (isOpen1) { //关闭按钮 OpenGift(btnGift1); player.rushGiftOpen[0] = true; GetGold(); } }); btnGift2.onClick.AddListener(() => { if (isOpen2) { //关闭按钮 OpenGift(btnGift2); player.rushGiftOpen[1] = true; GetGold(); } }); btnGift3.onClick.AddListener(() => { if (isOpen3) { //关闭按钮 OpenGift(btnGift3); player.rushGiftOpen[2] = true; GetGold(); } }); btnGift4.onClick.AddListener(() => { if (isOpen4) { //关闭按钮 OpenGift(btnGift4); player.rushGiftOpen[3] = true; GetGold(); } }); btnGift5.onClick.AddListener(() => { if (isOpen5) { //关闭按钮 OpenGift(btnGift5); player.rushGiftOpen[4] = true; GetGold(); } }); btnGift6.onClick.AddListener(() => { if (isOpen6) { //关闭按钮 OpenGift(btnGift6); player.rushGiftOpen[5] = true; GetGold(); } }); btnGift7.onClick.AddListener(() => { if (isOpen7) { //关闭按钮 OpenGift(btnGift7); player.rushGiftOpen[6] = true; GetGold(); } }); } //获得随机金币 private void GetGold() { int gold = 0; int valueRan = Random.Range(0, 10); // 生成0到1之间的随机数 if (valueRan < 6) { // 60% 概率获得 1-100 金币 gold = Random.Range(1, 101); } else if (valueRan >= 6 && valueRan < 9f) { // 30% 概率获得 101-500 金币 gold = Random.Range(101, 501); } else { // 10% 概率获得 501-1000 金币 gold = Random.Range(501, 1001); } //获取奖励,更新游戏面板金币数据,通知服务器,哪一个关卡奖励已领取 player.gold += gold; StartCoroutine(NetMgr.Instance.ChangeDataPost(player)); } /// /// 更新通关关数的面板 /// private void UpdateGift() { sa = Resources.Load("Atlas/OnlinePanel"); if (player.customLev >= 1 && !isOpen1) { if (!player.rushGiftOpen[0]) { btnGift1.image.sprite = sa.GetSprite("icn_giftrand"); isOpen1 = true; } else { OpenGift(btnGift1); } } if (player.customLev >= 5 && !isOpen2) { if (!player.rushGiftOpen[1]) { btnGift2.image.sprite = sa.GetSprite("icn_giftrand"); isOpen2 = true; } else { OpenGift(btnGift2); } } if (player.customLev >= 10 && !isOpen3) { if (!player.rushGiftOpen[2]) { btnGift3.image.sprite = sa.GetSprite("icn_giftrand"); isOpen3 = true; } else { OpenGift(btnGift3); } } if (player.customLev >= 30 && !isOpen4) { if (!player.rushGiftOpen[3]) { btnGift4.image.sprite = sa.GetSprite("icn_giftrand"); isOpen4 = true; } else { OpenGift(btnGift4); } } if (player.customLev >= 50 && !isOpen5) { if (!player.rushGiftOpen[4]) { btnGift5.image.sprite = sa.GetSprite("icn_giftrand"); isOpen5 = true; } else { OpenGift(btnGift5); } } if (player.customLev >= 80 && !isOpen6) { if (!player.rushGiftOpen[5]) { btnGift6.image.sprite = sa.GetSprite("icn_giftrand"); isOpen6 = true; } else { OpenGift(btnGift6); } } if (player.customLev >= 100 && !isOpen7) { if (!player.rushGiftOpen[6]) { btnGift7.image.sprite = sa.GetSprite("icn_giftrand"); isOpen7 = true; } else { OpenGift(btnGift7); } } if (player.customLev < 1) { btnGift1.image.sprite = sa.GetSprite("icn_giftrandgray"); btnGift1.GetComponent().sizeDelta = new Vector2(108f, 112f); btnGift2.image.sprite = sa.GetSprite("icn_giftrandgray"); btnGift2.GetComponent().sizeDelta = new Vector2(108f, 112f); btnGift3.image.sprite = sa.GetSprite("icn_giftrandgray"); btnGift3.GetComponent().sizeDelta = new Vector2(108f, 112f); btnGift4.image.sprite = sa.GetSprite("icn_giftrandgray"); btnGift4.GetComponent().sizeDelta = new Vector2(108f, 112f); btnGift5.image.sprite = sa.GetSprite("icn_giftrandgray"); btnGift5.GetComponent().sizeDelta = new Vector2(108f, 112f); btnGift6.image.sprite = sa.GetSprite("icn_giftrandgray"); btnGift6.GetComponent().sizeDelta = new Vector2(108f, 112f); btnGift7.image.sprite = sa.GetSprite("icn_giftrandgray"); btnGift7.GetComponent().sizeDelta = new Vector2(108f, 112f); } } /// /// 打开礼包之后的显示图片 /// /// private void OpenGift(Button btn) { btn.image.sprite = sa.GetSprite("icn_giftrandopen"); btn.GetComponent().sizeDelta = new Vector2(134f, 112f); } }