- Use the chaining method to get a resource from ResourceManager.
- Fixed getAll so that it will not overwrite a found property with one
in the parent. Made it also understand locales and do the chaining.
This change'll cause an extra object hash lookup or two for every translation
key, but it's more Right.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4947 542714f4-19e9-0310-aa3c-eee0fc999fb1
We're supposed to use ResourceManager.getString(bundleName, rsrcName)
and that will do cool locale chaining, but then we're looking up
the bundle every time. We may want to revisit this in the future.
(Cool chaining: we can compile the app with the local order as
[ "jp_JP", "en_US" ], and then if we request the "b.buy" key
from the "game" bundle, it will look in japanese for b.buy, but
fall back to english if not found.)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4945 542714f4-19e9-0310-aa3c-eee0fc999fb1
and also to make the Maven artifact not look like a meta-artifact that brings
in all Narya/Nenya/Vilya dependencies.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4936 542714f4-19e9-0310-aa3c-eee0fc999fb1
So broken! The XML class is not specified in the ECMA-262 standard.
Now I know why they needed the guidelines of ECMAscript: when left
to their own devices they design broken-ass shit.
Adobe needs a cork on their fork.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4932 542714f4-19e9-0310-aa3c-eee0fc999fb1
AnimationManager and that I saw in use in Tweener: just
listen for ENTER_FRAME on some random sprite.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4926 542714f4-19e9-0310-aa3c-eee0fc999fb1
This only works in the standalone debug player, if the swf is a trusted
local file.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4925 542714f4-19e9-0310-aa3c-eee0fc999fb1
Follow actionscript convention and create a reasonable name for it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4919 542714f4-19e9-0310-aa3c-eee0fc999fb1
(Because it just uses a Map of your choosing under the hood.)
There is really no new functionality here, but it is neat, except for the one
stupid thing: keys get converted to Strings when iterating with a 'for' loop.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4916 542714f4-19e9-0310-aa3c-eee0fc999fb1
like this, we can think about where the interface would be useful.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4910 542714f4-19e9-0310-aa3c-eee0fc999fb1
in an initObject. This is a fairly common practice in flash and let's go ahead
and use it sometimes, even though it's prone to runtime errors.
Our version of this has a defaults Object as well as another Object that can be
specified to mask properties from the initObject.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4908 542714f4-19e9-0310-aa3c-eee0fc999fb1
resulting array. Users requiring strong non-modification guarantees can manually do a deep or
a shallow copy of the array, as appropriate for their task.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4905 542714f4-19e9-0310-aa3c-eee0fc999fb1
Zyraxxis to hork.
Deep within our streaming code, ArrayMask objects were being created with
zero length when streaming non-final arrays with a zero length. This tickled
a "feature" of Adobe's IDataInput code, which reads *all available bytes*
if you pass readBytes() a length of 0.
What's really annoying is that this worked fine if you were notified
of the zero-length array via a PropertySetEvent, because that event
would come in on its own frame and so if the array's length was zero then
there were no more bytes to read. But if you entered a game and had
to receive all the usercode properties at once, it booched.
There are clumps of my pulled-out hair all around my desk from that.
And: this is ultimately my own fault, as my old code didn't handle the
case of the passed-in ByteArray having 0 length.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4900 542714f4-19e9-0310-aa3c-eee0fc999fb1