using UnityEngine; using System.Collections; using System.Collections.Generic; using System; using YLBattle; using UnityEngine.SceneManagement; /// /// /// public class Entrance_YLBattle : MonoBehaviour { /// /// 预加载资源 /// private List mPreloadRes = new List(); /// /// /// void Start() { AudioManager.Instance.ChangeGameBackMusic(AudioManager.BattleBackMusic, 3); // 清除所有角色 RoleManager.Instance.ClearRoleRes(); // 战斗界面 PanelHelper.Instance.ShowPanel("UI_BaseMainWindow", (uiObj) => { GameObject spawnerObj = null; sm_gate gateMo = sm_gate.GetMoById(GameDateManager.Instance.GateID); GameObject[] gos = SceneManager.GetActiveScene().GetRootGameObjects(); string spawnerName = ""; if (int.Parse(gateMo.battleType) == (int)BattleDefine.EBattleSceneType.EBattleType_Duplicate) { spawnerName = "Spawners_" + GameDateManager.Instance.GateID.ToString(); } else { spawnerName = "Spawners"; } foreach (var item in gos) { if (item.gameObject.name == spawnerName) { spawnerObj = item; spawnerObj.SetActive(true); break; } } ZoneSpawner[] szList = spawnerObj.GetComponentsInChildren(); foreach (var item in szList) { item.gameObject.AddComponent(); } BulletMessage.catSkillFun = X2Battle.X2BattleManager.Instance.mBulletModel.OnCastSkillDelegateFun; Invoke("EnterYLBattle", 0.25f); }); } /// /// 预加载资源 /// /// private void PreloadRes(int index, Action ac) { if (index >= 0 && index < mPreloadRes.Count) { ResourceHelper.Instance.LoadAssetBundle(mPreloadRes[index], (ab) => { PreloadRes(index + 1, ac); }); } else { if (ac != null) { ac(); } } } private void EnterYLBattle() { GameObject cmameraManager = GameObject.Find("CMCamera"); if (cmameraManager) { cmameraManager.AddComponent(); } UI_LoadingWindow.Instance().Hide(); PanelHelper.Instance.ClosePanel("UI_LoadingWindow"); GameBattleManager.Instance().Go(); // 弹出剧情 StarBattle.BattleInfo info = BattleMediator.Instance.getBattleInfo(); if (info != null && sm_plot.CheckHasGateDialog(info.BP.levelID)) { DialogDataInfo dataInfo = new DialogDataInfo(); dataInfo.sceneType = 1; dataInfo.gateId = info.BP.levelID; dataInfo.stageIndex = 0; dataInfo.param = info.BP.levelID + "_" + info.BP.levelID + "_" + 0; dataInfo.noviceIndex = 0; dataInfo.closeAC = null; PanelHelper.Instance.ShowPanel("UI_TaskDialogWindow", null, dataInfo); return; } } private void Update() { X2Battle.X2BattleManager.Instance.Update(); } }