classes
DynamicResourceManager.as
Stiahnuť DynamicResourceManager.as
package sk.yoz.resources
{
import flash.events.Event;
import mx.events.PropertyChangeEvent;
import mx.resources.IResourceManager;
import mx.resources.ResourceManager;
import sk.yoz.utils.BindableDynamics;
[Bindable(event="propertyChange")]
public dynamic class DynamicResourceManager extends BindableDynamics
{
private static const EVENT_PROPERTY_CHANGE:String = "propertyChange";
private static const EVENT_DYNAMIC_PROPERTY_CHANGE:String =
"dynamicPropertyChange";
protected var _bundleName:String;
protected var _resourceManager:IResourceManager;
public function DynamicResourceManager(bundleName:String)
{
super();
_bundleName = bundleName;
_resourceManager = ResourceManager.getInstance();
_resourceManager.addEventListener(Event.CHANGE, onResourceManagerChange);
}
protected function onResourceManagerChange(event:Event):void
{
dispatchEvent(new Event(EVENT_PROPERTY_CHANGE));
dispatchEvent(new Event(EVENT_DYNAMIC_PROPERTY_CHANGE));
}
[Bindable(event="dynamicPropertyChange")]
override public function getDynamicProperty(name:*):*
{
return _resourceManager.getString(_bundleName, name);
}
}
}