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");
            GameObject obj = ResMgr.GetInstance().Load<GameObject>("Test/Cube");
            obj.transform.localScale = Vector3.one*2;
        }

        if (Input.GetMouseButtonDown(1))
        {
            // PoolMgr.GetInstance().GetObj("Test/Sphere");
            ResMgr.GetInstance().LoadAsync<GameObject>("Test/Cube", (obj) =>  obj.transform.localScale = Vector3.one * 2) ;
        }

    }

    //等异步资源加载完成后,再进入这个函数里面. //放到资源加载的委托参数里面 ResMgr.GetInstance().LoadAsync<GameObject>("Test/Cube", DoSomthing);
    private void DoSomthing(GameObject obj)
    {
        //做一些资源真正加载出来后想做的事情
        obj.transform.localScale = Vector3.one * 2;
    }
}