StoryFightSingleView.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. using cfg.GfgCfg;
  2. using FairyGUI;
  3. using UnityEngine;
  4. using UI.Main;
  5. namespace GFGGame
  6. {
  7. public class StoryFightSingleView : BaseView
  8. {
  9. private UI_StoryFightSingleUI _ui;
  10. private GameObject _sceneObject;
  11. public override void Dispose()
  12. {
  13. if (_sceneObject != null)
  14. {
  15. PrefabManager.Instance.Restore(_sceneObject);
  16. _sceneObject = null;
  17. }
  18. if (_ui != null)
  19. {
  20. _ui.Dispose();
  21. _ui = null;
  22. }
  23. base.Dispose();
  24. }
  25. protected override void Init()
  26. {
  27. base.Init();
  28. _ui = UI_StoryFightSingleUI.Create();
  29. viewCom = _ui.target;
  30. isfullScreen = true;
  31. //isReturnView = true;
  32. }
  33. protected override void OnInit()
  34. {
  35. base.OnInit();
  36. }
  37. protected override void OnShown()
  38. {
  39. base.OnShown();
  40. // 异步加载场景对象
  41. PrefabManager.Instance.InstantiateAsync(
  42. ResPathUtil.GetPrefabPath("SceneFightSingle"),
  43. (gameObj) =>
  44. {
  45. if (gameObj != null)
  46. {
  47. _sceneObject = gameObj;
  48. MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject);
  49. StoryLevelCfg levelCfg = null;
  50. StoryFightCfg fightCfg = null;
  51. FightData roleFightData = null;
  52. if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
  53. {
  54. roleFightData =
  55. FieldWorkDataManager.Instance.DressupList[FieldWorkDataManager.Instance.CurFightIndex];
  56. MyDressUpHelper.dressUpObj.PutOnItemList(FieldWorkDataManager.Instance
  57. .DressupList[FieldWorkDataManager.Instance.CurFightIndex].itemList);
  58. }
  59. else
  60. {
  61. levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(InstanceZonesDataManager
  62. .currentLevelCfgId);
  63. fightCfg =
  64. CommonDataManager.Tables.TblStoryFightCfg.GetOrDefault(int.Parse(levelCfg.FightID));
  65. }
  66. _ui.m_roleName.m_txtName.text = RoleDataManager.roleName;
  67. Timers.inst.Add(0.9f, 1, (object param) =>
  68. {
  69. if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork)
  70. {
  71. MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath("fight", "mp3"));
  72. ViewManager.Show<StoryFightSingleScoreView>(roleFightData);
  73. ViewManager.Show<FieldWorkRoundTipsView>();
  74. }
  75. else
  76. {
  77. if (!string.IsNullOrEmpty(fightCfg.Music))
  78. {
  79. MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(fightCfg.Music, "mp3"));
  80. }
  81. ViewManager.Show<StoryFightSingleScoreView>();
  82. }
  83. this.Hide();
  84. });
  85. }
  86. else
  87. {
  88. Debug.LogError("Failed to instantiate scene object: SceneFightSingle");
  89. }
  90. });
  91. }
  92. protected override void OnHide()
  93. {
  94. base.OnHide();
  95. if (_sceneObject != null)
  96. {
  97. PrefabManager.Instance.Restore(_sceneObject);
  98. _sceneObject = null;
  99. }
  100. }
  101. }
  102. }