using System.Collections; using UnityEngine; using UI.ActivityGetYuanXiao; using FairyGUI; using System.Collections.Generic; using System.Threading.Tasks; namespace GFGGame { public class ActivityGetYuanXiaoEntryView : BaseView { private UI_ActivityGetYuanXiaoEntryUI _ui; private ValueBarController _valueBarController; private Dictionary _effectUIDic = new Dictionary(); public override void Dispose() { // Clear Effect foreach (var v in _effectUIDic) { EffectUIPool.Recycle(v.Value); } if (_valueBarController != null) { _valueBarController.Dispose(); _valueBarController = null; } if (_ui != null) { _ui.Dispose(); } _ui = null; base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_ActivityGetYuanXiaoEntryUI.PACKAGE_NAME; _ui = UI_ActivityGetYuanXiaoEntryUI.Create(); viewCom = _ui.target; isReturnView = true; _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("hd_yx_bg"); _valueBarController = new ValueBarController(_ui.m_valueBar); _ui.m_list.itemRenderer = ListRenderer; _ui.m_list.onClickItem.Add(OnListItemClick); _ui.m_btnStart.onClick.Add(OnBtnStartClick); _ui.m_btnTask.onClick.Add(OnBtnTaskClick); _ui.m_btnShop.onClick.Add(OnBtnShopClick); _ui.m_btnBack.onClick.Add(Hide); _effectUIDic.Add("YXJ_bg_tx", EffectUIPool.CreateEffectUI(_ui.m_bgEffect, "ui_Activity", "YXJ_bg_tx")); _effectUIDic.Add("YXJ_Button", EffectUIPool.CreateEffectUI(_ui.m_startBtnEffect, "ui_Activity", "YXJ_Button")); _effectUIDic.Add("YXJ_Middle", EffectUIPool.CreateEffectUI(_ui.m_yuanXiaoEffect, "ui_Activity", "YXJ_Middle")); _effectUIDic.Add("YXJ_Text", EffectUIPool.CreateEffectUI(_ui.m_titleTextEffect, "ui_Activity", "YXJ_Text")); _effectUIDic.Add("YXJ_Open_Down", EffectUIPool.CreateEffectUI(_ui.m_cloudEffect, "ui_Activity", "YXJ_Open_Down")); _effectUIDic.Add("YXJ_Open_Up", EffectUIPool.CreateEffectUI(_ui.m_leafEffect, "ui_Activity", "YXJ_Open_Up")); } protected async override void OnShown() { base.OnShown(); _valueBarController.OnShown(); _valueBarController.UpdateList(new List() { PickUpGameArray.Instance.dataArray[0].comsumePassArr[0][0] }); //var result = await MiniGameProxy.ReqGetActivityGameInfos(5004); //if (!isShowing || !result) //{ // return; //} _ui.m_list.numItems = PickUpGameArray.Instance.dataArray.Length; _ui.m_list.selectedIndex = 0; } protected override void OnHide() { base.OnHide(); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.ACTIVITY_GETYUANXIAO_START, StartGame); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_GETYUANXIAO_START, StartGame); } private void ListRenderer(int index, GObject item) { item.data = index; UI_level level = UI_level.Proxy(item); PickUpGame pickUpGame = PickUpGameArray.Instance.dataArray[index]; level.m_spendIcon.url = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(pickUpGame.comsumePassArr[0][0]).res, "png"); level.m_iconLevel.url = string.Format("ui://ActivityGetYuanXiao/yx_xg_{0}", index % 4 + 1); level.m_num.text = pickUpGame.comsumePassArr[0][1].ToString(); level.m_c1.selectedIndex = 0; //level.m_c1.selectedIndex = MiniGameDateManager.Instance.gameinfoList[index].IsUnlock ? 0 : 1; UI_level.ProxyEnd(); } private void OnListItemClick(EventContext eventContext) { //GObject gObject = (GObject)eventContext.sender; //int index = (int)gObject.data; //UI_level level = UI_level.Proxy(gObject); //UI_level.ProxyEnd(); } private void OnBtnStartClick() { //if (!MiniGameDateManager.Instance.gameinfoList[_ui.m_list.selectedIndex].IsUnlock) //{ // PromptController.Instance.ShowFloatTextPrompt("关卡未解锁"); // return; //} //if (MiniGameDateManager.Instance.gameinfoList[_ui.m_list.selectedIndex].IsCleared) //{ // PromptController.Instance.ShowFloatTextPrompt("关卡已通过"); // return; //} PickUpGame cfg = PickUpGameArray.Instance.dataArray[_ui.m_list.selectedIndex]; ViewManager.Show(cfg); } private async void StartGame() { //int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(12); //if(activityID == 0) //{ // return; //} PickUpGame cfg = PickUpGameArray.Instance.dataArray[_ui.m_list.selectedIndex]; //var result = await MiniGameProxy.ReqMiniGameStart(cfg.id, cfg.type, activityID); //if (!result || !isShowing) return; //ViewManager.Show(new object[] { cfg, activityID }); ViewManager.Show(new object[] { cfg, 0 }); } private void OnBtnShopClick() { ViewManager.Show(new object[] { ConstStoreTabId.STORE_GIFT_BAG, ConstStoreSubId.STORE_GIFT_BAG_ACTIVITY }); } private void OnBtnTaskClick() { int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(12); if (activityID == 0) { return; } ViewManager.Show(activityID); } } }