第一次提交
This commit is contained in:
commit
8121362a03
4412 files changed
+1091845
No files matched your search
@@ -0,0 +1,265 @@
|
||||
package
|
||||
{
|
||||
import com.greensock.plugins.EndArrayPlugin;
|
||||
import com.greensock.plugins.FramePlugin;
|
||||
import com.greensock.plugins.TransformAroundCenterPlugin;
|
||||
import com.greensock.plugins.TweenPlugin;
|
||||
import com.yy.vip.pk.base.components.MyAlert;
|
||||
import com.yy.vip.pk.effect.service.GiftService;
|
||||
import com.yy.vip.pk.service.AppService;
|
||||
import com.yy.vip.pk.service.BaseService;
|
||||
import com.yy.vip.pk.service.JsService;
|
||||
import com.yy.vip.pk.util.JSONUtil;
|
||||
import com.yy.vip.pk.util.Tracer;
|
||||
import com.yy.vip.pk.view.AppView;
|
||||
import com.yy.vip.pk.view.module.entereffect.EnterEffectUtil;
|
||||
|
||||
import flash.display.Sprite;
|
||||
import flash.display.StageAlign;
|
||||
import flash.display.StageScaleMode;
|
||||
import flash.events.Event;
|
||||
import flash.events.IOErrorEvent;
|
||||
import flash.events.SecurityErrorEvent;
|
||||
import flash.external.ExternalInterface;
|
||||
import flash.net.LocalConnection;
|
||||
import flash.net.URLLoader;
|
||||
import flash.net.URLRequest;
|
||||
import flash.system.Capabilities;
|
||||
import flash.system.Security;
|
||||
import flash.utils.clearInterval;
|
||||
import flash.utils.getTimer;
|
||||
import flash.utils.setInterval;
|
||||
|
||||
import org.flexlite.domCore.Injector;
|
||||
import org.flexlite.domUI.components.Alert;
|
||||
import org.flexlite.domUI.core.Theme;
|
||||
import org.flexlite.domUI.events.CloseEvent;
|
||||
import org.flexlite.domUI.managers.SystemManager;
|
||||
import org.flexlite.domUI.skins.themes.VectorTheme;
|
||||
|
||||
[SWF(frameRate="20")]
|
||||
public class main extends Sprite
|
||||
{
|
||||
|
||||
private var appView:AppView;
|
||||
private var _configXML:Object;
|
||||
private var _commonXML:Object;
|
||||
|
||||
private var _giftXML:Object;
|
||||
private var _enterXML:Object;
|
||||
|
||||
public function main()
|
||||
{
|
||||
super();
|
||||
Security.allowDomain('*');
|
||||
Security.allowInsecureDomain("*");
|
||||
|
||||
if(stage)
|
||||
{
|
||||
initStage();
|
||||
}
|
||||
else
|
||||
{
|
||||
addEventListener(Event.ADDED_TO_STAGE,initStage);
|
||||
}
|
||||
}
|
||||
|
||||
public function get enterXML():Object
|
||||
{
|
||||
return _enterXML;
|
||||
}
|
||||
|
||||
public function set enterXML(value:Object):void
|
||||
{
|
||||
_enterXML = value;
|
||||
BaseService.getInstance().enterXML = _enterXML;
|
||||
_enterXMLFlag = true;
|
||||
this.commit();
|
||||
}
|
||||
|
||||
public function get giftXML():Object
|
||||
{
|
||||
return _giftXML;
|
||||
}
|
||||
|
||||
public function set giftXML(value:Object):void
|
||||
{
|
||||
_giftXML = value;
|
||||
BaseService.getInstance().giftXML = _giftXML;
|
||||
_giftXMLFlag = true;
|
||||
this.commit();
|
||||
}
|
||||
|
||||
public function get configXML():Object
|
||||
{
|
||||
return _configXML;
|
||||
}
|
||||
|
||||
public function set configXML(value:Object):void
|
||||
{
|
||||
_configXML = value;
|
||||
BaseService.getInstance().configXML = value;
|
||||
_configFlag = true;
|
||||
this.commit();
|
||||
}
|
||||
|
||||
public function get commonXML():Object
|
||||
{
|
||||
return _commonXML;
|
||||
}
|
||||
public function set commonXML(value:Object):void
|
||||
{
|
||||
_commonXML = value;
|
||||
BaseService.getInstance().commonXML = value;
|
||||
BaseService.getInstance().bgXML = value.bgs;
|
||||
_commonConfigFlag = true;
|
||||
this.commit();
|
||||
}
|
||||
|
||||
private function commit():void
|
||||
{
|
||||
if(_enterXMLFlag && _giftXMLFlag && _configFlag && _initStageFlag && _commonConfigFlag)
|
||||
{
|
||||
BaseService.getInstance().registAppService( 1,AppService.getInstance());
|
||||
GiftService.getInstance().initConfig();
|
||||
BaseService.getInstance().initCommon();
|
||||
EnterEffectUtil.initEnterEffect();
|
||||
|
||||
initApp();
|
||||
}
|
||||
}
|
||||
|
||||
private function initStage(event:Event = null):void
|
||||
{
|
||||
BaseService.getInstance().stage = stage;
|
||||
|
||||
var localDomainLC:LocalConnection = new LocalConnection();
|
||||
var domainName :String= localDomainLC.domain;
|
||||
BaseService.getInstance().domainName = domainName;
|
||||
TweenPlugin.activate([TransformAroundCenterPlugin]);
|
||||
TweenPlugin.activate([FramePlugin]);
|
||||
TweenPlugin.activate([EndArrayPlugin]);
|
||||
Injector.mapClass(Theme,VectorTheme);
|
||||
|
||||
removeEventListener(Event.ADDED_TO_STAGE,initStage);
|
||||
stage.addEventListener(Event.RESIZE,resizeHandler);
|
||||
stage.align = StageAlign.TOP_LEFT;
|
||||
stage.scaleMode = StageScaleMode.NO_SCALE;
|
||||
|
||||
_initStageFlag = true;
|
||||
this.commit();
|
||||
|
||||
}
|
||||
|
||||
private var _w:Number;
|
||||
private var _h:Number;
|
||||
private var _configFlag:Boolean;
|
||||
private var _initStageFlag:Boolean;
|
||||
private var _enterXMLFlag:Boolean;
|
||||
private var _giftXMLFlag:Boolean;
|
||||
private var _commonConfigFlag:Boolean;
|
||||
|
||||
|
||||
public function initApp():void{
|
||||
|
||||
Tracer.debugLog("Capabilities.os : " + Capabilities.os,Tracer.SYS_LOG,true);
|
||||
Tracer.debugLog("PKCONFIG::MODE : " + PKCONFIG::MODE,Tracer.SYS_LOG,true);
|
||||
BaseService.getInstance().PKCONFIG_MODE = PKCONFIG::MODE;
|
||||
appView = new AppView();
|
||||
addChild(appView);
|
||||
var sm :SystemManager = new SystemManager();
|
||||
addChild(sm);
|
||||
checkSize();
|
||||
//checkUpdateVer();
|
||||
try{
|
||||
ExternalInterface.call("mainLoadComplete");
|
||||
}
|
||||
catch(e:Error)
|
||||
{
|
||||
}
|
||||
}
|
||||
private var curReleaseVer:String;
|
||||
private var tchannelLoader:URLLoader;
|
||||
private function checkUpdateVer():void
|
||||
{
|
||||
|
||||
if(!tchannelLoader)
|
||||
{
|
||||
tchannelLoader = new URLLoader();
|
||||
tchannelLoader.addEventListener(Event.COMPLETE,loadPubVerHandler);
|
||||
tchannelLoader.addEventListener(IOErrorEvent.IO_ERROR,loadPubVerErrorHandler);
|
||||
tchannelLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,loadPubVerErrorHandler);
|
||||
}
|
||||
tchannelLoader.load(new URLRequest("http://show.vip.yy.com/clientpkgame/config_tchannel.txt?t="+getTimer()));
|
||||
}
|
||||
|
||||
protected function loadPubVerErrorHandler(event:Event):void
|
||||
{
|
||||
clearInterval(_checkforceUpdateVerIt);
|
||||
}
|
||||
|
||||
protected function loadPubVerHandler(event:Event):void
|
||||
{
|
||||
var urlLoader:URLLoader = event.currentTarget as URLLoader;
|
||||
var str : String = urlLoader.data;
|
||||
var curVer:String;
|
||||
var forceupdate:uint;
|
||||
if(str)
|
||||
{
|
||||
var data:Object = JSONUtil.decode(str);
|
||||
forceupdate = data.forceupdate;
|
||||
if((!data.tests || data.tests.length == 0) && data.local == false)
|
||||
{
|
||||
curVer = data.release;//全量版本 + 线上的才会有强制升级功能
|
||||
}
|
||||
}
|
||||
if(curVer)//全量版本才会有强制升级功能
|
||||
{
|
||||
if(!isStartCheckForceUpdateVer)
|
||||
{
|
||||
curReleaseVer = data.release;
|
||||
if(curReleaseVer)
|
||||
{
|
||||
_checkforceUpdateVerIt = setInterval(checkForceUpdateVerHandler,1000);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(curReleaseVer && curReleaseVer != curVer && forceupdate == 1)
|
||||
{
|
||||
clearInterval(_checkforceUpdateVerIt);
|
||||
MyAlert.show("发现新版本,是否现在升级?","提示",function handler(event:CloseEvent):void{
|
||||
if(event.detail == Alert.FIRST_BUTTON)
|
||||
{
|
||||
JsService.getInstance().reloadPage();
|
||||
}
|
||||
},"立刻升级","下次");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private var isStartCheckForceUpdateVer :Boolean = false;
|
||||
private var _checkforceUpdateVerIt :uint;
|
||||
|
||||
private function checkForceUpdateVerHandler():void
|
||||
{
|
||||
isStartCheckForceUpdateVer = true;
|
||||
checkUpdateVer();
|
||||
}
|
||||
protected function resizeHandler(event:Event):void
|
||||
{
|
||||
checkSize();
|
||||
}
|
||||
private function checkSize():void
|
||||
{
|
||||
_w = stage.stageWidth;
|
||||
_h = stage.stageHeight;
|
||||
if(appView)
|
||||
{
|
||||
appView.setSizeWH(_w,_h);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user