Currently, LdtkLevel is the de-facto abstraction for retrieving level data in both external and internal cases. A Handle<LdtkLevel> is loaded as a labeled asset in the internal case, and it is loaded as a dependent asset in the external case. However, Since LdtkAsset already has this level data in the internal case, it ends up being cloned in order to create an LdtkLevel. Surely there's a way to leverage a smart pointer and/or enums to avoid this expensive clone.
Currently,
LdtkLevel
is the de-facto abstraction for retrieving level data in both external and internal cases. AHandle<LdtkLevel>
is loaded as a labeled asset in the internal case, and it is loaded as a dependent asset in the external case. However, SinceLdtkAsset
already has this level data in the internal case, it ends up being cloned in order to create anLdtkLevel
. Surely there's a way to leverage a smart pointer and/or enums to avoid this expensive clone.Something to the effect of...