home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 145 / MOBICLIC145.ISO / pc / DATA / DSS145 / DSS145_07 / DSS145_07.swf / scripts / dss145_07 / GameEngineCapsuleTest.as < prev    next >
Text File  |  2012-07-18  |  5KB  |  165 lines

  1. package dss145_07
  2. {
  3.    import com.milanpresse.capsule.ICapsule;
  4.    import com.milanpresse.capsule.ICapsuleConfig;
  5.    import com.milanpresse.capsule.LoadLib;
  6.    import com.milanpresse.engine.Context;
  7.    import com.milanpresse.engine.Engine;
  8.    import com.milanpresse.engine.HostContainer;
  9.    import com.milanpresse.engine.config.Config;
  10.    import com.milanpresse.engine.typeargument.ModuleCallerParameter;
  11.    import flash.display.Sprite;
  12.    import flash.system.Security;
  13.    
  14.    public class GameEngineCapsuleTest extends Sprite implements ICapsule
  15.    {
  16.        
  17.       
  18.       private var _engine;
  19.       
  20.       protected var _host;
  21.       
  22.       public var isHost:Boolean = false;
  23.       
  24.       protected var _callback:Function = null;
  25.       
  26.       private var _config:ICapsuleConfig = null;
  27.       
  28.       private var _inHost:Boolean;
  29.       
  30.       private var _initParams:Object = null;
  31.       
  32.       private var _engineLib:LoadLib;
  33.       
  34.       private var _contextInitParams:Object = null;
  35.       
  36.       public function GameEngineCapsuleTest()
  37.       {
  38.          super();
  39.          Security.allowDomain("*");
  40.          if(parent != null)
  41.          {
  42.             this._inHost = false;
  43.             this.init();
  44.          }
  45.          else
  46.          {
  47.             this._inHost = true;
  48.          }
  49.       }
  50.       
  51.       public function get config() : ICapsuleConfig
  52.       {
  53.          return this._config as Config;
  54.       }
  55.       
  56.       public function set config(param1:ICapsuleConfig) : void
  57.       {
  58.          this._config = param1;
  59.       }
  60.       
  61.       public function get host() : *
  62.       {
  63.          return this._host as HostContainer;
  64.       }
  65.       
  66.       public function get engine() : *
  67.       {
  68.          return this._engine as Engine;
  69.       }
  70.       
  71.       public function init(param1:Object = null) : void
  72.       {
  73.          this._initParams = param1 == null ? {} : param1;
  74.          this._contextInitParams = this._initParams.initParams == undefined ? {} : this._initParams.initParams;
  75.          this.loadEngine(this.engineLoaded);
  76.       }
  77.       
  78.       private function loadEngine(param1:Function) : void
  79.       {
  80.          var _loc2_:* = null;
  81.          if(this._inHost == false && this.isHost == false)
  82.          {
  83.             _loc2_ = "../../HOTE/gameEngine_as3/bin/GameEngine/library.swf";
  84.          }
  85.          else if(this._inHost == false && this.isHost == true)
  86.          {
  87.             _loc2_ = "DATA/HOTE/gameEngine_as3/bin/GameEngine/library.swf";
  88.          }
  89.          else
  90.          {
  91.             _loc2_ = this.getDirectoryPathOfFile(this._initParams.context.path) + "/DATA/HOTE/gameEngine_as3/bin/GameEngine/library.swf";
  92.          }
  93.          this._engineLib = new LoadLib("com.milanpresse.engine.Engine",_loc2_,this.engineLoaded,{"app":this});
  94.       }
  95.       
  96.       private function engineLoaded() : void
  97.       {
  98.          if(this._inHost == false)
  99.          {
  100.             this.initAsHost();
  101.          }
  102.          else
  103.          {
  104.             this.initAsChild();
  105.          }
  106.       }
  107.       
  108.       private function initAsHost() : void
  109.       {
  110.          var _loc1_:Context = new Context();
  111.          _loc1_.urlParameters = this.loaderInfo.parameters;
  112.          _loc1_.hostContext = _loc1_;
  113.          _loc1_.path = this.loaderInfo.url;
  114.          _loc1_.data = this;
  115.          this._contextInitParams.callerParameters = new ModuleCallerParameter();
  116.          _loc1_.initParams = this._contextInitParams;
  117.          this._host = new HostContainer(this);
  118.          this._engine = new Engine(this.start,_loc1_) as Engine;
  119.       }
  120.       
  121.       private function initAsChild(param1:* = null) : void
  122.       {
  123.          this._callback = this._initParams.callback;
  124.          var _loc2_:Context = this._initParams.context;
  125.          this._host = new HostContainer(_loc2_.data);
  126.          var _loc3_:Context = new Context();
  127.          _loc3_.hostContext = _loc2_;
  128.          _loc3_.path = this.loaderInfo.url;
  129.          _loc3_.data = this;
  130.          _loc3_.initParams = this._contextInitParams;
  131.          this._engine = new Engine(this.initEnd,_loc3_);
  132.       }
  133.       
  134.       private function initEnd(param1:* = null) : void
  135.       {
  136.          this._callback();
  137.       }
  138.       
  139.       private function getDirectoryPathOfFile(param1:String) : String
  140.       {
  141.          var _loc2_:Array = unescape(param1).replace(/\\/g,"/").split("/");
  142.          _loc2_.pop();
  143.          return _loc2_.join("/");
  144.       }
  145.       
  146.       public function start(param1:Object = null) : void
  147.       {
  148.       }
  149.       
  150.       public function destroy() : void
  151.       {
  152.          this._engine.destroy();
  153.          this._engineLib.destroy();
  154.       }
  155.       
  156.       public function sleep() : void
  157.       {
  158.       }
  159.       
  160.       public function wake() : void
  161.       {
  162.       }
  163.    }
  164. }
  165.