IResourceProvider
API允许你通过以数据驱动的方式定义位置和依赖关系来扩展加载过程。
在某些情况下,你可能需要创建自定义操作。IResourceProvider
是构建在这些自定义操作的基础。
通过继承AsyncOperationBase和重写需要的虚函数来创建一个自定义操作。你可以把它传递给ResourceManager.StartOperation
开启自定义操作,调用后返回一个AsyncOperationHandle
结构。通过这种方式启动的操作会被注册到ResourceManager
中,所以也可以在Addressables Event Viewer中观察到。
当自定义操作所依赖的操作完成后,ResourceManager
会调用AsyncOperationBase.Execute
方法。
当自定义操作完成后,需要在自定义操作对象里调用AsyncOperationBase.Complete
。你可以在方法Execute
内调用,或者之后在外部某个地方调用。调用AsyncOperationBase.Complete
会通知ResourceManager
该自定义操作已经完成,然后回触发所相关的AsyncOperationBase.Complete
事件。
当你释放与你的自定义操作相关联的AsyncOperationHandle
,ResourceManager
就会调用AsyncOperationBase.Destroy
,你应该在你的自定义操作的Destroy中释放所有的已分配的内存和资源。