| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 | 
							- using System;
 
- using System.Collections.Generic;
 
- using ET;
 
- using FairyGUI;
 
- using UI.MiniGame;
 
- using UnityEngine;
 
- using System.Reflection;
 
- namespace GFGGame
 
- {
 
-     public class ChallengeRewardView : BaseWindow
 
-     {
 
-         private UI_ChallengeRewardsUI _ui;
 
-         private List<int> gameList = new List<int>();
 
-         private MiniGame[] gameNameDate;
 
-         //由于每个游戏都有一个表
 
-         private List<CardGame> CardGameDate;
 
-         private List<GameInfoProto> CardGameInfo = new List<GameInfoProto>();
 
-         private List<Merge2048Game> Merge2048GameDate;
 
-         private List<GameInfoProto> Merge2048GameInfo = new List<GameInfoProto>();
 
-         private int oneNumItems;
 
-         private int twoNumItems;
 
-         public override void Dispose()
 
-         {
 
-             if (_ui != null)
 
-             {
 
-                 _ui.Dispose();
 
-                 _ui = null;
 
-             }
 
-             base.Dispose();
 
-         }
 
-         protected override void OnInit()
 
-         {
 
-             base.OnInit();
 
-             packageName = UI_ChallengeRewardsUI.PACKAGE_NAME;
 
-             _ui = UI_ChallengeRewardsUI.Create();
 
-             this.viewCom = _ui.target;
 
-             isfullScreen = true;
 
-             _ui.m_exit.onClick.Add(Hide);
 
-             _ui.m_reward.m_rewardOneList.itemRenderer = RenderListOne;
 
-             _ui.m_reward.m_rewardTwoList.itemRenderer = RenderListTwo;
 
-         }
 
-         protected override void OnShown()
 
-         {
 
-             base.OnShown();
 
-             gameList = (this.viewData as object[])[0] as List<int>;
 
-             for(int i= 0;i< gameList.Count; i+=2)
 
-             {
 
-                 GetGameArray(gameList[i], gameList[i + 1],i);
 
-             }
 
-             switch(gameList.Count)
 
-             {
 
-                 case 0:
 
-                     oneNumItems = 0;
 
-                     break;
 
-                 case 2:
 
-                     oneNumItems = 3;
 
-                     break;
 
-                 case 4:
 
-                     oneNumItems = 3;
 
-                     break;
 
-                 default:
 
-                     oneNumItems = 0;
 
-                     break;
 
-             }
 
-             foreach(GameInfoProto t in MiniGameDateManager.Instance.gameinfoList)
 
-             {
 
-                 if(t.GameType == 1)
 
-                 {
 
-                     CardGameInfo.Add(t);
 
-                 }
 
-                 if(t.GameType == 2)
 
-                 {
 
-                     Merge2048GameInfo.Add(t);
 
-                 }
 
-             }
 
-             _ui.m_reward.m_rewardOneList.numItems = CardGameInfo[0].StarRewardStatus.Count == 0? CardGameInfo.Count : CardGameInfo[0].StarRewardStatus.Count;
 
-             oneNumItems = CardGameInfo[0].StarRewardStatus.Count == 0 ? CardGameInfo.Count : CardGameInfo[0].StarRewardStatus.Count;
 
-             _ui.m_reward.m_rewardTwoList.numItems = Merge2048GameInfo[0].StarRewardStatus.Count == 0 ? Merge2048GameInfo.Count : Merge2048GameInfo[0].StarRewardStatus.Count;
 
-             twoNumItems = Merge2048GameInfo[0].StarRewardStatus.Count == 0 ? Merge2048GameInfo.Count : Merge2048GameInfo[0].StarRewardStatus.Count;
 
-         }
 
-         protected override void OnHide()
 
-         {
 
-             CardGameInfo.Clear();
 
-             Merge2048GameInfo.Clear();
 
-             base.OnHide();
 
-         }
 
-         private void RenderListOne(int index ,GObject obj)
 
-         {
 
-             UI_ChallengeRewardItemUI item = UI_ChallengeRewardItemUI.Proxy(obj);
 
-             int starNum = 3 - index;
 
-             item.m_rewardDesc.text = string.Format("{0}首次{1}星通关",MiniGameArray.Instance.GetCfg(gameList[0]).typeName, starNum);
 
-             item.m_rewardList.itemRenderer = RenditemReward;
 
-             //var reward;
 
-             item.m_getBtn.m_c1.selectedIndex = MiniGameDateManager.Instance.gameinfoList[0].StarRewardStatus[2 - index];
 
-             item.m_rewardList.data = gameList[0];
 
-             item.m_rewardList.numItems = CardGameDate[0].bonusStar3Arr.Length;
 
-             if (item.m_getBtn.target.data == null)
 
-             {
 
-                 item.m_getBtn.target.onClick.Add(OnBtnGoClick);
 
-             }
 
-             List<int> rewardList = new List<int>();
 
-             List<int> starList = new List<int>() { CardGameDate[0].timeStar3, CardGameDate[0].timeStar2, CardGameDate[0].timeStar1 };
 
-             rewardList.Add(CardGameDate[0].id);
 
-             rewardList.Add(CardGameDate[0].type);
 
-             rewardList.Add(1);
 
-             rewardList.Add(3-index);
 
-             rewardList.Add(MiniGameDateManager.Instance.gameinfoList[0].StarRewardStatus[2 - index]);
 
-             item.m_getBtn.target.data = rewardList;
 
-             UI_ChallengeRewardItemUI.ProxyEnd();
 
-         }
 
-         private void RenderListTwo(int index , GObject obj)
 
-         {
 
-             UI_ChallengeRewardItemUI item = UI_ChallengeRewardItemUI.Proxy(obj);
 
-             int starNum = 3 - index;
 
-             item.m_rewardDesc.text = string.Format("{0}关卡{1}首次通关", MiniGameArray.Instance.GetCfg(gameList[2]).typeName,index+1);
 
-             item.m_rewardList.itemRenderer = RenditemReward;
 
-             //读表
 
-             //var reward;
 
-             item.m_getBtn.m_c1.selectedIndex = MiniGameDateManager.Instance.gameinfoList[index + CardGameInfo.Count].FirstPassRewardStatus;
 
-             item.m_rewardList.data = gameList[2];
 
-             item.m_rewardList.numItems = Merge2048GameDate[index].bonusWinFirstArr.Length;
 
-             if (item.m_getBtn.target.data == null)
 
-             {
 
-                 item.m_getBtn.target.onClick.Add(OnBtnGoClick);
 
-             }
 
-             List<int> rewardList = new List<int>();
 
-             List<int> starList = new List<int>() { Merge2048GameDate[0].timeStar3, Merge2048GameDate[0].timeStar2, Merge2048GameDate[0].timeStar1 };
 
-             rewardList.Add(Merge2048GameDate[index].id);
 
-             rewardList.Add(Merge2048GameDate[index].type);
 
-             rewardList.Add(1);
 
-             rewardList.Add(3 - index);
 
-             rewardList.Add(MiniGameDateManager.Instance.gameinfoList[index + 1].FirstPassRewardStatus);
 
-             item.m_getBtn.target.data = rewardList;
 
-             UI_ChallengeRewardItemUI.ProxyEnd();
 
-         }
 
-         private void RenditemReward(int index, GObject obj)
 
-         {
 
-             UI_ChallengeRewardItem item = UI_ChallengeRewardItem.Proxy(obj);
 
-             int num = 3 - index;
 
-             if((int)item.target.parent.data == 1)
 
-             {
 
-                 switch (num)
 
-                 {
 
-                     case 1:
 
-                         item.m_icon.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(CardGameDate[0].bonusStar1Arr[0][0]).res);      
 
-                         item.m_Num.text = CardGameDate[0].bonusStar1Arr[0][1].ToString();
 
-                         break;
 
-                     case 2:
 
-                         item.m_icon.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(CardGameDate[0].bonusStar2Arr[0][0]).res);
 
-                         item.m_Num.text = CardGameDate[0].bonusStar2Arr[0][1].ToString();
 
-                         break;
 
-                     case 3:
 
-                         item.m_icon.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(CardGameDate[0].bonusStar3Arr[0][0]).res);
 
-                         item.m_Num.text = CardGameDate[0].bonusStar3Arr[0][1].ToString();
 
-                         break;
 
-                     default:
 
-                         break;
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 switch (num)
 
-                 {
 
-                     case 1:
 
-                         item.m_icon.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(Merge2048GameDate[0].bonusWinFirstArr[0][0]).res);
 
-                         item.m_Num.text = Merge2048GameDate[0].bonusWinFirstArr[0][1].ToString();
 
-                         break;
 
-                     case 2:
 
-                         item.m_icon.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(Merge2048GameDate[1].bonusWinFirstArr[0][0]).res);
 
-                         item.m_Num.text = Merge2048GameDate[1].bonusWinFirstArr[0][1].ToString();
 
-                         break;
 
-                     case 3:
 
-                         item.m_icon.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(Merge2048GameDate[2].bonusWinFirstArr[0][0]).res);
 
-                         item.m_Num.text = Merge2048GameDate[2].bonusWinFirstArr[0][1].ToString();
 
-                         break;
 
-                     default:
 
-                         break;
 
-                 }
 
-             }
 
-             UI_ChallengeRewardItem.ProxyEnd();
 
-         }
 
-         private async void OnBtnGoClick(EventContext context)
 
-         {
 
-             if (!(context.sender is GObject btnGet)) return;
 
-             List<int> itemList = btnGet.data as List<int>;
 
-             if (itemList[4] != 1)
 
-             {
 
-                 return;
 
-             }
 
-             if (itemList[1] == 1)
 
-             { 
 
-                 var result = await MiniGameProxy.ReqGetReward(itemList[0], itemList[1], itemList[2], itemList[3]);
 
-                 if (!result) return;
 
-             }
 
-             else if(itemList[1] == 2)
 
-             {
 
-                 var result = await MiniGameProxy.ReqGetFirstPassReward(itemList[0], itemList[1], itemList[2]);
 
-                 if (!result) return;
 
-             }
 
-             _ui.m_reward.m_rewardOneList.numItems = oneNumItems;
 
-             _ui.m_reward.m_rewardTwoList.numItems = twoNumItems;
 
-             EventAgent.DispatchEvent(ConstMessage.MINI_GAME_UPDATE);
 
-         }
 
-         private void GetGameArray(int i,int j,int index)
 
-         {
 
-             switch(i)
 
-             {
 
-                 case 1:
 
-                     CardGameDate = CardGameArray.Instance.GetCfgsBytypeAndsubType(i,j);
 
-                     break;
 
-                 case 2:
 
-                     Merge2048GameDate = Merge2048GameArray.Instance.GetCfgsBytypeAndsubType(i,j);
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |