using FairyGUI; using UnityEngine; using UI.Main; using System.Collections.Generic; namespace GFGGame { public class StoryFightTargetView : BaseView { private UI_StoryFightTargetUI _ui; private GameObject _sceneObject; private GameObject _sceneTargetObject; private GameObject _sceneTargetObj; private GameObject _sceneNpcObj; private DressUpObj _targetDressUpObj; public override void Dispose() { if (_sceneObject != null) { PrefabManager.Instance.Restore(_sceneObject); _sceneObject = null; } if (_sceneTargetObject != null) { _sceneTargetObject = null; } if (_targetDressUpObj != null) { _targetDressUpObj.Dispose(); _targetDressUpObj = null; } if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void Init() { base.Init(); _ui = UI_StoryFightTargetUI.Create(); viewCom = _ui.target; isfullScreen = true; //isReturnView = true; } protected override void OnInit() { base.OnInit(); } protected override void OnShown() { base.OnShown(); if (_sceneObject == null) { _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("SceneFightTarget")); _sceneTargetObj = _sceneObject.transform.Find("targetRole").gameObject; _sceneNpcObj = _sceneObject.transform.Find("Npc").gameObject; _targetDressUpObj = new DressUpObj(); } _sceneTargetObj.SetActive(false); _sceneNpcObj.SetActive(true); MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, true, true, null ,false); FightData roleFightData = null; FightData targetFightData = null; if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena) { roleFightData = ArenaDataManager.Instance.DressupList[ArenaDataManager.Instance.CurFightIndex]; MyDressUpHelper.dressUpObj.PutOnItemList(ArenaDataManager.Instance.DressupList[ArenaDataManager.Instance.CurFightIndex].itemList); targetFightData = ArenaDataManager.Instance.LastTargets[ArenaDataManager.Instance.SelectTargetIndex].FightDatas[0]; _ui.m_targetName.m_txtName.text = targetFightData.name; _sceneTargetObj.SetActive(true); _sceneNpcObj.SetActive(false); _targetDressUpObj.setSceneObj(_sceneTargetObj, true, false, null, false); if (targetFightData.type == FightTargetType.ROBOT) { _targetDressUpObj.PutOnSuitCfg(targetFightData.showSuitId, false, new int[] { ConstDressUpItemType.BEI_JING }, true, false); } else { _targetDressUpObj.PutOnItemList(targetFightData.itemList); } } else { roleFightData = InstanceZonesDataManager.roleData; // MyDressUpHelper.dressUpObj.UpdateRoleView(); _sceneTargetObj.SetActive(false); _sceneNpcObj.SetActive(true); targetFightData = InstanceZonesDataManager.GetFightTargetData(); _ui.m_targetName.m_txtName.text = targetFightData.name; SceneController.UpdateFightTarget(targetFightData.res, _sceneObject); } _ui.m_roleName.m_txtName.text = roleFightData.name; Timers.inst.Add(1.1f, 1, (object param) => { if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena) { MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath("fight", "mp3")); } else { StoryLevelCfg levelCfg = StoryLevelCfgArray.Instance.GetCfg(InstanceZonesDataManager.currentLevelCfgId); StoryFightCfg fightCfg = StoryFightCfgArray.Instance.GetCfg(levelCfg.fightID); if (!string.IsNullOrEmpty(fightCfg.music)) { MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(fightCfg.music, "mp3")); } } ViewManager.Show(new object[] { roleFightData, targetFightData }); this.Hide(); }); } protected override void OnHide() { base.OnHide(); if (_sceneObject != null) { PrefabManager.Instance.Restore(_sceneObject); _sceneObject = null; } if (_sceneTargetObject != null) { PrefabManager.Instance.Restore(_sceneTargetObject); _sceneTargetObject = null; } } } }