StudioPorcelainView.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. public override void Dispose()
  11. {
  12. base.Dispose();
  13. }
  14. protected override void OnInit()
  15. {
  16. base.OnInit();
  17. packageName = UI_StudioEctypeUI.PACKAGE_NAME;
  18. // _ui = UI_StudioPorcelainUI.Create();
  19. // this.viewCom = _ui.target;
  20. // isfullScreen = true;
  21. _ui.m_btnBack.onClick.Add(OnClickBtnBack);
  22. }
  23. protected override void OnShown()
  24. {
  25. _comPorcelain = UIPackage.CreateObject(UI_StudioUI.PACKAGE_NAME, "ComPorcelain").asCom;
  26. AddChildCom(_comPorcelain);
  27. _comPorcelain.GetChild("loaBg").asLoader.url = ResPathUtil.GetBgImgPath("hz_bjbj");
  28. StudioDataManager.Instance.VIEW_NAME = typeof(StudioPorcelainView).FullName;
  29. this._studioCfg = StudioCfgArray.Instance.GetCfgsByfunId(typeof(StudioPorcelainView).Name)[StudioDataManager.Instance.PorcelainTheme - 1];
  30. this.storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(this._studioCfg.type, this._studioCfg.subType, this._studioCfg.id);
  31. _comPorcelain.GetChild("loaScore").asLoader.url = string.Format("ui://Studio/cqxf_zdqh_{0}", StudioDataManager.Instance.PorcelainTheme);
  32. list.numItems = this.storyLevelCfgs.Count;
  33. list.ScrollToView(curIndex);
  34. base.OnShown();
  35. _comPorcelain.height = _ui.target.height;
  36. Timers.inst.AddUpdate(CheckGuide);
  37. }
  38. protected override void OnHide()
  39. {
  40. base.OnHide();
  41. }
  42. protected override void ListItemRender(int index, GObject obj)
  43. {
  44. base.ListItemRender(index, obj);
  45. UI_ListPorcelainItem item = UI_ListPorcelainItem.Proxy(obj);
  46. item.m_loaName.url = string.Format("ui://Studio/cwxf_zidi_{0}", index + 1);
  47. UI_ListPorcelainItem.ProxyEnd();
  48. }
  49. private void OnClickBtnBack()
  50. {
  51. ViewManager.GoBackFrom(typeof(StudioPorcelainView).FullName);
  52. }
  53. private void CheckGuide(object param)
  54. {
  55. if (GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_PORCELAIN) <= 0)
  56. {
  57. UpdateToCheckGuide(null);
  58. }
  59. else
  60. {
  61. Timers.inst.Remove(CheckGuide);
  62. }
  63. }
  64. protected override void UpdateToCheckGuide(object param)
  65. {
  66. if (!ViewManager.CheckIsTopView(this.viewCom)) return;
  67. GuideController.TryGuide(_comPorcelain.GetChild("list").asList, ConstGuideId.STUDIO_PORCELAIN, 5, "", 0);
  68. GuideController.TryGuide(_ui.m_btnBack, ConstGuideId.STUDIO_PORCELAIN, 7, "挑战成功啦,让我们继续新故事吧");
  69. GuideController.TryCompleteGuide(ConstGuideId.STUDIO_PORCELAIN, 7);
  70. }
  71. protected override void TryCompleteGuide()
  72. {
  73. base.TryCompleteGuide();
  74. // GuideCfg cfg = GuideCfgArray.Instance.GetCfg(ConstGuideId.STUDIO_PORCELAIN);
  75. GuideController.TryCompleteGuideIndex(ConstGuideId.STUDIO_PORCELAIN, 7);
  76. GuideController.TryCompleteGuide(ConstGuideId.STUDIO_PORCELAIN, 7);
  77. }
  78. }
  79. }