Beispiel #1
0
    /// <summary>
    /// 开头动画播放完成回调
    /// </summary>
    public void OnMovieFinished()
    {
        //开启所有已生成
        if (MainHerpEv != null)
        {
            MainHerpObj.SetActive(true);
            MainHerpObj = null;
            MainHerpEv  = null;
        }
        //开启玩家控制输入***
        if (MainSkillCtrl != null)
        {
            MainSkillCtrl.enable = true;
            MainSkillCtrl        = null;
        }
        if (MainMouseCtrl != null)
        {
            MainMouseCtrl.enabled = true;
            MainMouseCtrl         = null;
        }
        if (m_SkinControl != null)
        {
            //m_SkinControl.UnRegsiterSkinChangedEvent(OnSkinChanged);
            m_SkinControl = null;
        }
        LogicDataCenter.onEnterBattleState();

        //UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_BATTLESTATE_ENTER, null);

        //EntityFactory.CreateMainHeroEntityEvent -= OnHeroEntityLoadComplete;
        //MainHerpEv.LightingEffectManager.UnRegisterEffectComplete(333, OnMovieFinished);

        //开启音效
        //开启光效
    }
Beispiel #2
0
    //进入Moba战场状态的操作
    private void onEnterBattleState()
    {
        //////////////////////////////////////////////////////////////////////////
        //加载Moba战场所需要的配置文件
        //注意:目前没写卸载战场的配置文件部分
        // 暂时加的参数之后要修改
        //ViewConfigManager.LoadMobaConfigs(5);

        //////////////////////////////////////////////////////////////////////////
        //创建Moba战场需要的界面
        //注意:目前还没写卸载战场界面部分
        //全部默认为显示
        // if (CurrentStageState == EStage_State.ESS_BATTLE)
        // {
        //  LoadingWindow.LeaveMovie();
        //}

        //一进战场统一关闭死亡光效
        ImageEffects.ImageEffectManager.API_DisableImageEffect <ImageEffects.FullScreenSaturation>();
        ImageEffects.ImageEffectManager.API_EnableImageEffect <ImageEffects.DepthOfFieldScatter>();
        //一进战场统一关闭战争迷雾
        WarFogManager.Instance.End();
        //Debug.Log("Create Game Hud...");
        CurStageSubState = EStage_SubState.ESSS_WAR;

        LogicDataCenter.onEnterBattleState();

        EnterBattle();
        // UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_BATTLESTATE_ENTER, null);
    }
Beispiel #3
0
    //准备切换Moba场景前的操作
    public override void onReadyToLoadMobaScene()
    {
        Initialize.Instance.ResetGameManager();

        LogicDataCenter.onEnterLoginMobaState();

        UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_LOGINMOBA, null);
    }
Beispiel #4
0
    //进入登录状态的操作
    private void onEnterLoginState()
    {
        FuntionShortCutCtrl.GetInstance().ClearAndRest();
        LogicDataCenter.onEnterLoginState();
        CurStageSubState = EStage_SubState.ESSS_NONE;

        UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_LOGINSTATE_ENTER, null);
    }
Beispiel #5
0
    //进入游戏状态的操作
    private void onEnterGameState()
    {
        //GameContextManager.UIContextView.SpawnContextView(EContextViewType.EGameContextView);
        //LogicDataCenter.playerSystemDataManager.Reset();
        CurStageSubState = EStage_SubState.ESSS_NONE;

        UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMOM_STATICGAMESTATE_ENTER, null);
        LogicDataCenter.ClearInEnterStaticGameState();
    }
Beispiel #6
0
    private void onLeaveBattleState()
    {
        //Debug.Log("Leave Battle State...");

        CurPermissionState = EStage_PermissionState.ESPS_NORMAL;

        USpeedUI.Blood.UBloodManager.Instance.DestroyALL();

        UTopNameManager.Instance.PreWarmTopName();

        ViewConfigManager.UnLoadMobaConfigs();

        LogicDataCenter.onLeaveBattleState();

        InputManager.Available = true;

        SoundManager.DeleteAll();

        UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_BATTLESTATE_LEAVE, null);
    }
Beispiel #7
0
    /// <summary>
    /// 创建通用逻辑模块,主场景和战斗场景均使用,依赖配置表,通常情况下需要更新资源后再执行
    /// </summary>
    public IEnumerator CreateEnumerator()
    {
        bCreated = false;

        Type[] types = new Type[]
        {
            typeof(AssetSystem),
            typeof(ShaderLib),
            typeof(SceneManager),
            typeof(NatureManager),
            typeof(WarFogManager),
        };

        CreateModulesAsyn(types);

        //wait another coroutine finish
        while (true)
        {
            yield return(new WaitForEndOfFrame());

            bool bOK = (CreatingModules.Count == 0);
            if (bOK)
            {
                break;
            }
        }

        yield return(new WaitForSeconds(0.1f));

        if (!Application.isEditor && System.IO.File.Exists("BreakPoint.txt"))
        {
            GameUtil.MsgBox(m_WindowHwnd, "挂断点", "调试", 0);
        }

        if (!RenderViewAPI.Start())
        {
            Trace.LogError("Game Start Service failure");
            yield break;
        }
        Trace.Log("Game Start Service successed");
        // 初始化
        gameObject.AddComponent <GameViewCommandHandler>();

        OnDeviceStateChage += OnDeviceStateChange;

        // 初始化游戏接口
        IntPtrHelper helper = new IntPtrHelper();

        //GameLogicAPI.Start(ASpeedGame.Data.GameSettingsXml.GameSettingsXmlManager.Instance.GameSettingsModel.enableMultiThread.AValue,
        //    helper.toPtr(ref RenderViewAPI.g_RenderView));
        GameLogicAPI.Start(helper.toPtr(ref RenderViewAPI.g_RenderView));
        yield return(new WaitForSeconds(1.0f));

        PrintTickCheck("初始化逻辑层API,至少等了1秒", CostThreshold_Lv1, _bStart: true);

        // 显示层配置价值
        ViewConfigManager.Init();
        PrintTickCheck("ViewConfigManager.Init");


        //资源是要配置初始化
        AssetBundleManager.Init();
        PrintTickCheck("AssetBundleManager.Init");



        LogicDataCenter.Init();
        PrintTickCheck("LogicDataCenter.Init");



        ImageSetting.Init();
        PrintTickCheck("ImageSetting.Init");

        ImageEffectManager.API_GameStart();
        PrintTickCheck("ImageEffectManager.Init");

        //GameViewCommandHandler.Instance.Start();
        MouseCursorManager.Instance.InitMouseCursorManager();
        PrintTickCheck("MouseCursorManager.Init");

        // 初始化实体接口,依赖上面的物件管理器所以顺序不能换
        EntityFactory.Init();
        PrintTickCheck("EntityFactory.Init");


        PrefabManager.Init();
        PrintTickCheck("PrefabManager.Init");


        SkinManager.Init();
        PrintTickCheck("SkinManager.Init");



        SoundManager.Init();
        PrintTickCheck("SoundManager.Init");

        UISystem.Init();
        PrintTickCheck("UISystem.Init");

        UTopNameManager.Init();
        PrintTickCheck("UTopNameManager.Init");

        USpeedUI.Blood.UBloodManager.Init();
        PrintTickCheck("UBloodManager.Init");



        InputManager.Init();
        PrintTickCheck("InputManager.Init");



        Effect.EffectNode.InitTargetCache();
        PrintTickCheck("Effect.EffectNode.InitTargetCache.Init");

        GUIDE.GuideManager.Init();
        PrintTickCheck(" GUIDE.GuideManager.Init");

        SceneEffectManager.Init();
        PrintTickCheck("SceneEffectManager.Init");
        if (LightingEffectFactory.Instance)
        {
            LightingEffectFactory.Instance.InitWhenGameStart();
        }
        PrintTickCheck("LightingEffectFactory.Init");

        SafeZoneEffectManager.Init();
        PrintTickCheck("SafeZoneEffectManager.Init");

        ImageSetting.TraceSettings();

        bCreated = true;

        List <string> argList = new List <string>();

        argList.AddRange(System.Environment.GetCommandLineArgs());

        CkeckUpdateOk(ref argList);
        PrintTickCheck("CkeckUpdateOk");

        CheckMultclient();
        PrintTickCheck("CheckMultclient");

        StageManager.Init();
        AssetBundleManager.DeleteAssets(ref LoadingWaitngResNode, true);
    }