123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- using System;
- using System.Collections.Generic;
- using ET;
- using FairyGUI;
- using UI.MiniGame;
- using UnityEngine;
- using System.Text.RegularExpressions;
- namespace GFGGame
- {
- public class GameStartView : BaseWindow
- {
- private UI_GameStartUI _ui;
- //后续这里改成读表内容,1:CardGame,2:Merge2048Game,3:HuarongRoadGame
- private List<string> viewJumpName = new List<string>() {"","FlipGameView", "TZFEGameView" ,"ActivityHuaRongDaoView"};
- private List<ActivityOpenCfg> activityGameDate;
- private List<int> GameType = new List<int>();
- private List<int> ChallengeList = new List<int>();
- //由于每个游戏都有一个表
- private List<CardGame> CardGameDate;
- private List<Merge2048Game> Merge2048GameDate;
- private int NumTicketOne = 3;
- private int NumTicketTwo = 3;
- public override void Dispose()
- {
- if (_ui != null)
- {
- _ui.Dispose();
- _ui = null;
- }
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- packageName = UI_GameStartUI.PACKAGE_NAME;
- _ui = UI_GameStartUI.Create();
- this.viewCom = _ui.target;
- isfullScreen = true;
- _ui.m_game1.onClick.Add(OnClickBtnGameOne);
- _ui.m_game2.onClick.Add(OnClickBtnGameTwo);
- _ui.m_btnBack.onClick.Add(OnClickBtnBack);
- _ui.m_shopBtn.onClick.Add(OnClickBtnShop);
- _ui.m_addIcon.onClick.Add(OnClickBtnAdd);
- _ui.m_rewardBtn.onClick.Add(OnClickBtnReward);
- }
- protected override void OnShown()
- {
- base.OnShown();
- activityGameDate = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.ActLimitStlyc);
- GetGameIdByActivityDate();
- UpdateChallengeBtn();
- UpdateView();
- }
- protected override void OnHide()
- {
- GameType.Clear();
- ChallengeList.Clear();
- base.OnHide();
- }
- private void UpdateView()
- {
- if(ChallengeList.Count == 0)
- {
- _ui.m_rewardBtn.visible = false;
- }
- else
- {
- _ui.m_rewardBtn.visible = true;
- }
- _ui.m_ticket.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(3000017).res);
- _ui.m_needNum1.text = NumTicketOne.ToString();
- _ui.m_needNum2.text = NumTicketTwo.ToString();
- _ui.m_needIcon1.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(3000017).res);
- _ui.m_needIcon2.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(3000017).res);
- ItemData item;
- if (BagDataManager.Instance.GetBagData().TryGetValue(3000017,out item))
- {
- _ui.m_ticketNum.text = item.num.ToString();
- }
- else
- {
- _ui.m_ticketNum.text = "0";
- }
- }
- private void OnClickBtnBack()
- {
- this.Hide();
- }
- private void OnClickBtnShop()
- {
- ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_ACTIVITY_EXCHANGE });
- }
- private async void OnClickBtnReward()
- {
- var result = await MiniGameProxy.ReqGetChallengeReward(activityGameDate[0].id);
- if (!result) return;
- ViewManager.Show<ChallengeRewardView>(new object[] { ChallengeList });
- }
- private void OnClickBtnAdd()
- {
- object[] sourceDatas = new object[] { 3000017, null };
- GoodsItemTipsController.ShowItemTips(3000017, sourceDatas);
- }
- private async void OnClickBtnGameOne()
- {
- var result = await MiniGameProxy.ReqMiniGameStart(CardGameArray.Instance.GetCfgsBytypeAndsubType(GameType[0], GameType[1])[0].id, GameType[0], activityGameDate[0].id);
- if (!result) return;
- ViewManager.Show($"GFGGame.{viewJumpName[GameType[0]]}", new object[] { CardGameArray.Instance.GetCfgsBytypeAndsubType(GameType[0], GameType[1])[0].id });
- this.Hide();
- }
- private async void OnClickBtnGameTwo()
- {
- var result = await MiniGameProxy.ReqMiniGameStart(Merge2048GameArray.Instance.GetCfgsBytypeAndsubType(GameType[2], GameType[3])[0].id, GameType[2], activityGameDate[0].id);
- if (!result) return;
- //当存在关卡时需要获取后台数据,哪一关了,这个可以在关卡界面写
- ViewManager.Show($"GFGGame.{viewJumpName[GameType[2]]}",new object[] { Merge2048GameArray.Instance.GetCfgsBytypeAndsubType(GameType[2],GameType[3])[0].id });
- this.Hide();
- }
- private void GetGameIdByActivityDate()
- {
- string pattern = @"\d+";
- for(int i = 0; i < activityGameDate[0].params5Arr.Length; i++)
- {
- MatchCollection matches = Regex.Matches(activityGameDate[0].params5Arr[i], pattern);
- foreach (Match match in matches)
- {
- GameType.Add(int.Parse(match.Value));
- }
- }
- }
- private void UpdateChallengeBtn()
- {
- int index = 0;
- //当两个游戏都只有一关时,奖励按钮隐藏
- for(int i = 0;i<GameType.Count;i+=2)
- {
- switch (GameType[i])
- {
- case 1:
- List<CardGame> CardGameDate = CardGameArray.Instance.GetCfgsBytypeAndsubType(GameType[i], GameType[i +1]);
- if( CardGameDate.Count <= 1)
- {
- ChallengeList.Add(GameType[i]);
- ChallengeList.Add(GameType[i+1]);
- }
- if(i < 1)
- {
- //NumTicketOne = CardGameDate[0].comsumeStartArr[0][1];
- }
- else
- {
- //NumTicketTwo = CardGameDate[0].comsumeStartArr[0][1];
- }
- break;
- case 2:
- List<Merge2048Game> Merge2048GameDate = Merge2048GameArray.Instance.GetCfgsBytypeAndsubType(GameType[i], GameType[i + 1]);
- if (Merge2048GameDate.Count <= 1)
- {
- ChallengeList.Add(GameType[i]);
- ChallengeList.Add(GameType[i + 1]);
- }
- if (i < 1)
- {
- //NumTicketOne = CardGameDate[0].comsumeStartArr[0][1];
- }
- else
- {
- //NumTicketTwo = CardGameDate[0].comsumeStartArr[0][1];
- }
- break;
- case 3:
- List <HuarongRoadGame> HuarongRoadGameDate = HuarongRoadGameArray.Instance.GetCfgsBytypeAndsubType(GameType[i], GameType[i + 1]);
- if (HuarongRoadGameDate.Count <= 1)
- {
- ChallengeList.Add(GameType[i]);
- ChallengeList.Add(GameType[i + 1]);
- }
- if (i < 1)
- {
- //NumTicketOne = CardGameDate[0].comsumeStartArr[0][1];
- }
- else
- {
- //NumTicketTwo = CardGameDate[0].comsumeStartArr[0][1];
- }
- break;
- }
- }
- }
- }
- }
|