public IAssetAccessor LoadSceneAsset(string sceneAssetPath, LoadAssetCallbackSet callbackSet, object context) { var assetObj = AssetDatabase.LoadAssetAtPath(sceneAssetPath, typeof(UnityEngine.Object)); var ret = new DummyAssetAccessor { AssetPath = sceneAssetPath, AssetObject = assetObj }; if (assetObj == null) { string errorMessage = Utility.Text.Format("Fail to load scene '{0}'.", sceneAssetPath); if (callbackSet.OnFailure != null) { callbackSet.OnFailure(ret, errorMessage, context); } else { throw new InvalidOperationException(errorMessage); } } else { if (callbackSet.OnSuccess != null) { callbackSet.OnSuccess(ret, context); } } return(ret); }
public IAssetAccessor LoadAsset(string assetPath, LoadAssetCallbackSet callbackSet, object context) { var assetObj = AssetDatabase.LoadAssetAtPath(assetPath, typeof(UnityEngine.Object)); var ret = new DummyAssetAccessor { AssetPath = assetPath, AssetObject = assetObj }; if (assetObj == null) { var errorMessage = Utility.Text.Format("Failed to load asset at path '{0}'.", assetPath); ret.Status = AssetAccessorStatus.Failure; if (callbackSet.OnFailure != null) { callbackSet.OnFailure(ret, errorMessage, context); } else { throw new InvalidOperationException(errorMessage); } } else { ret.Status = AssetAccessorStatus.Ready; if (callbackSet.OnSuccess != null) { callbackSet.OnSuccess(ret, context); } } return(ret); }