home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mobiclic 150
/
MOBICLIC150.ISO
/
pc
/
DATA
/
HOTE
/
launcher_as3
/
launcher.swf
/
scripts
/
com
/
milanpresse
/
launcher
/
CapsuleAlgo.as
next >
Wrap
Text File
|
2012-12-18
|
12KB
|
352 lines
package com.milanpresse.launcher
{
import com.milanpresse.engine.Engine;
import com.milanpresse.engine.config.Config;
import com.milanpresse.engine.config.HostConfig;
import com.milanpresse.engine.medias.MediaSwf;
import com.milanpresse.engine.typeargument.ModuleCallerParameter;
import com.milanpresse.tools.GlobalesFunctions;
import com.milanpresse.tools.Stats;
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.media.SoundTransform;
public class CapsuleAlgo
{
private var _loader:Loader;
private var _localConnection:HoteAS2LocalConnection;
private var _module = null;
private var _engine:Engine = null;
private var _load_anim:MediaSwf = null;
private var _menu:Menu;
private var _activeModule:Module;
private var _nextModule:Module;
public var hostConfig:HostConfig;
private var _hostAS2:HoteAS2;
public var config:Config;
public var launchFirstModule:Boolean = true;
private var _stats:Stats;
public var mask:Sprite;
private var _isPadStarted:Boolean = false;
private var _tempModuleObject:Object;
private var _moduleCallerParameters:ModuleCallerParameter;
public function CapsuleAlgo(param1:*)
{
this._tempModuleObject = {};
super();
this._module = param1;
this._engine = this._module.engine as Engine;
this.config = this._engine.config;
this.config.subtitlesBloc.visible = false;
this.getConfig();
}
private function getConfig() : void
{
this.hostConfig = this._engine.host.hostConfig;
this._module.changeModule = this.changeModule;
this._module.hostConfig = this.hostConfig;
this.start();
}
public function start(param1:* = null) : void
{
var p:* = param1;
this._engine.fullscreen = this.hostConfig.fullscreen;
(this._module as DisplayObject).stage.quality = this.hostConfig.quality;
(this._module as DisplayObject).stage.addEventListener(KeyboardEvent.KEY_DOWN,this.statsKeyDownHandler);
var _loc4_:int = 0;
var _loc5_:* = §§checkfilter(this._engine.config.XmlConfig.Module.Config.Param);
var _loc3_:* = new XMLList("");
§§push(§§findproperty(uint));
this._engine.config.XmlConfig.Module.Config.Param.(@nom == "numMag");
§§pop().projetNum = this._engine.config.uint(_loc3_[0].@valeur);
this.createLayers();
this.showAnim();
this.loadMenu();
}
private function statsKeyDownHandler(param1:KeyboardEvent) : void
{
if(param1.ctrlKey && param1.altKey)
{
this._stats = new Stats();
this._engine.config.ROOT_APP.addChild(this._stats);
}
}
public function maskShow() : void
{
(this.config.scene as Sprite).mask = this.mask;
this.config.ROOT_APP.addChild(this.mask);
if(this._menu != null)
{
this._menu.maskHide();
}
}
public function maskHide() : void
{
(this.config.scene as Sprite).mask = null;
if(this.mask.parent != null)
{
this.config.ROOT_APP.removeChild(this.mask);
}
if(this._menu != null)
{
this._menu.maskShow();
}
}
public function createLayers() : void
{
this.config.layers["activeAS2Module"] = this.config.scene.addChildAt(new Sprite(),this.config.scene.getChildIndex(this.config.layers["menu"]));
this.config.layers["activeModule"] = this.config.scene.addChildAt(new Sprite(),this.config.scene.getChildIndex(this.config.layers["menu"]));
this.config.layers["activeAS2Module"].visible = false;
this.mask = GlobalesFunctions.createRectangle({
"w":800,
"h":600
});
this.maskShow();
}
public function showAnim() : void
{
this._load_anim = this._engine.getMedia({"id":"LOAD_ANIM"}) as MediaSwf;
this.config.layers["load_anim"].addChild(this._load_anim.swf);
this._load_anim.swf.mouseEnabled = false;
this._load_anim.swf.mouseChildren = false;
this._load_anim.swf.enabled = false;
this._load_anim.swf.visible = true;
this._load_anim.swf.soundTransform = new SoundTransform(1);
this._load_anim.swfContent.gotoAndPlay(1);
}
public function loadMenu() : void
{
this._menu = new Menu(this._engine.getMedia({"id":"PAD"}) as MediaSwf,this,this.menuIsStarted);
}
public function menuIsStarted() : void
{
this._menu.visible = false;
this._menu.addToParent(this.config.layers["menu"]);
this.hostAS2Load();
}
public function hostAS2Load() : void
{
this._hostAS2 = new HoteAS2(this,this.hostIsInitialized);
}
public function hostIsInitialized() : void
{
this._hostAS2.addToParent(this.config.layers["activeAS2Module"]);
if(this.config.context.urlParameters.ModuleId != undefined)
{
this.loadModule(new ModuleCallerParameter({"id":this.config.context.urlParameters.ModuleId}));
}
else
{
this.loadModule(new ModuleCallerParameter({"id":this.hostConfig.firstModuleToLaunch}));
}
}
private function loadModule(param1:ModuleCallerParameter) : void
{
this._nextModule = new Module(param1,this,this._hostAS2);
this._nextModule.init(this.moduleIsInit);
}
public function activeModuleDestroy() : void
{
if(this._activeModule != null)
{
this._activeModule.destroy();
}
}
public function moduleAnimIsInit(param1:Object = null) : void
{
}
public function moduleIsInit() : void
{
this._activeModule = this._nextModule;
this._menu.pad.refresh();
this._nextModule = null;
this.waitLoadAnimEnd();
}
public function moduleAnimShow() : void
{
this._load_anim.swf.visible = true;
this._load_anim.swf.soundTransform = new SoundTransform(1);
this._load_anim.swfContent.gotoAndStop(this._load_anim.swfContent.totalFrames);
}
public function moduleAnimHide() : void
{
this._load_anim.swf.visible = false;
this._engine.destroyMedia(this._load_anim.id);
this._load_anim = null;
}
public function waitLoadAnimEnd() : void
{
if(this._load_anim != null)
{
if(this._load_anim.timeline.currentFrame == this._load_anim.timeline.totalFrames)
{
this.moduleStart();
}
else
{
this._load_anim.timeline.addEventListener(Event.ENTER_FRAME,this.onEnterFrame);
}
}
else
{
this.moduleStart();
}
}
private function onEnterFrame(param1:Event) : void
{
if(this._load_anim.timeline.currentFrame == this._load_anim.timeline.totalFrames)
{
this._load_anim.timeline.removeEventListener(Event.ENTER_FRAME,this.onEnterFrame);
this.moduleStart();
}
}
public function moduleStart() : void
{
if(this._activeModule.asVersion == 3)
{
this.config.layers["activeAS2Module"].visible = false;
this.config.layers["activeModule"].addChild(this._activeModule.moduleMain);
}
else
{
this.config.layers["activeAS2Module"].visible = true;
}
this._activeModule.start(this.moduleIsStart);
}
public function moduleIsStart() : void
{
(this._module as DisplayObject).stage.removeEventListener(KeyboardEvent.KEY_DOWN,this.statsKeyDownHandler);
var _loc1_:Boolean = true;
if(this._activeModule.mediaSwf.data.nodexml.hasOwnProperty("@padShow"))
{
_loc1_ = this._activeModule.mediaSwf.data.nodexml.@padShow.toString() == "true" ? true : false;
}
this._menu.visible = _loc1_;
if(this._load_anim != null)
{
this.moduleAnimHide();
}
}
public function changeModule(param1:Object) : void
{
this._moduleCallerParameters = new ModuleCallerParameter(param1);
this._menu.pad.close();
this._menu.visible = false;
this.changeModuleAdaptParams();
}
public function print(param1:Object) : void
{
}
private function changeModuleAdaptParams() : void
{
this._activeModule.getConfig(this.getConfigReturn);
}
private function getConfigReturn(param1:Object) : void
{
var _loc2_:String = null;
this._moduleCallerParameters.fromId = param1.id;
this._moduleCallerParameters.fromCodeRub = param1.rubriqueCode;
this._moduleCallerParameters.fromNumMod = param1.moduleNum;
if(this._moduleCallerParameters.id == null || this._moduleCallerParameters.id == "")
{
this._moduleCallerParameters.codeRub = this._moduleCallerParameters.codeRub == null || this._moduleCallerParameters.codeRub == "" ? this._moduleCallerParameters.fromCodeRub : this._moduleCallerParameters.codeRub;
_loc2_ = this._moduleCallerParameters.codeRub + this._engine.config.projetNumStr;
this._moduleCallerParameters.id = _loc2_ + "_" + GlobalesFunctions.gimme2digits(this._moduleCallerParameters.numMod);
}
this._moduleCallerParameters.type = "swf";
this.loadModule(this._moduleCallerParameters);
}
public function destroy() : void
{
}
public function get activeModule() : MediaSwf
{
return this._activeModule.mediaSwf;
}
public function get engine() : Engine
{
return this._engine;
}
public function get musicOn() : Boolean
{
return this.config.musicOn;
}
public function set musicOn(param1:Boolean) : void
{
if(this.config.musicOn == param1)
{
return;
}
this.config.musicOn = param1;
this._activeModule.musicOn = param1;
}
public function get subtitlesOn() : Boolean
{
return this.config.subtitlesOn;
}
public function set subtitlesOn(param1:Boolean) : void
{
if(this.config.subtitlesOn == param1)
{
return;
}
this.config.subtitlesOn = param1;
this._activeModule.subtitlesOn = param1;
}
}
}