public void SDK_MomoryClean() { PlayerAsseMgr.ClearAll(); EffectAssetMgr.ClearAll(); Resources.UnloadUnusedAssets(); Debug.Log("SDK_MomoryClean"); }
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)); }
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); }
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)); }
// 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()); } }
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; } }
// 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()); // } }
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; }
public void DestoryAsset(bool clear) { EffectAssetMgr.DeleteAsset(bundle_, clear); }
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)); } }