using cfg.GfgCfg; using ET; using FairyGUI; using UnityEngine; using UI.Main; namespace GFGGame { public class StoryFightSingleView : BaseView { private UI_StoryFightSingleUI _ui; private GameObject _sceneObject; public override void Dispose() { if (_sceneObject != null) { PrefabManager.Instance.Restore(_sceneObject); _sceneObject = null; } if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void Init() { base.Init(); _ui = UI_StoryFightSingleUI.Create(); viewCom = _ui.target; isfullScreen = true; //isReturnView = true; } protected override void OnInit() { base.OnInit(); } protected override void OnShown() { base.OnShown(); // 异步加载场景对象 PrefabManager.Instance.InstantiateAsync( ResPathUtil.GetPrefabPath("SceneFightSingle"), (gameObj) => { if (gameObj != null) { _sceneObject = gameObj; MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject); StoryLevelCfg levelCfg = null; StoryFightCfg fightCfg = null; FightData roleFightData = null; if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork) { roleFightData = FieldWorkDataManager.Instance.DressupList[FieldWorkDataManager.Instance.CurFightIndex]; MyDressUpHelper.dressUpObj.PutOnItemList(FieldWorkDataManager.Instance .DressupList[FieldWorkDataManager.Instance.CurFightIndex].itemList); } else { levelCfg = CommonDataManager.Tables.TblStoryLevelCfg.GetOrDefault(InstanceZonesDataManager .currentLevelCfgId); fightCfg = CommonDataManager.Tables.TblStoryFightCfg.GetOrDefault(int.Parse(levelCfg.FightID)); } _ui.m_roleName.m_txtName.text = RoleDataManager.roleName; Timers.inst.Add(0.9f, 1, (object param) => { if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.FieldWork) { MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath("fight", "mp3")); ViewManager.Show(roleFightData); ViewManager.Show(); } else { if (!string.IsNullOrEmpty(fightCfg.Music)) { MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(fightCfg.Music, "mp3")); } ViewManager.Show(); } this.Hide(); }); } else { Debug.LogError("Failed to instantiate scene object: SceneFightSingle"); } }); } protected override void OnHide() { base.OnHide(); if (_sceneObject != null) { PrefabManager.Instance.Restore(_sceneObject); _sceneObject = null; } } } }