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();
}
}