123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- using FairyGUI;
- using UI.FieldGuide;
- using UI.CommonGame;
- using System.Collections.Generic;
- using UI.ClothingSynthetic;
- using UnityEngine;
- namespace GFGGame
- {
- public class SuitGuideView : BaseWindow
- {
- private UI_SuitGuideUI _ui;
- private Dictionary<int,List<int>> _menuTypeAllDataDic;
- private string[] _suitTypeList = { "套装", "故事" };
- private List<UI_SuitTypeItem> _suitTypeItems;
- public override void Dispose()
- {
- if (_ui != null)
- {
- _ui.Dispose();
- _ui = null;
- }
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- packageName = UI_SuitGuideUI.PACKAGE_NAME;
- _ui = UI_SuitGuideUI.Create();
- this.viewCom = _ui.target;
- isfullScreen = true;
- _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("tjbg");
- _ui.m_suitTypeList.itemRenderer = RenderListSuitType;
- _ui.m_suitTypeList.numItems = _suitTypeList.Length;
- _ui.m_btnBack.onClick.Add(OnClickBtnBack);
- _ui.m_suitType2Items.itemRenderer = RenderListSuitType2Item;
- _ui.m_suitType2Items.onClickItem.Add(OnClickListSuitType2Item);
- _ui.m_suitTypeList.onClick.Add(OnClickListSuitType);
- InitSuitGuideType();
- SetType(1);
- }
- protected override void AddEventListener()
- {
- base.AddEventListener();
- EventAgent.AddEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
- }
- protected override void OnShown()
- {
- base.OnShown();
- }
- protected override void OnHide()
- {
- base.OnHide();
- }
- protected override void RemoveEventListener()
- {
- base.RemoveEventListener();
- EventAgent.RemoveEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
- }
- private void SetType(int type)
- {
- _ui.m_c1.SetSelectedIndex(type - 1);
- switch (type)
- {
- case 1:
- UpdateType1Progress();
- break;
- case 2:
- _ui.m_suitType2Items.numItems = _menuTypeAllDataDic[type].Count;
- break;
- }
- }
- private void InitSuitGuideType()
- {
- _suitTypeItems = new List<UI_SuitTypeItem>();
- _menuTypeAllDataDic = new Dictionary<int, List<int>>();
- SuitGuideMenuCfg[] menuCfgs = SuitGuideMenuCfgArray.Instance.dataArray;
- foreach(SuitGuideMenuCfg s in menuCfgs)
- {
- if (!_menuTypeAllDataDic.ContainsKey(s.SuitGuideMenuType))
- {
- _menuTypeAllDataDic.Add(s.SuitGuideMenuType, new List<int>());
- }
- _menuTypeAllDataDic[s.SuitGuideMenuType].Add(s.id);
- }
- InitSuitType1Item(_ui.m_suitTypeItems.m_item1, _menuTypeAllDataDic[1][0]);
- InitSuitType1Item(_ui.m_suitTypeItems.m_item2, _menuTypeAllDataDic[1][1]);
- InitSuitType1Item(_ui.m_suitTypeItems.m_item3, _menuTypeAllDataDic[1][2]);
- InitSuitType1Item(_ui.m_suitTypeItems.m_item4, _menuTypeAllDataDic[1][3]);
- InitSuitType1Item(_ui.m_suitTypeItems.m_item5, _menuTypeAllDataDic[1][4]);
- InitSuitType1Item(_ui.m_suitTypeItems.m_item6, _menuTypeAllDataDic[1][5]);
- InitSuitType1Item(_ui.m_suitTypeItems.m_item7, _menuTypeAllDataDic[1][6]);
- }
- /// <summary>
- /// 初始化种类1
- /// </summary>
- /// <param name="item"></param>
- /// <param name="typeId"></param>
- private void InitSuitType1Item(UI_SuitTypeItem item, int typeId)
- {
- SuitGuideMenuCfg cfg = SuitGuideMenuCfgArray.Instance.GetCfg(typeId);
- item.m_title.text = cfg.name;
- item.target.data = typeId;
- item.target.onClick.Add(() =>
- {
- ViewManager.Show<SuitGuideDetailView>(typeId, new object[] { ViewName.SUIT_GUIDE_VIEW, this.viewData });
- });
- _suitTypeItems.Add(item);
- }
- /// <summary>
- /// 初始化种类2
- /// </summary>
- /// <param name="index"></param>
- /// <param name="gObject"></param>
- private void RenderListSuitType2Item(int index, GObject gObject)
- {
- UI_SuitStoryItem item = UI_SuitStoryItem.Proxy(gObject);
- SuitGuideMenuCfg cfg = SuitGuideMenuCfgArray.Instance.GetCfg(_menuTypeAllDataDic[_ui.m_c1.selectedIndex + 1][index]);
- item.m_title.text = cfg.name;
- int haveCount = SuitUtil.GetSuitIdList(false, true, _menuTypeAllDataDic[_ui.m_c1.selectedIndex + 1][index], 0).Count;
- int totalCount = SuitUtil.GetSuitIdList(true, true, _menuTypeAllDataDic[_ui.m_c1.selectedIndex + 1][index], 0).Count;
- item.m_progressNum.SetVar("value", haveCount.ToString()).SetVar("max", totalCount.ToString()).FlushVars();
- UI_SuitStoryItem.ProxyEnd();
- }
- private void OnClickListSuitType2Item(EventContext eventContext)
- {
- GObject obj = eventContext.data as GObject;
- int index = _ui.m_suitType2Items.GetChildIndex(obj);
- ViewManager.Show<SuitGuideDetailView>(_menuTypeAllDataDic[_ui.m_c1.selectedIndex + 1][index], new object[] { ViewName.SUIT_GUIDE_VIEW, this.viewData });
- }
- private void UpdateType1Progress()
- {
- for (int i = 0; i < _suitTypeItems.Count; i++)
- {
- int _suitTypeId = (int)_suitTypeItems[i].target.data;
- int haveCount = SuitUtil.GetSuitIdList(false, true, _suitTypeId, 0).Count;
- int totalCount = SuitUtil.GetSuitIdList(true, true, _suitTypeId, 0).Count;
- _suitTypeItems[i].m_progress.target.value = haveCount;
- _suitTypeItems[i].m_progress.target.max = totalCount;
- _suitTypeItems[i].m_progress.m_num.SetVar("value", haveCount.ToString()).SetVar("max", totalCount.ToString()).FlushVars();
- _suitTypeItems[i].m_progress.m_rate.SetVar("rate", FieldGuideView.ProgressCalculate(haveCount, totalCount).ToString()).FlushVars();
- }
- }
- /// <summary>
- /// 初始化上方选择菜单
- /// </summary>
- /// <param name="index"></param>
- /// <param name="item"></param>
- private void RenderListSuitType(int index, GObject item)
- {
- UI_Button6 button6 = UI_Button6.Proxy(item);
- button6.m_title1.text = _suitTypeList[index];
- button6.target.title = _suitTypeList[index];
- UI_Button6.ProxyEnd();
- }
- private void OnClickListSuitType(EventContext eventContext)
- {
- SetType(_ui.m_c1.selectedIndex + 1);
- }
- private void OnClickBtnBack()
- {
- SetType(1);
- _ui.m_suitTypeItems.target.scrollPane.ScrollTop();
- ViewManager.GoBackFrom(ViewName.SUIT_GUIDE_VIEW);
- }
- }
- }
|