Skip to content

Refactor ResourceManager system to introduce the notion of AssetRef and proper "expiration" support. #458

@adriengivry

Description

@adriengivry

Problem this feature should fix
Overload's ResourceManager currently doesn't provide a way for a system/component to check if a resource reference is still valid. It's possible that during the lifetime of the engine, an asset gets offloaded (not possible at the moment, assets are always loaded, never unloaded, but this feature could enable that).

Expected solution
We should introduce some sort of AssetRef<AssetType> class to get a reference to an asset (proposed new name for Resource), and allow the reference owner to check for expiry of the underlying resource. If the resource is expired, it could potentially reload it, or delete its reference is the underlying resource became invalid.

Metadata

Metadata

Assignees

No one assigned

    Labels

    RefactoringSomething that needs a refactoring

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions