/// <summary> /// 异步加载 /// </summary> /// <param name="callback"></param> public void AsyncLoad(Action callback) { // JDeBug.Inst.Log("开始任务:" + resourcePath); BResources.AsyncLoad <GameObject>(resourcePath, (result, o) => { if (o != null) { var go = GameObject.Instantiate(o); Transform = go.transform; Transform.gameObject.SetActive(false); IsLoad = true; //自动查找节点 UITools.AutoSetTransformPath(this); Init(); } else { BDebug.LogError("窗口资源不存在:" + this.GetType().FullName); } if (callback != null) { callback(); } }); }
private void btn_06() { List <GameObject> golist = new List <GameObject>(); //1.同步加载 var go = BResources.Load <GameObject>("AssetTest/Cube"); var load1 = GameObject.Instantiate(go); go = BResources.Load <GameObject>("Test/Cube"); var load2 = GameObject.Instantiate(go); go = BResources.Load <GameObject>("AssetTest/Particle"); var load3 = GameObject.Instantiate(go); go = BResources.Load <GameObject>("Char/001"); var loadModel = GameObject.Instantiate(go); golist.Add(load1); golist.Add(load2); golist.Add(load3); golist.Add(loadModel); //2.异步加载单个 var id = BResources.AsyncLoad <GameObject>("Test/Cube", (o) => { var load4 = GameObject.Instantiate(o); golist.Add(load4); }); //3.异步加载多个 var list = new List <string>() { "AssetTest/Cube", "Test/Cube" }; BResources.AsyncLoad(list, (i, i2) => { //进度 Debug.Log(string.Format("进度 {0} / {1}", i, i2)); }, (map) => { BDebug.Log("加载全部完成,资源列表:"); foreach (var r in map) { BDebug.Log(string.Format("--> {0} : {1}", r.Key, r.Value.name)); var _go = GameObject.Instantiate(r.Value); golist.Add(_go as GameObject); } }); IEnumeratorTool.WaitingForExec(5, () => { foreach (var _go in golist) { GameObject.Destroy(_go); } }); }
/// <summary> /// 异步加载 /// </summary> /// <param name="callback"></param> public void AsyncLoad(Action callback) { // JDeBug.Inst.Log("开始任务:" + resourcePath); BResources.AsyncLoad <GameObject>(resourcePath, (bool result, GameObject o) => { var go = GameObject.Instantiate(o); Transform = go.transform; Transform.gameObject.SetActive(false); IsLoad = true; //自动查找节点 UITools.AutoSetTransformPath(this); Init(); if (callback != null) { callback(); } }); }
static StackObject *AsyncLoadSource_1(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj) { ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain; StackObject *ptr_of_this_method; StackObject *__ret = ILIntepreter.Minus(__esp, 2); ptr_of_this_method = ILIntepreter.Minus(__esp, 1); System.Action <System.Boolean, UnityEngine.GameObject> @action = (System.Action <System.Boolean, UnityEngine.GameObject>) typeof(System.Action <System.Boolean, UnityEngine.GameObject>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); ptr_of_this_method = ILIntepreter.Minus(__esp, 2); System.String @objName = (System.String) typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); var result_of_this_method = BResources.AsyncLoad <UnityEngine.GameObject>(@objName, @action); __ret->ObjectType = ObjectTypes.Integer; __ret->Value = result_of_this_method; return(__ret + 1); }
public override void Init() { base.Init(); //提示 var isCodeHotfix = GameObject.Find("BDFrame").GetComponent <BDLauncher>().IsCodeHotfix; text_hotfixState.text = isCodeHotfix ? "热更模式:开" : "热更模式:关"; //demo1: screenview 切换 this.btn_01.onClick.AddListener(() => { ScreenViewManager.Inst.MainLayer.BeginNavTo("demo1"); }); //demo2: ui window基本操作 this.btn_02.onClick.AddListener(() => { ScreenViewManager.Inst.MainLayer.BeginNavTo("demo2"); //向demo2窗口发消息 var d = WindowData.Create(); d.AddData("rotation", UnityEngine.Random.Range(-359, 359)); UIManager.Inst.SendMessage((int)WinEnum.Win_Demo2, d); }); //demo3: uimvc模式 this.btn_03.onClick.AddListener(() => { ScreenViewManager.Inst.MainLayer.BeginNavTo("demo3"); }); //demo4: uitools使用 this.btn_04.onClick.AddListener(() => { UIManager.Inst.LoadWindows((int)WinEnum.Win_Demo4); UIManager.Inst.ShowWindow((int)WinEnum.Win_Demo4); }); //demo5: sqlite 查询 this.btn_05.onClick.AddListener(() => { var ds = SqliteHelper.DB.GetTableRuntime().Where("id > 1").ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } }); //demo6:资源加载 this.btn_06.onClick.AddListener(() => { //1.同步加载 var go = BResources.Load <GameObject>("Windows/window_demo1"); //2.异步加载单个 var id = BResources.AsyncLoad <GameObject>("Windows/window_demo1", (b, o) => { }); // //取消任务 // BResources.LoadCancel(id);6 // // //3.异步加载多个 BResources.AsyncLoad(new List <string>() { "Windows/window_demo1", "Windows/window_demo2" }, (i, i2) => { Debug.Log(string.Format("进度 {0} / {1}", i, i2)); }, (map) => { BDebug.Log("加载全部完成,资源列表:"); foreach (var r in map) { BDebug.Log(string.Format("--> {0} : {1}", r.Key, r.Value.name)); GameObject.Instantiate(r.Value); } }); }); this.btn_07.onClick.AddListener(() => { var path = Application.streamingAssetsPath; var t = VersionContorller.Start("http://127.0.0.1", path, (i, j) => { Debug.LogFormat("资源更新进度:{0}/{1}", i, j); }, (error) => { Debug.LogError("错误:" + error); }); //var result = t.Result; Debug.Log("下载状态返回:"); }); }
/// <summary> /// 加载接口 /// </summary> /// <param name="path"></param> /// <typeparam name="T"></typeparam> static public void AsyncLoad <T>(string path, Action <T> callback) where T : Object { BResources.AsyncLoad <T>(path, callback); }
public override void Init() { base.Init(); //提示 // var isCodeHotfix = GameObject.Find("BDFrame").GetComponent<BDLauncher>().IsCodeHotfix; // text_hotfixState.text = isCodeHotfix ? "热更模式:开" : "热更模式:关"; //demo1: screenview 切换 //代码: //Game@hotfix/demo1 this.btn_01.onClick.AddListener(() => { ScreenViewManager.Inst.MainLayer.BeginNavTo("demo1"); }); //demo2: ui window基本操作 //代码: //Game@hotfix/demo2 this.btn_02.onClick.AddListener(() => { ScreenViewManager.Inst.MainLayer.BeginNavTo("demo2"); //向demo2窗口发消息 var d = WindowData.Create("rotation"); d.AddData("rotation", UnityEngine.Random.Range(-359, 359)); UIManager.Inst.SendMessage((int)WinEnum.Win_Demo2, d); }); //demo3: uimvc模式 //代码: //Game@hotfix/demo3 this.btn_03.onClick.AddListener(() => { ScreenViewManager.Inst.MainLayer.BeginNavTo("demo3"); }); //demo4: uitools使用 //代码: //Game@hotfix/demo4 this.btn_04.onClick.AddListener(() => { UIManager.Inst.LoadWindows((int)WinEnum.Win_Demo4); UIManager.Inst.ShowWindow((int)WinEnum.Win_Demo4); }); //demo5: sqlite 查询 this.btn_05.onClick.AddListener(() => { var ds = SqliteHelper.DB.GetTableRuntime().Where("id > 1").ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } }); //demo6:资源加载 this.btn_06.onClick.AddListener(() => { //1.同步加载 var go = BResources.Load <GameObject>("Windows/window_demo1"); //2.异步加载单个 var id = BResources.AsyncLoad <GameObject>("Windows/window_demo1", (o) => { }); //3.异步加载多个 var list = new List <string>() { "Windows/window_demo1", "Windows/window_demo2" }; BResources.AsyncLoad(list, (i, i2) => { Debug.Log(string.Format("进度 {0} / {1}", i, i2)); }, (map) => { BDebug.Log("加载全部完成,资源列表:"); foreach (var r in map) { BDebug.Log(string.Format("--> {0} : {1}", r.Key, r.Value.name)); GameObject.Instantiate(r.Value); } }); }); //代码: //Game@hotfix/demo_Manager_AutoRegister_And_Event this.btn_07.onClick.AddListener(() => { var path = Application.persistentDataPath; VersionContorller.Start(UpdateMode.Repair, "http://127.0.0.1", path, (i, j) => { Debug.LogFormat("资源更新进度:{0}/{1}", i, j); }, (error) => { Debug.LogError("错误:" + error); }); }); //发送消息机制 this.btn_08.onClick.AddListener(() => { DemoEventManager.Inst.Do(DemoEventEnum.TestEvent2); }); }
public override void Init() { base.Init(); //增加覆盖测试 var service = DataListenerServer.Create(nameof(DataListenerEnum)); service.AddListener(DataListenerEnum.test, (o) => { Debug.Log(o.ToString()); }); //demo1: screenview 切换 //代码: //Game@hotfix/demo1 this.btn_01.onClick.AddListener(() => { ScreenViewManager.Inst.MainLayer.BeginNavTo(ScreenViewEnum.Demo1); }); //demo4 : uflux窗口 //代码: this.btn_04.onClick.AddListener(() => { //测试多个接口 var list = new List <WinEnum>() { WinEnum.Win_Demo6 }; UIManager.Inst.LoadWindows(list); UIManager.Inst.ShowWindow(WinEnum.Win_Demo6); BDebug.Log("加载成功!"); // }); //demo5: sqlite 查询 this.btn_05.onClick.AddListener(() => { //单条件查询 Debug.Log("普通查询:"); var ds = SqliteHelper.DB.GetTableRuntime().Where("id = 1").ToSearch <Hero>(); ds = SqliteHelper.DB.GetTableRuntime().Where("id = {0}", 1).ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } //多条件查询 Debug.Log("多条件查询:"); ds = SqliteHelper.DB.GetTableRuntime().Where("id > 1").Where("and id < 3").ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } //批量查询 Debug.Log("Where or 批量查询:"); ds = SqliteHelper.DB.GetTableRuntime().WhereAnd("id", "=", 1, 2).ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } //批量查询 Debug.Log("Where and 批量查询:"); ds = SqliteHelper.DB.GetTableRuntime().WhereOr("id", "=", 2, 3).ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } }); //demo6:资源加载 this.btn_06.onClick.AddListener(() => { List <GameObject> golist = new List <GameObject>(); //1.同步加载 var go = BResources.Load <GameObject>("AssetTest/Cube"); var load1 = GameObject.Instantiate(go); go = BResources.Load <GameObject>("Test/Cube"); var load2 = GameObject.Instantiate(go); go = BResources.Load <GameObject>("AssetTest/Particle"); var load3 = GameObject.Instantiate(go); golist.Add(load1); golist.Add(load2); golist.Add(load3); //2.异步加载单个 var id = BResources.AsyncLoad <GameObject>("Test/Cube", (o) => { var load4 = GameObject.Instantiate(o); golist.Add(load4); }); //3.异步加载多个 var list = new List <string>() { "AssetTest/Cube", "Test/Cube" }; BResources.AsyncLoad(list, (i, i2) => { Debug.Log(string.Format("进度 {0} / {1}", i, i2)); }, (map) => { BDebug.Log("加载全部完成,资源列表:"); foreach (var r in map) { BDebug.Log(string.Format("--> {0} : {1}", r.Key, r.Value.name)); var _go = GameObject.Instantiate(r.Value) as GameObject; golist.Add(_go); } }); IEnumeratorTool.WaitingForExec(5, () => { foreach (var _go in golist) { GameObject.Destroy(_go); } }); }); //代码: //Game@hotfix/demo_Manager_AutoRegister_And_Event this.btn_07.onClick.AddListener(() => { var path = Application.persistentDataPath; VersionContorller.Start(UpdateMode.Repair, "http://127.0.0.1", path, (i, j) => { Debug.LogFormat("资源更新进度:{0}/{1}", i, j); }, (error) => { Debug.LogError("错误:" + error); }); }); //发送消息机制 this.btn_08.onClick.AddListener(() => { DemoEventManager.Inst.Do(DemoEventEnum.TestEvent2); }); //图集 this.btn_09.onClick.AddListener(() => { UIManager.Inst.CloseWindow(WinEnum.Win_Main); UIManager.Inst.LoadWindow(WinEnum.Win_Demo5_Atlas); UIManager.Inst.ShowWindow(WinEnum.Win_Demo5_Atlas); }); //数据监听 this.btn_10.onClick.AddListener(() => { UIManager.Inst.LoadWindow(WinEnum.Win_Demo_Datalistener); UIManager.Inst.ShowWindow(WinEnum.Win_Demo_Datalistener); }); }
public override void Init() { base.Init(); //增加覆盖测试 var service = DataListenerServer.Create(nameof(DataListenerEnum)); service.AddListener(DataListenerEnum.test, (o) => { Debug.Log(o.ToString()); }); //demo1: screenview 切换 //代码: //Game@hotfix/demo1 this.btn_01.onClick.AddListener(() => { ScreenViewManager.Inst.MainLayer.BeginNavTo(ScreenViewEnum.Demo1); }); //demo4 : uflux窗口 //代码: this.btn_04.onClick.AddListener(() => { BDFramework.UFlux.UIManager.Inst.LoadWindow(UFluxWindowEnum.UFluxDemoMain); BDFramework.UFlux.UIManager.Inst.ShowWindow(UFluxWindowEnum.UFluxDemoMain); }); //demo5: sqlite 查询 this.btn_05.onClick.AddListener(() => { //单条件查询 Debug.Log("普通查询:"); var ds = SqliteHelper.DB.GetTableRuntime().Where("id = 1").ToSearch <Hero>(); ds = SqliteHelper.DB.GetTableRuntime().Where("id = {0}", 1).ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } //多条件查询 Debug.Log("多条件查询:"); ds = SqliteHelper.DB.GetTableRuntime().Where("id > 1").Where("and id < 3").ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } //批量查询 Debug.Log("Where or 批量查询:"); ds = SqliteHelper.DB.GetTableRuntime().WhereAnd("id", "=", 1, 2).ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } //批量查询 Debug.Log("Where and 批量查询:"); ds = SqliteHelper.DB.GetTableRuntime().WhereOr("id", "=", 2, 3).ToSearch <Hero>(); foreach (var d in ds) { Debug.Log(JsonMapper.ToJson(d)); } }); //demo6:资源加载 this.btn_06.onClick.AddListener(() => { //1.同步加载 var go = BResources.Load <GameObject>("Test/Cube"); GameObject.Instantiate(go).name = "load"; //2.异步加载单个 var id = BResources.AsyncLoad <GameObject>("Windows/window_demo1", (o) => { }); //3.异步加载多个 var list = new System.Collections.Generic.List <string>() { "Windows/window_demo1", "Windows/window_demo2" }; BResources.AsyncLoad(list, (i, i2) => { Debug.Log(string.Format("进度 {0} / {1}", i, i2)); }, (map) => { BDebug.Log("加载全部完成,资源列表:"); foreach (var r in map) { BDebug.Log(string.Format("--> {0} : {1}", r.Key, r.Value.name)); GameObject.Instantiate(r.Value); } }); }); //代码: //Game@hotfix/demo_Manager_AutoRegister_And_Event this.btn_07.onClick.AddListener(() => { var path = Application.persistentDataPath; VersionContorller.Start(UpdateMode.Repair, "http://127.0.0.1", path, (i, j) => { Debug.LogFormat("资源更新进度:{0}/{1}", i, j); }, (error) => { Debug.LogError("错误:" + error); }); }); //发送消息机制 this.btn_08.onClick.AddListener(() => { DemoEventManager.Inst.Do(DemoEventEnum.TestEvent2); }); //图集 this.btn_09.onClick.AddListener(() => { UIManager.Inst.CloseWindow(WinEnum.Win_Main); UIManager.Inst.LoadWindows((int)WinEnum.Win_Demo5_Atlas); UIManager.Inst.ShowWindow((int)WinEnum.Win_Demo5_Atlas); }); }