StudioPorcelainView.cs 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System.Collections.Generic;
  2. using FairyGUI;
  3. using UI.Studio;
  4. namespace GFGGame
  5. {
  6. //瓷器副本
  7. public class StudioPorcelainView : StudioBaseView
  8. {
  9. private GComponent _comPorcelain;
  10. private string[] porcelainTheme = new string[]{"风","花","雪","月"};
  11. public override void Dispose()
  12. {
  13. base.Dispose();
  14. }
  15. protected override void OnInit()
  16. {
  17. base.OnInit();
  18. packageName = UI_StudioEctypeUI.PACKAGE_NAME;
  19. // _ui = UI_StudioPorcelainUI.Create();
  20. // this.viewCom = _ui.target;
  21. // isfullScreen = true;
  22. _ui.m_btnBack.onClick.Add(OnClickBtnBack);
  23. }
  24. protected override void OnShown()
  25. {
  26. _comPorcelain = UIPackage.CreateObject(UI_StudioUI.PACKAGE_NAME, "ComPorcelain").asCom;
  27. AddChildCom(_comPorcelain);
  28. _comPorcelain.GetChild("loaBg").asLoader.url = ResPathUtil.GetBgImgPath("gzs_fb_bj");
  29. StudioDataManager.Instance.VIEW_NAME = typeof(StudioPorcelainView).FullName;
  30. this._studioCfg = StudioCfgArray.Instance.GetCfgsByfunId(typeof(StudioPorcelainView).Name)[StudioDataManager.Instance.PorcelainTheme - 1];
  31. this.storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(this._studioCfg.type, this._studioCfg.subType, this._studioCfg.id);
  32. //_comPorcelain.GetChild("loaScore").asLoader.url = string.Format("ui://Studio/cqxf_zdqh_{0}", StudioDataManager.Instance.PorcelainTheme);
  33. list.numItems = this.storyLevelCfgs.Count;
  34. list.ScrollToView(curIndex);
  35. _comPorcelain.GetChild("btnChageLine").asLoader.url = ResPathUtil.GetCommonGameResPath("zsx_fl");
  36. _comPorcelain.GetChild("loaName").asTextField.text = porcelainTheme[StudioDataManager.Instance.PorcelainTheme-1];
  37. base.OnShown();
  38. _comPorcelain.height = _ui.target.height;
  39. Timers.inst.AddUpdate(CheckGuide);
  40. }
  41. protected override void OnHide()
  42. {
  43. base.OnHide();
  44. Timers.inst.Remove(CheckGuide);
  45. }
  46. protected override void ListItemRender(int index, GObject obj)
  47. {
  48. base.ListItemRender(index, obj);
  49. UI_ListPorcelainItem item = UI_ListPorcelainItem.Proxy(obj);
  50. // item.m_loaName.url = string.Format("ui://Studio/cwxf_zidi_{0}", index + 1);
  51. item.m_txtName.text = "书简修复";
  52. UI_ListPorcelainItem.ProxyEnd();
  53. }
  54. private void OnClickBtnBack()
  55. {
  56. ViewManager.GoBackFrom(typeof(StudioPorcelainView).FullName);
  57. }
  58. private void CheckGuide(object param)
  59. {
  60. if (GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_PORCELAIN) <= 0)
  61. {
  62. UpdateToCheckGuide(null);
  63. }
  64. else
  65. {
  66. Timers.inst.Remove(CheckGuide);
  67. }
  68. }
  69. protected override void UpdateToCheckGuide(object param)
  70. {
  71. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  72. GuideController.TryGuide(_comPorcelain.GetChild("list").asList, ConstGuideId.STUDIO_PORCELAIN, 5, "", 0);
  73. GuideController.TryGuide(_ui.m_btnBack, ConstGuideId.STUDIO_PORCELAIN, 7, "挑战成功啦,让我们继续新故事吧");
  74. GuideController.TryCompleteGuide(ConstGuideId.STUDIO_PORCELAIN, 7);
  75. }
  76. protected override void TryCompleteGuide()
  77. {
  78. base.TryCompleteGuide();
  79. // GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.STUDIO_PORCELAIN);
  80. GuideController.TryCompleteGuideIndex(ConstGuideId.STUDIO_PORCELAIN, 7);
  81. GuideController.TryCompleteGuide(ConstGuideId.STUDIO_PORCELAIN, 7);
  82. }
  83. }
  84. }