少年修仙传客户端代码仓库
client_Zxw
2018-08-13 196c1f03fe7a8908272c8127133e632d107eaef8
Fight/PreFightMission.cs
@@ -102,22 +102,6 @@
        UILoader.LoadPrefab(_actorShowConfig.cam);
    }
    public void CreateAllMissionNpc()
    {
        if (s_MissionDict.Count == 0)
        {
            return;
        }
        foreach (var _mission in s_MissionDict.Values)
        {
            if (_mission.status == 1)
            {
                HandlerMission(_mission.id);
            }
        }
    }
    public void HandleNewPlayerMission(H0820_tagMissionDict h0820)
    {
        if (h0820.MissionID == 1)
@@ -190,6 +174,7 @@
    public void Start()
    {
        mDestroy = false;
        NewGuideModel _model = ModelCenter.Instance.GetModel<NewGuideModel>();
        _model.arrowScale = 1;
@@ -445,13 +430,20 @@
        GA_Hero _hero = PlayerDatas.Instance.hero;
        while (true)
        {
            if (mDestroy)
            {
                yield break;
            }
            if (_hero.IsIdle())
            {
                break;
            }
            yield return null;
        }
        PlayerDatas.Instance.hero.MoveToPosition(pos);
        if (!mDestroy)
        {
            PlayerDatas.Instance.hero.MoveToPosition(pos);
        }
    }
    private void HandlerMission(uint missionId)
@@ -468,7 +460,6 @@
        if (s_MissionDict.ContainsKey(missionId))
        {
            DesignDebug.LogFormat("已经创建过的任务ID: {0}", missionId);
            return;
        }
@@ -1532,6 +1523,95 @@
        DesignDebug.Log("前期结束...");
    }
    private bool mDestroy = false;
    public void Destroy()
    {
        mDestroy = true;
        if (m_FuncNpc != null)
        {
            GAMgr.Instance.ServerDie(m_FuncNpc.ServerInstID);
            GAMgr.Instance.Release(m_FuncNpc);
            m_FuncNpc = null;
        }
        missionNpcDict.Clear();
        s_MissionDict.Clear();
        s_MissionImpasseDict.Clear();
        refreshNpcHandlerList.Clear();
        if (m_SimpleTransfer)
        {
            Object.Destroy(m_SimpleTransfer.gameObject);
            m_SimpleTransfer = null;
        }
        if (m_ObstacleEffect)
        {
            Object.Destroy(m_ObstacleEffect.gameObject);
            m_ObstacleEffect = null;
        }
        if (m_HuaShouEffect)
        {
            Object.Destroy(m_HuaShouEffect.gameObject);
            m_HuaShouEffect = null;
        }
        if (m_FabaoEffect)
        {
            SFXPlayUtility.Instance.Release(m_FabaoEffect);
            m_FabaoEffect = null;
        }
        // 资源卸载
        if (!AssetSource.sceneFromEditor)
        {
            UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync("Map000_Xsdt");
            AssetBundleUtility.Instance.UnloadAssetBundle("maps/map000_xsdt", true, false);
        }
        List<GActor> _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcClientFightNorm);
        if (_list != null)
        {
            for (int i = _list.Count - 1; i >= 0; --i)
            {
                GAMgr.Instance.ServerDie(_list[i].ServerInstID);
                GAMgr.Instance.Release(_list[i]);
            }
        }
        _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcClientFightBoss);
        if (_list != null)
        {
            for (int i = _list.Count - 1; i >= 0; --i)
            {
                GAMgr.Instance.ServerDie(_list[i].ServerInstID);
                GAMgr.Instance.Release(_list[i]);
            }
        }
        _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcClientFunc);
        if (_list != null)
        {
            for (int i = _list.Count - 1; i >= 0; --i)
            {
                GAMgr.Instance.ServerDie(_list[i].ServerInstID);
                GAMgr.Instance.Release(_list[i]);
            }
        }
        GameObjectPoolManager.Instance.UnLoadNPC(1000);
        GameObjectPoolManager.Instance.UnLoadNPC(1003);
        GameObjectPoolManager.Instance.UnLoadNPC(1006);
        GameObjectPoolManager.Instance.UnLoadNPC(1007);
        GameObjectPoolManager.Instance.UnLoadNPC(1008);
        GameObjectPoolManager.Instance.UnLoadNPC(1009);
        if (!AssetSource.mobFromEditor)
        {
            AssetBundleUtility.Instance.UnloadAssetBundle("mob/prefab_race_n017a", true, true);
        }
    }
    private SimpleMapTrasfer CreateTransfer()
    {