StudioPropertyView.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. using System.Collections.Generic;
  2. using FairyGUI;
  3. using UI.Studio;
  4. using UnityEngine;
  5. namespace GFGGame
  6. {
  7. public class StudioPropertyView : StudioBaseView
  8. {
  9. // private GList _listProperty;
  10. private Controller _croProperty;
  11. private int _propertySelectIndex = 0;
  12. private int firstOpenProperty = -1;//第一个开放的副本(打开界面时,如未选择副本,则默认选中第一个开启的副本)
  13. //书画副本
  14. public override void Dispose()
  15. {
  16. base.Dispose();
  17. }
  18. protected override void OnInit()
  19. {
  20. base.OnInit();
  21. _ui.m_btnBack.onClick.Add(OnClickBtnBack);
  22. // _ui.m_listProperty.itemRenderer = ListPropertyItemRender;
  23. // _ui.m_listProperty.onClickItem.Add(OnClickListProperty);
  24. }
  25. protected override void OnShown()
  26. {
  27. GComponent com = UIPackage.CreateObject(UI_StudioUI.PACKAGE_NAME, "ComProperty").asCom;
  28. this.AddChildCom(com);
  29. _croProperty = com.GetController("c1");
  30. _croProperty.onChanged.Add(OnControllerChange);
  31. _propertySelectIndex = this.viewData == null ? 0 : (int)this.viewData;
  32. StudioDataManager.Instance.VIEW_NAME = typeof(StudioPropertyView).FullName;
  33. List<StudioCfg> studioCfgs = StudioCfgArray.Instance.GetCfgsByfunId(typeof(StudioPropertyView).Name);
  34. firstOpenProperty = -1;
  35. for (int i = 0; i < studioCfgs.Count; i++)
  36. {
  37. GButton btn = com.GetChild("btn" + i).asButton;
  38. bool isOpen = TimeUtil.CheckDayOfWeek(studioCfgs[i].timeArr) ? true : false;
  39. btn.GetChild("icon").visible = isOpen;
  40. if (firstOpenProperty < 0 && isOpen) firstOpenProperty = i;
  41. }
  42. _propertySelectIndex = TimeUtil.CheckDayOfWeek(studioCfgs[_propertySelectIndex].timeArr) ? _propertySelectIndex : firstOpenProperty;
  43. _croProperty.selectedIndex = _propertySelectIndex;
  44. StudioDataManager.Instance.PROPERTY_SELECT_INDEX = _propertySelectIndex;
  45. this._studioCfg = studioCfgs[_propertySelectIndex];
  46. this.storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(this._studioCfg.type, this._studioCfg.subType, this._studioCfg.id);
  47. list.numItems = this.storyLevelCfgs.Count;
  48. list.ScrollToView(curIndex);
  49. Timers.inst.AddUpdate(CheckGuide);
  50. base.OnShown();
  51. }
  52. protected override void OnHide()
  53. {
  54. base.OnHide();
  55. }
  56. private void OnClickBtnBack()
  57. {
  58. ViewManager.GoBackFrom(typeof(StudioPropertyView).FullName);
  59. }
  60. private void OnControllerChange()
  61. {
  62. // int index = _croProperty.selectedIndex;
  63. List<StudioCfg> studioCfgs = StudioCfgArray.Instance.GetCfgsByfunId(typeof(StudioPropertyView).Name);
  64. StudioCfg studioCfg = studioCfgs[_croProperty.selectedIndex];
  65. if (!TimeUtil.CheckDayOfWeek(studioCfg.timeArr))
  66. {
  67. string str = "";
  68. for (int i = 0; i < studioCfg.timeArr.Length; i++)
  69. {
  70. str += NumberUtil.GetChiniseNumberWeekText(studioCfg.timeArr[i]);
  71. if (i == studioCfg.timeArr.Length - 1) break;
  72. str += "、";
  73. }
  74. PromptController.Instance.ShowFloatTextPrompt(string.Format("周{0}开放", str));
  75. _croProperty.selectedIndex = _croProperty.previsousIndex;
  76. return;
  77. }
  78. // _propertySelectIndex = index;
  79. this._studioCfg = studioCfg;
  80. this.storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(this._studioCfg.type, this._studioCfg.subType, this._studioCfg.id);
  81. list.numItems = this.storyLevelCfgs.Count;
  82. list.ScrollToView(curIndex);
  83. UpdateView();
  84. StudioDataManager.Instance.PROPERTY_SELECT_INDEX = _croProperty.selectedIndex;
  85. }
  86. private void CheckGuide(object param)
  87. {
  88. if (GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_PROPERTY) <= 0)
  89. {
  90. UpdateToCheckGuide(null);
  91. }
  92. else
  93. {
  94. Timers.inst.Remove(CheckGuide);
  95. }
  96. }
  97. protected override void UpdateToCheckGuide(object param)
  98. {
  99. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  100. GuideController.TryGuide(list, ConstGuideId.STUDIO_PROPERTY, 4, "通关这个副本可以获得风系词牌的升星材料哦~", 0);
  101. GuideController.TryGuide(_ui.m_btnBack, ConstGuideId.STUDIO_PROPERTY, 6, "挑战成功啦,让我们继续新旅程~");
  102. GuideController.TryCompleteGuide(ConstGuideId.STUDIO_PROPERTY, 6);
  103. }
  104. protected override void TryCompleteGuide()
  105. {
  106. base.TryCompleteGuide();
  107. // GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.STUDIO_PROPERTY);
  108. GuideController.TryCompleteGuideIndex(ConstGuideId.STUDIO_PROPERTY, 6);
  109. GuideController.TryCompleteGuide(ConstGuideId.STUDIO_PROPERTY, 6);
  110. }
  111. }
  112. }