home *** CD-ROM | disk | FTP | other *** search
- package game.model
- {
- import flash.display.Loader;
- import flash.events.Event;
- import flash.events.EventDispatcher;
- import flash.system.ApplicationDomain;
-
- public class GameAssets extends EventDispatcher
- {
-
- private static var instance:GameAssets;
-
-
- private var Assets:Class;
-
- private var appDomain:ApplicationDomain;
-
- public function GameAssets()
- {
- Assets = GameAssets_Assets;
- super();
- }
-
- public static function getInstance() : GameAssets
- {
- if(!instance)
- {
- instance = new GameAssets();
- }
- 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;
- 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;
- }
- }
- }
-