private void LoadCustom_INTERNAL <T>(ResourceBase resource, System.Action <T> callback) where T : MonoBehaviour { if (resource is MonoResource) { this.StartCoroutine(resource.Load <T>(null, null, null, callback)); } }
private void LoadRefCounter_INTERNAL <T>(IResourceReference reference, ResourceBase resource, System.Action <T> callbackOnLoad, System.Action callbackOnFailed, bool async, string customResourcePath) /*where T : Object*/ { if (resource.IsLoadable() == true) { //Debug.Log("Check: " + resource.assetPath + ", typeof: " + typeof(T).ToString()); Item item; if (this.IsLoaded <T>(reference, resource, out item, callbackOnLoad, callbackOnFailed) == false) { //Debug.Log("Loading: " + resource.assetPath); Coroutines.Run(resource.Load <T>(reference, customResourcePath, (data) => { //Debug.Log("Loaded: " + resource.assetPath + " >> " + data); if (data == null) { //Debug.LogWarning(string.Format("Failed to load resource in {0}", resource.assetPath)); item.loadingResult = false; if (item.onObjectFailed != null) { item.onObjectFailed.Invoke(item); } item.onObjectLoaded = null; item.onObjectFailed = null; //if (callbackOnFailed != null) callbackOnFailed.Invoke(); //WindowSystemLogger.Error(image, string.Format("Error in ResourcesManager: Required resource can't loaded. Resource: {0}", image.GetResource().GetId())); return; } item.loadingResult = true; item.loadedObject = data; item.loaded = true; if (item.onObjectLoaded != null) { item.onObjectLoaded.Invoke(item); } item.onObjectLoaded = null; item.onObjectFailed = null; //callbackOnLoad(data); }, async)); } } else { if (callbackOnFailed != null) { callbackOnFailed.Invoke(); } } }