| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 | 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<ActivityOpenCfg> activityGameDate;        private Dictionary<int, string> viewJumpView = new Dictionary<int, string>(){{1,"FlipGameView"},{ 2,"TZFEGameView"} };        //通关评价,不同关卡不同        private List<int> CustemsNum = new List<int>()        {            10,            30,            60,        };        private EffectUI _effectUI1;        private EffectUI _effectUI2;        private EffectUI _effectUI3;        public override void Dispose()        {            EffectUIPool.Recycle(_effectUI1);            _effectUI1 = null;            EffectUIPool.Recycle(_effectUI2);            _effectUI2 = null;            EffectUIPool.Recycle(_effectUI3);            _effectUI3 = null;            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;            _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_effectBg, "ui_Activity", "Game_Quad_Open");            _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_effectSucces, "ui_Activity", "Game_Quad_Win");            _effectUI3 = EffectUIPool.CreateEffectUI(_ui.m_effectFail, "ui_Activity", "Game_Quad_Lose");        }        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;            string consumeText;            switch (gameType)            {                case 1:                    CardGame cardGameDate = CardGameArray.Instance.GetCfg(gameID);                    CustemsNum[0] = cardGameDate.timeStar3;                    CustemsNum[1] = cardGameDate.timeStar2;                    CustemsNum[2] = cardGameDate.timeStar1;                    if (cardGameDate.comsumePassArr.Length > 0)                    {                        itemCfg = ItemCfgArray.Instance.GetCfg(cardGameDate.comsumePassArr[0][0]);                        consumeText = cardGameDate.comsumePassArr[0][1].ToString();                    }                    else                    {                        itemCfg = ItemCfgArray.Instance.GetCfg(3000017);                        consumeText = "";                    }                    _ui.m_consumeIcon.url = ResPathUtil.GetIconPath(itemCfg.res,"png");                    _ui.m_consumeTxt.text = consumeText;                    break;                case 2:                    Merge2048Game MergeGameDate = Merge2048GameArray.Instance.GetCfg(gameID);                    CustemsNum[0] = MergeGameDate.timeStar3;                    CustemsNum[1] = MergeGameDate.timeStar2;                    CustemsNum[2] = MergeGameDate.timeStar1;                    if (MergeGameDate.comsumePassArr.Length > 0)                    {                        itemCfg = ItemCfgArray.Instance.GetCfg(MergeGameDate.comsumePassArr[0][0]);                        consumeText = MergeGameDate.comsumePassArr[0][1].ToString();                    }                    else                    {                        itemCfg = ItemCfgArray.Instance.GetCfg(3000017);                        consumeText = "";                    }                    _ui.m_consumeIcon.url = ResPathUtil.GetIconPath(itemCfg.res,"png");                    _ui.m_consumeTxt.text = consumeText;                    break;                case 3:                    break;                default:                    break;            }            _ui.m_t0.Play();            if (gameResult)            {                _ui.m_failTxt.visible = false;                _ui.m_success.visible = true ;                _ui.m_effectFail.visible = false;                _ui.m_effectSucces.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_effectSucces.visible = false;                _ui.m_effectFail.visible = true;                _ui.m_resultTxt.text = "失败奖励";                _ui.m_resultTitle.url = "ui://MiniGame/shibai_bt";            }            _ui.m_resultTitle.visible = false;            _ui.m_bg.visible = false;            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.visible = false;                    _ui.m_star2.visible = false;                    _ui.m_star3.visible = false;                    break;            }        }        protected override void OnHide()        {            base.OnHide();        }        private void OnClickExit()        {            this.Hide();            ViewManager.Hide(viewJumpView[gameType]);            ViewManager.Show<GameStartView>();            EventAgent.DispatchEvent(ConstMessage.TZFE_GAME_UPDATE);        }        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.GetIconPath(itemCfg.res,"png");                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,false);            if (!result)            {                this.Hide();                ViewManager.Hide(viewJumpView[gameType]);                return;            }            _ui.m_rewardList.numItems = MiniGameDateManager.Instance.itemList.Count;        }    }}
 |