using System; using System.Collections.Generic; using ET; using FairyGUI; using UI.MiniGame; using UnityEngine; namespace GFGGame { public class ResultTipsView : BaseWindow { private UI_ResultTipsUI _ui; private bool gameResult; private int timeResult; private int gameType; private int gameID; private List activityGameDate; private Dictionary viewJumpView = new Dictionary(){{1,"FlipGameView"},{ 2,"TZFEGameView"} }; //通关评价,不同关卡不同 private List CustemsNum = new List() { 10, 30, 60, }; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_ResultTipsUI.PACKAGE_NAME; _ui = UI_ResultTipsUI.Create(); this.viewCom = _ui.target; isfullScreen = true; _ui.m_exitBtn.onClick.Add(OnClickExit); _ui.m_againBtn.onClick.Add(OnClickAgain); _ui.m_rewardList.itemRenderer = RenderRewardList; } protected override void OnShown() { base.OnShown(); if ((this.viewData as object[]).Length >= 3) { gameResult = (bool)(this.viewData as object[])[0]; gameType = (int)(this.viewData as object[])[1]; timeResult = (int) (this.viewData as object[])[2]; gameID = (int)(this.viewData as object[])[3]; } UpdateView(); ReqResultReward(); } private void UpdateView() { ItemCfg itemCfg; switch (gameType) { case 1: CardGame cardGameDate = CardGameArray.Instance.GetCfg(gameID); CustemsNum[0] = cardGameDate.timeStar3; CustemsNum[1] = cardGameDate.timeStar2; CustemsNum[2] = cardGameDate.timeStar1; itemCfg = ItemCfgArray.Instance.GetCfg(cardGameDate.comsumeStartArr[0][0]); _ui.m_consumeIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res); _ui.m_consumeTxt.text = cardGameDate.comsumeStartArr[0][1].ToString(); break; case 2: Merge2048Game MergeGameDate = Merge2048GameArray.Instance.GetCfg(gameID); CustemsNum[0] = MergeGameDate.timeStar3; CustemsNum[1] = MergeGameDate.timeStar2; CustemsNum[2] = MergeGameDate.timeStar1; itemCfg = ItemCfgArray.Instance.GetCfg(MergeGameDate.comsumeStartArr[0][0]); _ui.m_consumeIcon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res); _ui.m_consumeTxt.text = MergeGameDate.comsumeStartArr[0][1].ToString(); break; case 3: break; default: break; } if (gameResult) { _ui.m_failTxt.visible = false; _ui.m_success.visible = true ; _ui.m_resultTxt.text = "通关奖励"; _ui.m_resultTitle.url = "ui://MiniGame/shengli_bt"; UpdateStar(); } else { _ui.m_failTxt.visible = true; _ui.m_success.visible = false; _ui.m_resultTxt.text = "失败奖励"; _ui.m_resultTitle.url = "ui://MiniGame/shibai_bt"; } activityGameDate = ActivityOpenCfgArray.Instance.GetCfgsBytype(ConstLimitTimeActivityType.ActLimitStlyc); } private void UpdateStar() { int starNum = 0; for (int i = CustemsNum.Count - 1; i >= 0; i--) { if (timeResult <= CustemsNum[i]) { starNum += 1; } } switch(starNum) { case 1: _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star"; _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star_grey"; _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey"; break; case 2: _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star"; _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star"; _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey"; break; case 3: _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star"; _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star"; _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star"; break; default: _ui.m_star1.url = "ui://MiniGame/tb_zx_pt_star_grey"; _ui.m_star2.url = "ui://MiniGame/tb_zx_pt_star_grey"; _ui.m_star3.url = "ui://MiniGame/tb_zx_pt_star_grey"; break; } } protected override void OnHide() { base.OnHide(); } private void OnClickExit() { this.Hide(); ViewManager.Hide(viewJumpView[gameType]); } private async void OnClickAgain() { this.Hide(); var result = await MiniGameProxy.ReqMiniGameStart(gameID, gameType, activityGameDate[0].id); if (!result) { ViewManager.Hide(viewJumpView[gameType]); return; } ViewManager.Show(viewJumpView[gameType],new object[] { gameID }); } private void RenderRewardList(int index,GObject obj) { UI_rewardItem item = UI_rewardItem.Proxy(obj); ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MiniGameDateManager.Instance.itemList[index].ConfigId); if (itemCfg != null) { item.m_icon.url = ResPathUtil.GetCommonGameResPath(itemCfg.res); item.m_Count.text = MiniGameDateManager.Instance.itemList[index].Count.ToString(); } UI_rewardItem.ProxyEnd(); } private async void ReqResultReward() { var result = await MiniGameProxy.ReqMiniGameEnd(gameID, gameType, timeResult, gameResult, activityGameDate[0].id); if (!result) return; _ui.m_rewardList.numItems = MiniGameDateManager.Instance.itemList.Count; } } }