home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / Beez.swf / scripts / core / CoreAssets.as < prev    next >
Encoding:
Text File  |  2008-09-03  |  1.5 KB  |  61 lines

  1. package core
  2. {
  3.    import flash.display.Loader;
  4.    import flash.events.Event;
  5.    import flash.events.EventDispatcher;
  6.    import flash.system.ApplicationDomain;
  7.    
  8.    public class CoreAssets extends EventDispatcher
  9.    {
  10.       
  11.       private static var instance:CoreAssets;
  12.        
  13.       
  14.       private var Assets:Class;
  15.       
  16.       private var appDomain:ApplicationDomain;
  17.       
  18.       public var inited:Boolean;
  19.       
  20.       public function CoreAssets()
  21.       {
  22.          Assets = CoreAssets_Assets;
  23.          super();
  24.          inited = false;
  25.       }
  26.       
  27.       public static function getInstance() : CoreAssets
  28.       {
  29.          if(!instance)
  30.          {
  31.             instance = new CoreAssets();
  32.          }
  33.          return instance;
  34.       }
  35.       
  36.       public function init() : void
  37.       {
  38.          var loader:Loader = new Loader();
  39.          loader.contentLoaderInfo.addEventListener(Event.INIT,assetsInitHandler);
  40.          loader.loadBytes(new Assets());
  41.       }
  42.       
  43.       private function assetsInitHandler(e:Event) : void
  44.       {
  45.          appDomain = e.target.content.loaderInfo.applicationDomain;
  46.          inited = true;
  47.          dispatchEvent(new Event(Event.INIT));
  48.       }
  49.       
  50.       public function getAssetClass(name:String) : Class
  51.       {
  52.          if(!appDomain.hasDefinition(name))
  53.          {
  54.             trace("*Error*: There is no definition of class \'" + name + "\'");
  55.             return null;
  56.          }
  57.          return appDomain.getDefinition(name) as Class;
  58.       }
  59.    }
  60. }
  61.