| | |
| | | [SerializeField] Text matchCntText;
|
| | | [SerializeField] Button ruleBtn;
|
| | | [SerializeField] GameObject bettingTip;
|
| | | [SerializeField] List<Text> rewardlist = new List<Text>();
|
| | | [SerializeField] List<Image> rewardIconlist = new List<Image>();
|
| | | [SerializeField] List<Image> rewardBglist = new List<Image>();
|
| | | [SerializeField] List<Button> rewardBtnlist = new List<Button>();
|
| | | [SerializeField] List<Text> rewardItemCntlist = new List<Text>();
|
| | | [SerializeField] List<string> batterInfolist = new List<string>();
|
| | | [SerializeField] List<VictoryReward> victoryRewards = new List<VictoryReward>();
|
| | | [SerializeField] Button achieveBtn;
|
| | | #endregion
|
| | |
|
| | |
| | |
|
| | | private readonly int BATTLEINFO_TYPE = 0;
|
| | | private float refreshBetTime = 2;
|
| | | Color32 receiveColor = new Color32(200, 200, 200, 128);
|
| | | Color32 unReceiveColor = new Color32(255, 255, 255, 255);
|
| | |
|
| | | protected override void BindController()
|
| | | {
|
| | |
| | | victoryCntlist = heavenModel.heavenAwardDict.Keys.ToList();
|
| | | rewardSlider.minValue = victoryCntlist[0];
|
| | | rewardSlider.maxValue = victoryCntlist[victoryCntlist.Count - 1];
|
| | | |
| | | for (int i = victoryCntlist.Count - 1; i > -1; i--)
|
| | | {
|
| | | XMZZVictoryRewardInfo rewardInfo = heavenModel.heavenAwardDict[victoryCntlist[i]][0];
|
| | | int index = i;
|
| | | rewardlist[i].text = Language.Get("XMZZ115", victoryCntlist[i]);
|
| | | if(rewardInfo.itemCnt > 1)
|
| | | {
|
| | | rewardItemCntlist[i].gameObject.SetActive(true);
|
| | | rewardItemCntlist[i].text = rewardInfo.itemCnt.ToString();
|
| | | }
|
| | | else
|
| | | {
|
| | | rewardItemCntlist[i].gameObject.SetActive(false);
|
| | | }
|
| | | |
| | | ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(rewardInfo.itemId);
|
| | | rewardIconlist[i].SetSprite(itemConfig.IconKey);
|
| | | rewardBglist[i].SetItemBackGround(itemConfig.ItemColor);
|
| | | rewardBtnlist[i].RemoveAllListeners();
|
| | | rewardBtnlist[i].AddListener(() => { ClickRewardIcon(rewardInfo, index); });
|
| | | }
|
| | | DisplayVictoryReward();
|
| | | }
|
| | |
|
| | | private void RefreshRemainTimeText(float time)
|
| | |
| | | CloseImmediately();
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | private void RefreshEnterTimes(int id)
|
| | | {
|
| | |
| | | {
|
| | | if (victoryCntlist == null) return;
|
| | |
|
| | | RefreshRewardIconState();
|
| | | UpdateVictoryReward();
|
| | |
|
| | | if (victoryCnt >= victoryCntlist[0])
|
| | | {
|
| | |
| | | {
|
| | | rewardSlider.value = victoryCntlist[0];
|
| | | }
|
| | | //StartCoroutine(SetSliderValue(getValue,1));
|
| | | }
|
| | |
|
| | | private void RefreshRewardIconState()
|
| | | private void DisplayVictoryReward()
|
| | | {
|
| | | for(int i = 0; i < victoryCntlist.Count; i++)
|
| | | for (int i = victoryCntlist.Count - 1; i > -1; i--)
|
| | | {
|
| | | Image btnColor = rewardBtnlist[i].GetComponent<Image>();
|
| | | GameObject completeIcon = rewardBtnlist[i].transform.Find("completeIcon").gameObject;
|
| | | UIEffect effect = rewardBtnlist[i].transform.Find("UIEffect").GetComponent<UIEffect>();
|
| | | if (HeavenBattleInfo.Instance.IsGetAwardByIndex(i))
|
| | | int index = i;
|
| | | int victoryNum = victoryCntlist[i];
|
| | | XMZZVictoryRewardInfo rewardInfo = heavenModel.heavenAwardDict[victoryNum][0];
|
| | | var victoryReward = victoryRewards[index];
|
| | | victoryReward.victoryNum.text = Language.Get("XMZZ115", victoryCntlist[i]);
|
| | | victoryReward.rewardCount.text = rewardInfo.itemCnt.ToString();
|
| | | ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(rewardInfo.itemId);
|
| | | victoryReward.rewardImg.SetSprite(itemConfig.IconKey);
|
| | | victoryReward.bgImg.SetItemBackGround(itemConfig.ItemColor);
|
| | | if (rewardInfo.itemCnt > 1)
|
| | | {
|
| | | completeIcon.SetActive(true);
|
| | | effect.Stop();
|
| | | btnColor.color = new Color32(200,200,200,128);
|
| | | btnColor.transform.localRotation = Quaternion.Euler(0,0,0);
|
| | | victoryReward.rewardCount.gameObject.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | completeIcon.SetActive(false);
|
| | | btnColor.color = new Color32(255, 255, 255, 255);
|
| | | if(victoryCntlist[i] <= HeavenBattleInfo.Instance.WinCnt)
|
| | | victoryReward.rewardCount.gameObject.SetActive(false);
|
| | | }
|
| | | victoryReward.rewardBtn.RemoveAllListeners();
|
| | | victoryReward.rewardBtn.AddListener(() => { ClickRewardIcon(rewardInfo, index); });
|
| | | }
|
| | | }
|
| | |
|
| | | private void UpdateVictoryReward()
|
| | | {
|
| | | for(int i = 0; i < victoryCntlist.Count; i++)
|
| | | {
|
| | | int victoryNum = victoryCntlist[i];
|
| | | var victoryReward = victoryRewards[i];
|
| | | if (HeavenBattleInfo.Instance.IsGetAwardByIndex(i))
|
| | | {
|
| | | victoryReward.completeObj.SetActive(true);
|
| | | victoryReward.effect.Stop();
|
| | | victoryReward.bgImg.color = receiveColor;
|
| | | }
|
| | | else
|
| | | {
|
| | | victoryReward.completeObj.SetActive(false);
|
| | | victoryReward.bgImg.color = unReceiveColor;
|
| | | if (victoryNum <= HeavenBattleInfo.Instance.WinCnt)
|
| | | {
|
| | | effect.Play();
|
| | | victoryReward.effect.Play();
|
| | | }
|
| | | else
|
| | | {
|
| | | effect.Stop();
|
| | | btnColor.transform.localRotation = Quaternion.Euler(0, 0, 0);
|
| | | victoryReward.effect.Stop();
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | | private void ClickRewardIcon(XMZZVictoryRewardInfo info,int index)
|
| | | {
|
| | | if(victoryCntlist[index] <= HeavenBattleInfo.Instance.WinCnt
|
| | | int victoryNum = victoryCntlist[index];
|
| | | if (victoryNum <= HeavenBattleInfo.Instance.WinCnt
|
| | | && !HeavenBattleInfo.Instance.IsGetAwardByIndex(index))
|
| | | {
|
| | | heavenModel.SendGetAwardQuest(victoryCntlist[index]);
|
| | |
| | | CloseWin();
|
| | | }
|
| | |
|
| | | IEnumerator SetSliderValue(float value,float delayTime)
|
| | | {
|
| | | bool isChange = true;
|
| | | float speed = (value - rewardSlider.value) / delayTime;
|
| | | float sliderValue = rewardSlider.value;
|
| | | float time = 0;
|
| | | while (isChange)
|
| | | {
|
| | | time += Time.deltaTime;
|
| | | rewardSlider.value = sliderValue + speed * time;
|
| | | DebugEx.Log("进度:" + rewardSlider.value);
|
| | | if(rewardSlider.value >= value)
|
| | | {
|
| | | isChange = false;
|
| | | }
|
| | | yield return new WaitForEndOfFrame();
|
| | | } |
| | | }
|
| | |
|
| | | private void ClickAchieveBtn()
|
| | | {
|
| | | WindowCenter.Instance.Open<XMZZAchieveWin>();
|
| | |
| | | Close();
|
| | | }
|
| | |
|
| | | [Serializable]
|
| | | public class VictoryReward
|
| | | {
|
| | | public Image bgImg;
|
| | | public Image rewardImg;
|
| | | public Button rewardBtn;
|
| | | public GameObject completeObj;
|
| | | public UIEffect effect;
|
| | | public Text rewardCount;
|
| | | public Text victoryNum;
|
| | | }
|
| | | }
|
| | | }
|