that's awesome :) couldn't be simpler and powerful

thanks for these insights Richard, can't wait to see it in the svn to
start playing with

Bianco Alessandro



2011/5/6 richardolsson <[email protected]>:
> @Alessandro:
> This is not properly documented yet, because it's not properly
> implemented yet, but if two assets with the same name are parsed into
> the library, the default behavior is that the second one will be
> renamed. Exactly how is not decided yet, and will be configurable
> using strategy classes, but it will by default be something like
> "originalname_1".
>
> All assets however still have an originalName property, which will be
> the name that the asset had in the original file. You can use this in
> your ASSET_COMPLETE handler to identify it and store a reference to it
> in a variable if you want.
>
> This however can all be circumvented using what we call "namespaces".
> When you use the load() and parseData() methods, you'll see that the
> fourth (I think) parameter is one called "namespace". You'll also see
> the same parameter in getAsset(). By default no namespace (null) is
> used, but if you know that you need to load two cars that each will
> contain "body" meshes, you can specify different namespaces for the
> two loads.
>
> AssetLibrary.load(new URLRequest('car1.awd'), null, null, 'car1');
> AssetLibrary.load(new URLRequest('car2.awd'), null, null, 'car2');
>
> Then if you want to retrieve the body of the first car, you'll know
> that it's in the "car1" namespace:
>
> AssetLibrary.getAsset('body'); // Looks in default namespace, nothing
> found
> AssetLibrary.getAsset('body', 'car1'); // Finds body of first car
> AssetLibrary.getAsset('body', 'car2'); // Finds body of other car
>
>
> Hope this helps!
>
> Cheers
> /R
>
> On May 6, 12:19 pm, Alessandro Bianco <[email protected]> wrote:
>> It sure helps a lot! Thanks for the explanation
>>
>> I know that the previous synchronous way was achieved by using a
>> container and, even if it's quicker to use in some circumstances, I
>> like the new async mode a lot more.
>> That said, I'm glad we would still be able to use the dirty way with
>> Loader3D for simpler tasks.
>>
>> Even the rest of the inner logics is very clear and it really makes
>> sense to me. Being able to listen to events from a specific loading
>> request and knowing which kind of assets are being completed are great
>> features.
>>
>> Just another quick question:
>> In case multiple resources sharing a common asset name, what will happen?
>> For example, for some reason I load two car models, both with meshes
>> named "body", "wheel" etc. how do i decide which one to retrieve via
>> getAsset("name") ? I'll have to use the multiton nature of the
>> AssetLibrary or it has something to do with the AssetLoaderContext?
>>
>> btw, great work, can't wait to test it :)
>>
>> Bianco Alessandro
>>
>> 2011/5/6 richardolsson <[email protected]>:
>>
>>
>>
>>
>>
>>
>>
>> > sure you have a look at the document in my original post in this
>> > thread, as it may contain more useful information!

Reply via email to