Ejemplo n.º 1
0
 public void SDK_MomoryClean()
 {
     PlayerAsseMgr.ClearAll();
     EffectAssetMgr.ClearAll();
     Resources.UnloadUnusedAssets();
     Debug.Log("SDK_MomoryClean");
 }
Ejemplo n.º 2
0
    public static void PlayUIEffect(EFFECT_ID id, Transform parent = null, Destroy.FinishCallBack finishEvent = null, InstCallBack instCallBack = null)
    {
        EffectMgr.UIEffectInfo uiei = new EffectMgr.UIEffectInfo();
        uiei.parent_       = parent;
        uiei.instCallBack_ = instCallBack;
        uiei.finCallBack_  = finishEvent;
        uiei.finished_     = false;

        EffectAssetMgr.LoadAsset(id, (AssetBundle bundle, ParamData data) =>
        {
            if (bundle.mainAsset == null)
            {
                ClientLog.Instance.LogError("Effect bundle is broken.   ID : " + id);
                return;
            }
            data.uiEffectInfo_.bundle_ = bundle;
            Transform tParent          = data.uiEffectInfo_.parent_;
            if (tParent.Equals(ApplicationEntry.Instance.uiRoot.transform))
            {
                EffectMgr.Instance.uiEffectQue_.Enqueue(data.uiEffectInfo_);
            }
            else
            {
                GameObject effObj = (GameObject)GameObject.Instantiate(bundle.mainAsset);
                EffectAssetMgr.DeleteAsset(bundle, false);
                effObj.transform.parent     = data.uiEffectInfo_.parent_;
                effObj.transform.localScale = Vector3.one;
                if (data.uiEffectInfo_.instCallBack_ != null)
                {
                    data.uiEffectInfo_.instCallBack_(effObj);
                }
                Destroy de = effObj.GetComponent <Destroy>();
                if (de == null)
                {
                    de          = effObj.AddComponent <Destroy>();
                    de.lifetime = 3f;
                }
                de.OnPlayFinish += data.uiEffectInfo_.finCallBack_;
            }
        }, new ParamData(uiei));
    }
Ejemplo n.º 3
0
    void LoadAssetBundleCallBack(AssetBundle bundle, ParamData data)
    {
        if (hasDestroyed)
        {
            return;
        }

        GameObject srcObj = bundle.mainAsset as GameObject;

        if (Title != null)
        {
            Destroy(Title);
        }
        Title = GameObject.Instantiate(srcObj) as GameObject;
        Title.transform.parent = gameObject.transform;
        BoxCollider collider = gameObject.GetComponent <BoxCollider>();
        float       offsetY  = collider.size.y;

        Title.transform.localPosition = new Vector3(0f, offsetY, 0f);
        EffectAssetMgr.DeleteAsset(bundle, false);
    }
Ejemplo n.º 4
0
 public static void PlaySceneEffect(EFFECT_ID id, Vector3 localPos, Transform parent = null, InstCallBack callback = null, bool billboard = false, float offsetY = 0f)
 {
     EffectAssetMgr.LoadAsset(id, (AssetBundle bundle, ParamData data) =>
     {
         if (bundle.mainAsset == null)
         {
             ClientLog.Instance.LogError("Effect bundle is broken.   ID : " + id);
             return;
         }
         GameObject effObj = (GameObject)GameObject.Instantiate(bundle.mainAsset);
         EffectAssetMgr.DeleteAsset(bundle, false);
         effObj.transform.parent        = data.tTransform_;
         effObj.transform.localPosition = new Vector3(localPos.x, localPos.y + offsetY, localPos.z);
         if (billboard)
         {
             effObj.AddComponent <Billboard>();
         }
         if (callback != null)
         {
             callback(effObj);
         }
     }, new ParamData(parent));
 }
Ejemplo n.º 5
0
    // Update is called once per frame
    void Update()
    {
        if (Application.platform == RuntimePlatform.Android && (Input.GetKeyDown(KeyCode.Escape)))
        {
            if (game.GameUser.getInstance().isFunctionSupported("exit"))
            {
                game.GameUser.getInstance().callFuncWithParam("exit");
            }
            else
            {
                MessageBoxUI.ShowMe(LanguageManager.instance.GetValue("ConfirmQuit"), () =>
                {
                    Application.Quit();
                }, false, null, null, "", "", 2000, true);
            }
        }

        AtlasLoader.Instance.Update();
        PlayerDepLoader.Instance.Update();
        EffectDepLoader.Instance.Update();
        AssetInfoMgr.Instance.Update();
        UIAssetMgr.Update();
        PlayerAsseMgr.Update();
        EffectAssetMgr.Update();
        SceneLoader.Instance.Update();
        GuideManager.Instance.Update();
        GlobalInstanceFunction.Instance.Update();
        EventMgr.Instance.Update();
        NetConnection.Instance.Update();
        AssetLoader.Update();
        GameManager.Instance.Update();
        Prebattle.Instance.Update();
        Battle.Instance.Update();
        EffectMgr.Instance.Update();
        VersionManager.Instance.Update();
        ChatSystem.Update();
        BagSystem.instance.UpdateUsetime();
        BabyData.UpdateUsetime();
        EmployeeTaskSystem.instance.Update();
        if ((gameHandler._SdkInitSuccess || GlobalValue.IsDebugMode) && mayPullResFolderName)
        {
            mayPullResFolderName = false;
            //跳过cdn检查
            TransferRate._Inst.Send("Load LoginPanel Begin");
//            UIFactory.Instance.LoadUIPanel("LoginPanel", () =>
//            {
            UIFactory.Instance.OpenUI(GlobalValue.StageName_LoginScene, menuTypes.MAIN);
            TransferRate._Inst.Send("Load LoginPanel End");
//                AssetLoader.LoadAssetBundle("NpcNameLabel", AssetLoader.EAssetType.ASSET_UI, (AssetBundle bundle2, ParamData data2) =>
//                {
//                    nameLabel = bundle2.mainAsset;
//                    mayShowSysNotice = true;
//                }, null, Configure.assetsPathstreaming);
//            });
            //StartCoroutine(PullResFolderName());
        }

        if ((gameHandler._SdkInitSuccess || GlobalValue.IsDebugMode) && mayShowSysNotice)
        {
            TransferRate._Inst.Send("Show System Notice");
            mayShowSysNotice = false;
            //公告时 加载点轻量级资源
            PopText.Instance.Init();
            NpcHeadChat.Instance.Init();
            StartCoroutine(SysNotice());
        }
    }
Ejemplo n.º 6
0
    void OnQuestUpdate()
    {
        InitData();
        int currentprocess = 0;

        if (QuestSystem.IsQuestFinishNpc(NpcId))
        {
            currentprocess = Process_Finish;
        }
        else
        {
            for (int i = 0; i < Quests.Count; i++)
            {
                /*if (QuestSystem.IsQuestFinishNpc(NpcId))
                 * {
                 *  currentprocess = Process_Finish;
                 *  break ;
                 *
                 * }
                 * else */
                if (QuestSystem.IsQuestAcceptable(Quests[i]))
                {
                    currentprocess = Process_Accepting;
                    break;
                }
                else if (QuestSystem.IsQuestDoing(Quests[i]))
                {
                    QuestData questData = QuestData.GetData(Quests[i]);
                    if (questData.finishNpcId_ == NpcId)
                    {
                        currentprocess = Process_Doing;
                        break;
                    }
                }
            }
        }

        if (currentprocess == Process)
        {
            return;
        }
        Process = currentprocess;
        switch (Process)
        {
        case Process_Doing:
            EffectAssetMgr.LoadAsset(EFFECT_ID.EFFECT_huiwenhao, LoadAssetBundleCallBack, null);
            break;

        case Process_Accepting:
            EffectAssetMgr.LoadAsset(EFFECT_ID.EFFECT_tanhao, LoadAssetBundleCallBack, null);
            break;

        case Process_Finish:
            EffectAssetMgr.LoadAsset(EFFECT_ID.EFFECT_huangwenhao, LoadAssetBundleCallBack, null);
            break;

        default:
            if (Title != null)
            {
                Destroy(Title);
            }
            break;
        }
    }
Ejemplo n.º 7
0
    // Update is called once per frame
    void Update()
    {
        if (Application.platform == RuntimePlatform.Android && (Input.GetKeyDown(KeyCode.Escape)))
        {
            MessageBoxUI.ShowMe(LanguageManager.instance.GetValue("ConfirmQuit"), () =>
            {
                SDKInterface.Instance.SDKExit();
                //Application.Quit();
            }, false, null, null, "", "", 2000, true);
        }

        AtlasLoader.Instance.Update();
        PlayerDepLoader.Instance.Update();
        EffectDepLoader.Instance.Update();
        AssetInfoMgr.Instance.Update();
        UIAssetMgr.Update();
        PlayerAsseMgr.Update();
        EffectAssetMgr.Update();
        SceneLoader.Instance.Update();
        GuideManager.Instance.Update();
        GlobalInstanceFunction.Instance.Update();
        EventMgr.Instance.Update();
        NetConnection.Instance.Update();
        AssetLoader.Update();
        GameManager.Instance.Update();
        Prebattle.Instance.Update();
        Battle.Instance.Update();
        EffectMgr.Instance.Update();
        VersionManager.Instance.Update();
        ChatSystem.Update();
        BagSystem.instance.UpdateUsetime();
        BabyData.UpdateUsetime();
        EmployeeTaskSystem.instance.Update();

        if (mayShowSysNotice)
        {
            mayShowSysNotice = false;
            //公告时 加载点轻量级资源
            PopText.Instance.Init();
            NpcHeadChat.Instance.Init();
            StartCoroutine(SysNotice());
        }


        //PopText.Instance.Init();
        //NpcHeadChat.Instance.Init();
        //StartCoroutine(SysNotice());


        if (mayPullResFolderName)
        {
            mayPullResFolderName = false;
            //跳过cdn检查
            UIFactory.Instance.LoadUIPanel("LoginPanel", () =>
            {
                UIFactory.Instance.OpenUI(GlobalValue.StageName_LoginScene, menuTypes.MAIN);
                AssetLoader.LoadAssetBundle("NpcNameLabel", AssetLoader.EAssetType.ASSET_UI, (AssetBundle bundle2, ParamData data2) =>
                {
                    nameLabel        = bundle2.mainAsset;
                    mayShowSysNotice = true;
                }, null, Configure.assetsPathstreaming);
            });
            StartCoroutine(PullResFolderName());
            //
        }
    }
Ejemplo n.º 8
0
    public static void LoadingAsyncScene(string name, SwitchScenEffect type = SwitchScenEffect.LoadingBar, bool withUI = true, bool withDynRes = false, bool manualClose = false, bool resetLocker = false)
    {
        if (GlobalValue.isBattleScene(name))
        {
            GamePlayer.Instance.isInBattle = true;
        }
        else
        {
            GamePlayer.Instance.isInBattle = false;
        }

        GameManager.Instance.EnableDelayCheck(false);
        GuideManager.Instance.ClearMask();
        GlobalInstanceFunction.Instance.ClearInvokeRepeat();

        PlayerAsseMgr.ClearAll();
        EffectAssetMgr.ClearAll();
        Resources.UnloadUnusedAssets();
        if (Loading || ScenePreloader.Instance.DiffSceneLoad(name))
        {
            wait4LoadQue_.Clear();
            WaitLoadInfo wli = new WaitLoadInfo();
            wli.name_        = name;
            wli.type_        = type;
            wli.withUI_      = withUI;
            wli.withDynRes_  = withDynRes;
            wli.manualClose_ = manualClose;
            wli.resetLocker_ = resetLocker;
            wait4LoadQue_.Enqueue(wli);
            return;
        }

        Loading = true;

        if (resetLocker)
        {
            GameManager.Instance.reconnectionLocker_ = false;
        }
        ApplicationEntry.Instance.switchSceneMask_.SetActive(true);

        if (OnSceneBeginLoad != null)
        {
            OnSceneBeginLoad();
        }

        UIManager.Instance.DoDeActive();
        withUI_      = withUI;
        withDynRes_  = withDynRes;
        manualClose_ = manualClose;
        preScene_    = Scene_name;
        Scene_name   = name;
        Loadtype     = type;

        if (Scene_name.Equals(GlobalValue.StageName_ReLoginScene))
        {
            GameManager.Instance.ClearCurrentState();
        }

        if (type == SwitchScenEffect.LoadingBar)
        {
            UIFactory.Instance.LoadUIPanel(UIASSETS_ID.UIASSETS_LoadingPanel, () => {
                UIFactory.Instance.CloseCurrentUI();
                UIFactory.Instance.OpenUI(UIASSETS_ID.UIASSETS_LoadingPanel, menuTypes.Popup);
                ApplicationEntry.Instance.switchSceneMask_.SetActive(false);
            });
        }
        else
        {
            GlobalInstanceFunction.LoadSceneUI(Scene_name, () => {
                ShowGame.Instance.ShowScenEffect(type);
            });
        }
        Prebattle.Instance.ClearAssetLoadCount();
        sendSceneLoaded_ = false;
    }
Ejemplo n.º 9
0
 public void DestoryAsset(bool clear)
 {
     EffectAssetMgr.DeleteAsset(bundle_, clear);
 }
Ejemplo n.º 10
0
    public void Update()
    {
        if (uiEffectQue_.Count > 0)
        {
            UIEffectInfo info = uiEffectQue_.Peek();
            if (info.bundle_ == null)
            {
                uiEffectQue_.Dequeue();
                return;
            }
            if (!info.showing_)
            {
                GameObject effObj = (GameObject)GameObject.Instantiate(info.bundle_.mainAsset);
                effObj.transform.parent     = info.parent_;
                effObj.transform.localScale = Vector3.one;
                if (info.instCallBack_ != null)
                {
                    info.instCallBack_(effObj);
                }
                Destroy de = effObj.GetComponent <Destroy>();
                if (de == null)
                {
                    de          = effObj.AddComponent <Destroy>();
                    de.lifetime = 3f;
                }
                de.OnPlayFinish += info.finCallBack_;
                de.OnPlayFinish += info.Fin;
                info.showing_    = true;
                EffectAssetMgr.DeleteAsset(info.bundle_, false);
            }
            if (info.finished_)
            {
                uiEffectQue_.Dequeue();
                //EffectAssetMgr.DeleteAsset(info.bundle_, false);
            }
        }

        //if (loading)
        //{
        //    timeoutTimer += Time.deltaTime;
        //    if (timeoutTimer > effectLoadTimeout)
        //    {
        //        timeoutTimer = 0f;
        //        loading = false;
        //    }
        //    return;
        //}

        if (requestQue_.Count == 0)
        {
            return;
        }

        LoadRequest lr = requestQue_.Dequeue();

        if (lr != null)
        {
            loading = true;
            EffectAssetMgr.LoadAsset(lr.id_, LoadAssetBundleCallBack, new ParamData(lr));
        }
    }