using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestTest { public void Update() { Debug.Log("TestTest"); } } public class Test : MonoBehaviour { // Start is called before the first frame update void Start() { TestTest t = new TestTest(); MonoMgr.GetInstance().AddUpdateListener(t.Update); } // Update is called once per frame void Update() { if(Input.GetMouseButtonDown(0)) { PoolMgr.GetInstance().GetObj("Test/Cube",(o)=> { o.transform.localScale = Vector3.one * 2; }); /*GameObject obj = ResMgr.GetInstance().Load("Test/Cube"); obj.transform.localScale = Vector3.one*2;*/ } if (Input.GetMouseButtonDown(1)) { // PoolMgr.GetInstance().GetObj("Test/Sphere"); ResMgr.GetInstance().LoadAsync("Test/Cube", (obj) => obj.transform.localScale = Vector3.one * 2) ; } } //等异步资源加载完成后,再进入这个函数里面. //放到资源加载的委托参数里面 ResMgr.GetInstance().LoadAsync("Test/Cube", DoSomthing); private void DoSomthing(GameObject obj) { //做一些资源真正加载出来后想做的事情 obj.transform.localScale = Vector3.one * 2; } }