home *** CD-ROM | disk | FTP | other *** search
- package core
- {
- import flash.display.Loader;
- import flash.events.Event;
- import flash.events.EventDispatcher;
- import flash.system.ApplicationDomain;
-
- public class CoreAssets extends EventDispatcher
- {
-
- private static var instance:CoreAssets;
-
-
- private var Assets:Class;
-
- private var appDomain:ApplicationDomain;
-
- public var inited:Boolean;
-
- public function CoreAssets()
- {
- Assets = CoreAssets_Assets;
- super();
- inited = false;
- }
-
- public static function getInstance() : CoreAssets
- {
- if(!instance)
- {
- instance = new CoreAssets();
- }
- return instance;
- }
-
- public function init() : void
- {
- var loader:Loader = new Loader();
- loader.contentLoaderInfo.addEventListener(Event.INIT,assetsInitHandler);
- loader.loadBytes(new Assets());
- }
-
- private function assetsInitHandler(e:Event) : void
- {
- appDomain = e.target.content.loaderInfo.applicationDomain;
- inited = true;
- dispatchEvent(new Event(Event.INIT));
- }
-
- public function getAssetClass(name:String) : Class
- {
- if(!appDomain.hasDefinition(name))
- {
- trace("*Error*: There is no definition of class \'" + name + "\'");
- return null;
- }
- return appDomain.getDefinition(name) as Class;
- }
- }
- }
-