Section 1
//BrandingLogo_22 (all_days_fla.BrandingLogo_22)
package all_days_fla {
import flash.display.*;
import flash.text.*;
public dynamic class BrandingLogo_22 extends MovieClip {
public var txtTranslation:TextField;
public var mc_cn:MovieClip;
public var mc_jp:MovieClip;
public function BrandingLogo_22(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package all_days_fla
Section 2
//McDragstoreScreen (assets.dragstore.McDragstoreScreen)
package assets.dragstore {
import flash.display.*;
import flash.text.*;
public dynamic class McDragstoreScreen extends MovieClip {
public var txtPoints:TextField;
public var mcTransCash:MovieClip;
public var mcStuffG:MovieClip;
public var mcTransDay:MovieClip;
public var mcStuffR:MovieClip;
public var btnMute:MovieClip;
public var mcClock:MovieClip;
public var mcStuffY:MovieClip;
public var mcOrderedSprite:MovieClip;
public var mcClientPosition1:MovieClip;
public var mcClientPosition2:MovieClip;
public var mcClientPosition3:MovieClip;
public var mc_up_layer:MovieClip;
public var mcTransReset:MovieClip;
public var mcTrash:MovieClip;
public var mcPack2:MovieClip;
public var mcGround:MovieClip;
public var mcDust1:MovieClip;
public var mcDust2:MovieClip;
public var mcDust3:MovieClip;
public var mcPack1:MovieClip;
public var txtTime:TextField;
public var mcFluid2:MovieClip;
public var mcFluid3:MovieClip;
public var mcPlayerPosition:MovieClip;
public var mcBackground:MovieClip;
public var mcFluid1:MovieClip;
public var mcTab1:MovieClip;
public var mcTab2:MovieClip;
public var mcTab3:MovieClip;
public var txtClients:TextField;
public var btnPause:MovieClip;
}
}//package assets.dragstore
Section 3
//ModelCouple (assets.models.ModelCouple)
package assets.models {
import flash.display.*;
public dynamic class ModelCouple extends MovieClip {
}
}//package assets.models
Section 4
//ModelCouple1 (assets.models.ModelCouple1)
package assets.models {
import flash.display.*;
public dynamic class ModelCouple1 extends MovieClip {
}
}//package assets.models
Section 5
//ModelCouple2 (assets.models.ModelCouple2)
package assets.models {
import flash.display.*;
public dynamic class ModelCouple2 extends MovieClip {
}
}//package assets.models
Section 6
//ModelDevorsed (assets.models.ModelDevorsed)
package assets.models {
import flash.display.*;
public dynamic class ModelDevorsed extends MovieClip {
}
}//package assets.models
Section 7
//ModelDevorsed1 (assets.models.ModelDevorsed1)
package assets.models {
import flash.display.*;
public dynamic class ModelDevorsed1 extends MovieClip {
}
}//package assets.models
Section 8
//ModelDevorsed2 (assets.models.ModelDevorsed2)
package assets.models {
import flash.display.*;
public dynamic class ModelDevorsed2 extends MovieClip {
}
}//package assets.models
Section 9
//ModelDoctor (assets.models.ModelDoctor)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctor extends MovieClip {
}
}//package assets.models
Section 10
//ModelDoctor0 (assets.models.ModelDoctor0)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctor0 extends MovieClip {
}
}//package assets.models
Section 11
//ModelDoctor1 (assets.models.ModelDoctor1)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctor1 extends MovieClip {
}
}//package assets.models
Section 12
//ModelDoctor2 (assets.models.ModelDoctor2)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctor2 extends MovieClip {
}
}//package assets.models
Section 13
//ModelDoctor6 (assets.models.ModelDoctor6)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctor6 extends MovieClip {
}
}//package assets.models
Section 14
//ModelDoctor7 (assets.models.ModelDoctor7)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctor7 extends MovieClip {
}
}//package assets.models
Section 15
//ModelDoctorTool (assets.models.ModelDoctorTool)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctorTool extends MovieClip {
public var mcOrdersClip:MovieClip;
}
}//package assets.models
Section 16
//ModelDoctorTool0 (assets.models.ModelDoctorTool0)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctorTool0 extends MovieClip {
public var mcOrdersClip:MovieClip;
}
}//package assets.models
Section 17
//ModelDoctorTool1 (assets.models.ModelDoctorTool1)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctorTool1 extends MovieClip {
public var mcOrdersClip:MovieClip;
}
}//package assets.models
Section 18
//ModelDoctorTool2 (assets.models.ModelDoctorTool2)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctorTool2 extends MovieClip {
public var mcOrdersClip:MovieClip;
}
}//package assets.models
Section 19
//ModelDoctorTool6 (assets.models.ModelDoctorTool6)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctorTool6 extends MovieClip {
public var mcOrdersClip:MovieClip;
}
}//package assets.models
Section 20
//ModelDoctorTool7 (assets.models.ModelDoctorTool7)
package assets.models {
import flash.display.*;
public dynamic class ModelDoctorTool7 extends MovieClip {
public var mcOrdersClip:MovieClip;
}
}//package assets.models
Section 21
//ModelGirl (assets.models.ModelGirl)
package assets.models {
import flash.display.*;
public dynamic class ModelGirl extends MovieClip {
}
}//package assets.models
Section 22
//ModelGirl1 (assets.models.ModelGirl1)
package assets.models {
import flash.display.*;
public dynamic class ModelGirl1 extends MovieClip {
}
}//package assets.models
Section 23
//ModelGirl2 (assets.models.ModelGirl2)
package assets.models {
import flash.display.*;
public dynamic class ModelGirl2 extends MovieClip {
}
}//package assets.models
Section 24
//ModelGrandfather (assets.models.ModelGrandfather)
package assets.models {
import flash.display.*;
public dynamic class ModelGrandfather extends MovieClip {
}
}//package assets.models
Section 25
//ModelGrandfather1 (assets.models.ModelGrandfather1)
package assets.models {
import flash.display.*;
public dynamic class ModelGrandfather1 extends MovieClip {
}
}//package assets.models
Section 26
//ModelGrandfather2 (assets.models.ModelGrandfather2)
package assets.models {
import flash.display.*;
public dynamic class ModelGrandfather2 extends MovieClip {
}
}//package assets.models
Section 27
//BtnGarbuz (assets.BtnGarbuz)
package assets {
import flash.display.*;
public dynamic class BtnGarbuz extends MovieClip {
}
}//package assets
Section 28
//BtnGirlGames (assets.BtnGirlGames)
package assets {
import flash.display.*;
public dynamic class BtnGirlGames extends MovieClip {
}
}//package assets
Section 29
//BtnMoreGames (assets.BtnMoreGames)
package assets {
import flash.display.*;
public dynamic class BtnMoreGames extends SimpleButton {
}
}//package assets
Section 30
//McAlldayScreen (assets.McAlldayScreen)
package assets {
import flash.display.*;
public dynamic class McAlldayScreen extends MovieClip {
public var mc_level_10:MovieClip;
public var mc_level_1:MovieClip;
public var mc_level_2:MovieClip;
public var mc_level_3:MovieClip;
public var mc_level_4:MovieClip;
public var mc_level_5:MovieClip;
public var mc_level_6:MovieClip;
public var mc_level_7:MovieClip;
public var mc_level_8:MovieClip;
public var btnMute:MovieClip;
public var mc_level_9:MovieClip;
public var mcTransBrand:MovieClip;
public var mcTransContinue:MovieClip;
}
}//package assets
Section 31
//McCharBubble (assets.McCharBubble)
package assets {
import flash.display.*;
public dynamic class McCharBubble extends MovieClip {
public var mcBottom:MovieClip;
public var mcTop:MovieClip;
}
}//package assets
Section 32
//McCompleteMarker (assets.McCompleteMarker)
package assets {
import flash.display.*;
public dynamic class McCompleteMarker extends MovieClip {
}
}//package assets
Section 33
//McGameFinishScreen (assets.McGameFinishScreen)
package assets {
import flash.display.*;
import flash.text.*;
public dynamic class McGameFinishScreen extends MovieClip {
public var txtScore:TextField;
public var mcTransCongratulations:MovieClip;
public var mcTransMenu:MovieClip;
public var mcTransBrand:MovieClip;
public var TotalCash:MovieClip;
public var mcTransCashEarned:MovieClip;
public var txtTotalScore:TextField;
}
}//package assets
Section 34
//McGameResultScreen (assets.McGameResultScreen)
package assets {
import flash.display.*;
import flash.text.*;
public dynamic class McGameResultScreen extends MovieClip {
public var txtScore:TextField;
public var mcTransTotalCash:MovieClip;
public var mcTransGoodJob:MovieClip;
public var mcTransBrand:MovieClip;
public var mcTransNextDay:MovieClip;
public var mcTransContinue:MovieClip;
public var mcTransCashEarned:MovieClip;
public var txtTotalScore:TextField;
}
}//package assets
Section 35
//McHelpArrow (assets.McHelpArrow)
package assets {
import flash.display.*;
import flash.text.*;
public dynamic class McHelpArrow extends MovieClip {
public var txtMessage:TextField;
}
}//package assets
Section 36
//McInstructionScreen (assets.McInstructionScreen)
package assets {
import flash.display.*;
public dynamic class McInstructionScreen extends MovieClip {
public var mcTransStart:MovieClip;
public var mcTransNext:MovieClip;
public var btnMute:MovieClip;
public var mcTransContinue:MovieClip;
public var mcTransBrand:MovieClip;
}
}//package assets
Section 37
//McInstructionScreen2 (assets.McInstructionScreen2)
package assets {
import flash.display.*;
public dynamic class McInstructionScreen2 extends MovieClip {
public var mcTransStart:MovieClip;
public var mcTransBrand:MovieClip;
public var mcTransContinue:MovieClip;
public var mcTransPrevious:MovieClip;
public var btnMute:MovieClip;
}
}//package assets
Section 38
//McPoints (assets.McPoints)
package assets {
import flash.display.*;
import flash.text.*;
public dynamic class McPoints extends MovieClip {
public var txtNumber:TextField;
}
}//package assets
Section 39
//McSmile (assets.McSmile)
package assets {
import flash.display.*;
public dynamic class McSmile extends MovieClip {
}
}//package assets
Section 40
//McStartScreen (assets.McStartScreen)
package assets {
import flash.display.*;
public dynamic class McStartScreen extends MovieClip {
public var mcTransStart:MovieClip;
public var btnMute:MovieClip;
public var mcTransContinue:MovieClip;
public var mcTransBrand:MovieClip;
public var mcTransHowToPlay:MovieClip;
}
}//package assets
Section 41
//SpilGamesServices (com.spilgames.api.SpilGamesServices)
package com.spilgames.api {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import flash.net.*;
public class SpilGamesServices extends MovieClip {
private var _connected:Boolean;// = false
private var ERR_LOADCOMP:String;// = "Failed to load Spil Social Component."
private var _loader:Loader;
private var ERR_DOWNLOAD:String;// = "Failed downloading Spil Games Social configurator component."
private var _connecting:Boolean;// = false
private var DEFAULT_CONNECTION_LOCATION:String;// = "http://www8.agame.com/games/flash/services/ServicesConnection.swf"
private var ERR_INITCOMP:String;// = "Failed to communication with a Spil Social Component."
private var ERR_SPILCALL:String;// = "Failed processing a Spil call."
private var ERR_NOPARENT:String;// = "Failed creating Spil Games connector: No parent provided."
private var _showDebug:Boolean;// = false
private var _servicesConnection;// = null
private var _alwaysInFront:Boolean;// = false
public static const INVALID_TYPE:int = -1;
public static const INVALID_ID:int = -1;
private static var _instance:SpilGamesServices = null;
public function SpilGamesServices(){
if (_instance){
throw (new Error("Only a single instance can be created."));
};
_instance = this;
}
private function handleServicesFailed(_arg1:ErrorEvent):void{
_servicesConnection.removeEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.removeEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.removeEventListener("serviceError", handleServiceError);
_servicesConnection = null;
if (hasEventListener("servicesFailed")){
dispatchEvent(new ErrorEvent("servicesFailed", false, false, _arg1.text));
};
}
private function handleLoadComplete(_arg1:Event):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_servicesConnection = LoaderInfo(_arg1.target).content;
_servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.addEventListener("serviceError", handleServiceError);
addChild(_servicesConnection);
}
public function send(_arg1:String, _arg2:String, _arg3:Function, _arg4:Object=null):int{
if (_connected){
return (_servicesConnection.send(_arg1, _arg2, _arg3, _arg4));
};
return (INVALID_ID);
}
public function get connected():Boolean{
return (_connected);
}
public function showErrorMessage(_arg1:String):void{
if (((_servicesConnection) && (_servicesConnection.hasOwnProperty("showErrorMessage")))){
_servicesConnection.showErrorMessage(_arg1);
};
}
public function isSWFReady():Boolean{
return (isReady());
}
public function getSiteID():int{
if (_servicesConnection != null){
return (_servicesConnection.getSiteID());
};
return (INVALID_ID);
}
public function isReady():Boolean{
return (((!((_servicesConnection == null))) && (_servicesConnection.isReady())));
}
private function handleServiceError(_arg1:Event):void{
var _local2 = "";
if ((_arg1 is ErrorEvent)){
_local2 = ErrorEvent(_arg1).text;
} else {
_local2 = _arg1.toString();
};
if (hasEventListener("serviceError")){
dispatchEvent(new ErrorEvent("serviceError", false, false, _local2));
};
}
public function disconnect():void{
if (_connected){
_servicesConnection.removeEventListener();
_servicesConnection.removeEventListener();
_servicesConnection.removeEventListener();
_servicesConnection.disconnect();
_servicesConnection = null;
};
if (_loader){
try {
_loader.close();
} catch(e:Error) {
} finally {
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
};
};
removeEventListener(Event.ENTER_FRAME, bringToFront);
if (parent){
parent.removeChild(this);
};
}
private function handleServicesReady(_arg1:Event):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_connected = true;
_connecting = false;
dispatchEvent(new Event("servicesReady"));
}
public function getChannelID():int{
if (_servicesConnection != null){
return (_servicesConnection.getChannelID());
};
return (INVALID_ID);
}
public function set showDebug(_arg1:Boolean):void{
if (_showDebug != _arg1){
_showDebug = _arg1;
if (_showDebug){
bringToFront();
};
};
}
public function hasValidUserData():Boolean{
return (isGuest());
}
public function isDomainAllowed():Boolean{
return (((!((_servicesConnection == null))) && (_servicesConnection.isDomainValid())));
}
public function isGuest():Boolean{
var _local1:Object;
if (_servicesConnection != null){
return (_servicesConnection.isGuest());
};
trace("WARNING: SpilGamesServices connection not ready yet");
if (root.loaderInfo != null){
_local1 = root.loaderInfo.parameters;
return (((((((!(_local1.username)) || ((_local1.username == "")))) || (!(_local1.hash)))) || ((_local1.hash == ""))));
};
return (false);
}
public function get showDebug():Boolean{
return (_showDebug);
}
private function handleIOError(_arg1:IOErrorEvent):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
if (hasEventListener(_arg1.type)){
dispatchEvent(_arg1);
};
}
public function getItemType():int{
if (_servicesConnection != null){
return (_servicesConnection.getItemType());
};
return (INVALID_TYPE);
}
public function set alwaysInFront(_arg1:Boolean):void{
if (_alwaysInFront != _arg1){
_alwaysInFront = _arg1;
if (_alwaysInFront){
addEventListener(Event.ENTER_FRAME, bringToFront);
} else {
removeEventListener(Event.ENTER_FRAME, bringToFront);
};
};
}
public function getItemID():int{
if (_servicesConnection != null){
return (_servicesConnection.getItemID());
};
return (INVALID_ID);
}
public function getUserName():String{
if (_servicesConnection != null){
return (_servicesConnection.getUserName());
};
return ("");
}
public function allowDomain(_arg1:String):void{
Security.allowDomain("*");
Security.allowInsecureDomain("*");
}
public function getUserHash():String{
if (_servicesConnection != null){
return (_servicesConnection.getUserHash());
};
return ("");
}
public function connect(_arg1:DisplayObjectContainer):void{
var _local2:String;
var _local3:URLRequest;
if (((!(_connecting)) && (!(_connected)))){
if (!_arg1.stage){
trace("ERROR: The given clip must be present in the display list (added to stage)");
return;
};
_connecting = true;
_arg1.stage.addChild(this);
_local2 = DEFAULT_CONNECTION_LOCATION;
if (((root.loaderInfo.parameters["servicesLoc"]) && ((root.loaderInfo.parameters["servicesLoc"].length > 0)))){
_local2 = root.loaderInfo.parameters["servicesLoc"];
};
allowDomain(_local2);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_local3 = new URLRequest(_local2);
_loader.load(_local3);
};
}
public function get alwaysInFront():Boolean{
return (_alwaysInFront);
}
public function bringToFront(_arg1:Event=null):void{
var e = _arg1;
if (parent){
try {
parent.setChildIndex(this, (parent.numChildren - 1));
} catch(e:Error) {
removeEventListener(Event.ENTER_FRAME, bringToFront);
};
};
}
public static function getInstance():SpilGamesServices{
if (!_instance){
_instance = new (SpilGamesServices);
};
return (_instance);
}
}
}//package com.spilgames.api
Section 42
//CallFuntionCommand (common.commands.CallFuntionCommand)
package common.commands {
import flash.events.*;
import common.events.*;
import flash.utils.*;
public class CallFuntionCommand implements ICancelableCommand {
private var _completeEvent:EventSender;
private var _thisObject:Object;
private var _timer:Timer;
private var _function:Function;
private var _args:Array;
public function CallFuntionCommand(_arg1:Function, _arg2:uint=10, _arg3:Object=null, _arg4:Array=null){
_completeEvent = new EventSender(this);
super();
_function = _arg1;
_thisObject = _arg3;
_args = _arg4;
_timer = new Timer(_arg2, 1);
_timer.addEventListener(TimerEvent.TIMER, onTimer);
}
public function get completeEvent():EventSender{
return (_completeEvent);
}
public function execute():void{
_timer.start();
}
public function cancel():void{
_timer.stop();
}
private function onTimer(_arg1:TimerEvent):void{
if (((!(_args)) && (!(_thisObject)))){
_function();
} else {
_function.apply(_thisObject, _args);
};
_completeEvent.sendEvent();
}
}
}//package common.commands
Section 43
//CommandQueue (common.commands.CommandQueue)
package common.commands {
import common.events.*;
public class CommandQueue implements ICancelableCommand {
private var _started:Boolean;// = false
private var _completed:Boolean;// = false
private var _completeEvent:EventSender;
private var _commands:Array;
private var _currentCommand:IAsincCommand;
private var _canceled:Boolean;// = false
public function CommandQueue(){
_completeEvent = new EventSender(this);
_commands = [];
super();
}
public function cancel():void{
_started = false;
_canceled = true;
if ((_currentCommand is ICancelableCommand)){
ICancelableCommand(_currentCommand).cancel();
};
}
private function onCommandComplete(_arg1:IAsincCommand):void{
clearCurrentCommand();
if (_commands.length > 0){
executeCommand();
} else {
complete();
};
}
public function get commands():Array{
return (_commands);
}
public function get started():Boolean{
return (_started);
}
public function get completed():Boolean{
return (_completed);
}
private function executeCommand():void{
_currentCommand = (_commands.shift() as IAsincCommand);
_currentCommand.completeEvent.addListener(onCommandComplete);
_currentCommand.execute();
}
public function get canceled():Boolean{
return (_canceled);
}
public function add(_arg1:IAsincCommand):void{
_commands.push(_arg1);
}
public function get completeEvent():EventSender{
return (_completeEvent);
}
public function execute():void{
_started = true;
executeCommand();
}
private function complete():void{
_started = false;
_completed = true;
_completeEvent.sendEvent();
}
private function clearCurrentCommand():void{
_currentCommand.completeEvent.removeListener(onCommandComplete);
_currentCommand = null;
}
}
}//package common.commands
Section 44
//IAsincCommand (common.commands.IAsincCommand)
package common.commands {
import common.events.*;
public interface IAsincCommand extends ICommand {
function get completeEvent():EventSender;
}
}//package common.commands
Section 45
//ICancelableCommand (common.commands.ICancelableCommand)
package common.commands {
public interface ICancelableCommand extends IAsincCommand {
function cancel():void;
}
}//package common.commands
Section 46
//ICommand (common.commands.ICommand)
package common.commands {
public interface ICommand {
function execute():void;
}
}//package common.commands
Section 47
//IRequirement (common.comparing.IRequirement)
package common.comparing {
public interface IRequirement {
function accept(_arg1:Object):Boolean;
}
}//package common.comparing
Section 48
//NameRequirement (common.comparing.NameRequirement)
package common.comparing {
public class NameRequirement implements IRequirement {
private var _value:String;
private var _property:String;
private var _isPrefix:Boolean;
public function NameRequirement(_arg1:String, _arg2:Boolean=false){
_property = "name";
_value = _arg1;
_isPrefix = _arg2;
}
public function accept(_arg1:Object):Boolean{
if (_isPrefix){
return (((((_arg1) && (_arg1.hasOwnProperty(_property)))) && ((String(_arg1[_property]).indexOf(_value) == 0))));
};
return (((((_arg1) && (_arg1.hasOwnProperty(_property)))) && ((_arg1[_property] == _value))));
}
}
}//package common.comparing
Section 49
//PropertyRequirement (common.comparing.PropertyRequirement)
package common.comparing {
public class PropertyRequirement implements IRequirement {
private var _value:Object;
private var _property:String;
public function PropertyRequirement(_arg1:String, _arg2:Object){
_property = _arg1;
_value = _arg2;
}
public function accept(_arg1:Object):Boolean{
return (((((_arg1) && (_arg1.hasOwnProperty(_property)))) && ((_arg1[_property] == _value))));
}
}
}//package common.comparing
Section 50
//TypeRequirement (common.comparing.TypeRequirement)
package common.comparing {
public class TypeRequirement implements IRequirement {
private var _type:Class;
public function TypeRequirement(_arg1:Class){
_type = _arg1;
}
public function accept(_arg1:Object):Boolean{
return ((_arg1 is _type));
}
}
}//package common.comparing
Section 51
//IConverter (common.converting.IConverter)
package common.converting {
public interface IConverter {
function convert(_arg1:Object):Object;
}
}//package common.converting
Section 52
//EventSender (common.events.EventSender)
package common.events {
public class EventSender {
private var _listeners:Array;
private var _sender:Object;
public function EventSender(_arg1:Object){
_listeners = [];
super();
_sender = _arg1;
}
public function sendEvent(_arg1=null):void{
var _local3:Function;
var _local2:Array = _listeners.slice();
for each (_local3 in _local2) {
if (_local3.length == 0){
_local3();
} else {
if (_local3.length == 1){
_local3(_sender);
} else {
if (_local3.length == 2){
_local3(_sender, _arg1);
} else {
throw (new ArgumentError("Incorrect number of arguments in handler"));
};
};
};
};
}
public function addListener(_arg1:Function):void{
if (hasListener(_arg1)){
throw (new Error("List already contains such listener"));
};
_listeners.push(_arg1);
}
public function hasListener(_arg1:Function):Boolean{
return ((_listeners.indexOf(_arg1) >= 0));
}
public function removeListener(_arg1:Function):void{
if (hasListener(_arg1)){
_listeners.splice(_listeners.indexOf(_arg1), 1);
} else {
throw (new Error("List doesn't contain such listener"));
};
}
}
}//package common.events
Section 53
//EffectBase (common.flash.effects.EffectBase)
package common.flash.effects {
import flash.display.*;
public class EffectBase implements IEffect {
protected var _duration:Number;
protected var _content:DisplayObject;
public function EffectBase(_arg1:DisplayObject, _arg2:Number=0.5){
_content = _arg1;
_duration = _arg2;
}
public function apply():void{
}
}
}//package common.flash.effects
Section 54
//FadeInEffect (common.flash.effects.FadeInEffect)
package common.flash.effects {
import flash.display.*;
import gs.*;
public class FadeInEffect extends EffectBase {
public function FadeInEffect(_arg1:DisplayObject, _arg2:Number=1){
super(_arg1, _arg2);
}
override public function apply():void{
_content.alpha = 0;
TweenLite.to(_content, _duration, {alpha:1});
}
}
}//package common.flash.effects
Section 55
//IEffect (common.flash.effects.IEffect)
package common.flash.effects {
public interface IEffect {
function apply():void;
}
}//package common.flash.effects
Section 56
//ILayout (common.flash.layouts.ILayout)
package common.flash.layouts {
import flash.display.*;
public interface ILayout {
function apply(_arg1:DisplayObjectContainer):void;
}
}//package common.flash.layouts
Section 57
//BannerManager (common.flash.BannerManager)
package common.flash {
import flash.events.*;
import flash.display.*;
import common.comparing.*;
import common.utils.*;
import flash.utils.*;
public class BannerManager {
private var _requirements:Dictionary;
public function BannerManager(){
_requirements = new Dictionary();
super();
}
private function applyUrl(_arg1:InteractiveObject, _arg2:String):void{
if ((_arg1 is DisplayObjectContainer)){
DisplayObjectContainer(_arg1).mouseChildren = false;
if ((_arg1 is Sprite)){
Sprite(_arg1).buttonMode = true;
GraphUtil.addBoundsRect(Sprite(_arg1));
};
};
_arg1.addEventListener(MouseEvent.CLICK, getClickHandler(_arg2));
}
public function registerClass(_arg1:Class, _arg2:String):void{
var _local3:IRequirement = new TypeRequirement(_arg1);
_requirements[_local3] = _arg2;
}
private function getClickHandler(_arg1:String):Function{
var url = _arg1;
return (function (_arg1:MouseEvent):void{
BrowserUtil.navigate(url);
});
}
public function scanContent(_arg1:Sprite):void{
var _local3:InteractiveObject;
var _local4:Object;
var _local2:Array = GraphUtil.getAllChildren(_arg1, new TypeRequirement(InteractiveObject));
for each (_local3 in _local2) {
for (_local4 in _requirements) {
if (IRequirement(_local4).accept(_local3)){
applyUrl(_local3, _requirements[_local4]);
};
};
};
}
public function registerName(_arg1:String, _arg2:String):void{
var _local3:IRequirement = new NameRequirement(_arg1);
_requirements[_local3] = _arg2;
}
}
}//package common.flash
Section 58
//MoviePlayer (common.flash.MoviePlayer)
package common.flash {
import flash.events.*;
import flash.display.*;
import common.events.*;
import common.commands.*;
public class MoviePlayer implements ICancelableCommand {
private var _completeEvent:EventSender;
public var fromFrame:int;
public var clip:MovieClip;
public var toFrame:int;
public function MoviePlayer(_arg1:MovieClip=null, _arg2:int=1, _arg3:int=0){
_completeEvent = new EventSender(this);
super();
this.clip = _arg1;
this.fromFrame = _arg2;
this.toFrame = ((_arg3)>0) ? _arg3 : _arg1.totalFrames;
}
public function get completeEvent():EventSender{
return (_completeEvent);
}
public function playTo(_arg1:int):MoviePlayer{
play(clip.currentFrame, _arg1);
return (this);
}
private function onEnterFrame(_arg1:Event):void{
if (clip.currentFrame == toFrame){
clip.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
_completeEvent.sendEvent();
} else {
if (clip.currentFrame < toFrame){
clip.nextFrame();
} else {
clip.prevFrame();
};
};
}
public function execute():void{
clip.gotoAndStop(fromFrame);
clip.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function cancel():void{
clip.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function play(_arg1:int=1, _arg2:int=0):MoviePlayer{
this.fromFrame = _arg1;
this.toFrame = ((_arg2)>0) ? _arg2 : clip.totalFrames;
execute();
return (this);
}
}
}//package common.flash
Section 59
//ArrayUtil (common.utils.ArrayUtil)
package common.utils {
import common.comparing.*;
import common.converting.*;
public class ArrayUtil {
public static function getFirstRequired(_arg1:Object, _arg2:IRequirement):Object{
var _local4:Object;
var _local3:Object;
for each (_local4 in _arg1) {
if (_arg2.accept(_local4)){
_local3 = _local4;
break;
};
};
return (_local3);
}
public static function getByProperty(_arg1:Object, _arg2:String, _arg3:Object):Array{
return (getRequired(_arg1, new PropertyRequirement(_arg2, _arg3)));
}
public static function convert(_arg1:Object, _arg2:IConverter):Array{
var _local4:Object;
var _local3:Array = [];
for each (_local4 in _arg1) {
_local3.push(_arg2.convert(_local4));
};
return (_local3);
}
public static function getRequired(_arg1:Object, _arg2:IRequirement):Array{
var _local4:Object;
var _local3:Array = [];
for each (_local4 in _arg1) {
if (_arg2.accept(_local4)){
_local3.push(_local4);
};
};
return (_local3);
}
public static function getFirstByProperty(_arg1:Object, _arg2:String, _arg3:Object):Object{
return (getFirstRequired(_arg1, new PropertyRequirement(_arg2, _arg3)));
}
public static function removeItem(_arg1:Array, _arg2:Object):void{
var _local3:int = _arg1.indexOf(_arg2);
if (_local3 >= 0){
_arg1.splice(_local3, 1);
};
}
public static function hasRequired(_arg1:Object, _arg2:IRequirement):Object{
return (Boolean(getFirstRequired(_arg1, _arg2)));
}
public static function getRandomItem(_arg1:Array){
return (_arg1[int((Math.random() * _arg1.length))]);
}
public static function findByProperty(_arg1:Object, _arg2:String, _arg3:Object):Object{
return (getFirstRequired(_arg1, new PropertyRequirement(_arg2, _arg3)));
}
public static function getRandomItems(_arg1:Array, _arg2:int):Array{
var _local6:int;
var _local3:Array = [];
var _local4:Array = [];
var _local5:int;
while (_local5 < _arg2) {
_local6 = (Math.random() * _arg1.length);
while (_local4.indexOf(_local6) >= 0) {
_local6++;
if (_local6 == _arg1.length){
_local6 = 0;
};
};
_local3.push(_arg1[_local6]);
_local4.push(_local6);
_local5++;
};
return (_local3);
}
}
}//package common.utils
Section 60
//BrowserUtil (common.utils.BrowserUtil)
package common.utils {
import flash.net.*;
import flash.external.*;
public class BrowserUtil {
public static function navigate(_arg1:String, _arg2:String="_blank"):void{
var browser:String;
var url = _arg1;
var window = _arg2;
if (ExternalInterface.available){
try {
browser = (ExternalInterface.call("function getBrowser(){return navigator.userAgent}") as String);
if (((!((browser.indexOf("Firefox") == -1))) || (!((browser.indexOf("MSIE 7.0") == -1))))){
ExternalInterface.call((((("window.open(\"" + url) + "\",\"") + window) + "\")"));
} else {
navigateToURL(new URLRequest(url), window);
};
} catch(e:Error) {
navigateToURL(new URLRequest(url), window);
};
} else {
navigateToURL(new URLRequest(url), window);
};
}
}
}//package common.utils
Section 61
//GraphUtil (common.utils.GraphUtil)
package common.utils {
import flash.display.*;
import flash.geom.*;
import common.comparing.*;
import flash.text.*;
public class GraphUtil {
public static function alignCenter(_arg1:DisplayObject, _arg2:Rectangle):void{
var _local3:Rectangle = _arg1.getBounds(_arg1.parent);
_arg1.x = (_arg1.x + (((0.5 * (_arg2.left + _arg2.right)) - (0.5 * _local3.width)) - _local3.left));
_arg1.y = (_arg1.y + (((0.5 * (_arg2.top + _arg2.bottom)) - (0.5 * _local3.height)) - _local3.top));
}
public static function fromRGB(_arg1:uint, _arg2:uint, _arg3:uint):uint{
return ((((_arg1 << 16) | (_arg2 << 8)) | _arg3));
}
public static function attachBefore(_arg1:DisplayObject, _arg2:DisplayObject):void{
_arg2.parent.addChildAt(_arg1, _arg2.parent.getChildIndex(_arg2));
}
public static function setBtnEnabled(_arg1:InteractiveObject, _arg2:Boolean, _arg3:Number=0.5):void{
_arg1.mouseEnabled = _arg2;
if ((_arg1 is DisplayObjectContainer)){
DisplayObjectContainer(_arg1).mouseChildren = _arg2;
};
_arg1.alpha = (_arg2) ? 1 : _arg3;
}
public static function setScale(_arg1:DisplayObject, _arg2:Number):void{
_arg1.scaleX = (_arg1.scaleY = _arg2);
}
public static function getAllChildren(_arg1:DisplayObjectContainer, _arg2:IRequirement=null):Array{
var _local5:DisplayObject;
var _local3:Array = getChildren(_arg1);
var _local4:Array = [];
for each (_local5 in _local3) {
if ((((_arg2 == null)) || (_arg2.accept(_local5)))){
_local4.push(_local5);
};
if ((_local5 is DisplayObjectContainer)){
_local4 = _local4.concat(getAllChildren(DisplayObjectContainer(_local5), _arg2));
};
};
return (_local4);
}
public static function getPixel(_arg1:DisplayObject, _arg2:int, _arg3:int):int{
var _local4:BitmapData = new BitmapData(4, 4);
var _local5:Matrix = new Matrix();
_local5.tx = -(_arg2);
_local5.ty = -(_arg3);
_local4.draw(_arg1, _local5, _arg1.transform.colorTransform, _arg1.blendMode);
return (_local4.getPixel(1, 1));
}
public static function claimBounds(_arg1:DisplayObject, _arg2:Rectangle):void{
var _local3:Rectangle = _arg1.getBounds(_arg1.parent);
if (_local3.left < _arg2.left){
_arg1.x = (_arg1.x + (_arg2.left - _local3.left));
} else {
if (_local3.right > _arg2.right){
_arg1.x = (_arg1.x + (_arg2.right - _local3.right));
};
};
if (_local3.top < _arg2.top){
_arg1.y = (_arg1.y + (_arg2.top - _local3.top));
} else {
if (_local3.bottom > _arg2.bottom){
_arg1.y = (_arg1.y + (_arg2.bottom - _local3.bottom));
};
};
}
public static function toRGB(_arg1:uint):Object{
return ({r:(_arg1 >> 16), g:((_arg1 >> 8) & 0xFF), b:(_arg1 & 0xFF)});
}
public static function toPoint(_arg1:Object):Point{
return (new Point(_arg1.x, _arg1.y));
}
public static function attachAfter(_arg1:DisplayObject, _arg2:DisplayObject):void{
_arg2.parent.addChildAt(_arg1, (_arg2.parent.getChildIndex(_arg2) + 1));
}
public static function findObject(_arg1:DisplayObjectContainer, _arg2:IRequirement, _arg3:Boolean=true):DisplayObject{
if (_arg3){
return (getAllChildren(_arg1, _arg2)[0]);
};
return (getChildren(_arg1, _arg2)[0]);
}
public static function getChildrenBounds(_arg1:DisplayObjectContainer):Rectangle{
var _local7:DisplayObject;
var _local8:Rectangle;
var _local2:Number = Number.MAX_VALUE;
var _local3:Number = Number.MIN_VALUE;
var _local4:Number = Number.MAX_VALUE;
var _local5:Number = Number.MIN_VALUE;
var _local6:int;
while (_local6 < _arg1.numChildren) {
_local7 = _arg1.getChildAt(_local6);
_local8 = _local7.getBounds(_arg1);
_local2 = Math.min(_local2, _local8.x);
_local4 = Math.min(_local4, _local8.y);
_local3 = Math.max(_local3, _local8.right);
_local5 = Math.max(_local5, _local8.bottom);
_local6++;
};
return (new Rectangle(_local2, _local4, (_local3 - _local2), (_local5 - _local4)));
}
public static function getAllButtonChildren(_arg1:SimpleButton, _arg2:IRequirement=null):Array{
var _local5:DisplayObject;
var _local3:Array = [_arg1.upState, _arg1.overState, _arg1.downState];
var _local4:Array = [];
for each (_local5 in _local3) {
if ((((_arg2 == null)) || (_arg2.accept(_local5)))){
_local4.push(_local5);
};
if ((_local5 is DisplayObjectContainer)){
_local4 = _local4.concat(getAllChildren(DisplayObjectContainer(_local5), _arg2));
};
};
return (_local4);
}
public static function stopAllChildren(_arg1:DisplayObjectContainer, _arg2:int=0):void{
var _local4:MovieClip;
var _local3:Array = getAllChildren(_arg1, new TypeRequirement(MovieClip));
if ((_arg1 is MovieClip)){
_local3.push(_arg1);
};
for each (_local4 in _local3) {
if (_local4.totalFrames > 1){
if (_arg2 > 0){
_local4.gotoAndStop(_arg2);
} else {
_local4.stop();
};
};
};
}
public static function removeChildren(_arg1:DisplayObjectContainer):void{
while (_arg1.numChildren > 0) {
_arg1.removeChildAt(0);
};
}
public static function adjustBounds(_arg1:DisplayObject, _arg2:Rectangle):void{
claimScale(_arg1, _arg2.width, _arg2.height);
alignCenter(_arg1, _arg2);
}
public static function createRectSprite(_arg1:Number, _arg2:Number, _arg3:int=0, _arg4:Number=1):Sprite{
var _local5:Sprite = new Sprite();
_local5.graphics.beginFill(_arg3, _arg4);
_local5.graphics.drawRect(0, 0, _arg1, _arg2);
_local5.graphics.endFill();
return (_local5);
}
public static function setRandomFrame(_arg1:MovieClip):void{
var _local2:int = (1 + (Math.random() * _arg1.totalFrames));
_arg1.gotoAndStop(_local2);
}
public static function transformCoords(_arg1:Point, _arg2:DisplayObject, _arg3:DisplayObject):Point{
return (_arg3.globalToLocal(_arg2.localToGlobal(_arg1)));
}
public static function setPosition(_arg1:DisplayObject, _arg2:Object):void{
_arg1.x = _arg2.x;
_arg1.y = _arg2.y;
}
public static function detachFromDisplay(_arg1:DisplayObject):void{
_arg1.parent.removeChild(_arg1);
}
public static function claimScale(_arg1:DisplayObject, _arg2:Number, _arg3:Number):void{
var _local4:Number = Math.min((_arg2 / _arg1.width), (_arg3 / _arg1.height));
_arg1.height = (_arg1.height * _local4);
_arg1.width = (_arg1.width * _local4);
}
public static function sendToBack(_arg1:DisplayObject):void{
var _local2:DisplayObjectContainer = _arg1.parent;
_local2.setChildIndex(_arg1, 0);
}
public static function setFontSize(_arg1:TextField, _arg2:int):void{
var _local3:TextFormat = _arg1.getTextFormat();
_local3.size = _arg2;
_arg1.setTextFormat(_local3);
}
public static function playAllChildren(_arg1:MovieClip):void{
var _local3:MovieClip;
_arg1.play();
var _local2:Array = getAllChildren(_arg1, new TypeRequirement(MovieClip));
for each (_local3 in _local2) {
if (_local3.totalFrames > 1){
_local3.play();
};
};
}
public static function getChildren(_arg1:DisplayObjectContainer, _arg2:IRequirement=null):Array{
var _local5:DisplayObject;
var _local3:Array = [];
var _local4:int;
while (_local4 < _arg1.numChildren) {
_local5 = _arg1.getChildAt(_local4);
if ((((_arg2 == null)) || (_arg2.accept(_local5)))){
_local3.push(_local5);
};
_local4++;
};
return (_local3);
}
public static function addBoundsRect(_arg1:Sprite, _arg2:int=0, _arg3:Number=0):Sprite{
var _local4:Rectangle = _arg1.getBounds(_arg1);
var _local5:Sprite = createRectSprite(_local4.width, _local4.height, _arg2, _arg3);
_arg1.addChild(_local5);
_local5.x = _local4.x;
_local5.y = _local4.y;
return (_local5);
}
public static function bringToFront(_arg1:DisplayObject):void{
var _local2:DisplayObjectContainer = _arg1.parent;
_local2.setChildIndex(_arg1, (_local2.numChildren - 1));
}
}
}//package common.utils
Section 62
//MathUtil (common.utils.MathUtil)
package common.utils {
import flash.geom.*;
public class MathUtil {
private static var _PI:Number = 3.14159265358979;
private static var _2PI:Number = 6.28318530717959;
public static function claimRange(_arg1:Number, _arg2:Number, _arg3:Number):Number{
if (_arg1 < _arg2){
return (_arg2);
};
if (_arg1 > _arg3){
return (_arg3);
};
return (_arg1);
}
public static function randomInt(_arg1:int):int{
return (int((Math.random() * _arg1)));
}
public static function sign(_arg1:Number):int{
if (_arg1 > 0){
return (1);
};
if (_arg1 < 0){
return (-1);
};
return (0);
}
public static function distance(_arg1:Point, _arg2:Point):Number{
var _local3:Number = (_arg2.x - _arg1.x);
var _local4:Number = (_arg2.y - _arg1.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
public static function angleDiff(_arg1:Number, _arg2:Number):Number{
_arg1 = (_arg1 % _2PI);
_arg2 = (_arg2 % _2PI);
if (_arg1 < 0){
_arg1 = (_arg1 + _2PI);
};
if (_arg2 < 0){
_arg2 = (_arg2 + _2PI);
};
var _local3:Number = (_arg2 - _arg1);
if (_local3 < -(_PI)){
_local3 = (_local3 + _2PI);
};
if (_local3 > _PI){
_local3 = (_local3 - _2PI);
};
return (_local3);
}
public static function distance2(_arg1:Point, _arg2:Point):Number{
var _local3:Number = (_arg2.x - _arg1.x);
var _local4:Number = (_arg2.y - _arg1.y);
return (((_local3 * _local3) + (_local4 * _local4)));
}
}
}//package common.utils
Section 63
//ObjectUtil (common.utils.ObjectUtil)
package common.utils {
import flash.geom.*;
import flash.system.*;
public class ObjectUtil {
public static function createInstance(_arg1:String, _arg2:ApplicationDomain=null, ... _args):Object{
var _local5:Class;
if (!_arg2){
_arg2 = ApplicationDomain.currentDomain;
};
var _local4:Object;
if (_arg2.hasDefinition(_arg1)){
_local5 = (_arg2.getDefinition(_arg1) as Class);
if (_args.length == 1){
_local4 = new _local5(_args[0]);
} else {
if (_args.length == 2){
_local4 = new _local5(_args[0], _args[1]);
} else {
if (_args.length == 3){
_local4 = new _local5(_args[0], _args[1], _args[2]);
} else {
if (_args.length == 4){
_local4 = new _local5(_args[0], _args[1], _args[2], _args[3]);
} else {
if (_args.length == 5){
_local4 = new _local5(_args[0], _args[1], _args[2], _args[3], _args[4]);
} else {
_local4 = new (_local5);
};
};
};
};
};
} else {
throw (new Error((("Defenition of \"" + _arg1) + "\" not found")));
};
return (_local4);
}
public static function castToPoint(_arg1:Object):Point{
return (new Point(_arg1.x, _arg1.y));
}
}
}//package common.utils
Section 64
//TimerUtil (common.utils.TimerUtil)
package common.utils {
import common.commands.*;
public class TimerUtil {
public static function callAfter(_arg1:Function, _arg2:uint=10, _arg3:Object=null, _arg4:Array=null):void{
new CallFuntionCommand(_arg1, _arg2, _arg3, _arg4).execute();
}
}
}//package common.utils
Section 65
//CharModel (components.CharModel)
package components {
import flash.display.*;
import common.events.*;
import common.utils.*;
public class CharModel extends Sprite {
private var _changeModelEvent:EventSender;
private var _content:MovieClip;
private var _factory:ModelFactory;
public function CharModel(_arg1:ModelFactory){
_changeModelEvent = new EventSender(this);
super();
_factory = _arg1;
}
public function get changeModelEvent():EventSender{
return (_changeModelEvent);
}
public function stop():void{
GraphUtil.stopAllChildren(_content, 1);
}
public function play():void{
GraphUtil.stopAllChildren(_content);
}
public function setModel(_arg1:int=-1):void{
if (_content){
stop();
GraphUtil.detachFromDisplay(_content);
};
_content = _factory.getModel(_arg1);
addChild(_content);
_changeModelEvent.sendEvent();
}
}
}//package components
Section 66
//Debug (components.Debug)
package components {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public class Debug {
public static function traceObject(_arg1:Object):void{
var _local2:String;
for (_local2 in _arg1) {
trace(_local2, ":", _arg1[_local2]);
};
}
public static function drawPoint(_arg1:Sprite, _arg2:Point, _arg3:int=0xFF0000, _arg4:Object=null):void{
var _local5:TextField;
var _local6:TextFormat;
_arg1.graphics.lineStyle(0, _arg3);
_arg1.graphics.drawCircle(_arg2.x, _arg2.y, 3);
if (_arg4 != null){
_local5 = new TextField();
_local6 = new TextFormat(null, 9);
_local5.text = _arg4.toString();
_local5.x = _arg2.x;
_local5.y = _arg2.y;
_local5.selectable = false;
_local5.setTextFormat(_local6);
_arg1.addChild(_local5);
};
}
}
}//package components
Section 67
//Directions (components.Directions)
package components {
public class Directions {
public static const RIGHT_DOWN:int = 1;
public static const LEFT:int = 4;
public static const DOWN:int = 2;
public static const invertDirections:Object = {0:4, 1:5, 2:6, 3:7, 4:0, 5:1, 6:2, 7:3};
public static const LEFT_UP:int = 5;
public static const LEFT_DOWN:int = 3;
public static const UP:int = 6;
public static const RIGHT:int = 0;
public static const RIGHT_UP:int = 7;
public static function getDirection(_arg1:Number, _arg2:Number):int{
var _local3:int = ((Math.atan2(_arg2, _arg1) / Math.PI) * 180);
if (_local3 < 0){
_local3 = (_local3 + 360);
};
return ((Math.round((_local3 / 45)) % 8));
}
}
}//package components
Section 68
//ModelFactory (components.ModelFactory)
package components {
import flash.display.*;
import common.utils.*;
public class ModelFactory {
private var _type:String;
public function ModelFactory(_arg1:String){
_type = _arg1;
}
public function getModel(_arg1:int=-1):MovieClip{
var _local2:String = ("assets.models::" + _type);
var _local3:Number = 1;
if (_arg1 == Directions.LEFT_DOWN){
_arg1 = Directions.RIGHT_DOWN;
_local3 = -1;
} else {
if (_arg1 == Directions.LEFT){
_arg1 = Directions.RIGHT;
_local3 = -1;
} else {
if (_arg1 == Directions.LEFT_UP){
_arg1 = Directions.RIGHT_UP;
_local3 = -1;
};
};
};
if (_arg1 >= 0){
_local2 = (_local2 + _arg1);
};
var _local4:MovieClip = (ObjectUtil.createInstance(_local2) as MovieClip);
(ObjectUtil.createInstance(_local2) as MovieClip).scaleX = (_local4.scaleX * _local3);
return (_local4);
}
}
}//package components
Section 69
//MoveByPathAction (components.MoveByPathAction)
package components {
import flash.events.*;
import flash.display.*;
import common.events.*;
public class MoveByPathAction {
private var _direction:int;
private var _path:Array;
private var _speed:Number;
private var _completeEvent:EventSender;
private var _directionChangeEvent:EventSender;
private var _executed:Boolean;// = false
private var _dx:Number;
private var _dy:Number;
private var _content:DisplayObject;
private var _counter:int;
public function MoveByPathAction(_arg1:DisplayObject, _arg2:Number=1){
_completeEvent = new EventSender(this);
_directionChangeEvent = new EventSender(this);
super();
_content = _arg1;
_speed = _arg2;
}
public function get speed():Number{
return (_speed);
}
public function get directionChangeEvent():EventSender{
return (_directionChangeEvent);
}
public function set speed(_arg1:Number):void{
_speed = _arg1;
}
public function get executed():Boolean{
return (_executed);
}
private function processMoving(_arg1:Event):void{
_content.x = (_content.x + _dx);
_content.y = (_content.y + _dy);
if (--_counter == 0){
moveToPath();
};
}
public function get completeEvent():EventSender{
return (_completeEvent);
}
private function handle(_arg1:Function):void{
if (_arg1 != null){
_arg1(this);
};
}
public function stopMoving(_arg1:Event=null):void{
if (_executed){
_executed = false;
_content.removeEventListener(Event.REMOVED_FROM_STAGE, stopMoving);
_content.removeEventListener(Event.ENTER_FRAME, processMoving);
};
}
private function moveToPath():void{
if (_path.length == 0){
stopMoving();
_completeEvent.sendEvent();
Global.instance.game.removeCommand();
return;
};
var _local1:Number = (_path[0].x - _content.x);
var _local2:Number = (_path[0].y - _content.y);
var _local3:Number = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_direction = Directions.getDirection(_local1, _local2);
_directionChangeEvent.sendEvent();
_counter = Math.ceil((_local3 / _speed));
_dx = (_local1 / _counter);
_dy = (_local2 / _counter);
_path.splice(0, 1);
}
public function execute(_arg1:Array):void{
if (_executed){
stopMoving();
};
if (_arg1){
_path = _arg1.slice();
_path.splice(0, 1);
};
_executed = true;
_content.addEventListener(Event.REMOVED_FROM_STAGE, stopMoving);
_content.addEventListener(Event.ENTER_FRAME, processMoving);
moveToPath();
}
public function get content():DisplayObject{
return (_content);
}
public function get direction():int{
return (_direction);
}
}
}//package components
Section 70
//MuteButton (components.MuteButton)
package components {
import flash.events.*;
import flash.display.*;
import common.events.*;
public class MuteButton {
private var _muted:Boolean;
private var _clickEvent:EventSender;
private var _content:MovieClip;
public function MuteButton(_arg1:MovieClip){
_clickEvent = new EventSender(this);
super();
_content = _arg1;
_content.addEventListener(MouseEvent.CLICK, onClick);
refresh();
}
private function onClick(_arg1:MouseEvent):void{
muted = !(muted);
_clickEvent.sendEvent();
}
public function get muted():Boolean{
return (_muted);
}
public function get clickEvent():EventSender{
return (_clickEvent);
}
public function set muted(_arg1:Boolean):void{
if (_muted != _arg1){
_muted = _arg1;
refresh();
};
}
private function refresh():void{
if (_muted){
_content.gotoAndStop(2);
} else {
_content.gotoAndStop(1);
};
}
}
}//package components
Section 71
//PathBuilder (components.PathBuilder)
package components {
import flash.display.*;
import flash.geom.*;
import common.utils.*;
public class PathBuilder {
private var _points:Array;
private var _dirJ:Array;
private var _gridSize:int;
private var _dirI:Array;
private var _path:Array;
private var _success:Boolean;
private var _usedList:Array;
private var _ground:Sprite;
private var _numDirs:int;
private var _m:int;
private var _n:int;
private var _startPoint:PathPoint;
private var _currentStep:int;
private var _finishPoint:PathPoint;
private var _outerPoints:Array;
private static const DEBUG_MODE:Boolean = false;
public function PathBuilder(_arg1:Sprite, _arg2:int=10){
_dirI = [0, 1, 1, 1, 0, -1, -1, -1];
_dirJ = [1, 1, 0, -1, -1, -1, 0, 1];
super();
_ground = _arg1;
_gridSize = _arg2;
_numDirs = _dirI.length;
if (!DEBUG_MODE){
_arg1.alpha = 0;
};
createPoints();
linkPoints();
}
private function resetUsedPoints():void{
var _local1:Array;
var _local2:PathPoint;
_startPoint.stepNum = -1;
_finishPoint.stepNum = -1;
for each (_local1 in _usedList) {
for each (_local2 in _local1) {
_local2.stepNum = -1;
};
};
}
private function getPathPoint(_arg1:Point):PathPoint{
var _local6:PathPoint;
var _local2:int = MathUtil.claimRange((_arg1.y / _gridSize), 0, (_n - 1));
var _local3:int = MathUtil.claimRange((_arg1.x / _gridSize), 0, (_m - 1));
var _local4:PathPoint = _points[_local2][_local3];
var _local5:int;
while (((!(_local4.enabled)) && ((_local5 < _numDirs)))) {
_local6 = _local4.links[_local5];
if (_local6){
_local4 = _local6;
};
_local5++;
};
return ((_local4.enabled) ? _local4 : null);
}
private function createPoints():void{
var _local4:int;
var _local5:PathPoint;
var _local1:Rectangle = _ground.getBounds(_ground);
var _local2:BitmapData = new BitmapData(_local1.right, _local1.bottom, false, 0);
_local2.draw(_ground);
_n = (_local1.bottom / _gridSize);
_m = (_local1.right / _gridSize);
_points = new Array(_n);
var _local3:int;
while (_local3 < _n) {
_points[_local3] = new Array(_m);
_local4 = 0;
while (_local4 < _m) {
_local5 = new PathPoint();
_local5.i = _local3;
_local5.j = _local4;
_local5.x = ((_local4 + 0.5) * _gridSize);
_local5.y = ((_local3 + 0.5) * _gridSize);
_local5.stepNum = -1;
_local5.enabled = !((_local2.getPixel(_local5.x, _local5.y) == 0));
_points[_local3][_local4] = _local5;
if (((DEBUG_MODE) && (_local5.enabled))){
_debug_draw_path_point(_local5);
};
_local4++;
};
_local3++;
};
}
private function doIteration():void{
var _local2:PathPoint;
var _local3:PathPoint;
var _local1:Array = [];
for each (_local2 in _outerPoints) {
for each (_local3 in _local2.links) {
if (((((!(_local3)) || (!(_local3.enabled)))) || ((_local3.stepNum >= 0)))){
} else {
if (_local3 == _finishPoint){
_success = true;
};
_local3.stepNum = _currentStep;
_local1.push(_local3);
};
};
};
_usedList.push(_local1);
if (!_success){
_outerPoints = _local1;
};
}
private function _debug_drawPath():void{
if (((!(_path)) || ((_path.length == 0)))){
return;
};
var _local1:Sprite = _ground;
Debug.drawPoint(_local1, _path[0], 0xFF);
var _local2:int;
while (_local2 < (_path.length - 1)) {
_local1.graphics.lineStyle(0.5, 0xFF);
_local1.graphics.moveTo(_path[_local2].x, _path[_local2].y);
_local1.graphics.lineTo(_path[(_local2 + 1)].x, _path[(_local2 + 1)].y);
Debug.drawPoint(_local1, _path[(_local2 + 1)], 0xFF);
_local2++;
};
}
private function doDefaultSearch():Boolean{
_currentStep = 0;
_startPoint.stepNum = 0;
_outerPoints = [_startPoint];
_usedList = [];
_success = false;
do {
_currentStep++;
doIteration();
} while (((!(_success)) && ((_outerPoints.length > 0))));
if (_success){
buildPath();
};
resetUsedPoints();
return (_success);
}
private function distance2(_arg1:PathPoint, _arg2:PathPoint):int{
var _local3:int = (_arg2.x - _arg1.x);
var _local4:int = (_arg2.y - _arg1.y);
return (((_local3 * _local3) + (_local4 * _local4)));
}
public function _debug_draw_path_point(_arg1:PathPoint):void{
var _local2:int;
if (_arg1.enabled){
_local2 = 0xFF;
} else {
_local2 = 0xAAAAAA;
};
Debug.drawPoint(_ground, _arg1.toPoint(), _local2);
}
public function getPath(_arg1:Point, _arg2:Point):Array{
_path = [];
_startPoint = getPathPoint(_arg1);
_finishPoint = getPathPoint(_arg2);
if (DEBUG_MODE){
_debug_clear();
};
if (((!(_startPoint)) || (!(_finishPoint)))){
return (null);
};
if (_startPoint == _finishPoint){
return ([]);
};
if (doSimpleSearch()){
if (DEBUG_MODE){
trace("simple");
};
} else {
if (doDefaultSearch()){
if (DEBUG_MODE){
trace("default");
};
};
};
if (DEBUG_MODE){
_debug_drawPath();
};
return (_path);
}
private function checkLine(_arg1:PathPoint, _arg2:PathPoint):Boolean{
var _local5:int;
var _local3:int = MathUtil.sign((_arg2.i - _arg1.i));
var _local4:int = MathUtil.sign((_arg2.j - _arg1.j));
var _local6:int;
while (_local6 < _numDirs) {
if ((((_dirI[_local6] == _local3)) && ((_dirJ[_local6] == _local4)))){
_local5 = _local6;
break;
};
_local6++;
};
var _local7:PathPoint = _arg1;
while (_local7 != _arg2) {
_local7 = _local7.links[_local5];
if (DEBUG_MODE){
_debug_draw_path_point(_local7);
};
if (!_local7.enabled){
return (false);
};
};
return (true);
}
private function doSimpleSearch():Boolean{
var _local3:int;
var _local4:int;
var _local1:int = _startPoint.i;
var _local2:int = _startPoint.j;
var _local5:int = _finishPoint.i;
var _local6:int = _finishPoint.j;
var _local7:int = (_local5 - _local1);
var _local8:int = (_local6 - _local2);
var _local9:int = Math.abs(_local7);
var _local10:int = Math.abs(_local8);
if (_local10 > _local9){
_local3 = _local1;
if (_local8 > 0){
_local4 = (_local6 - _local9);
} else {
_local4 = (_local6 + _local9);
};
} else {
_local4 = _local2;
if (_local7 > 0){
_local3 = (_local5 - _local10);
} else {
_local3 = (_local5 + _local10);
};
};
var _local11:PathPoint = _points[_local3][_local4];
if (!checkLine(_startPoint, _local11)){
return (false);
};
if (!checkLine(_finishPoint, _local11)){
return (false);
};
_path = [_startPoint.toPoint()];
if (((!((_local11 == _startPoint))) && (!((_local11 == _finishPoint))))){
_path.push(_local11.toPoint());
};
_path.push(_finishPoint.toPoint());
return (true);
}
public function _debug_clear():void{
_ground.graphics.clear();
}
private function buildPath():void{
var _local4:int;
var _local5:PathPoint;
var _local6:int;
var _local7:PathPoint;
var _local8:int;
var _local1:PathPoint = _finishPoint;
var _local2:Array = [_finishPoint];
_finishPoint.direction = -1;
while (_local1 != _startPoint) {
_local5 = null;
_local6 = 0;
while (_local6 < _numDirs) {
_local7 = _local1.links[_local6];
if (((!(_local7)) || (!((_local7.stepNum == (_local1.stepNum - 1)))))){
} else {
_local8 = distance2(_local7, _local1);
if (((!(_local5)) || ((_local8 < _local4)))){
_local4 = _local8;
_local5 = _local7;
_local5.direction = _local6;
};
};
_local6++;
};
_local2.push(_local5);
_local1 = _local5;
};
_path = [_startPoint.toPoint()];
var _local3:int = (_local2.length - 2);
while (_local3 >= 0) {
if (_local2[_local3].direction != _local2[(_local3 + 1)].direction){
_path.push(_local2[_local3].toPoint());
};
_local3--;
};
}
private function linkPoints():void{
var _local1:int;
var _local2:int;
var _local3:PathPoint;
var _local5:int;
var _local6:int;
var _local4:int;
while (_local4 < _n) {
_local5 = 0;
while (_local5 < _m) {
_local3 = _points[_local4][_local5];
_local6 = 0;
while (_local6 < _numDirs) {
_local1 = (_local4 + _dirI[_local6]);
_local2 = (_local5 + _dirJ[_local6]);
_local3.links[_local6] = ((((((((_local1 >= 0)) && ((_local1 < _n)))) && ((_local2 >= 0)))) && ((_local2 < _m)))) ? _points[_local1][_local2] : null;
_local6++;
};
_local5++;
};
_local4++;
};
}
}
}//package components
import flash.geom.*;
class PathPoint {
public var links:Array;
public var enabled:Boolean;
public var i:int;
public var j:int;
public var x:int;
public var y:int;
public var stepNum:int;
public var direction:int;
private function PathPoint(){
links = [];
super();
}
public function toPoint():Point{
return (new Point(x, y));
}
}
Section 72
//ProgressBar (components.ProgressBar)
package components {
import flash.display.*;
import common.utils.*;
public class ProgressBar {
private var _content:Sprite;
private var _value:Number;// = 0
private var _line:Sprite;
private var _y0:Number;
private static const LINE_NAME:String = "mcLine";
public function ProgressBar(_arg1:Sprite){
_content = _arg1;
_line = _arg1[LINE_NAME];
_y0 = _line.y;
refresh();
}
public function set value(_arg1:Number):void{
_value = MathUtil.claimRange(_arg1, 0, 1);
refresh();
}
public function set visible(_arg1:Boolean):void{
_content.visible = _arg1;
}
public function get value():Number{
return (_value);
}
public function get visible():Boolean{
return (_content.visible);
}
private function refresh():void{
_line.y = (_y0 + ((1 - _value) * _line.height));
}
}
}//package components
Section 73
//Sounds (components.Sounds)
package components {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class Sounds {
private static const DEFAULT_VOLUME:Number = 1;
private static var _musicVolume:Number = 1;
private static var _musicClass:Class;
private static var _nowPlaying:Dictionary = new Dictionary();
private static var _musicChannel:SoundChannel;
public static function get muted():Boolean{
return ((_musicVolume == 0));
}
private static function setMusicVolume(_arg1:Number):void{
_musicVolume = _arg1;
if (_musicChannel){
_musicChannel.soundTransform = new SoundTransform(_musicVolume);
};
}
public static function playMusic(_arg1:Class):void{
if (_musicChannel){
_musicChannel.stop();
};
_musicClass = _arg1;
var _local2:Sound = new (_arg1);
_musicChannel = _local2.play(0, 0, new SoundTransform(_musicVolume));
_musicChannel.addEventListener(Event.SOUND_COMPLETE, onMusicComplete);
}
public static function play(_arg1:Class, _arg2:Boolean=false):void{
var sound:Sound;
var channel:SoundChannel;
var soundClass = _arg1;
var playSafe = _arg2;
if (((!(playSafe)) || (!((soundClass in _nowPlaying))))){
sound = new (soundClass);
channel = sound.play(0, 0, new SoundTransform(_musicVolume));
channel.addEventListener(Event.SOUND_COMPLETE, function (_arg1:Event):void{
delete _nowPlaying[soundClass];
});
_nowPlaying[soundClass] = true;
};
}
public static function mute():void{
if (_musicVolume == 0){
setMusicVolume(DEFAULT_VOLUME);
} else {
setMusicVolume(0);
};
}
private static function onMusicComplete(_arg1:Event):void{
playMusic(_musicClass);
}
}
}//package components
Section 74
//ZOrder (components.ZOrder)
package components {
import flash.events.*;
import flash.display.*;
public class ZOrder {
private var _content:Sprite;
public function ZOrder(_arg1:Sprite){
_content = _arg1;
_content.addEventListener(Event.ADDED_TO_STAGE, startMonitoring);
_content.addEventListener(Event.REMOVED_FROM_STAGE, stopMonitoring);
if (_content.stage){
startMonitoring();
};
}
private function startMonitoring(_arg1:Event=null):void{
_content.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(_arg1:Event):void{
var _local4:DisplayObject;
var _local5:int;
if (_content.numChildren == 0){
return;
};
var _local2:DisplayObject = _content.getChildAt(0);
var _local3 = 1;
while (_local3 < _content.numChildren) {
_local4 = _content.getChildAt(_local3);
if (_local4.y < _local2.y){
_local5 = (_local3 - 1);
while ((((_local5 >= 0)) && ((_local4.y < _content.getChildAt(_local5).y)))) {
_local5--;
};
_content.setChildIndex(_local4, (_local5 + 1));
} else {
_local2 = _local4;
};
_local3++;
};
}
private function stopMonitoring(_arg1:Event=null):void{
_content.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
}
}//package components
Section 75
//hmarka_dumky_79 (flower_shop_fla.hmarka_dumky_79)
package flower_shop_fla {
import flash.display.*;
public dynamic class hmarka_dumky_79 extends MovieClip {
public function hmarka_dumky_79(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package flower_shop_fla
Section 76
//svynka_2_235 (flower_shop_fla.svynka_2_235)
package flower_shop_fla {
import flash.display.*;
public dynamic class svynka_2_235 extends MovieClip {
public function svynka_2_235(){
addFrameScript(10, frame11);
}
function frame11(){
stop();
}
}
}//package flower_shop_fla
Section 77
//BrandingLogo_11 (flower_shop_intro_fla.BrandingLogo_11)
package flower_shop_intro_fla {
import flash.display.*;
import flash.text.*;
public dynamic class BrandingLogo_11 extends MovieClip {
public var txtTranslation:TextField;
public var mc_cn:MovieClip;
public var mc_jp:MovieClip;
public function BrandingLogo_11(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package flower_shop_intro_fla
Section 78
//flag_icon_162 (flower_shop_intro_fla.flag_icon_162)
package flower_shop_intro_fla {
import flash.display.*;
public dynamic class flag_icon_162 extends MovieClip {
public function flag_icon_162(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package flower_shop_intro_fla
Section 79
//MovePlayerToClientAction (game.casual.actions.MovePlayerToClientAction)
package game.casual.actions {
import game.casual.commands.*;
import game.casual.objects.*;
import flash.geom.*;
public class MovePlayerToClientAction extends CasualCommandBase {
public function get client():Client{
return (Client(target));
}
override public function execute():void{
if (!player.enabled){
return;
};
var _local1:Point = client.position;
var _local2:Array = casualGame.pathBuilder.getPath(player.position, _local1);
if (_local2){
player.moveToTarget(client, _local2);
};
}
}
}//package game.casual.actions
Section 80
//MoveSelectionHereAction (game.casual.actions.MoveSelectionHereAction)
package game.casual.actions {
import game.casual.commands.*;
import game.casual.objects.*;
import flash.geom.*;
public class MoveSelectionHereAction extends CasualCommandBase {
override public function execute():void{
var _local2:Point;
var _local3:Array;
var _local1:ActiveObject = global.game.selection;
if (!_local1){
return;
};
if ((((((_local1 is Client)) && (entry.accetpClientActionClass))) && ((((entry.orders.length == 0)) || ((_local1 as Client).isOrderAcceptable(entry.order)))))){
_local2 = entry.clientEntryPoint;
} else {
if ((((_local1 is Player)) && (entry.accetpPlayerActionClass))){
_local2 = entry.playerEntryPoint;
};
};
if (_local2){
_local3 = casualGame.pathBuilder.getPath(_local1.position, _local2);
if (_local3){
_local1.moveToTarget(entry, _local3);
if ((_local1 is Client)){
casualGame.resetClientPoint((_local1 as Client));
};
};
};
}
}
}//package game.casual.actions
Section 81
//PlayerClearOrdersAction (game.casual.actions.PlayerClearOrdersAction)
package game.casual.actions {
import game.casual.commands.*;
public class PlayerClearOrdersAction extends CasualCommandBase {
override public function execute():void{
if (player.orders.length){
casualGame.numTrashUse++;
};
player.orders = [];
player.setDefaultModel();
}
}
}//package game.casual.actions
Section 82
//PlayerGetCustomOrderAction (game.casual.actions.PlayerGetCustomOrderAction)
package game.casual.actions {
import flash.display.*;
import common.flash.*;
import game.casual.commands.*;
import components.*;
public class PlayerGetCustomOrderAction extends CasualCommandBase {
private var _animation:MovieClip;
private var _inOrder:String;
private var _outOrder:String;
private function doAction():void{
var _local1:MoviePlayer;
player.removeOrder(_inOrder);
_animation = entry.getOrderAnimation(_outOrder);
if (_animation){
goIn();
player.setModel(entry.playerDirection);
_animation = entry.getOrderAnimation(_outOrder);
_animation.visible = true;
_local1 = new MoviePlayer(_animation);
_local1.completeEvent.addListener(onActionComplete);
_local1.execute();
if (entry.playSound){
Sounds.play(entry.playSound);
};
} else {
entry.currentOrder = _outOrder;
getOrder();
};
}
private function onActionComplete(_arg1:Object):void{
entry.currentOrder = _outOrder;
goOut();
dispathComplete();
}
public function resolveOrders():void{
var _local1:int;
while (_local1 < entry.necessaryOrders.length) {
if (player.hasOrder(entry.necessaryOrders[_local1])){
_inOrder = entry.necessaryOrders[_local1];
_outOrder = entry.orders[_local1];
};
_local1++;
};
}
override public function execute():void{
if (entry.currentOrder){
if (player.orders.length >= player.maxOrders){
player.setDefaultModel();
return;
};
getOrder();
} else {
resolveOrders();
if (_inOrder){
doAction();
};
};
}
private function getOrder():void{
trace("entry.currentOrder ", entry.currentOrder);
_animation = entry.getOrderAnimation(entry.currentOrder);
_animation.gotoAndStop(1);
_animation.visible = false;
player.addOrder(entry.currentOrder);
player.setDefaultModel();
entry.currentOrder = null;
dispathComplete();
}
}
}//package game.casual.actions
Section 83
//PlayerGetOrderAction (game.casual.actions.PlayerGetOrderAction)
package game.casual.actions {
import common.flash.*;
import game.casual.commands.*;
import components.*;
public class PlayerGetOrderAction extends CasualCommandBase {
private function getOrder():void{
player.addOrder(entry.order);
player.setDefaultModel();
}
private function doAction():void{
var _local1:String;
var _local2:MoviePlayer;
for each (_local1 in entry.necessaryOrders) {
player.removeOrder(_local1);
};
if (entry.animation){
goIn();
player.setModel(entry.playerDirection);
_local2 = new MoviePlayer(entry.animation);
_local2.completeEvent.addListener(onActionComplete);
_local2.execute();
} else {
getOrder();
};
}
override public function execute():void{
var _local1:String;
if ((player.orders.length - entry.necessaryOrders.length) >= player.maxOrders){
player.setDefaultModel();
return;
};
if (entry.startSound){
Sounds.play(entry.startSound);
};
for each (_local1 in entry.necessaryOrders) {
if (!player.hasOrder(_local1)){
player.setDefaultModel();
return;
};
};
doAction();
}
private function onActionComplete(_arg1:Object):void{
entry.animation.gotoAndStop(1);
getOrder();
goOut();
}
}
}//package game.casual.actions
Section 84
//PlayerOrdersToClientAction (game.casual.actions.PlayerOrdersToClientAction)
package game.casual.actions {
import game.casual.commands.*;
import game.casual.objects.*;
import components.*;
public class PlayerOrdersToClientAction extends CasualCommandBase {
public function get client():Client{
return (Client(target));
}
override public function execute():void{
var _local2:String;
var _local1:Array = player.orders.slice();
for each (_local2 in _local1) {
if (client.isOrderAcceptable(_local2)){
player.removeOrder(_local2);
new ApplyOrderCommand(client, _local2).execute();
if (client.isAllOrdersCompleted){
casualGame.customers++;
trace("casualGame.customers = ", casualGame.customers, " Global.CUSTOMERS[Global.level_num - 1] = ", Global.CUSTOMERS[(Global.level_num - 1)]);
if (casualGame.customers == Global.CUSTOMERS[(Global.level_num - 1)]){
trace("I see that all offers are OK and I stop all game");
if (!casualGame.disposed){
casualGame.dispose();
};
};
new CompleteClientCommand(client).execute();
};
if ((((client.loyality < 3)) && ((((client.orders.length == 2)) && (!(client.isAllOrdersCompleted)))))){
trace("before changing client.loyality = ", client.loyality);
client.loyality++;
trace("after changing client.loyality = ", client.loyality);
if (client.loyality == 3){
CharModel(client.content.getChildAt(0)).setModel();
} else {
if (client.loyality > 0){
CharModel(client.content.getChildAt(0)).setModel(client.loyality);
};
};
new ShowSmileCommand(client).execute();
};
};
player.setDefaultModel();
};
}
}
}//package game.casual.actions
Section 85
//SelectTargetAction (game.casual.actions.SelectTargetAction)
package game.casual.actions {
import game.casual.commands.*;
import game.casual.objects.*;
public class SelectTargetAction extends CasualCommandBase {
override public function execute():void{
global.game.selection = ActiveObject(target);
Global.instance.game.removeCommand();
}
}
}//package game.casual.actions
Section 86
//AssistBase (game.casual.commands.assists.AssistBase)
package game.casual.commands.assists {
import flash.display.*;
import game.*;
import game.casual.objects.*;
import flash.geom.*;
import flash.text.*;
import assets.*;
import common.utils.*;
public class AssistBase extends CommandBase {
protected static var _canceled:Boolean = false;
private static var _arrow:McHelpArrow;
override public function cancel():void{
trace("make cancle!!!!!!!!!!!!!!");
super.cancel();
hideArrow();
_canceled = true;
}
protected function hideArrow():void{
if (_arrow.parent){
GraphUtil.detachFromDisplay(_arrow);
};
}
protected function getClientEntry():EntryObject{
var _local2:EntryObject;
var _local1:Array = casualGame.getEntries();
for each (_local2 in _local1) {
if (_local2.client == client){
return (_local2);
};
};
return (null);
}
protected function complete():void{
hideArrow();
dispathComplete();
}
protected function get client():Client{
return (casualGame.clients[0]);
}
protected function getArrowPosition(_arg1:Sprite):Point{
var _local2:Rectangle = _arg1.getBounds(casualGame.orderedSprite);
return (new Point((_local2.left + 15), (_local2.top + 20)));
}
public function createArrow(_arg1:Sprite, _arg2:String=""):void{
if (!_arrow){
_arrow = new McHelpArrow();
};
GraphUtil.setPosition(_arrow, getArrowPosition(_arg1));
TextField(_arrow.txtMessage).text = _arg2;
casualGame.orderedSprite.parent.addChild(_arrow);
_arrow.mouseChildren = false;
_arrow.mouseEnabled = false;
}
protected function findEntries(_arg1:String):Array{
var _local4:EntryObject;
var _local2:Array = [];
var _local3:Array = casualGame.getEntries();
for each (_local4 in _local3) {
if (_local4.hasOrder(_arg1)){
_local2.push(_local4);
};
};
return (_local2);
}
}
}//package game.casual.commands.assists
Section 87
//ClientAssist (game.casual.commands.assists.ClientAssist)
package game.casual.commands.assists {
public class ClientAssist extends AssistBase {
override public function execute():void{
client.selectedChangeEvent.addListener(onClientSelected);
client.acceptPlayerEvent.addListener(onClientSelected);
createArrow(client.content);
}
private function onClientSelected(_arg1:Object):void{
client.acceptPlayerEvent.removeListener(onClientSelected);
client.selectedChangeEvent.removeListener(onClientSelected);
complete();
}
}
}//package game.casual.commands.assists
Section 88
//PlayerOrderAssist (game.casual.commands.assists.PlayerOrderAssist)
package game.casual.commands.assists {
import game.casual.objects.*;
public class PlayerOrderAssist extends AssistBase {
private var _order:String;
private var _entries:Array;
private var _entry:EntryObject;
public function PlayerOrderAssist(_arg1:String=null){
_canceled = false;
_order = _arg1;
}
override public function cancel():void{
super.cancel();
removeListeners();
}
private function doCurrentAction(_arg1:Object=null):void{
trace("do current action _canceled = ", _canceled);
if (!_canceled){
addListeners();
createArrow(_entry.content);
};
}
private function onAcceptPlayer(_arg1:EntryObject):void{
if (((player.hasOrder(_order)) || (_arg1.needPlayer))){
removeListeners();
complete();
} else {
if (!_canceled){
hideArrow();
createArrow(_arg1.content);
};
};
}
override public function execute():void{
var _local1:String;
var _local2:PlayerOrderAssist;
trace("PlayerOrderAssist execute");
if (!_order){
_order = client.order;
};
_entries = findEntries(_order);
_entry = _entries[0];
if (_entry.necessaryOrders.length > 0){
_local1 = _entry.necessaryOrders[_entry.orders.indexOf(_order)];
if (player.hasOrder(_local1)){
doCurrentAction();
} else {
_local2 = new PlayerOrderAssist(_local1);
_local2.completeEvent.addListener(doCurrentAction);
_local2.execute();
};
} else {
doCurrentAction();
};
}
private function removeListeners():void{
var _local1:EntryObject;
for each (_local1 in _entries) {
if (_local1.acceptPlayerEvent.hasListener(onAcceptPlayer)){
_local1.acceptPlayerEvent.removeListener(onAcceptPlayer);
};
};
}
private function addListeners():void{
var _local1:EntryObject;
for each (_local1 in _entries) {
_local1.acceptPlayerEvent.addListener(onAcceptPlayer);
};
}
}
}//package game.casual.commands.assists
Section 89
//CreateDragstoreCommand (game.casual.commands.games.CreateDragstoreCommand)
package game.casual.commands.games {
import flash.display.*;
import game.*;
import game.casual.*;
import game.casual.objects.*;
import assets.dragstore.*;
import game.casual.actions.*;
import game.casual.commands.assists.*;
public class CreateDragstoreCommand extends CreateGameCommandBase {
private var _content:McDragstoreScreen;
override protected function get content():Sprite{
return (_content);
}
override protected function get playerModelType():String{
return (Models.DOCTOR_TOOL);
}
override protected function get orders():Array{
return ([OrderTypes.FLOW_POT_R_SEED_B, OrderTypes.FLOW_POT_Y_SEED_B, OrderTypes.FLOW_POT_B_SEED_B, OrderTypes.FLOW_POT_R_SEED_Y, OrderTypes.FLOW_POT_Y_SEED_Y, OrderTypes.FLOW_POT_B_SEED_Y, OrderTypes.FLOW_POT_R_SEED_R, OrderTypes.FLOW_POT_Y_SEED_R, OrderTypes.FLOW_POT_B_SEED_R, OrderTypes.FLOW_POT_R_SEED_B_WATER, OrderTypes.FLOW_POT_Y_SEED_B_WATER, OrderTypes.FLOW_POT_B_SEED_B_WATER, OrderTypes.FLOW_POT_R_SEED_Y_WATER, OrderTypes.FLOW_POT_Y_SEED_Y_WATER, OrderTypes.FLOW_POT_B_SEED_Y_WATER, OrderTypes.FLOW_POT_R_SEED_R_WATER, OrderTypes.FLOW_POT_Y_SEED_R_WATER, OrderTypes.FLOW_POT_B_SEED_R_WATER, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_R_CUT, OrderTypes.FLOW_POT_R_SEED_B_PACK_R, OrderTypes.FLOW_POT_Y_SEED_B_PACK_R, OrderTypes.FLOW_POT_B_SEED_B_PACK_R, OrderTypes.FLOW_POT_R_SEED_Y_PACK_R, OrderTypes.FLOW_POT_Y_SEED_Y_PACK_R, OrderTypes.FLOW_POT_B_SEED_Y_PACK_R, OrderTypes.FLOW_POT_R_SEED_R_PACK_R, OrderTypes.FLOW_POT_Y_SEED_R_PACK_R, OrderTypes.FLOW_POT_B_SEED_R_PACK_R, OrderTypes.FLOW_POT_R_SEED_B_WATER_PACK_R, OrderTypes.FLOW_POT_Y_SEED_B_WATER_PACK_R, OrderTypes.FLOW_POT_B_SEED_B_WATER_PACK_R, OrderTypes.FLOW_POT_R_SEED_R_WATER_PACK_R, OrderTypes.FLOW_POT_Y_SEED_R_WATER_PACK_R, OrderTypes.FLOW_POT_B_SEED_R_WATER_PACK_R, OrderTypes.FLOW_POT_R_SEED_Y_WATER_PACK_R, OrderTypes.FLOW_POT_Y_SEED_Y_WATER_PACK_R, OrderTypes.FLOW_POT_B_SEED_Y_WATER_PACK_R, OrderTypes.FLOW_SEED_Y_CUT_PACK_G, OrderTypes.FLOW_SEED_B_CUT_PACK_G, OrderTypes.FLOW_SEED_R_CUT_PACK_G]);
}
override public function get clientAcceptAction():Class{
return (PlayerOrdersToClientAction);
}
override public function get clientPressAction():Class{
return (MovePlayerToClientAction);
}
override public function execute():void{
super.execute();
casualGame.selection = player;
}
override public function initializeAssist():void{
if (Global.SHOW_HINT[(Global.level_num - 1)]){
casualGame.assistCommand.add(new PlayerOrderAssist());
casualGame.assistCommand.add(new ClientAssist());
} else {
casualGame.assistCommand.cancel();
};
}
override protected function createEntries():void{
var _local1:EntryObject;
_local1 = new EntryObject(_content.mcStuffG);
_local1.useble = true;
_local1.helpMessage = "";
_local1.startSound = Global.SND_POTS;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetOrderAction;
_local1.orders = [OrderTypes.FLOW_POT_B];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcStuffR);
_local1.useble = true;
_local1.helpMessage = "";
_local1.startSound = Global.SND_POTS;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetOrderAction;
_local1.orders = [OrderTypes.FLOW_POT_R];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcStuffY);
_local1.useble = true;
_local1.helpMessage = "";
_local1.startSound = Global.SND_POTS;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetOrderAction;
_local1.orders = [OrderTypes.FLOW_POT_Y];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcDust1);
_local1.useble = true;
_local1.helpMessage = "";
_local1.helpMessageExtra = "";
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.actionDuration = config.actionDuration;
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R, OrderTypes.FLOW_POT_Y, OrderTypes.FLOW_POT_B];
_local1.orders = [OrderTypes.FLOW_POT_R_SEED_R, OrderTypes.FLOW_POT_Y_SEED_R, OrderTypes.FLOW_POT_B_SEED_R];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcDust2);
_local1.useble = true;
_local1.helpMessage = "";
_local1.helpMessageExtra = "";
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.actionDuration = config.actionDuration;
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R, OrderTypes.FLOW_POT_Y, OrderTypes.FLOW_POT_B];
_local1.orders = [OrderTypes.FLOW_POT_R_SEED_B, OrderTypes.FLOW_POT_Y_SEED_B, OrderTypes.FLOW_POT_B_SEED_B];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcDust3);
_local1.useble = true;
_local1.helpMessage = "";
_local1.helpMessageExtra = "";
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.actionDuration = config.actionDuration;
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R, OrderTypes.FLOW_POT_Y, OrderTypes.FLOW_POT_B];
_local1.orders = [OrderTypes.FLOW_POT_R_SEED_Y, OrderTypes.FLOW_POT_Y_SEED_Y, OrderTypes.FLOW_POT_B_SEED_Y];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcFluid1);
if (Global.level_num > 1){
_local1.useble = true;
};
_local1.playSound = Global.SND_WATER;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.orders = [OrderTypes.FLOW_POT_R_SEED_B_WATER, OrderTypes.FLOW_POT_Y_SEED_B_WATER, OrderTypes.FLOW_POT_B_SEED_B_WATER, OrderTypes.FLOW_POT_R_SEED_Y_WATER, OrderTypes.FLOW_POT_Y_SEED_Y_WATER, OrderTypes.FLOW_POT_B_SEED_Y_WATER, OrderTypes.FLOW_POT_R_SEED_R_WATER, OrderTypes.FLOW_POT_Y_SEED_R_WATER, OrderTypes.FLOW_POT_B_SEED_R_WATER];
_local1.actionDuration = config.actionDuration;
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R_SEED_B, OrderTypes.FLOW_POT_Y_SEED_B, OrderTypes.FLOW_POT_B_SEED_B, OrderTypes.FLOW_POT_R_SEED_Y, OrderTypes.FLOW_POT_Y_SEED_Y, OrderTypes.FLOW_POT_B_SEED_Y, OrderTypes.FLOW_POT_R_SEED_R, OrderTypes.FLOW_POT_Y_SEED_R, OrderTypes.FLOW_POT_B_SEED_R];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcFluid2);
if (Global.level_num > 1){
_local1.useble = true;
};
_local1.playSound = Global.SND_WATER;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.orders = [OrderTypes.FLOW_POT_R_SEED_B_WATER, OrderTypes.FLOW_POT_Y_SEED_B_WATER, OrderTypes.FLOW_POT_B_SEED_B_WATER, OrderTypes.FLOW_POT_R_SEED_Y_WATER, OrderTypes.FLOW_POT_Y_SEED_Y_WATER, OrderTypes.FLOW_POT_B_SEED_Y_WATER, OrderTypes.FLOW_POT_R_SEED_R_WATER, OrderTypes.FLOW_POT_Y_SEED_R_WATER, OrderTypes.FLOW_POT_B_SEED_R_WATER];
_local1.actionDuration = config.actionDuration;
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R_SEED_B, OrderTypes.FLOW_POT_Y_SEED_B, OrderTypes.FLOW_POT_B_SEED_B, OrderTypes.FLOW_POT_R_SEED_Y, OrderTypes.FLOW_POT_Y_SEED_Y, OrderTypes.FLOW_POT_B_SEED_Y, OrderTypes.FLOW_POT_R_SEED_R, OrderTypes.FLOW_POT_Y_SEED_R, OrderTypes.FLOW_POT_B_SEED_R];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcFluid3);
if (Global.level_num > 1){
_local1.useble = true;
};
_local1.playSound = Global.SND_WATER;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.orders = [OrderTypes.FLOW_POT_R_SEED_B_WATER, OrderTypes.FLOW_POT_Y_SEED_B_WATER, OrderTypes.FLOW_POT_B_SEED_B_WATER, OrderTypes.FLOW_POT_R_SEED_Y_WATER, OrderTypes.FLOW_POT_Y_SEED_Y_WATER, OrderTypes.FLOW_POT_B_SEED_Y_WATER, OrderTypes.FLOW_POT_R_SEED_R_WATER, OrderTypes.FLOW_POT_Y_SEED_R_WATER, OrderTypes.FLOW_POT_B_SEED_R_WATER];
_local1.actionDuration = config.actionDuration;
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R_SEED_B, OrderTypes.FLOW_POT_Y_SEED_B, OrderTypes.FLOW_POT_B_SEED_B, OrderTypes.FLOW_POT_R_SEED_Y, OrderTypes.FLOW_POT_Y_SEED_Y, OrderTypes.FLOW_POT_B_SEED_Y, OrderTypes.FLOW_POT_R_SEED_R, OrderTypes.FLOW_POT_Y_SEED_R, OrderTypes.FLOW_POT_B_SEED_R];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcTab1);
if (Global.level_num > 2){
_local1.useble = true;
};
_local1.playSound = Global.SND_CUT;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.actionDuration = config.actionDuration;
_local1.orders = [OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_R_CUT, OrderTypes.FLOW_SEED_R_CUT, OrderTypes.FLOW_SEED_R_CUT];
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R_SEED_B_WATER, OrderTypes.FLOW_POT_Y_SEED_B_WATER, OrderTypes.FLOW_POT_B_SEED_B_WATER, OrderTypes.FLOW_POT_R_SEED_Y_WATER, OrderTypes.FLOW_POT_Y_SEED_Y_WATER, OrderTypes.FLOW_POT_B_SEED_Y_WATER, OrderTypes.FLOW_POT_R_SEED_R_WATER, OrderTypes.FLOW_POT_Y_SEED_R_WATER, OrderTypes.FLOW_POT_B_SEED_R_WATER];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcTab2);
if (Global.level_num > 2){
_local1.useble = true;
};
_local1.playSound = Global.SND_CUT;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.actionDuration = config.actionDuration;
_local1.orders = [OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_R_CUT, OrderTypes.FLOW_SEED_R_CUT, OrderTypes.FLOW_SEED_R_CUT];
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R_SEED_B_WATER, OrderTypes.FLOW_POT_Y_SEED_B_WATER, OrderTypes.FLOW_POT_B_SEED_B_WATER, OrderTypes.FLOW_POT_R_SEED_Y_WATER, OrderTypes.FLOW_POT_Y_SEED_Y_WATER, OrderTypes.FLOW_POT_B_SEED_Y_WATER, OrderTypes.FLOW_POT_R_SEED_R_WATER, OrderTypes.FLOW_POT_Y_SEED_R_WATER, OrderTypes.FLOW_POT_B_SEED_R_WATER];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcTab3);
if (Global.level_num > 2){
_local1.useble = true;
};
_local1.playSound = Global.SND_CUT;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.actionDuration = config.actionDuration;
_local1.orders = [OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_Y_CUT, OrderTypes.FLOW_SEED_R_CUT, OrderTypes.FLOW_SEED_R_CUT, OrderTypes.FLOW_SEED_R_CUT];
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R_SEED_B_WATER, OrderTypes.FLOW_POT_Y_SEED_B_WATER, OrderTypes.FLOW_POT_B_SEED_B_WATER, OrderTypes.FLOW_POT_R_SEED_Y_WATER, OrderTypes.FLOW_POT_Y_SEED_Y_WATER, OrderTypes.FLOW_POT_B_SEED_Y_WATER, OrderTypes.FLOW_POT_R_SEED_R_WATER, OrderTypes.FLOW_POT_Y_SEED_R_WATER, OrderTypes.FLOW_POT_B_SEED_R_WATER];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcPack1);
if (Global.level_num > 3){
_local1.useble = true;
};
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.actionDuration = config.actionDuration;
_local1.orders = [OrderTypes.FLOW_POT_R_SEED_B_WATER_PACK_R, OrderTypes.FLOW_POT_Y_SEED_B_WATER_PACK_R, OrderTypes.FLOW_POT_B_SEED_B_WATER_PACK_R, OrderTypes.FLOW_POT_R_SEED_Y_WATER_PACK_R, OrderTypes.FLOW_POT_Y_SEED_Y_WATER_PACK_R, OrderTypes.FLOW_POT_B_SEED_Y_WATER_PACK_R, OrderTypes.FLOW_POT_R_SEED_R_WATER_PACK_R, OrderTypes.FLOW_POT_Y_SEED_R_WATER_PACK_R, OrderTypes.FLOW_POT_B_SEED_R_WATER_PACK_R, OrderTypes.FLOW_POT_R_SEED_B_PACK_R, OrderTypes.FLOW_POT_Y_SEED_B_PACK_R, OrderTypes.FLOW_POT_B_SEED_B_PACK_R, OrderTypes.FLOW_POT_R_SEED_Y_PACK_R, OrderTypes.FLOW_POT_Y_SEED_Y_PACK_R, OrderTypes.FLOW_POT_B_SEED_Y_PACK_R, OrderTypes.FLOW_POT_R_SEED_R_PACK_R, OrderTypes.FLOW_POT_Y_SEED_R_PACK_R, OrderTypes.FLOW_POT_B_SEED_R_PACK_R];
_local1.necessaryOrders = [OrderTypes.FLOW_POT_R_SEED_B_WATER, OrderTypes.FLOW_POT_Y_SEED_B_WATER, OrderTypes.FLOW_POT_B_SEED_B_WATER, OrderTypes.FLOW_POT_R_SEED_Y_WATER, OrderTypes.FLOW_POT_Y_SEED_Y_WATER, OrderTypes.FLOW_POT_B_SEED_Y_WATER, OrderTypes.FLOW_POT_R_SEED_R_WATER, OrderTypes.FLOW_POT_Y_SEED_R_WATER, OrderTypes.FLOW_POT_B_SEED_R_WATER, OrderTypes.FLOW_POT_R_SEED_B, OrderTypes.FLOW_POT_Y_SEED_B, OrderTypes.FLOW_POT_B_SEED_B, OrderTypes.FLOW_POT_R_SEED_Y, OrderTypes.FLOW_POT_Y_SEED_Y, OrderTypes.FLOW_POT_B_SEED_Y, OrderTypes.FLOW_POT_R_SEED_R, OrderTypes.FLOW_POT_Y_SEED_R, OrderTypes.FLOW_POT_B_SEED_R];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcPack2);
if (Global.level_num > 5){
_local1.useble = true;
};
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerGetCustomOrderAction;
_local1.actionDuration = config.actionDuration;
_local1.orders = [OrderTypes.FLOW_SEED_B_CUT_PACK_G, OrderTypes.FLOW_SEED_R_CUT_PACK_G, OrderTypes.FLOW_SEED_Y_CUT_PACK_G];
_local1.necessaryOrders = [OrderTypes.FLOW_SEED_B_CUT, OrderTypes.FLOW_SEED_R_CUT, OrderTypes.FLOW_SEED_Y_CUT];
_game.addObject(_local1);
_local1 = new EntryObject(_content.mcTrash);
_local1.useble = true;
_local1.pressActionClass = MoveSelectionHereAction;
_local1.accetpPlayerActionClass = PlayerClearOrdersAction;
_local1.actionDuration = config.actionDuration;
_game.addObject(_local1);
}
override protected function createContent():void{
_content = new McDragstoreScreen();
}
}
}//package game.casual.commands.games
Section 90
//CreateGameCommand (game.casual.commands.games.CreateGameCommand)
package game.casual.commands.games {
import game.*;
public class CreateGameCommand extends CommandBase {
public function CreateGameCommand(){
config.readStage();
if (config.currentGame == GameTypes.DRAGSTORE){
new CreateDragstoreCommand().execute();
};
}
}
}//package game.casual.commands.games
Section 91
//CreateGameCommandBase (game.casual.commands.games.CreateGameCommandBase)
package game.casual.commands.games {
import flash.display.*;
import game.*;
import game.casual.*;
import game.casual.objects.*;
import components.*;
import common.comparing.*;
import flash.text.*;
import gs.*;
import common.commands.*;
import game.screens.*;
import common.utils.*;
import game.casual.actions.*;
public class CreateGameCommandBase extends CommandBase {
private var startAnimation:MovieClip;
protected var _game:CasualGame;
private function createScreen():void{
var _local1:CasualScreen = new CasualScreen(content);
global.changeView(_local1);
TextField(tablo["txt_num"]).text = String(Global.level_num);
}
public function get clientAcceptAction():Class{
return (null);
}
public function get clientPressAction():Class{
return (SelectTargetAction);
}
public function get playerPositionSprite():Sprite{
return (content["mcPlayerPosition"]);
}
public function get orderedSprite():Sprite{
return (content["mcOrderedSprite"]);
}
public function get backgroundSprite():Sprite{
return (content["mcBackground"]);
}
private function createGame():void{
_game = new CasualGame();
_game.pathBuilder = new PathBuilder(groundSprite);
_game.controller = new CasualController();
_game.orderedSprite = orderedSprite;
_game.orders = orders;
_game.clientPressAction = clientPressAction;
_game.clientAcceptAction = clientAcceptAction;
_game.assistCommand = new CommandQueue();
global.game = _game;
}
public function get tablo():Sprite{
return (content["mcTransDay"]);
}
public function initializeAssist():void{
}
private function runGame():void{
GraphUtil.detachFromDisplay(startAnimation);
casualGame.controller.execute();
}
protected function createContent():void{
}
protected function get orders():Array{
return (null);
}
protected function get playerModelType():String{
return (null);
}
private function createClientPoints():void{
var _local2:Sprite;
var _local1:Array = GraphUtil.getChildren(content, new NameRequirement("mcClientPosition", true));
_local1.sortOn("name");
for each (_local2 in _local1) {
_game.clientPoints.push(new ClientPoint(_local2));
};
}
public function get groundSprite():Sprite{
return (content["mcGround"]);
}
protected function createEntries():void{
}
override public function execute():void{
createContent();
createGame();
initializeAssist();
createClientPoints();
createPlayer();
createEntries();
createScreen();
backgroundSprite.mouseChildren = false;
backgroundSprite.mouseEnabled = false;
backgroundSprite.cacheAsBitmap = true;
backgroundSprite.opaqueBackground = true;
startAnimation = new mc_start();
global.translator.makeTranslation(startAnimation);
upLayer.addChild(startAnimation);
TweenLite.to(startAnimation, 0.5, {delay:2, alpha:0, onComplete:runGame});
}
public function get upLayer():Sprite{
return (content["mc_up_layer"]);
}
protected function get content():Sprite{
return (null);
}
private function createPlayer():void{
GraphUtil.detachFromDisplay(playerPositionSprite);
var _local1:Player = new Player(playerModelType);
_local1.speed = config.playerSpeed;
_local1.maxOrders = config.playerMaxOrders;
_local1.pressActionClass = SelectTargetAction;
_local1.position = ObjectUtil.castToPoint(playerPositionSprite);
_local1.initialize();
_game.orderedSprite.addChild(_local1.content);
_game.player = _local1;
}
}
}//package game.casual.commands.games
Section 92
//AchievementChecker (game.casual.commands.AchievementChecker)
package game.casual.commands {
public class AchievementChecker {
private var usedAchievements:Array;
public function AchievementChecker(){
usedAchievements = [false, false, false, false, false];
super();
}
public function checkForBadge(_arg1:int, _arg2:int, _arg3:int):void{
trace(("scoreForSubmit : " + Global.total_money));
var _local4:Number = (_arg3 / Global.CUSTOMERS[(Global.level_num - 1)]);
trace(("bestOffer : " + _arg3), " from ", Global.CUSTOMERS[(Global.level_num - 1)], " thats mean ", _local4);
trace(("numLostCustomers : " + _arg2));
trace(("numOfMistakes : " + _arg1));
trace(("numOfMistakes : " + _arg1));
trace(("usedAchievements : " + usedAchievements));
Global.scoreApi.setScore(Global.total_money);
if ((((Global.level_num == 5)) && ((_local4 >= 0.5)))){
if (!usedAchievements[2]){
usedAchievements[2] = true;
Global.scoreApi.setAchivement("award3");
trace("---------------------YOU WIN AWARD3---------------------------------");
};
} else {
if ((((Global.level_num == 7)) && ((_local4 >= 0.5)))){
if (!usedAchievements[3]){
usedAchievements[3] = true;
Global.scoreApi.setAchivement("award4");
trace("---------------------YOU WIN AWARD4---------------------------------");
};
} else {
if ((((Global.level_num == 10)) && ((_local4 >= 0.5)))){
if (!usedAchievements[4]){
usedAchievements[4] = true;
Global.scoreApi.setAchivement("award5");
trace("---------------------YOU WIN AWARD5---------------------------------");
};
};
};
};
if (((!(_arg1)) && (!(usedAchievements[0])))){
usedAchievements[0] = true;
Global.scoreApi.setAchivement("award1");
trace("---------------------YOU WIN AWARD1---------------------------------noMistake");
};
if (((!(_arg2)) && (!(usedAchievements[1])))){
usedAchievements[1] = true;
Global.scoreApi.setAchivement("award2");
trace("---------------------YOU WIN AWARD2---------------------------------noLostClients");
};
}
}
}//package game.casual.commands
Section 93
//ApplyOrderCommand (game.casual.commands.ApplyOrderCommand)
package game.casual.commands {
import game.*;
import game.casual.objects.*;
public class ApplyOrderCommand extends CommandBase {
private var _client:Client;
private var _order:String;
public function ApplyOrderCommand(_arg1:Client, _arg2:String){
_client = _arg1;
_order = _arg2;
}
override public function execute():void{
if (_client.isOrderAcceptable(_order)){
_client.acceptOrder(_order);
_client.timeCounter = (_client.timeCounter + config.clientBonusTime);
} else {
_client.timeCounter = 1;
};
}
}
}//package game.casual.commands
Section 94
//CasualCommandBase (game.casual.commands.CasualCommandBase)
package game.casual.commands {
import game.*;
import game.casual.objects.*;
public class CasualCommandBase extends CommandBase {
public var target:CasualObject;
public var entity:CasualObject;
private function enablePlayer():void{
player.enabled = true;
player.setDefaultModel();
if (!casualGame.selection){
casualGame.selection = player;
};
}
public function goOut():void{
entry.busy = false;
if (entry.hidableTool){
entry.hidableTool.visible = true;
};
if (entry.needPlayer){
enablePlayer();
};
}
private function disablePlayer():void{
player.enabled = false;
if (casualGame.selection == player){
casualGame.selection = null;
};
}
public function goIn():void{
entry.busy = true;
if (entry.hidableTool){
entry.hidableTool.visible = false;
};
if (entry.needPlayer){
disablePlayer();
};
}
public function get entry():EntryObject{
return ((target as EntryObject));
}
}
}//package game.casual.commands
Section 95
//CompleteClientCommand (game.casual.commands.CompleteClientCommand)
package game.casual.commands {
import game.*;
import game.casual.objects.*;
import common.utils.*;
public class CompleteClientCommand extends CommandBase {
private var _client:Client;
public function CompleteClientCommand(_arg1:Client){
_client = _arg1;
}
private function showPoints():void{
var _local1:int = _client.orders.length;
new ShowPointsCommand(_client, _local1).execute();
if (_client.loyality == 3){
casualGame.numBestCustormers++;
};
casualGame.points = (casualGame.points + (25 * _client.loyality));
}
override public function execute():void{
_client.enabled = false;
_client.hideOrders();
TimerUtil.callAfter(showPoints, 1000);
TimerUtil.callAfter(removeClient, 2000);
}
private function removeClient():void{
new RemoveClientCommand(_client).execute();
}
}
}//package game.casual.commands
Section 96
//CreateClientCommand (game.casual.commands.CreateClientCommand)
package game.casual.commands {
import game.*;
import game.casual.*;
import game.casual.objects.*;
import components.*;
import common.utils.*;
import common.flash.effects.*;
public class CreateClientCommand extends CommandBase {
private function createOrders():Array{
var _local1 = 1;
if ((((Global.level_num > 6)) && ((Math.random() < (0.1 + (0.2 * (Global.level_num - 7))))))){
_local1 = 2;
};
var _local2:Array = getRandomItems(casualGame.orders, _local1);
return (_local2);
}
override public function execute():void{
var _local1:int = casualGame.getFreeClientPosNum();
if (_local1 >= 0){
createClient(_local1);
};
if (((((!(casualGame.assistCommand.started)) && (!(casualGame.assistCommand.completed)))) && (!(casualGame.assistCommand.canceled)))){
casualGame.assistCommand.execute();
};
}
private function getRandomItems(_arg1:Array, _arg2:int):Array{
var _local6:int;
var _local3:Array = [];
var _local4:Array = [];
var _local5:int;
while (_local5 < _arg2) {
if (Global.SHOW_NEW_ELEMENT[(Global.level_num - 1)]){
_local6 = (Global.OFFER[(Global.level_num - 1)] - 1);
Global.SHOW_NEW_ELEMENT[(Global.level_num - 1)] = false;
} else {
_local6 = (Math.random() * Global.OFFER[(Global.level_num - 1)]);
};
if (_local6 == Global.instance.game.currentOrderIndex){
if (_local6 < (Global.OFFER[(Global.level_num - 1)] - 2)){
_local6++;
} else {
_local6--;
};
};
Global.instance.game.currentOrderIndex = _local6;
while (_local4.indexOf(_local6) >= 0) {
_local6++;
if (_local6 == _arg1.length){
_local6 = 0;
};
};
_local3.push(_arg1[_local6]);
_local4.push(_local6);
_local5++;
};
return (_local3);
}
private function createClient(_arg1:int):void{
Sounds.play(Global.SND_COME);
casualGame.numClients++;
var _local2:String = ArrayUtil.getRandomItem(Clients.TYPES);
var _local3:ClientPoint = casualGame.clientPoints[_arg1];
var _local4:Client = new Client(_local2);
_local4.positionNum = _arg1;
_local4.position = _local3.position;
_local4.timeCounter = config.clientLoyalityPeriod;
_local4.speed = config.clientSpeed;
_local4.pressActionClass = casualGame.clientPressAction;
_local4.accetpPlayerActionClass = casualGame.clientAcceptAction;
_local4.orders = createOrders();
_local4.initialize();
global.game.addClient(_local4);
global.game.orderedSprite.addChild(_local4.content);
_local3.client = _local4;
new FadeInEffect(_local4.content, 2).apply();
}
}
}//package game.casual.commands
Section 97
//FinishGameCommand (game.casual.commands.FinishGameCommand)
package game.casual.commands {
import game.*;
import game.screens.*;
public class FinishGameCommand extends CommandBase {
override public function execute():void{
if (!casualGame.disposed){
casualGame.dispose();
};
global.setPoints(config.currentGame, casualGame.points);
global.achievementChecker.checkForBadge(casualGame.numTrashUse, casualGame.numLostClients, casualGame.numBestCustormers);
if (Global.level_high == 11){
global.changeView(new FinishScreen());
} else {
global.changeView(new ResultScreen());
};
}
}
}//package game.casual.commands
Section 98
//HideClientCommand (game.casual.commands.HideClientCommand)
package game.casual.commands {
import game.*;
import game.casual.objects.*;
import components.*;
import gs.*;
public class HideClientCommand extends CommandBase {
private var _client:Client;
public function HideClientCommand(_arg1:Client){
_client = _arg1;
}
private function onComplete():void{
dispathComplete();
}
override public function execute():void{
Sounds.play(Global.SND_CLOSE);
TweenLite.to(_client.content, 1, {alpha:0, delay:1, onComplete:onComplete});
}
}
}//package game.casual.commands
Section 99
//RemoveClientCommand (game.casual.commands.RemoveClientCommand)
package game.casual.commands {
import game.*;
import game.casual.objects.*;
import components.*;
public class RemoveClientCommand extends CommandBase {
private var _client:Client;
public function RemoveClientCommand(_arg1:Client){
_client = _arg1;
}
private function onHide(_arg1:HideClientCommand):void{
casualGame.removeClient(_client);
if (_client.loyality == 0){
Sounds.play(Global.SND_LOST_CUSTOMER);
casualGame.numLostClients++;
};
}
override public function execute():void{
if (casualGame.assistCommand.started){
casualGame.assistCommand.cancel();
};
_client.enabled = false;
new ShowSmileCommand(_client).execute();
var _local1:HideClientCommand = new HideClientCommand(_client);
_local1.completeEvent.addListener(onHide);
_local1.execute();
}
}
}//package game.casual.commands
Section 100
//ShowPointsCommand (game.casual.commands.ShowPointsCommand)
package game.casual.commands {
import game.*;
import game.casual.objects.*;
import components.*;
import gs.*;
import assets.*;
import common.utils.*;
public class ShowPointsCommand extends CommandBase {
private var _client:Client;
private var _points:int;
private var _content:McPoints;
public function ShowPointsCommand(_arg1:Client, _arg2:int){
_client = _arg1;
_points = _arg2;
}
private function showPoints():void{
TweenLite.from(_content, 0.3, {alpha:0, y:(_content.y + 10), onComplete:hidePoints});
}
private function hidePoints():void{
TweenLite.to(_content, 1, {y:(_content.y - 10), alpha:0, delay:0.5, onComplete:removePoints});
}
override public function execute():void{
Sounds.play(Global.SND_MONEY);
_content = new McPoints();
_content.txtNumber.text = String(_points);
_client.content.addChild(_content);
_content.x = _client.smilePosition.x;
_content.y = _client.smilePosition.y;
showPoints();
}
private function removePoints():void{
GraphUtil.detachFromDisplay(_content);
}
}
}//package game.casual.commands
Section 101
//ShowSmileCommand (game.casual.commands.ShowSmileCommand)
package game.casual.commands {
import game.*;
import game.casual.objects.*;
import gs.*;
import assets.*;
import common.utils.*;
public class ShowSmileCommand extends CommandBase {
private var _smile:McSmile;
private var _client:Client;
public function ShowSmileCommand(_arg1:Client){
_client = _arg1;
}
private function removeSmile():void{
GraphUtil.detachFromDisplay(_smile);
}
override public function execute():void{
_smile = new McSmile();
_smile.gotoAndStop((_smile.totalFrames - _client.loyality));
_client.content.addChild(_smile);
_smile.x = _client.smilePosition.x;
_smile.y = _client.smilePosition.y;
_smile.scaleX = 1.3;
_smile.scaleY = 1.3;
showSmile();
}
private function hideSmile():void{
TweenLite.to(_smile, 1, {y:(_smile.y - 10), alpha:0, delay:1, onComplete:removeSmile});
}
private function showSmile():void{
TweenLite.from(_smile, 0.3, {scaleX:0.2, scaleY:0.2, y:(_smile.y + 10), onComplete:hideSmile});
}
}
}//package game.casual.commands
Section 102
//ActiveObject (game.casual.objects.ActiveObject)
package game.casual.objects {
import flash.events.*;
import flash.display.*;
import components.*;
import common.utils.*;
public class ActiveObject extends CasualObject {
protected var _hitArea:Sprite;
private var _moveAction:MoveByPathAction;
public var speed:Number;// = 1
protected var _model:CharModel;
private var _target:CasualObject;
protected var _type:String;
public function ActiveObject(_arg1:String){
_type = _arg1;
super(createContent());
_moveAction = new MoveByPathAction(content);
_moveAction.completeEvent.addListener(onMoveComplete);
_moveAction.directionChangeEvent.addListener(onDirectionChange);
}
private function createContent():Sprite{
var _local1:Sprite = new Sprite();
_model = new CharModel(new ModelFactory(_type));
_model.setModel();
_model.stop();
_local1.addChild(_model);
_hitArea = GraphUtil.addBoundsRect(_local1, 0, 0);
_hitArea.buttonMode = true;
_hitArea.addEventListener(MouseEvent.MOUSE_DOWN, onPress);
return (_local1);
}
private function onMoveComplete(_arg1:MoveByPathAction):void{
if (_target.busy){
setDefaultModel();
} else {
_model.stop();
if (((!(Global.instance.game.stopped)) && (!(Global.instance.game.disposed)))){
_target.acceptEntity(this);
};
};
}
private function onPress(_arg1:MouseEvent):void{
if (!Global.instance.game.stopped){
Global.instance.game.addCommand(createCommand(pressActionClass));
};
}
public function setDefaultModel():void{
_model.setModel();
}
public function setModel(_arg1:int):void{
_model.setModel(_arg1);
if (_arg1 < 8){
_model.stop();
};
}
private function onDirectionChange(_arg1:MoveByPathAction):void{
_model.setModel(_moveAction.direction);
}
public function get model():CharModel{
return (_model);
}
public function get type():String{
return (_type);
}
public function moveToTarget(_arg1:CasualObject, _arg2:Array):void{
_target = _arg1;
_moveAction.speed = speed;
_moveAction.execute(_arg2);
}
}
}//package game.casual.objects
Section 103
//CasualObject (game.casual.objects.CasualObject)
package game.casual.objects {
import flash.display.*;
import game.casual.commands.*;
import common.events.*;
import flash.geom.*;
import game.casual.view.*;
import common.utils.*;
public class CasualObject {
private var _enabled:Boolean;// = true
private var _orders:Array;
private var _acceptPlayerEvent:EventSender;
public var pressActionClass:Class;
public var accetpPlayerActionClass:Class;
private var _ordersChangeEvent:EventSender;
private var _content:Sprite;
private var _busy:Boolean;
private var _acceptClientEvent:EventSender;
private var _selectedChangeEvent:EventSender;
public var accetpClientActionClass:Class;
private var _selected:Boolean;// = false
private var _selectionEffect:GlowEffect;
public function CasualObject(_arg1:Sprite=null){
_orders = [];
_ordersChangeEvent = new EventSender(this);
_selectedChangeEvent = new EventSender(this);
_acceptClientEvent = new EventSender(this);
_acceptPlayerEvent = new EventSender(this);
_content = ((_arg1) || (new Sprite()));
_selectionEffect = new GlowEffect(_content);
super();
}
public function get content():Sprite{
return (_content);
}
public function set enabled(_arg1:Boolean):void{
_enabled = _arg1;
_content.mouseEnabled = _enabled;
_content.mouseChildren = _enabled;
}
public function get acceptPlayerEvent():EventSender{
return (_acceptPlayerEvent);
}
protected function executeCommand(_arg1:Class, _arg2:CasualObject=null):void{
var _local3:CasualCommandBase = createCommand(_arg1, _arg2);
_local3.execute();
}
public function acceptEntity(_arg1:CasualObject):void{
if ((_arg1 is Client)){
executeCommand(accetpClientActionClass, _arg1);
_acceptClientEvent.sendEvent();
} else {
if ((_arg1 is Player)){
executeCommand(accetpPlayerActionClass, _arg1);
_acceptPlayerEvent.sendEvent();
};
};
}
public function get selected():Boolean{
return (_selected);
}
public function get ordersChangeEvent():EventSender{
return (_ordersChangeEvent);
}
public function get position():Point{
return (new Point(_content.x, _content.y));
}
public function removeOrder(_arg1:String):void{
ArrayUtil.removeItem(_orders, _arg1);
_ordersChangeEvent.sendEvent();
}
public function addOrder(_arg1:String):void{
_orders.push(_arg1);
_ordersChangeEvent.sendEvent();
}
public function dispose():void{
}
public function get selectedChangeEvent():EventSender{
return (_selectedChangeEvent);
}
protected function createCommand(_arg1:Class, _arg2:CasualObject=null):CasualCommandBase{
var _local3:CasualCommandBase = new (_arg1);
_local3.target = this;
_local3.entity = _arg2;
return (_local3);
}
public function set selected(_arg1:Boolean):void{
if (_selected != _arg1){
_selected = _arg1;
if (_selected){
_selectionEffect.apply();
} else {
_selectionEffect.restore();
};
_selectedChangeEvent.sendEvent();
};
}
public function get enabled():Boolean{
return (_enabled);
}
public function set orders(_arg1:Array):void{
_orders = _arg1;
_ordersChangeEvent.sendEvent();
}
public function get order():String{
return (_orders[0]);
}
public function set position(_arg1:Point):void{
_content.x = _arg1.x;
_content.y = _arg1.y;
}
public function hasOrder(_arg1:String):Boolean{
return ((_orders.indexOf(_arg1) >= 0));
}
public function set visible(_arg1:Boolean):void{
_content.visible = _arg1;
}
public function get orders():Array{
return (_orders);
}
public function undispose():void{
}
public function get acceptClientEvent():EventSender{
return (_acceptClientEvent);
}
public function set busy(_arg1:Boolean):void{
_busy = _arg1;
}
public function get busy():Boolean{
return (_busy);
}
}
}//package game.casual.objects
Section 104
//Client (game.casual.objects.Client)
package game.casual.objects {
import flash.geom.*;
import game.casual.view.*;
public class Client extends ActiveObject {
private var _ordersView:ClientOrdersView;
public var loyality:int;// = 3
public var timeCounter:int;
private var _completedOrders:Array;
public var positionNum:int;
public function Client(_arg1:String){
_completedOrders = [];
super(_arg1);
}
public function acceptOrder(_arg1:String):void{
if (isOrderAcceptable(_arg1)){
_completedOrders.push(_arg1);
ordersChangeEvent.sendEvent();
};
}
public function isOrderCompleted(_arg1:String):Boolean{
return ((_completedOrders.indexOf(_arg1) >= 0));
}
private function createOrders():void{
_ordersView = new ClientOrdersView(this);
_ordersView.content.x = -15;
_ordersView.content.y = (((-0.7 * _hitArea.height) - _ordersView.content.height) - 35);
content.addChild(_ordersView.content);
}
public function hideOrders():void{
if (_ordersView.visible){
_ordersView.hide();
};
}
public function initialize():void{
createOrders();
_ordersView.show();
}
public function isOrderAcceptable(_arg1:String):Boolean{
return (((hasOrder(_arg1)) && (!(isOrderCompleted(_arg1)))));
}
public function get isAllOrdersCompleted():Boolean{
return ((_completedOrders.length == orders.length));
}
public function get smilePosition():Point{
return (new Point(0, -(_model.height)));
}
}
}//package game.casual.objects
Section 105
//EntryObject (game.casual.objects.EntryObject)
package game.casual.objects {
import flash.events.*;
import flash.display.*;
import components.*;
import flash.geom.*;
import common.comparing.*;
import game.casual.view.*;
import common.utils.*;
public class EntryObject extends CasualObject {
private var _animation:MovieClip;
private var _helpMessageExtra:String;// = ""
private var _animationBack:MovieClip;
private var _useble:Boolean;// = false
public var necessaryOrders:Array;
public var hidableTool:Sprite;// = null
public var needPlayer:Boolean;// = false
public var playerDirection:int;// = 2
private var _orderAnimations:Array;
private var _clientOrdersView:ClientOrdersView;
private var _content:Sprite;
private var _helpMessage:String;// = ""
private var _clientEntryPoint:Point;
public var currentOrder:String;
private var _playerEntryPoint:Point;
private var _progressBar:ProgressBar;
private var _playSound:Class;// = null
private var _client:Client;
private var _startSound:Class;// = null
public var actionDuration:int;// = 0
private var _entryOrdersView:EntryOrdersView;
public function EntryObject(_arg1:Sprite){
necessaryOrders = [];
super((_content = _arg1));
initialize();
busy = false;
client = null;
}
public function get animationBackClip():MovieClip{
return (_content["mcBackAnimation"]);
}
public function get useble():Boolean{
return (_useble);
}
public function get animation():MovieClip{
return (_animation);
}
public function get helpMessage():String{
return (_helpMessage);
}
public function set client(_arg1:Client):void{
if (_client != _arg1){
_client = _arg1;
if (clientClip){
refreshClientClip();
};
};
}
public function set startSound(_arg1:Class):void{
_startSound = _arg1;
}
public function get clientEntrySprite():Sprite{
return (_content["mcClientPoint"]);
}
private function initialize():void{
_content.mouseChildren = false;
_content.buttonMode = true;
_content.addEventListener(MouseEvent.MOUSE_DOWN, onPress);
if (hitAreaClip){
_content.hitArea = hitAreaClip;
_content.hitArea.visible = false;
} else {
GraphUtil.addBoundsRect(_content);
};
if (progressSprite){
_progressBar = new ProgressBar(progressSprite);
};
initOrderAnimations();
if (animationClip){
_animation = animationClip;
_animation.stop();
};
if (animationBackClip){
_animationBack = animationBackClip;
_animationBack.alpha = 0;
};
_playerEntryPoint = GraphUtil.transformCoords(new Point(), playerEntrySprite, _content.parent);
GraphUtil.detachFromDisplay(playerEntrySprite);
if (clientEntrySprite){
_clientEntryPoint = GraphUtil.transformCoords(new Point(), clientEntrySprite, _content.parent);
GraphUtil.detachFromDisplay(clientEntrySprite);
} else {
_clientEntryPoint = _playerEntryPoint;
};
if (bubblePointSprite){
bubblePointSprite.visible = false;
};
if (clientClip){
refreshClientClip();
};
if (itemsContainer){
_entryOrdersView = new EntryOrdersView(this);
};
}
public function get itemsContainer():Sprite{
return (_content["mcOrdersClip"]);
}
public function set playSound(_arg1:Class):void{
_playSound = _arg1;
}
private function onPress(_arg1:MouseEvent):void{
if (((_useble) && (!(Global.instance.game.stopped)))){
Global.instance.game.addCommand(createCommand(pressActionClass));
};
}
private function initOrderAnimations():void{
var _local2:MovieClip;
var _local1:Sprite = _content["mcOrderAnimations"];
if (_local1){
_orderAnimations = GraphUtil.getChildren(_local1, new TypeRequirement(MovieClip));
} else {
_orderAnimations = [];
};
for each (_local2 in _orderAnimations) {
_local2.visible = false;
_local2.stop();
};
}
public function get hitAreaClip():Sprite{
return (_content["mcHitArea"]);
}
public function get progressBar():ProgressBar{
return (_progressBar);
}
public function get playerEntrySprite():Sprite{
return (_content["mcPlayerPoint"]);
}
public function set helpMessage(_arg1:String):void{
_helpMessage = _arg1;
}
public function get clientClip():MovieClip{
return (_content["mcClientClip"]);
}
public function get playSound():Class{
return (_playSound);
}
public function get bubblePointSprite():Sprite{
return (_content["mcBubblePoint"]);
}
public function get client():Client{
return (_client);
}
public function getOrderAnimation(_arg1:String):MovieClip{
return (MovieClip(ArrayUtil.findByProperty(_orderAnimations, "name", _arg1)));
}
public function get startSound():Class{
return (_startSound);
}
public function get progressSprite():Sprite{
return (_content["mcProgressBar"]);
}
public function get helpMessageExtra():String{
return (_helpMessageExtra);
}
public function get clientOrdersView():ClientOrdersView{
return (_clientOrdersView);
}
public function set helpMessageExtra(_arg1:String):void{
_helpMessageExtra = _arg1;
}
public function set useble(_arg1:Boolean):void{
if (((_arg1) && (animationBackClip))){
_animationBack.alpha = 1;
};
_useble = _arg1;
}
public function get clientEntryPoint():Point{
return (_clientEntryPoint);
}
override public function set busy(_arg1:Boolean):void{
super.busy = _arg1;
if (_progressBar){
_progressBar.visible = busy;
};
}
private function refreshClientClip():void{
if (!_client){
clientClip.visible = false;
clientClip.stop();
if (_clientOrdersView){
GraphUtil.detachFromDisplay(_clientOrdersView.content);
};
} else {
clientClip.visible = true;
clientClip.gotoAndStop(_client.type);
if (bubblePointSprite){
_clientOrdersView = new ClientOrdersView(_client);
_content.addChild(_clientOrdersView.content);
_clientOrdersView.content.x = bubblePointSprite.x;
_clientOrdersView.content.y = (bubblePointSprite.y - _clientOrdersView.content.height);
};
};
}
public function get animationClip():MovieClip{
return (_content["mcAnimation"]);
}
public function get playerEntryPoint():Point{
return (_playerEntryPoint);
}
}
}//package game.casual.objects
Section 106
//Player (game.casual.objects.Player)
package game.casual.objects {
import flash.display.*;
import common.comparing.*;
import game.casual.view.*;
import common.utils.*;
public class Player extends ActiveObject {
public var maxOrders:int;// = 0
private var _ordersView:PlayerOrdersView;
public function Player(_arg1:String){
super(_arg1);
}
public function initialize():void{
if (itemsContainer){
createOrders();
};
}
private function createOrders():void{
_ordersView = new PlayerOrdersView(this);
}
public function get itemsContainer():Sprite{
return ((GraphUtil.findObject(model, new NameRequirement("mcOrdersClip")) as Sprite));
}
}
}//package game.casual.objects
Section 107
//ClientOrdersView (game.casual.view.ClientOrdersView)
package game.casual.view {
import flash.display.*;
import game.*;
import game.casual.objects.*;
import gs.*;
import assets.*;
import gs.easing.*;
import common.utils.*;
public class ClientOrdersView {
private var _itemsContainer:Sprite;
private var _content:McCharBubble;
private var _client:Client;
private var _visible:Boolean;// = true
private var _bottomDistance:Number;
private static const SPACING:Number = 5;
private static const MARGINS:Number = 5;
private static const GRID_VSTEP:Number = 20;
private static const GRID_HSTEP:Number = 35;
private static const COLUMN_COUNT:Number = 3;
public function ClientOrdersView(_arg1:Client){
_client = _arg1;
_client.ordersChangeEvent.addListener(refresh);
_content = new McCharBubble();
_itemsContainer = new Sprite();
_itemsContainer.x = MARGINS;
_itemsContainer.y = MARGINS;
_content.addChild(_itemsContainer);
_content.cacheAsBitmap = true;
_content.mouseEnabled = false;
_content.mouseChildren = false;
_bottomDistance = (_content.mcBottom.y - _content.mcTop.height);
refresh();
}
private function refresh(_arg1:Object=null):void{
var _local2:String;
var _local3:Boolean;
GraphUtil.removeChildren(_itemsContainer);
for each (_local2 in _client.orders) {
_local3 = _client.isOrderCompleted(_local2);
if ((((_client.orders.length == 1)) || (((!(_local3)) && ((_client.order.length > 1)))))){
createItem(_local2, _local3);
};
};
new GridLayout(COLUMN_COUNT, GRID_HSTEP, GRID_VSTEP).apply(_itemsContainer);
_content.mcTop.width = ((_itemsContainer.x + _itemsContainer.width) + MARGINS);
_content.mcTop.height = ((_itemsContainer.y + _itemsContainer.height) + MARGINS);
_content.mcBottom.y = (_content.mcTop.height + _bottomDistance);
}
public function hide():void{
_visible = false;
TweenLite.to(_content, 0.5, {scaleX:0, scaleY:0, ease:Elastic.easeIn});
}
private function createItem(_arg1:String, _arg2:Boolean):void{
var _local3:Class = OrderTypes.getOrderClass(_arg1);
var _local4:Sprite = new (_local3);
_local4.name = _arg1;
_local4.scaleX = 0.6;
_local4.scaleY = 0.6;
if (_arg2){
_local4.addChild(new McCompleteMarker());
};
_itemsContainer.addChild(_local4);
}
public function get visible():Boolean{
return (_visible);
}
public function get content():McCharBubble{
return (_content);
}
public function show():void{
_visible = true;
TweenLite.from(_content, 0.5, {delay:1, y:(_content.y + _content.height), scaleX:0, scaleY:0});
}
}
}//package game.casual.view
Section 108
//EntryOrdersView (game.casual.view.EntryOrdersView)
package game.casual.view {
import flash.display.*;
import game.*;
import game.casual.objects.*;
import common.utils.*;
public class EntryOrdersView {
private var _container:Sprite;
private var _width:Number;
private var _scale:Number;// = 1.2
private var _positionY:Number;
private var _entry:EntryObject;
public function EntryOrdersView(_arg1:EntryObject){
_entry = _arg1;
_entry.ordersChangeEvent.addListener(refresh);
initializeContainer();
refresh();
}
private function initializeContainer():void{
_container = _entry.itemsContainer;
_width = _container.width;
_positionY = (0.5 * _container.height);
}
private function refresh(_arg1:Object=null):void{
GraphUtil.removeChildren(_container);
createItems();
}
private function createItems():void{
var _local4:String;
var _local5:Class;
var _local6:Sprite;
var _local1:Player = Global.instance.game.player;
var _local2:Number = ((_local1.maxOrders)>1) ? (_width / (_local1.maxOrders - 1)) : 0;
var _local3:Number = (0.5 * (_width - (_local2 * _entry.orders.length)));
for each (_local4 in _entry.orders) {
_local5 = OrderTypes.getItemClass(_local4);
_local6 = new (_local5);
_local6.x = _local3;
_local6.y = _positionY;
_local6.scaleX = _scale;
_local6.scaleY = _scale;
_container.addChild(_local6);
_local3 = (_local3 + _local2);
};
}
}
}//package game.casual.view
Section 109
//GlowEffect (game.casual.view.GlowEffect)
package game.casual.view {
import flash.display.*;
import common.utils.*;
import common.flash.effects.*;
import flash.filters.*;
public class GlowEffect extends EffectBase {
public var color:int;
private var _glowFilter:GlowFilter;
public var blur:int;// = 4
public var sprength:Number;// = 0
public function GlowEffect(_arg1:DisplayObject, _arg2:int=16777088){
super(_arg1);
this.color = _arg2;
}
override public function apply():void{
_glowFilter = new GlowFilter(color, 1, blur, blur, sprength);
var _local1:Array = _content.filters;
_local1.push(_glowFilter);
_content.filters = _local1;
}
public function restore():void{
var _local1:Array = _content.filters;
ArrayUtil.removeItem(_local1, _glowFilter);
_content.filters = _local1;
}
}
}//package game.casual.view
Section 110
//GridLayout (game.casual.view.GridLayout)
package game.casual.view {
import flash.display.*;
import common.flash.layouts.*;
public class GridLayout implements ILayout {
private var _hGridSize:Number;
private var _numColumns:int;
private var _vGridSize:Number;
public function GridLayout(_arg1:int, _arg2:Number, _arg3:Number){
_numColumns = _arg1;
_hGridSize = _arg2;
_vGridSize = _arg3;
}
public function apply(_arg1:DisplayObjectContainer):void{
var _local5:DisplayObject;
var _local2:int;
var _local3:int;
var _local4:int;
while (_local4 < _arg1.numChildren) {
_local5 = _arg1.getChildAt(_local4);
_local5.x = ((_local2 * _hGridSize) + (_local5.width / 2));
_local5.y = ((_local3 * _vGridSize) + _local5.height);
_local2++;
if (_local2 == _numColumns){
_local2 = 0;
_local3++;
};
_local4++;
};
}
}
}//package game.casual.view
Section 111
//PlayerOrdersView (game.casual.view.PlayerOrdersView)
package game.casual.view {
import flash.display.*;
import game.*;
import game.casual.objects.*;
import common.utils.*;
public class PlayerOrdersView {
private var _player:Player;
private var _container:Sprite;
private var _width:Number;
private var _positionY:Number;
public function PlayerOrdersView(_arg1:Player){
_player = _arg1;
_player.ordersChangeEvent.addListener(refresh);
_player.model.changeModelEvent.addListener(onModelChange);
initializeContainer();
refresh();
}
private function createItems():void{
var _local3:String;
var _local4:Class;
var _local5:Sprite;
var _local1:Number = ((_player.maxOrders)>1) ? (_width / (_player.maxOrders - 1)) : 0;
var _local2:Number = (0.5 * (_width - (_local1 * _player.orders.length)));
for each (_local3 in _player.orders) {
_local4 = OrderTypes.getItemClass(_local3);
_local5 = new (_local4);
_local5.scaleX = 0.7;
_local5.scaleY = 0.7;
_local5.x = _local2;
_local5.y = _positionY;
_container.addChild(_local5);
_local2 = (_local2 + _local1);
};
}
private function initializeContainer():void{
_container = _player.itemsContainer;
_width = _container.width;
_positionY = (0.5 * _container.height);
}
private function onModelChange(_arg1:Object):void{
initializeContainer();
refresh();
}
private function refresh(_arg1:Object=null):void{
GraphUtil.removeChildren(_container);
createItems();
}
}
}//package game.casual.view
Section 112
//CasualController (game.casual.CasualController)
package game.casual {
import flash.events.*;
import game.*;
import game.casual.commands.*;
import game.casual.objects.*;
import components.*;
import flash.utils.*;
public class CasualController extends Controller {
private var _stageTimer:int;
private var _clientProcessTimer:Timer;
private var _clientCreationTimer:Timer;
public function CasualController(){
_stageTimer = Global.STAGE_TIME[(Global.level_num - 1)];
}
public function undispose():void{
_clientCreationTimer.start();
_clientProcessTimer.start();
}
private function createClient(_arg1:TimerEvent=null):void{
if (!casualGame.disposed){
new CreateClientCommand().execute();
};
}
public function execute():void{
casualGame.started = true;
_clientCreationTimer = new Timer((Global.CUSTOMERS_APPEARANCE[(Global.level_num - 1)] * 1000));
_clientCreationTimer.addEventListener(TimerEvent.TIMER, createClient);
_clientCreationTimer.start();
createClient();
_clientProcessTimer = new Timer(1000);
_clientProcessTimer.addEventListener(TimerEvent.TIMER, processClients);
_clientProcessTimer.start();
}
public function get stageTimer():int{
return (_stageTimer);
}
private function processClients(_arg1:TimerEvent):void{
var _local2:Array;
var _local3:Client;
_stageTimer--;
if (_stageTimer > 0){
_local2 = casualGame.clients.slice();
for each (_local3 in _local2) {
if (_local3.enabled){
processClient(_local3);
};
};
if (_stageTimer == 5){
Sounds.play(Global.SND_5SEC);
};
} else {
if (!casualGame.disposed){
casualGame.dispose();
};
};
casualGame.updateTime();
}
private function processClient(_arg1:Client):void{
_arg1.timeCounter--;
if (_arg1.timeCounter == 0){
_arg1.loyality--;
_arg1.timeCounter = config.clientLoyalityPeriod;
if (_arg1.loyality == 0){
new RemoveClientCommand(_arg1).execute();
} else {
CharModel(_arg1.content.getChildAt(0)).setModel(_arg1.loyality);
new ShowSmileCommand(_arg1).execute();
};
};
}
public function dispose():void{
_clientCreationTimer.stop();
_clientProcessTimer.stop();
}
}
}//package game.casual
Section 113
//CasualGame (game.casual.CasualGame)
package game.casual {
import flash.display.*;
import game.casual.commands.*;
import common.events.*;
import game.casual.objects.*;
import components.*;
import common.comparing.*;
import common.commands.*;
import common.utils.*;
public class CasualGame {
private var _player:Player;
private var _points:int;// = 0
private var _orders:Array;
private var _selection:ActiveObject;
private var _clientPressAction:Class;
private var _numBestCustormers:int;// = 0
private var _numTrashUse:int;// = 0
private var _controller:CasualController;
private var _numClients:int;// = 0
private var _started:Boolean;// = false
private var _clientAcceptAction:Class;
private var _clientPoints:Array;
private var _disposed:Boolean;// = false
private var _stopped:Boolean;// = false
private var _orderedSprite:Sprite;
private var _updateEvent:EventSender;
private var _disposeEvent:EventSender;
private var customers_num:int;// = 0
private var _assistCommand:CommandQueue;
private var _clients:Array;
private var _objects:Array;
private var _commands:Array;
private var _maxOrders:int;// = 4
private var _pathBuilder:PathBuilder;
private var _numLostClients:int;// = 0
private var _currentOrderIndex:int;// = 0
public function CasualGame(){
_updateEvent = new EventSender(this);
_disposeEvent = new EventSender(this);
_objects = [];
_clients = [];
_commands = [];
_clientPoints = [];
_orders = [];
super();
}
public function set currentOrderIndex(_arg1:int):void{
_currentOrderIndex = _arg1;
}
public function stop():void{
_stopped = true;
dispose();
}
public function set started(_arg1:Boolean):void{
_started = _arg1;
}
public function set selection(_arg1:ActiveObject):void{
if (_selection != _arg1){
if (_selection){
_selection.selected = false;
};
_selection = _arg1;
if (_selection){
_selection.selected = true;
};
};
}
private function checkEnabled():void{
if ((((_commands[0].target is EntryObject)) && (EntryObject(_commands[0].target).busy))){
TimerUtil.callAfter(checkEnabled, 100);
} else {
CasualCommandBase(_commands[0]).execute();
};
}
public function dispose():void{
var _local1:CasualObject;
_disposed = true;
_controller.dispose();
for each (_local1 in _objects) {
_local1.dispose();
};
_disposeEvent.sendEvent();
}
public function get clients():Array{
return (_clients);
}
public function set clientPressAction(_arg1:Class):void{
_clientPressAction = _arg1;
}
public function get disposed():Boolean{
return (_disposed);
}
public function removeCommand():void{
_commands.shift();
trace(("_commands : " + _commands));
if (_commands.length != 0){
TimerUtil.callAfter(checkEnabled, 100);
};
}
public function set orderedSprite(_arg1:Sprite):void{
_orderedSprite = _arg1;
new ZOrder(_orderedSprite);
}
public function updateTime():void{
_updateEvent.sendEvent();
}
public function getFreeClientPosNum():int{
var _local1:int;
while (_local1 < _clientPoints.length) {
if (!ClientPoint(_clientPoints[_local1]).client){
return (_local1);
};
_local1++;
};
return (-1);
}
public function addObject(_arg1:CasualObject):void{
_objects.push(_arg1);
}
public function play():void{
undispose();
_stopped = false;
}
public function set assistCommand(_arg1:CommandQueue):void{
_assistCommand = _arg1;
}
public function set controller(_arg1:CasualController):void{
_controller = _arg1;
}
public function set numClients(_arg1:int):void{
_numClients = _arg1;
}
public function get updateEvent():EventSender{
return (_updateEvent);
}
public function get customers():int{
return (customers_num);
}
public function getEntries():Array{
var _local1:Array = ArrayUtil.getRequired(_objects, new TypeRequirement(EntryObject));
return (_local1);
}
public function undispose():void{
var _local1:CasualObject;
_controller.undispose();
for each (_local1 in _objects) {
_local1.undispose();
};
_disposed = false;
}
public function get maxOrders():int{
return (_maxOrders);
}
public function addCommand(_arg1:CasualCommandBase):void{
if (_commands.length < Global.COMMAND_MEMORY){
_commands.push(_arg1);
if (_commands.length == 1){
TimerUtil.callAfter(checkEnabled, 100);
};
};
}
public function set pathBuilder(_arg1:PathBuilder):void{
_pathBuilder = _arg1;
}
public function removeClient(_arg1:Client):void{
resetClientPoint(_arg1);
ArrayUtil.removeItem(_clients, _arg1);
}
public function get numBestCustormers():int{
return (_numBestCustormers);
}
public function get currentOrderIndex():int{
return (_currentOrderIndex);
}
public function get started():Boolean{
return (_started);
}
public function get selection():ActiveObject{
return (_selection);
}
public function set clientAcceptAction(_arg1:Class):void{
_clientAcceptAction = _arg1;
}
public function get clientPoints():Array{
return (_clientPoints);
}
public function get clientPressAction():Class{
return (_clientPressAction);
}
public function get numClients():int{
return (_numClients);
}
public function get assistCommand():CommandQueue{
return (_assistCommand);
}
public function get controller():CasualController{
return (_controller);
}
public function set customers(_arg1:int):void{
customers_num = _arg1;
_updateEvent.sendEvent();
}
public function get orderedSprite():Sprite{
return (_orderedSprite);
}
public function resetClientPoint(_arg1:Client):void{
var _local2:ClientPoint;
if (_arg1.positionNum >= 0){
_local2 = clientPoints[_arg1.positionNum];
_local2.client = null;
_arg1.positionNum = -1;
};
}
public function set numTrashUse(_arg1:int):void{
_numTrashUse = _arg1;
}
public function get disposeEvent():EventSender{
return (_disposeEvent);
}
public function set numLostClients(_arg1:int):void{
_numLostClients = _arg1;
_updateEvent.sendEvent();
}
public function get pathBuilder():PathBuilder{
return (_pathBuilder);
}
public function set player(_arg1:Player):void{
_player = _arg1;
}
public function set points(_arg1:int):void{
_points = _arg1;
_updateEvent.sendEvent();
}
public function set orders(_arg1:Array):void{
_orders = _arg1;
}
public function addClient(_arg1:Client):void{
_clients.push(_arg1);
}
public function get stopped():Boolean{
return (_stopped);
}
public function set maxOrders(_arg1:int):void{
_maxOrders = _arg1;
}
public function get clientAcceptAction():Class{
return (_clientAcceptAction);
}
public function get numTrashUse():int{
return (_numTrashUse);
}
public function get numLostClients():int{
return (_numLostClients);
}
public function get player():Player{
return (_player);
}
public function get points():int{
return (_points);
}
public function get orders():Array{
return (_orders);
}
public function set numBestCustormers(_arg1:int):void{
_numBestCustormers = _arg1;
}
}
}//package game.casual
Section 114
//ClientPoint (game.casual.ClientPoint)
package game.casual {
import flash.display.*;
import game.casual.objects.*;
import flash.geom.*;
import common.utils.*;
public class ClientPoint {
private var _position:Point;
private var _client:Client;
public function ClientPoint(_arg1:Sprite){
_position = ObjectUtil.castToPoint(_arg1);
_client = null;
_arg1.visible = false;
}
public function set client(_arg1:Client):void{
_client = _arg1;
}
public function get position():Point{
return (_position);
}
public function get client():Client{
return (_client);
}
}
}//package game.casual
Section 115
//Clients (game.casual.Clients)
package game.casual {
public class Clients {
public static const COUPLE:String = Models.COUPLE;
public static const TYPES:Array = [GIRL, COUPLE, GRANDFATHER, DEVORSED];
public static const DEVORSED:String = Models.DEVORSED;
public static const GIRL:String = Models.GIRL;
public static const GRANDFATHER:String = Models.GRANDFATHER;
}
}//package game.casual
Section 116
//Models (game.casual.Models)
package game.casual {
public class Models {
public static const COUPLE:String = "ModelCouple";
public static const DEVORSED:String = "ModelDevorsed";
public static const SISTER:String = "ModelSister";
public static const DOCTOR_TOOL:String = "ModelDoctorTool";
public static const WOMAN:String = "ModelWoman";
public static const BOY:String = "ModelBoy";
public static const SISTER_TOOL:String = "ModelSisterTool";
public static const GRANDFATHER:String = "ModelGrandfather";
public static const MAN:String = "ModelMan";
public static const OLDWOMAN:String = "ModelOldWoman";
public static const GIRL:String = "ModelGirl";
public static const DOCTOR:String = "ModelDoctor";
DEVORSED;
}
}//package game.casual
Section 117
//AlldayScreen (game.screens.AlldayScreen)
package game.screens {
import flash.events.*;
import flash.display.*;
import game.*;
import assets.*;
import game.casual.commands.games.*;
public class AlldayScreen extends ViewBase {
private var _content:McAlldayScreen;
public function AlldayScreen(){
_content = new McAlldayScreen();
trace("set start screen");
_content.name = "Level_choose_menu";
super(_content);
initialize();
}
private function initialize():void{
var _local1 = 1;
while (_local1 <= 10) {
if (_local1 <= Global.level_high){
MovieClip(_content[("mc_level_" + String(_local1))]).addEventListener(MouseEvent.CLICK, onLevelChoose);
MovieClip(_content[("mc_level_" + String(_local1))]).buttonMode = true;
MovieClip(_content[("mc_level_" + String(_local1))]).gotoAndStop(1);
} else {
MovieClip(_content[("mc_level_" + String(_local1))]).gotoAndStop(2);
};
_local1++;
};
}
private function onLevelChoose(_arg1:Event):void{
trace(_arg1.currentTarget.name.substr(9));
Global.level_num = int(_arg1.currentTarget.name.substr(9));
config.currentGame = GameTypes.DRAGSTORE;
new CreateGameCommand().execute();
}
}
}//package game.screens
Section 118
//CasualScreen (game.screens.CasualScreen)
package game.screens {
import flash.events.*;
import flash.display.*;
import game.*;
import game.casual.commands.*;
import flash.text.*;
import gs.*;
import game.casual.commands.games.*;
import common.utils.*;
public class CasualScreen extends ViewBase {
private var _failAnimation:mc_finish;
private var _useFinishAnimation:Boolean;// = true
private var _closeAnimation:MovieClip;
private var _delayCounter:int;// = 15
private var _content:Sprite;
public function CasualScreen(_arg1:Sprite){
_failAnimation = new mc_finish();
super((_content = _arg1));
casualGame.updateEvent.addListener(refresh);
setButtonAction(resetButton, onEndClick);
TextField(levelField.txt_num).text = String(Global.level_num);
Clock.gotoAndStop(1);
btnPause.addEventListener(MouseEvent.CLICK, onPause);
btnPause.gotoAndStop(1);
btnPause.buttonMode = true;
refresh();
}
public function get btnPause():MovieClip{
return (_content["btnPause"]);
}
public function get resetButton():MovieClip{
return (_content["mcTransReset"]);
}
private function onDelay(_arg1:Event):void{
_delayCounter--;
if (_delayCounter < 0){
_content.removeEventListener(Event.ENTER_FRAME, onDelay);
Global.level_num++;
if (Global.level_high < Global.level_num){
Global.level_high = Global.level_num;
Global.total_money = (Global.total_money + casualGame.points);
};
new FinishGameCommand().execute();
};
}
public function get timeField():TextField{
return (_content["txtTime"]);
}
public function get Clock():MovieClip{
return (_content["mcClock"]);
}
private function secondToFormat(_arg1:int):String{
var _local2:int;
var _local3:int;
var _local4:String;
_local2 = Math.floor((_arg1 / 60));
if (_local2 <= 9){
_local4 = ("0" + String(_local2));
} else {
_local4 = String(_local2);
};
_local3 = (_arg1 - (_local2 * 60));
if (_local3 <= 9){
_local4 = (_local4 + (":0" + String(_local3)));
} else {
_local4 = (_local4 + (":" + String(_local3)));
};
return (_local4);
}
private function onEndClick():void{
if (((!(casualGame.disposed)) && (casualGame.started))){
casualGame.dispose();
Global.SHOW_NEW_ELEMENT[(Global.level_num - 1)] = true;
new CreateGameCommand().execute();
};
}
public function get clientsGoodField():TextField{
return (_content["txtClients"]);
}
private function makeDelay():void{
TweenLite.to(_failAnimation, 0.5, {alpha:0, delay:2, onComplete:resetLevel});
}
private function onPause(_arg1:MouseEvent=null):void{
trace("click on Pause", casualGame.started);
if ((((casualGame.controller.stageTimer > 0)) && (casualGame.started))){
if (!casualGame.stopped){
btnPause.gotoAndStop(2);
casualGame.stop();
_closeAnimation = new mc_pause();
_content.addChild(_closeAnimation);
} else {
btnPause.gotoAndStop(1);
casualGame.play();
GraphUtil.detachFromDisplay(_closeAnimation);
};
};
}
public function refresh(_arg1:Object=null):void{
var _local2:TextFormat;
var _local3:TextFormat;
pointsField.text = String(casualGame.points);
clientsGoodField.text = ((String(casualGame.customers) + "/") + String(Global.CUSTOMERS[(Global.level_num - 1)]));
timeField.text = secondToFormat(casualGame.controller.stageTimer);
if (casualGame.controller.stageTimer == 15){
Clock.gotoAndStop(2);
};
if (casualGame.controller.stageTimer < 6){
if ((((casualGame.controller.stageTimer == 5)) || ((((casualGame.controller.stageTimer == 3)) || ((casualGame.controller.stageTimer == 1)))))){
_local2 = new TextFormat();
_local2.color = 16750899;
_local2.size = 70;
timeField.setTextFormat(_local2);
} else {
timeField.setTextFormat(new TextFormat());
};
};
if ((((casualGame.controller.stageTimer <= 0)) && (_useFinishAnimation))){
trace("YOUR TIME OUT");
_useFinishAnimation = false;
global.translator.makeTranslation(_failAnimation);
_content.addChild(_failAnimation);
TweenLite.to(_failAnimation, 0.5, {alpha:1, onComplete:makeDelay});
};
if (casualGame.customers == Global.CUSTOMERS[(Global.level_num - 1)]){
_local3 = new TextFormat();
_local3.color = 0x66CC00;
_local3.size = 70;
_local3.bold = true;
clientsGoodField.setTextFormat(_local3);
_delayCounter = 45;
_content.addEventListener(Event.ENTER_FRAME, onDelay);
};
}
private function resetLevel():void{
new CreateGameCommand().execute();
}
public function get levelField():MovieClip{
return (_content["mcTransDay"]);
}
public function get pointsField():TextField{
return (_content["txtPoints"]);
}
}
}//package game.screens
Section 119
//FinishScreen (game.screens.FinishScreen)
package game.screens {
import game.*;
import assets.*;
public class FinishScreen extends ViewBase {
private var _content:McGameFinishScreen;
public function FinishScreen(){
_content = new McGameFinishScreen();
_content.name = "finish_screen";
super(_content);
_content.txtScore.text = String(global.getPoints(config.currentGame));
_content.txtTotalScore.text = String(Global.total_money);
setButtonAction(_content.mcTransMenu, onMenu);
}
private function onMenu():void{
global.changeView(new StartScreen());
}
}
}//package game.screens
Section 120
//Instruction2Screen (game.screens.Instruction2Screen)
package game.screens {
import game.*;
import assets.*;
import game.casual.commands.games.*;
public class Instruction2Screen extends ViewBase {
private var _content:McInstructionScreen2;
public function Instruction2Screen(){
_content = new McInstructionScreen2();
_content.name = "help_screen";
super(_content);
initialize();
}
private function initialize():void{
setButtonAction(_content.mcTransStart, onNewGame);
setButtonAction(_content.mcTransPrevious, onPrev);
setButtonAction(_content.mcTransContinue, onAllday);
}
private function onAllday():void{
global.changeView(new AlldayScreen());
}
private function onPrev():void{
global.changeView(new InstructionScreen());
}
private function onNewGame():void{
config.currentGame = GameTypes.DRAGSTORE;
new CreateGameCommand().execute();
}
}
}//package game.screens
Section 121
//InstructionScreen (game.screens.InstructionScreen)
package game.screens {
import game.*;
import assets.*;
import game.casual.commands.games.*;
public class InstructionScreen extends ViewBase {
private var _content:McInstructionScreen;
public function InstructionScreen(){
_content = new McInstructionScreen();
_content.name = "help_screen";
super(_content);
initialize();
}
private function initialize():void{
setButtonAction(_content.mcTransStart, onNewGame);
setButtonAction(_content.mcTransNext, onNext);
setButtonAction(_content.mcTransContinue, onAllday);
}
private function onAllday():void{
global.changeView(new AlldayScreen());
}
private function onNext():void{
global.changeView(new Instruction2Screen());
}
private function onNewGame():void{
config.currentGame = GameTypes.DRAGSTORE;
new CreateGameCommand().execute();
}
}
}//package game.screens
Section 122
//ResultScreen (game.screens.ResultScreen)
package game.screens {
import game.*;
import assets.*;
import game.casual.commands.games.*;
public class ResultScreen extends ViewBase {
private var _content:McGameResultScreen;
public function ResultScreen(){
_content = new McGameResultScreen();
_content.name = "result_screen";
super(_content);
_content.txtScore.text = String(global.getPoints(config.currentGame));
_content.txtTotalScore.text = String(Global.total_money);
setButtonAction(_content.mcTransContinue, onLevelSelect);
setButtonAction(_content.mcTransNextDay, onPlay);
}
private function onLevelSelect():void{
global.changeView(new AlldayScreen());
}
private function onPlay():void{
new CreateGameCommand().execute();
}
}
}//package game.screens
Section 123
//StartScreen (game.screens.StartScreen)
package game.screens {
import flash.events.*;
import flash.display.*;
import game.*;
import flash.text.*;
import assets.*;
import game.casual.commands.games.*;
import spill.localisation.*;
public class StartScreen extends ViewBase {
private var _content:McStartScreen;
private var _play:MovieClip;
private var _select:LanguageSelectBox;
public function StartScreen(){
_content = new McStartScreen();
_select = new LanguageSelectBox();
_content.name = "main_menu";
super(_content);
initialize();
}
private function onNewGame():void{
config.currentGame = GameTypes.DRAGSTORE;
new CreateGameCommand().execute();
}
private function play(_arg1:Event):void{
onNewGame();
}
private function onAllday():void{
global.changeView(new AlldayScreen());
}
private function onInstruction():void{
global.changeView(new InstructionScreen());
}
private function initialize():void{
setButtonAction(_content.mcTransHowToPlay, onInstruction);
setButtonAction(_content.mcTransContinue, onAllday);
_content.addChild(_select);
_select.x = 455;
_select.y = 385;
_play = _content.mcTransStart;
TextField(_play.txtTranslation).mouseEnabled = false;
_play.buttonMode = true;
_play.addEventListener(MouseEvent.CLICK, play, false, 0, true);
SpilGame.addEventListener("brandingChanged", brandingChanged, false, 0, true);
SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true);
languageChanged(null);
brandingChanged(null);
}
private function brandingChanged(_arg1:Event):void{
brand.gotoAndStop(SpilGame.currentBranding.domain);
}
private function languageChanged(_arg1:Event):void{
global.translator.makeTranslation(_content);
}
}
}//package game.screens
Section 124
//CommandBase (game.CommandBase)
package game {
import common.events.*;
import common.commands.*;
public class CommandBase extends Controller implements ICancelableCommand {
private var _completeEvent:EventSender;
public function CommandBase(){
_completeEvent = new EventSender(this);
super();
}
public function execute():void{
}
public function get completeEvent():EventSender{
return (_completeEvent);
}
public function cancel():void{
}
protected function dispathComplete():void{
_completeEvent.sendEvent();
}
}
}//package game
Section 125
//Config (game.Config)
package game {
public class Config {
private var _data:XML;
private var _currentGame:String;
private static var _xmlClass:Class = Config__xmlClass;
public function Config(){
_data = XML(new _xmlClass());
}
public function get maxLostClients():int{
return (parseInt(currentData.maxLostClients));
}
public function get clientBonusTime():int{
return (parseInt(currentData.clientBonusTime));
}
private function get currentData():XML{
return (new XML(_data[_currentGame]));
}
public function get playerSpeed():Number{
return (parseFloat(currentData.playerSpeed));
}
public function get playerMaxOrders():int{
return (parseInt(currentData.playerMaxOrders));
}
public function get actionDuration():int{
return (parseInt(currentData.actionDuration));
}
public function get currentGame():String{
return (_currentGame);
}
public function readStage():void{
Global.instance.offerArray = String(currentData.stageOffers).split(",");
}
public function set currentGame(_arg1:String):void{
_currentGame = _arg1;
}
public function get clientLoyalityPeriod():int{
return (parseInt(currentData.clientLoyalityPeriod));
}
public function get clientPeriod():int{
return (parseInt(currentData.clientPeriod));
}
public function get clientSpeed():Number{
return (parseFloat(currentData.clientSpeed));
}
}
}//package game
Section 126
//Config__xmlClass (game.Config__xmlClass)
package game {
import mx.core.*;
public class Config__xmlClass extends ByteArrayAsset {
}
}//package game
Section 127
//Controller (game.Controller)
package game {
import game.casual.*;
import game.casual.objects.*;
public class Controller {
public function get player():Player{
return (Global.instance.game.player);
}
public function get config():Config{
return (Global.instance.config);
}
public function get global():Global{
return (Global.instance);
}
public function get casualGame():CasualGame{
return (Global.instance.game);
}
}
}//package game
Section 128
//GameTypes (game.GameTypes)
package game {
public class GameTypes {
public static const DIAGNOSTIC:String = "diagnostic";
public static const HOSPITAL:String = "hospital";
public static const TEAROOM:String = "tearoom";
public static const DRAGSTORE:String = "dragstore";
}
}//package game
Section 129
//OrderTypes (game.OrderTypes)
package game {
public class OrderTypes {
public static const FLOW_POT_R_SEED_Y_WATER_PACK_R:String = "FLOW_POT_R_SEED_Y_WATER_PACK_R";
public static const FLOW_POT_B_SEED_B_PACK_R:String = "FLOW_POT_B_SEED_B_PACK_R";
public static const FLOW_POT_R_SEED_R_WATER_PACK_R:String = "FLOW_POT_R_SEED_R_WATER_PACK_R";
public static const FLOW_SEED_B_CUT:String = "FLOW_SEED_B_CUT";
public static const FLOW_POT_Y_SEED_Y_WATER_PACK_R:String = "FLOW_POT_Y_SEED_Y_WATER_PACK_R";
public static const FLOW_POT_R_SEED_Y_WATER:String = "FLOW_POT_R_SEED_Y_WATER";
public static const FLOW_POT_Y_SEED_B_WATER:String = "FLOW_POT_Y_SEED_B_WATER";
public static const FLOW_POT_Y_SEED_R_WATER_PACK_R:String = "FLOW_POT_Y_SEED_R_WATER_PACK_R";
public static const FLOW_SEED_R_CUT:String = "FLOW_SEED_R_CUT";
public static const FLOW_POT_B_SEED_R_WATER_PACK_R:String = "FLOW_POT_B_SEED_R_WATER_PACK_R";
public static const FLOW_POT_B_SEED_Y_WATER:String = "FLOW_POT_B_SEED_Y_WATER";
public static const FLOW_POT_Y_SEED_R_WATER:String = "FLOW_POT_Y_SEED_R_WATER";
public static const FLOW_POT_R_SEED_B_PACK_R:String = "FLOW_POT_R_SEED_B_PACK_R";
public static const FLOW_POT_B_SEED_B_WATER_PACK_R:String = "FLOW_POT_B_SEED_B_WATER_PACK_R";
public static const FLOW_POT_Y_SEED_B_WATER_PACK_R:String = "FLOW_POT_Y_SEED_B_WATER_PACK_R";
public static const FLOW_POT_R_SEED_B_WATER:String = "FLOW_POT_R_SEED_B_WATER";
public static const FLOW_POT_B_SEED_Y_PACK_R:String = "FLOW_POT_B_SEED_Y_PACK_R";
public static const FLOW_SEED_Y_CUT:String = "FLOW_SEED_Y_CUT";
public static const FLOW_POT_R_SEED_B_WATER_PACK_R:String = "FLOW_POT_R_SEED_B_WATER_PACK_R";
public static const FLOW_POT_R_SEED_B:String = "FLOW_POT_R_SEED_B";
public static const FLOW_SEED_Y_CUT_PACK_G:String = "FLOW_SEED_Y_CUT_PACK_G";
public static const FLOW_POT_R_SEED_R_WATER:String = "FLOW_POT_R_SEED_R_WATER";
public static const FLOW_POT_R_SEED_Y_PACK_R:String = "FLOW_POT_R_SEED_Y_PACK_R";
public static const FLOW_SEED_B_CUT_PACK_G:String = "FLOW_SEED_B_CUT_PACK_G";
public static const FLOW_POT_B_SEED_B_WATER:String = "FLOW_POT_B_SEED_B_WATER";
public static const FLOW_POT_R_SEED_R:String = "FLOW_POT_R_SEED_R";
public static const FLOW_POT_Y_SEED_R_PACK_R:String = "FLOW_POT_Y_SEED_R_PACK_R";
public static const FLOW_POT_B_SEED_Y_WATER_PACK_R:String = "FLOW_POT_B_SEED_Y_WATER_PACK_R";
public static const FLOW_POT_R_SEED_Y:String = "FLOW_POT_R_SEED_Y";
public static const FLOW_POT_Y_SEED_B:String = "FLOW_POT_Y_SEED_B";
public static const FLOW_POT_Y_SEED_B_PACK_R:String = "FLOW_POT_Y_SEED_B_PACK_R";
public static const FLOW_POT_B_SEED_B:String = "FLOW_POT_B_SEED_B";
public static const FLOW_POT_B_SEED_R:String = "FLOW_POT_B_SEED_R";
public static const FLOW_POT_Y_SEED_Y_PACK_R:String = "FLOW_POT_Y_SEED_Y_PACK_R";
public static const FLOW_SEED_R_CUT_PACK_G:String = "FLOW_SEED_R_CUT_PACK_G";
public static const FLOW_POT_B_SEED_Y:String = "FLOW_POT_B_SEED_Y";
public static const FLOW_POT_Y_SEED_Y_WATER:String = "FLOW_POT_Y_SEED_Y_WATER";
public static const FLOW_POT_Y_SEED_R:String = "FLOW_POT_Y_SEED_R";
public static const FLOW_POT_B:String = "FLOW_POT_B";
public static const FLOW_POT_Y_SEED_Y:String = "FLOW_POT_Y_SEED_Y";
public static const FLOW_POT_B_SEED_R_PACK_R:String = "FLOW_POT_B_SEED_R_PACK_R";
public static const FLOW_POT_B_SEED_R_WATER:String = "FLOW_POT_B_SEED_R_WATER";
public static const FLOW_POT_R:String = "FLOW_POT_R";
public static const FLOW_POT_Y:String = "FLOW_POT_Y";
public static const FLOW_POT_R_SEED_R_PACK_R:String = "FLOW_POT_R_SEED_R_PACK_R";
public static var ORDER_ARRAY:Array = [];
private static var _itemClasses:Object = null;
private static var _orderClasses:Object = null;
private static function initialize():void{
_orderClasses = {};
_itemClasses = {};
_itemClasses[FLOW_POT_B] = McBluePot_;
_itemClasses[FLOW_POT_R] = McRedPot_;
_itemClasses[FLOW_POT_Y] = McYellowPot_;
_itemClasses[FLOW_POT_R_SEED_B] = McRedPotBlueSeed_;
_itemClasses[FLOW_POT_Y_SEED_B] = McYellowPotBlueSeed_;
_itemClasses[FLOW_POT_B_SEED_B] = McBluePotBlueSeed_;
_itemClasses[FLOW_POT_R_SEED_Y] = McRedPotYellowSeed_;
_itemClasses[FLOW_POT_Y_SEED_Y] = McYellowPotYellowSeed_;
_itemClasses[FLOW_POT_B_SEED_Y] = McBluePotYellowSeed_;
_itemClasses[FLOW_POT_R_SEED_R] = McRedPotRedSeed_;
_itemClasses[FLOW_POT_Y_SEED_R] = McYellowPotRedSeed_;
_itemClasses[FLOW_POT_B_SEED_R] = McBluePotRedSeed_;
_itemClasses[FLOW_POT_R_SEED_B_WATER] = McRedPotBlueSeedWater_;
_itemClasses[FLOW_POT_Y_SEED_B_WATER] = McYellowPotBlueSeedWater_;
_itemClasses[FLOW_POT_B_SEED_B_WATER] = McBluePotBlueSeedWater_;
_itemClasses[FLOW_POT_R_SEED_Y_WATER] = McRedPotYellowSeedWater_;
_itemClasses[FLOW_POT_Y_SEED_Y_WATER] = McYellowPotYellowSeedWater_;
_itemClasses[FLOW_POT_B_SEED_Y_WATER] = McBluePotYellowSeedWater_;
_itemClasses[FLOW_POT_R_SEED_R_WATER] = McRedPotRedSeedWater_;
_itemClasses[FLOW_POT_Y_SEED_R_WATER] = McYellowPotRedSeedWater_;
_itemClasses[FLOW_POT_B_SEED_R_WATER] = McBluePotRedSeedWater_;
_itemClasses[FLOW_SEED_Y_CUT] = McYellowSeedCut_;
_itemClasses[FLOW_SEED_B_CUT] = McBlueSeedCut_;
_itemClasses[FLOW_SEED_R_CUT] = McRedSeedCut_;
_itemClasses[FLOW_POT_R_SEED_B_PACK_R] = McRedPotBlueSeedRedBant_;
_itemClasses[FLOW_POT_Y_SEED_B_PACK_R] = McYellowPotBlueSeedRedBant_;
_itemClasses[FLOW_POT_B_SEED_B_PACK_R] = McBluePotBlueSeedRedBant_;
_itemClasses[FLOW_POT_R_SEED_R_PACK_R] = McRedPotRedSeedRedBant_;
_itemClasses[FLOW_POT_Y_SEED_R_PACK_R] = McYellowPotRedSeedRedBant_;
_itemClasses[FLOW_POT_B_SEED_R_PACK_R] = McBluePotRedSeedRedBant_;
_itemClasses[FLOW_POT_R_SEED_Y_PACK_R] = McRedPotYellowSeedRedBant_;
_itemClasses[FLOW_POT_Y_SEED_Y_PACK_R] = McYellowPotYellowSeedRedBant_;
_itemClasses[FLOW_POT_B_SEED_Y_PACK_R] = McBluePotYellowSeedRedBant_;
_itemClasses[FLOW_POT_R_SEED_B_WATER_PACK_R] = McRedPotBlueSeedRedBantWater_;
_itemClasses[FLOW_POT_Y_SEED_B_WATER_PACK_R] = McYellowPotBlueSeedRedBantWater_;
_itemClasses[FLOW_POT_B_SEED_B_WATER_PACK_R] = McBluePotBlueSeedRedBantWater_;
_itemClasses[FLOW_POT_R_SEED_R_WATER_PACK_R] = McRedPotRedSeedRedBantWater_;
_itemClasses[FLOW_POT_Y_SEED_R_WATER_PACK_R] = McYellowPotRedSeedRedBantWater_;
_itemClasses[FLOW_POT_B_SEED_R_WATER_PACK_R] = McBluePotRedSeedRedBantWater_;
_itemClasses[FLOW_POT_R_SEED_Y_WATER_PACK_R] = McRedPotYellowSeedRedBantWater_;
_itemClasses[FLOW_POT_Y_SEED_Y_WATER_PACK_R] = McYellowPotYellowSeedRedBantWater_;
_itemClasses[FLOW_POT_B_SEED_Y_WATER_PACK_R] = McBluePotYellowSeedRedBantWater_;
_itemClasses[FLOW_SEED_R_CUT_PACK_G] = McRedSeedCutGreenPack_;
_itemClasses[FLOW_SEED_B_CUT_PACK_G] = McBlueSeedCutGreenPack_;
_itemClasses[FLOW_SEED_Y_CUT_PACK_G] = McYellowSeedCutGreenPack_;
ORDER_ARRAY = [FLOW_POT_B, FLOW_POT_R, FLOW_POT_Y, FLOW_POT_R_SEED_B, FLOW_POT_Y_SEED_B, FLOW_POT_B_SEED_B, FLOW_POT_R_SEED_Y, FLOW_POT_Y_SEED_Y, FLOW_POT_B_SEED_Y, FLOW_POT_R_SEED_R, FLOW_POT_Y_SEED_R, FLOW_POT_B_SEED_R, FLOW_POT_R_SEED_B_WATER, FLOW_POT_Y_SEED_B_WATER, FLOW_POT_B_SEED_B_WATER, FLOW_POT_R_SEED_Y_WATER, FLOW_POT_Y_SEED_Y_WATER, FLOW_POT_B_SEED_Y_WATER, FLOW_POT_R_SEED_R_WATER, FLOW_POT_Y_SEED_R_WATER, FLOW_POT_B_SEED_R_WATER, FLOW_SEED_Y_CUT, FLOW_SEED_B_CUT, FLOW_SEED_R_CUT, FLOW_POT_R_SEED_B_PACK_R, FLOW_POT_Y_SEED_B_PACK_R, FLOW_POT_B_SEED_B_PACK_R, FLOW_POT_R_SEED_R_PACK_R, FLOW_POT_Y_SEED_R_PACK_R, FLOW_POT_B_SEED_R_PACK_R, FLOW_POT_R_SEED_Y_PACK_R, FLOW_POT_Y_SEED_Y_PACK_R, FLOW_POT_B_SEED_Y_PACK_R, FLOW_POT_R_SEED_B_WATER_PACK_R, FLOW_POT_Y_SEED_B_WATER_PACK_R, FLOW_POT_B_SEED_B_WATER_PACK_R, FLOW_POT_R_SEED_Y_WATER_PACK_R, FLOW_POT_Y_SEED_Y_WATER_PACK_R, FLOW_POT_B_SEED_Y_WATER_PACK_R, FLOW_POT_R_SEED_R_WATER_PACK_R, FLOW_POT_Y_SEED_R_WATER_PACK_R, FLOW_POT_B_SEED_R_WATER_PACK_R, FLOW_SEED_Y_CUT_PACK_G, FLOW_SEED_B_CUT_PACK_G, FLOW_SEED_R_CUT_PACK_G];
}
public static function getOrderClass(_arg1:String):Class{
if (!_orderClasses){
initialize();
};
return (_itemClasses[_arg1]);
}
public static function getItemClass(_arg1:String):Class{
if (!_itemClasses){
initialize();
};
return (_itemClasses[_arg1]);
}
}
}//package game
Section 130
//Translator (game.Translator)
package game {
import flash.display.*;
import flash.text.*;
import spill.localisation.*;
public class Translator {
private const EXEPTION_1:String = "Brand";
private const EXEPTION_2:String = "Start";
private const TRANSLATION_PREFIX:String = "mcTrans";
private const DEFAULT_LANGUAGE:String = "en";
private const TEXTFIELD_NAME:String = "txtTranslation";
private var _dataTranslation:XML;
private var _currentGame:String;
private static var _xmlTranslationClass:Class = Translator__xmlTranslationClass;
public function Translator(){
_dataTranslation = XML(new _xmlTranslationClass());
}
public function makeTranslation(_arg1:Sprite):void{
var _local2:int = _arg1.numChildren;
var _local3:int;
while (_local3 < _local2) {
if (_arg1.getChildAt(_local3).name.substr(0, 7) == TRANSLATION_PREFIX){
setTrueName((_arg1.getChildAt(_local3) as MovieClip));
};
_local3++;
};
}
private function setTrueName(_arg1:MovieClip):void{
var _local2:String = SpilGame.currentLanguage.name;
var _local3:String = _arg1.name.substr(7);
if ((((_local3 == EXEPTION_1)) || ((_local3 == EXEPTION_2)))){
if (_local2 == "jp"){
TextField(_arg1[TEXTFIELD_NAME]).text = "";
MovieClip(_arg1.mc_cn).alpha = 0;
MovieClip(_arg1.mc_jp).alpha = 1;
} else {
if (_local2 == "cn"){
TextField(_arg1[TEXTFIELD_NAME]).text = "";
MovieClip(_arg1.mc_jp).alpha = 0;
MovieClip(_arg1.mc_cn).alpha = 1;
} else {
TextField(_arg1[TEXTFIELD_NAME]).text = getTranslation(_local3, _local2);
MovieClip(_arg1.mc_cn).alpha = 0;
MovieClip(_arg1.mc_jp).alpha = 0;
};
};
} else {
TextField(_arg1[TEXTFIELD_NAME]).text = getTranslation(_local3, _local2);
};
}
public function getTranslation(_arg1:String, _arg2:String):String{
trace(("value1 : " + _arg1));
var _local3:String = XML(_dataTranslation[_arg1])[_arg2];
if (!_local3){
_local3 = XML(_dataTranslation[_arg1])[DEFAULT_LANGUAGE];
};
return (_local3);
}
}
}//package game
Section 131
//Translator__xmlTranslationClass (game.Translator__xmlTranslationClass)
package game {
import mx.core.*;
public class Translator__xmlTranslationClass extends ByteArrayAsset {
}
}//package game
Section 132
//ViewBase (game.ViewBase)
package game {
import flash.events.*;
import flash.display.*;
import components.*;
import common.comparing.*;
import flash.text.*;
import spill.localisation.*;
import common.utils.*;
import flash.net.*;
public class ViewBase extends Controller {
public var brand:MovieClip;
private var _content:Sprite;
public static var CLICK_SOUND:Class;
public function ViewBase(_arg1:Sprite){
_content = _arg1;
global.bannerManager.scanContent(_content);
initMuteButton();
initBrandLogo();
global.translator.makeTranslation(_content);
}
private function onBrandClick(_arg1:Event):void{
navigateToURL(new URLRequest(SpilGame.getMoreGamesLink(_arg1.currentTarget.parent.name)), "_blank");
}
protected function setButtonText(_arg1:SimpleButton, _arg2:String, _arg3):void{
var _local5:TextField;
var _local4:Array = GraphUtil.getAllButtonChildren(_arg1, new NameRequirement(_arg2));
for each (_local5 in _local4) {
_local5.text = String(_arg3);
};
}
private function initBrandLogo():void{
brand = (GraphUtil.findObject(_content, new NameRequirement("mcTransBrand")) as MovieClip);
if (brand){
brand.buttonMode = true;
if (SpilGame.currentBranding){
brand.gotoAndStop(SpilGame.currentBranding.domain);
} else {
brand.stop();
};
TextField(brand.txtTranslation).mouseEnabled = false;
brand.addEventListener(MouseEvent.CLICK, onBrandClick, false, 0, true);
brand.gotoAndStop(SpilGame.currentBranding.domain);
};
}
protected function setButtonAction(_arg1:MovieClip, _arg2:Function, _arg3:Class=null, ... _args):void{
var button = _arg1;
var handler = _arg2;
var soundClass = _arg3;
var rest = _args;
TextField(button["txtTranslation"]).mouseEnabled = false;
button.buttonMode = true;
var clickHandler:Function = function (_arg1:MouseEvent):void{
handler.apply(this, rest);
};
var pressHandler:Function = function (_arg1:MouseEvent):void{
if (((soundClass) || (CLICK_SOUND))){
Sounds.play(((soundClass) || (CLICK_SOUND)));
};
};
button.addEventListener(MouseEvent.MOUSE_DOWN, pressHandler);
button.addEventListener(MouseEvent.CLICK, clickHandler);
}
protected function setButtonEnabled(_arg1:InteractiveObject, _arg2:Boolean):void{
GraphUtil.setBtnEnabled(_arg1, _arg2);
}
private function onMuteClick(_arg1:MuteButton):void{
Sounds.mute();
}
public function get content():Sprite{
return (_content);
}
private function initMuteButton():void{
var _local2:MuteButton;
var _local1:MovieClip = (GraphUtil.findObject(_content, new NameRequirement("btnMute")) as MovieClip);
if (_local1){
_local2 = new MuteButton(_local1);
_local2.muted = Sounds.muted;
_local2.clickEvent.addListener(onMuteClick);
};
}
}
}//package game
Section 133
//Elastic (gs.easing.Elastic)
package gs.easing {
public class Elastic {
private static const _2PI:Number = 6.28318530717959;
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
--_arg1;
return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6)))) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * (0.3 * 1.5));
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6)))) + _arg2));
};
--_arg1;
return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6))) * 0.5) + _arg3) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6))) + _arg3) + _arg2));
}
}
}//package gs.easing
Section 134
//Expo (gs.easing.Expo)
package gs.easing {
public class Expo {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : ((_arg3 * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2));
};
--_arg1;
return ((((_arg3 / 2) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
}
}//package gs.easing
Section 135
//TweenLite (gs.TweenLite)
package gs {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import flash.utils.*;
public class TweenLite {
public var delay:Number;
protected var _initted:Boolean;
protected var _subTweens:Array;
public var startTime:int;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
protected var _active:Boolean;
public var tweens:Array;
public var vars:Object;
public var initTime:int;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 6.31;
private static var _sprite:Sprite = new Sprite();
protected static var _all:Dictionary = new Dictionary();
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
protected static var _curTime:uint;
private static var _listening:Boolean;
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
if (_arg1 == null){
return;
};
if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){
delete _all[_arg1];
_all[_arg1] = new Dictionary();
};
_all[_arg1][this] = this;
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
this.target = _arg1;
if (!(this.vars.ease is Function)){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
if ((((this.vars.alpha == 0)) && (!((this.vars.runBackwards == true))))){
this.vars.visible = false;
};
};
this.tweens = [];
_subTweens = [];
_hst = (_initted = false);
_active = (((_arg2 == 0)) && ((this.delay == 0)));
if (!_classInitted){
_curTime = getTimer();
_sprite.addEventListener(Event.ENTER_FRAME, executeAll);
_classInitted = true;
};
this.initTime = _curTime;
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){
initTweenVals();
this.startTime = _curTime;
if (_active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
};
if (((!(_listening)) && (!(_active)))){
_timer.addEventListener("timer", killGarbage);
_timer.start();
_listening = true;
};
}
protected function addSubTween(_arg1:Function, _arg2:Object, _arg3:Object, _arg4:Object=null):void{
var _local6:String;
var _local5:Object = {proxy:_arg1, target:_arg2, info:_arg4};
_subTweens.push(_local5);
for (_local6 in _arg3) {
if (typeof(_arg3[_local6]) == "number"){
this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:(_arg3[_local6] - _arg2[_local6]), sub:_local5});
} else {
this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:Number(_arg3[_local6]), sub:_local5});
};
};
_hst = true;
}
public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local4:String;
var _local5:int;
var _local6:Array;
var _local7:ColorTransform;
var _local8:ColorTransform;
var _local9:Object;
var _local3 = (this.target is DisplayObject);
if ((this.target is Array)){
_local6 = ((this.vars.endArray) || ([]));
_local5 = 0;
while (_local5 < _local6.length) {
if (((!((this.target[_local5] == _local6[_local5]))) && (!((this.target[_local5] == undefined))))){
this.tweens.push({o:this.target, p:_local5.toString(), s:this.target[_local5], c:(_local6[_local5] - this.target[_local5])});
};
_local5++;
};
} else {
for (_local4 in this.vars) {
if ((((((((((((((((((((((((((((((((((((((_local4 == "ease")) || ((_local4 == "delay")))) || ((_local4 == "overwrite")))) || ((_local4 == "onComplete")))) || ((_local4 == "onCompleteParams")))) || ((_local4 == "onCompleteScope")))) || ((_local4 == "runBackwards")))) || ((_local4 == "visible")))) || ((_local4 == "onUpdate")))) || ((_local4 == "onUpdateParams")))) || ((_local4 == "onUpdateScope")))) || ((_local4 == "autoAlpha")))) || ((_local4 == "onStart")))) || ((_local4 == "onStartParams")))) || ((_local4 == "onStartScope")))) || ((_local4 == "renderOnStart")))) || ((_local4 == "proxiedEase")))) || ((_local4 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local4) + " ")) == -1))))))){
} else {
if ((((_local4 == "tint")) && (_local3))){
_local7 = this.target.transform.colorTransform;
_local8 = new ColorTransform();
if (this.vars.alpha != undefined){
_local8.alphaMultiplier = this.vars.alpha;
delete this.vars.alpha;
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
if (this.tweens[_local5].p == "alpha"){
this.tweens.splice(_local5, 1);
break;
};
_local5--;
};
} else {
_local8.alphaMultiplier = this.target.alpha;
};
if (((((!((this.vars[_local4] == null))) && (!((this.vars[_local4] == ""))))) || ((this.vars[_local4] == 0)))){
_local8.color = this.vars[_local4];
};
addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8});
} else {
if ((((_local4 == "frame")) && (_local3))){
addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:this.vars[_local4]}, {target:this.target});
} else {
if ((((_local4 == "volume")) && (((_local3) || ((this.target is SoundChannel)))))){
addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars[_local4]}, {target:this.target});
} else {
if (typeof(this.vars[_local4]) == "number"){
this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:(this.vars[_local4] - this.target[_local4])});
} else {
this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:Number(this.vars[_local4])});
};
};
};
};
};
};
};
if (this.vars.runBackwards == true){
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local9 = this.tweens[_local5];
this.tweens[_local5].s = (_local9.s + _local9.c);
_local9.c = (_local9.c * -1);
_local5--;
};
};
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0))));
};
_initted = true;
}
public function get active():Boolean{
if (_active){
return (true);
};
if (((_curTime - this.initTime) / 1000) > this.delay){
_active = true;
this.startTime = (this.initTime + (this.delay * 1000));
if (!_initted){
initTweenVals();
} else {
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(this.vars.onStartScope, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function render(_arg1:uint):void{
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local2:Number = ((_arg1 - this.startTime) / 1000);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = 1;
} else {
_local3 = this.vars.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c));
_local5--;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5]);
_local5--;
};
};
if (this.vars.onUpdate != null){
this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
if (!_initted){
initTweenVals();
};
this.startTime = (_curTime - (this.duration * 1000));
render(_curTime);
return;
};
if (this.vars.visible != undefined){
this.target.visible = Boolean(this.vars.visible);
};
removeTween(this);
if (this.vars.onComplete != null){
this.vars.onComplete.apply(this.vars.onCompleteScope, this.vars.onCompleteParams);
};
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function frameProxy(_arg1:Object):void{
_arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame));
}
public static function removeTween(_arg1:TweenLite=null):void{
if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){
delete _all[_arg1.target][_arg1];
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:*;
if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){
if (_arg2){
_local3 = _all[_arg1];
for (_local4 in _local3) {
_local3[_local4].complete(false);
};
};
delete _all[_arg1];
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, onCompleteScope:_arg4, overwrite:false}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function executeAll(_arg1:Event=null):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:Object;
var _local2:uint = (_curTime = getTimer());
if (_listening){
_local3 = _all;
for each (_local4 in _local3) {
for (_local5 in _local4) {
if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){
_local4[_local5].render(_local2);
};
};
};
};
}
public static function volumeProxy(_arg1:Object):void{
_arg1.info.target.soundTransform = _arg1.target;
}
public static function killGarbage(_arg1:TimerEvent):void{
var _local3:Boolean;
var _local4:Object;
var _local5:Object;
var _local6:Object;
var _local2:uint;
for (_local4 in _all) {
_local3 = false;
for (_local5 in _all[_local4]) {
_local3 = true;
break;
};
if (!_local3){
delete _all[_local4];
} else {
_local2++;
};
};
if (_local2 == 0){
_timer.removeEventListener("timer", killGarbage);
_timer.stop();
_listening = false;
};
}
public static function tintProxy(_arg1:Object):void{
var _local2:Number = _arg1.target.progress;
var _local3:Number = (1 - _local2);
var _local4:Object = _arg1.info.color;
var _local5:Object = _arg1.info.endColor;
_arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2)));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 136
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.4.0.9271";
}
}//package mx.core
Section 137
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 138
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 139
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.4.0.9271";
}
}//package mx.core
Section 140
//Brand (spill.localisation.Brand)
package spill.localisation {
import flash.xml.*;
public class Brand {
public var domain:String;
public var emailPage:String;
public var name:String;
public var site_id:uint;
public var isExternal:Boolean;// = false
public var id:Number;
public var hostingDomain:String;// = ""
public var preferedLanguage:String;// = ""
public var moreLink:String;// = ""
public var hasSendToFriendLink:Boolean;// = true
public var emailLink:String;// = "game"
public var portalGroup:uint;
public var useGoogleAnalitics:Boolean;// = true
private static const topLevelDoubles:String = (((((((((((((("ac.cn,ac.jp,ac.uk,ad.jp,adm.br,adv.br,agr.br," + "ah.cn,am.br,arq.br,art.br,asn.au,ato.br,av.tr,bel.tr,bio.br,biz.tr,bj.cn,bmd.br,") + "cim.br,cng.br,cnt.br,co.at,co.jp,co.uk,com.au,com.br,com.cn,com.eg,com.hk,com.mx,") + "com.ru,com.tr,com.tw,conf.au,cq.cn,csiro.au,dr.tr,ecn.br,edu.au,edu.br,edu.tr,") + "emu.id.au,eng.br,esp.br,etc.br,eti.br,eun.eg,far.br,fj.cn,fm.br,fnd.br,fot.br,") + "fst.br,g12.br,gb.com,gb.net,gd.cn,gen.tr,ggf.br,gob.mx,gov.au,gov.br,gov.cn,") + "gov.hk,gov.tr,gr.jp,gs.cn,gx.cn,gz.cn,ha.cn,hb.cn,he.cn,hi.cn,hk.cn,hl.cn,hn.cn,") + "id.au,idv.tw,imb.br,ind.br,inf.br,info.au,info.tr,jl.cn,jor.br,js.cn,jx.cn,k12.tr,") + "lel.br,ln.cn,ltd.uk,mat.br,me.uk,med.br,mil.br,mil.tr,mo.cn,mus.br,name.tr,ne.jp,") + "net.au,net.br,net.cn,net.eg,net.hk,net.lu,net.mx,net.ru,net.tr,net.tw,net.uk,") + "nm.cn,no.com,nom.br,not.br,ntr.br,nx.cn,odo.br,oop.br,or.at,or.jp,org.au,org.br,") + "org.cn,org.hk,org.lu,org.ru,org.tr,org.tw,org.uk,plc.uk,pol.tr,pp.ru,ppg.br,pro.br,") + "psc.br,psi.br,qh.cn,qsl.br,rec.br,sc.cn,sd.cn,se.com,se.net,sh.cn,slg.br,sn.cn,") + "srv.br,sx.cn,tel.tr,tj.cn,tmp.br,trd.br,tur.br,tv.br,tw.cn,uk.com,uk.net,vet.br,") + "wattle.id.au,web.tr,xj.cn,xz.cn,yn.cn,zj.cn,zlg.br,co.nr,co.nz,com.fr,com.ph,com.ar,");
private function get utm_campaign():String{
if (isExternal){
return (("utm_campaign=" + hostingDomain));
};
return ("");
}
public function exportXML():XML{
var _local3:XML;
var _local1:XML = <portal/>
;
_local1.@id = site_id;
_local1.@language = preferedLanguage;
_local1.@channel = portalGroup;
var _local2:XML = <domain/>
;
_local2.appendChild(new XMLNode(3, domain));
_local1.appendChild(_local2);
if (moreLink){
_local3 = <more_games_path/>
;
_local3.appendChild(new XMLNode(3, moreLink));
_local1.appendChild(_local3);
};
_local2 = <game_path/>
;
_local2.appendChild(new XMLNode(3, emailLink));
_local1.appendChild(_local2);
if (!useGoogleAnalitics){
_local1.attributes.noGoogleAnalitics = true;
};
if (!hasSendToFriendLink){
_local1.attributes.noSendToFriendLink = true;
};
return (_local1);
}
public function getPromotionLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String="", _arg5:String=""):String{
var _local6:String = ("http://" + domain);
_local6 = (_local6 + ((("/" + emailLink) + "/") + _arg2));
if (useGoogleAnalitics){
_local6 = (_local6 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal"));
_local6 = (_local6 + ("&utm_campaign=" + _arg1));
_arg4 = stripSubDomain(_arg4);
trace(_arg4);
if (_arg4 == "localhost"){
_arg4 = "offline_play";
};
_local6 = (_local6 + ("&utm_source=" + _arg4));
if (((!((_arg5 == ""))) && (!((_arg5 == null))))){
_local6 = (_local6 + ("&utm_content=" + _arg5));
};
};
return (_local6);
}
private function get utm_source():String{
return (("utm_source=brandedgames_" + (isExternal) ? "external" : "internal"));
}
public function getMoreGamesLink(_arg1:String, _arg2:Boolean, _arg3:String="", _arg4:String=""):String{
var _local5:String = ("http://" + domain);
_local5 = (_local5 + ("/" + moreLink));
if (useGoogleAnalitics){
_local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg2) ? "external" : "internal"));
_local5 = (_local5 + ("&utm_campaign=" + _arg1));
_arg3 = stripSubDomain(_arg3);
if (_arg3 == "localhost"){
_arg3 = "offline_play";
};
_local5 = (_local5 + ("&utm_source=" + _arg3));
if (((!((_arg4 == ""))) && (!((_arg4 == null))))){
_local5 = (_local5 + ("&utm_content=" + _arg4));
};
};
return (_local5);
}
public function get backgroundColor():uint{
return (PortalGroup.backgroundColors[portalGroup]);
}
private function get utm_term():String{
return ("utm_term=");
}
public function importXML(_arg1:XMLNode):void{
}
public function getSendToFriendLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String=""):String{
if (!hasSendToFriendLink){
return (getMoreGamesLink(_arg1, _arg3));
};
var _local5:String = ("http://" + domain);
_local5 = (_local5 + ((("/" + emailLink) + "/") + _arg2));
if (useGoogleAnalitics){
_local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal"));
_local5 = (_local5 + ("&utm_campaign=" + _arg1));
_arg4 = stripSubDomain(_arg4);
if (_arg4 == "localhost"){
_arg4 = "offline_play";
};
_local5 = (_local5 + ("&utm_source=" + _arg4));
_local5 = (_local5 + "&utm_content=send_to_friend");
};
return (_local5);
}
private static function stripSubDomain(_arg1:String):String{
if (!_arg1){
return ("");
};
var _local2:Array = _arg1.split(".");
if (_local2.length <= 2){
return (_arg1);
};
_local2 = _local2.reverse();
if (topLevelDoubles.indexOf((((_local2[1] + ".") + _local2[0]) + ",")) > 0){
return (((((_local2[2] + ".") + _local2[1]) + ".") + _local2[0]));
};
return (((_local2[1] + ".") + _local2[0]));
}
}
}//package spill.localisation
Section 141
//Brandings (spill.localisation.Brandings)
package spill.localisation {
public class Brandings {
private static var brands_by_id:Object = new Object();
private static var brands_by_domain:Object = new Object();
public static function getBrandByID(_arg1:Number):Brand{
return (brands_by_id[_arg1]);
}
public static function getBrandsArray():Array{
var _local2:Brand;
var _local1:Array = new Array();
for each (_local2 in brands_by_domain) {
_local1.push(_local2);
};
return (_local1);
}
private static function addBrand(_arg1:Brand):Brand{
if (brands_by_domain[_arg1.domain]){
trace(("ERROR: Attempting to add duplicate brand by domain: " + _arg1.domain));
} else {
brands_by_domain[_arg1.domain] = _arg1;
};
if (brands_by_id[_arg1.site_id]){
trace(("ERROR: Attempting to add duplicate brand by id: " + _arg1.site_id));
} else {
brands_by_id[_arg1.site_id] = _arg1;
};
return (_arg1);
}
public static function initialize():void{
var _local1:Brand;
_local1 = new Brand();
_local1.site_id = 79;
_local1.domain = "www.agame.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.TWEEN;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 88;
_local1.domain = "www.gamesgames.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 90;
_local1.domain = "www.girlsgogames.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.GIRL;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 45;
_local1.domain = "www.a10.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.TEEN;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 92;
_local1.domain = "www.games.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 107;
_local1.domain = "www.agame.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.TWEEN;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 102;
_local1.domain = "www.girlsgogames.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.GIRL;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 2;
_local1.domain = "www.game.com.cn";
_local1.moreLink = "moregames/";
_local1.preferedLanguage = "cn";
_local1.portalGroup = PortalGroup.NONE;
_local1.useGoogleAnalitics = false;
_local1.hasSendToFriendLink = false;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 25;
_local1.domain = "www.spel.nl";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 1;
_local1.domain = "www.spelletjes.nl";
_local1.emailLink = "spel";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 93;
_local1.domain = "www.girlsgogames.nl";
_local1.emailLink = "spel";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 12;
_local1.domain = "www.jeu.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 95;
_local1.domain = "www.girlsgogames.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 11;
_local1.domain = "www.jeux.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 26;
_local1.domain = "www.spielen.com";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 94;
_local1.domain = "www.girlsgogames.de";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 5;
_local1.domain = "www.jetztspielen.de";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 109;
_local1.domain = "www.minigry.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 16;
_local1.domain = "www.gry.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 98;
_local1.domain = "www.girlsgogames.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 108;
_local1.domain = "www.spel.se";
_local1.emailLink = "spel_";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "se";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 100;
_local1.domain = "www.girlsgogames.se";
_local1.emailLink = "spel_";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "se";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 44;
_local1.domain = "www.spela.se";
_local1.emailLink = "spel_";
_local1.preferedLanguage = "se";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 106;
_local1.domain = "www.giocaregratis.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 15;
_local1.domain = "www.gioco.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 99;
_local1.domain = "www.girlsgogames.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 97;
_local1.domain = "www.zapjuegos.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 86;
_local1.domain = "www.juegos.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 96;
_local1.domain = "www.juegosdechicas.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 122;
_local1.domain = "www.girlsgogames.es";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 125;
_local1.domain = "www.juegos.mx";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 126;
_local1.domain = "www.juegosdechicas.mx";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 127;
_local1.domain = "www.juegos.com.ar";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 128;
_local1.domain = "www.juegosdechicas.com.ar";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 91;
_local1.domain = "www.clickjogos.com";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 101;
_local1.domain = "www.girlsgogames.com.br";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 50;
_local1.domain = "www.ojogos.com.br";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 55;
_local1.domain = "www.games.co.id";
_local1.emailLink = "permainanme";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "id";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 105;
_local1.domain = "www.flashgames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 104;
_local1.domain = "www.girlsgogames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 103;
_local1.domain = "www.ourgames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 24;
_local1.domain = "www.game.co.in";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "in";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 87;
_local1.domain = "www.ojogos.pt";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "pt";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 120;
_local1.domain = "www.egames.jp";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.TWEEN;
_local1.preferedLanguage = "jp";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 121;
_local1.domain = "www.dailygame.com";
_local1.emailLink = "/game/";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 123;
_local1.domain = "www.zapapa.com";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.ZAPAPA;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 124;
_local1.domain = "www.zapapa.nl";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.HYVES;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 0;
_local1.domain = "gamedev.dev.spilgames.com";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
}
public static function exportXML():XML{
var _local2:Brand;
var _local1:XML = <portals/>
;
for each (_local2 in brands_by_domain) {
_local1.appendChild(_local2.exportXML());
};
return (_local1);
}
public static function getBrandByDomain(_arg1:String):Brand{
return (brands_by_domain[_arg1]);
}
public static function hasDomain(_arg1:String):Boolean{
return (!((brands_by_domain[_arg1] == null)));
}
}
}//package spill.localisation
Section 142
//Language (spill.localisation.Language)
package spill.localisation {
import flash.xml.*;
public class Language {
public var portal_groups:Array;
public var references:Array;
public var name:String;
public var embedInputFonts:Boolean;// = true
public var id:uint;
public var forceFont:String;// = null
public var textLanguage:String;
public var bwcId:int;
public var embedFonts:Boolean;// = true
public var displayName:String;// = ""
public var dname:String;
public function Language(_arg1:String, _arg2:String=null){
references = [];
super();
name = _arg1;
dname = _arg2;
portal_groups = new Array();
}
public function exportXML():XMLNode{
var _local1:XMLNode = new XMLNode(1, "language");
_local1.attributes.name = name;
if (textLanguage != null){
_local1.attributes.textLanguage = textLanguage;
};
if (references.length){
_local1.attributes.references = references.toString();
};
_local1.attributes.id = bwcId;
var _local2:XMLNode = new XMLNode(1, "display_name");
_local2.firstChild = new XMLNode(3, displayName);
_local1.appendChild(_local2);
var _local3:Array = [];
var _local4:Array = PortalGroup.channelNames;
var _local5:int;
while (_local5 < _local4.length) {
_local3.push(Brandings.getBrandByDomain(portal_groups[_local5]).site_id);
_local5++;
};
_local1.attributes.channels = _local3.join(",");
return (_local1);
}
public function get p_teen():String{
return (portal_groups[PortalGroup.TEEN]);
}
public function set p_hyves(_arg1:String):void{
portal_groups[PortalGroup.HYVES] = _arg1;
}
public function set p_teen(_arg1:String):void{
portal_groups[PortalGroup.TEEN] = _arg1;
}
public function get p_tween():String{
return (portal_groups[PortalGroup.TWEEN]);
}
public function get p_family():String{
return (portal_groups[PortalGroup.FAMILY]);
}
public function get p_girl():String{
trace("Language", portal_groups[PortalGroup.GIRL]);
return (portal_groups[PortalGroup.GIRL]);
}
public function get p_hyves():String{
return (portal_groups[PortalGroup.HYVES]);
}
public function set p_girl(_arg1:String):void{
portal_groups[PortalGroup.GIRL] = _arg1;
}
public function set p_zapapa(_arg1:String):void{
portal_groups[PortalGroup.ZAPAPA] = _arg1;
}
public function get displayAcronim():String{
return ((dname) ? dname : name);
}
public function set p_family(_arg1:String):void{
portal_groups[PortalGroup.FAMILY] = _arg1;
}
public function set p_tween(_arg1:String):void{
portal_groups[PortalGroup.TWEEN] = _arg1;
}
public function get p_zapapa():String{
return (portal_groups[PortalGroup.ZAPAPA]);
}
}
}//package spill.localisation
Section 143
//Languages (spill.localisation.Languages)
package spill.localisation {
import flash.xml.*;
public class Languages {
public static var languages:Object = new Object();
private static var _init:Boolean = false;
public static function initialize():void{
var _local1:Language;
if (_init){
return;
};
_init = true;
_local1 = new Language("nl");
_local1.displayName = "Nederlands";
_local1.p_family = "www.spelletjes.nl";
_local1.p_tween = "www.spel.nl";
_local1.p_girl = "www.girlsgogames.nl";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.p_hyves = "www.zapapa.nl";
_local1.bwcId = 3;
addLanguage(_local1);
_local1 = new Language("es");
_local1.displayName = "Español";
_local1.p_family = "www.juegos.com";
_local1.p_tween = "www.zapjuegos.com";
_local1.p_girl = "www.girlsgogames.es";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 9;
addLanguage(_local1);
_local1 = new Language("pl");
_local1.displayName = "Polski";
_local1.p_family = "www.gry.pl";
_local1.p_tween = "www.gry.pl";
_local1.p_girl = "www.girlsgogames.pl";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 6;
addLanguage(_local1);
_local1 = new Language("fr");
_local1.displayName = "Français";
_local1.p_family = "www.jeux.fr";
_local1.p_tween = "www.jeu.fr";
_local1.p_girl = "www.girlsgogames.fr";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 4;
addLanguage(_local1);
_local1 = new Language("en_us", "us");
_local1.displayName = "English";
_local1.p_family = "www.gamesgames.com";
_local1.p_tween = "www.agame.com";
_local1.p_girl = "www.girlsgogames.com";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 1;
addLanguage(_local1);
addReference(_local1, "en");
_local1 = new Language("id");
_local1.displayName = "Bahasa Ind.";
_local1.p_family = "www.games.co.id";
_local1.p_tween = "www.games.co.id";
_local1.p_girl = "www.games.co.id";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 11;
addLanguage(_local1);
_local1 = new Language("ru");
_local1.displayName = "Русский";
_local1.p_family = "www.ourgames.ru";
_local1.p_tween = "www.flashgames.ru";
_local1.p_girl = "www.girlsgogames.ru";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 12;
addLanguage(_local1);
_local1 = new Language("se");
_local1.displayName = "Svenska";
_local1.p_family = "www.spela.se";
_local1.p_tween = "www.spel.se";
_local1.p_girl = "www.girlsgogames.se";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 7;
addLanguage(_local1);
addReference(_local1, "sv");
_local1 = new Language("it");
_local1.displayName = "Italiano";
_local1.p_family = "www.gioco.it";
_local1.p_tween = "www.gioco.it";
_local1.p_girl = "www.girlsgogames.it";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 8;
addLanguage(_local1);
_local1 = new Language("en_uk", "uk");
_local1.displayName = "English";
_local1.p_family = "www.games.co.uk";
_local1.p_tween = "www.agame.com";
_local1.p_girl = "www.girlsgogames.co.uk";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 13;
addLanguage(_local1);
_local1 = new Language("cn");
_local1.displayName = "中文";
_local1.p_family = "www.game.com.cn";
_local1.p_tween = "www.game.com.cn";
_local1.p_girl = "www.game.com.cn";
_local1.p_teen = "www.game.com.cn";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 2;
_local1.embedFonts = false;
_local1.embedInputFonts = false;
_local1.forceFont = "_sans";
addLanguage(_local1);
addReference(_local1, "zh-CN");
addReference(_local1, "zh-TW");
_local1 = new Language("pt");
_local1.displayName = "Português";
_local1.p_family = "www.ojogos.pt";
_local1.p_tween = "www.agame.com";
_local1.p_girl = "www.ojogos.pt";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 17;
addLanguage(_local1);
_local1 = new Language("in");
_local1.displayName = "English";
_local1.p_family = "www.game.co.in";
_local1.p_tween = "www.game.co.in";
_local1.p_girl = "www.game.co.in";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.textLanguage = "en_uk";
_local1.bwcId = 14;
addLanguage(_local1);
_local1 = new Language("de");
_local1.displayName = "Deutsch";
_local1.p_family = "www.jetztspielen.de";
_local1.p_tween = "www.spielen.com";
_local1.p_girl = "www.girlsgogames.de";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 5;
addLanguage(_local1);
_local1 = new Language("br");
_local1.displayName = "Português (BR)";
_local1.p_family = "www.ojogos.com.br";
_local1.p_tween = "www.clickjogos.com";
_local1.p_girl = "www.girlsgogames.com.br";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 10;
addLanguage(_local1);
_local1 = new Language("jp");
_local1.displayName = "日本語";
_local1.p_family = "www.egames.jp";
_local1.p_tween = "www.egames.jp";
_local1.p_girl = "www.egames.jp";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.embedFonts = true;
_local1.embedInputFonts = false;
_local1.forceFont = "MS UI Gothic";
_local1.bwcId = 19;
addLanguage(_local1);
addReference(_local1, "ja");
_local1 = new Language("ar");
_local1.displayName = "English";
_local1.p_family = "www.dailygame.com";
_local1.p_tween = "www.dailygame.com";
_local1.p_girl = "www.dailygame.com";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 20;
addLanguage(_local1);
addReference(_local1, "ar");
_local1 = new Language("es_mx", "mx");
_local1.displayName = "Español";
_local1.p_family = "www.juegos.mx";
_local1.p_tween = "www.juegos.mx";
_local1.p_girl = "www.juegosdechicas.mx";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.textLanguage = "es";
addLanguage(_local1);
addReference(_local1, "mx");
_local1 = new Language("es_ar", "arg");
_local1.displayName = "Español";
_local1.p_family = "www.juegos.com.ar";
_local1.p_tween = "www.juegos.com.ar";
_local1.p_girl = "www.juegosdechicas.com.ar";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.textLanguage = "es";
addLanguage(_local1);
addReference(_local1, "arg");
}
public static function exportXML():XMLNode{
var _local3:Language;
var _local1:Array = getLanguagesArray();
var _local2:XMLNode = new XMLNode(1, "languages");
for each (_local3 in _local1) {
_local2.appendChild(_local3.exportXML());
};
return (_local2);
}
public static function getLanguagesArray():Array{
var _local3:Language;
var _local1:Array = new Array();
var _local2:Object = new Object();
for each (_local3 in languages) {
if (!_local2[_local3.name]){
_local1.push(_local3);
_local2[_local3.name] = true;
};
};
return (_local1);
}
public static function getLanguage(_arg1:String):Language{
return (languages[_arg1]);
}
private static function addLanguage(_arg1:Language):void{
languages[_arg1.name] = _arg1;
}
private static function addReference(_arg1:Language, _arg2:String):void{
languages[_arg2] = _arg1;
_arg1.references.push(_arg2);
}
public static function getLanguageByOldID(_arg1:int):Language{
var _local2:Language;
for each (_local2 in languages) {
if (_local2.bwcId == _arg1){
return (_local2);
};
};
return (null);
}
}
}//package spill.localisation
Section 144
//LanguageSelectBox (spill.localisation.LanguageSelectBox)
package spill.localisation {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class LanguageSelectBox extends MovieClip {
private var flag:MovieClip;
private var languageName_text:TextField;
private var popup:MovieClip;
private var mc:MovieClip;
public function LanguageSelectBox(){
if (numChildren > 0){
removeChildAt(0);
};
addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true);
addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true);
Languages.initialize();
popup = new LanguageSelectPopup_mc();
x = Math.round(x);
y = Math.round(y);
popup.y = (-(Math.floor(popup.height)) + 1);
popup.visible = false;
addChild(popup);
mc = new LanguageSelectBox_mc();
addChild(mc);
flag = mc.flag;
languageName_text = mc.languageName_text;
if (stage){
added();
};
init();
languageChanged();
}
private function added(_arg1:Event=null):void{
SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true);
}
private function mouseOut(_arg1:MouseEvent):void{
popup.visible = false;
}
public function set popupLocation(_arg1:String):void{
if (_arg1 == "bottom"){
popup.y = Math.floor(mc.height);
} else {
popup.y = (-(Math.floor(mc.height)) + 1);
};
}
private function removed(_arg1:Event):void{
SpilGame.removeEventListener("languageChanged", languageChanged);
}
public function init():void{
var _local3:MovieClip;
var _local4:Language;
var _local1:Array = new Array(popup.l_br, popup.l_de, popup.l_en_us, popup.l_fr, popup.l_in, popup.l_jp, popup.l_pt, popup.l_ru, popup.l_ar, popup.l_cn, popup.l_en_uk, popup.l_es, popup.l_id, popup.l_it, popup.l_nl, popup.l_pl, popup.l_se, popup.l_es_mx, popup.l_es_ar);
var _local2:int;
while (_local2 < _local1.length) {
_local3 = MovieClip(_local1[_local2]);
if (_local3){
_local3.addEventListener(MouseEvent.CLICK, itemClicked, true, 0, true);
_local3.flag.gotoAndStop(_local3.name.substr(2));
_local3.flag.mouseEnabled = false;
_local3.text.mouseEnabled = false;
_local4 = Languages.getLanguage(_local3.name.substr(2));
if (_local4){
_local3.text.text = _local4.displayAcronim;
} else {
trace((("Error, '" + _local3.name.substr(2)) + "' language not found"));
};
} else {
trace((((("Error, btn number '" + _local2) + "' is not a MovieClip or there is no button '") + _local1[_local2]) + "'"));
};
_local2++;
};
}
private function itemClicked(_arg1:MouseEvent):void{
SpilGame.changeLanguage(_arg1.currentTarget.name.substr(2));
popup.visible = false;
}
private function mouseOver(_arg1:MouseEvent):void{
popup.visible = true;
}
private function languageChanged(_arg1:Event=null):void{
if (SpilGame.currentLanguage){
flag.gotoAndStop(SpilGame.currentLanguage.name);
languageName_text.text = SpilGame.currentLanguage.displayName;
languageName_text.embedFonts = SpilGame.currentLanguage.embedInputFonts;
};
}
}
}//package spill.localisation
Section 145
//LanguageSelectBox_mc (spill.localisation.LanguageSelectBox_mc)
package spill.localisation {
import flash.display.*;
import flash.text.*;
public dynamic class LanguageSelectBox_mc extends MovieClip {
public var languageName_text:TextField;
public var flag:MovieClip;
}
}//package spill.localisation
Section 146
//LanguageSelectPopup_mc (spill.localisation.LanguageSelectPopup_mc)
package spill.localisation {
import flash.display.*;
public dynamic class LanguageSelectPopup_mc extends MovieClip {
public var l_cn:MovieClip;
public var l_br:MovieClip;
public var l_se:MovieClip;
public var l_id:MovieClip;
public var l_es_ar:MovieClip;
public var l_es_mx:MovieClip;
public var l_in:MovieClip;
public var l_en_uk:MovieClip;
public var l_en_us:MovieClip;
public var l_es:MovieClip;
public var l_ar:MovieClip;
public var l_it:MovieClip;
public var l_pl:MovieClip;
public var l_nl:MovieClip;
public var l_de:MovieClip;
public var l_ru:MovieClip;
public var l_pt:MovieClip;
public var l_jp:MovieClip;
public var l_fr:MovieClip;
}
}//package spill.localisation
Section 147
//PortalGroup (spill.localisation.PortalGroup)
package spill.localisation {
import flash.xml.*;
public class PortalGroup {
public static const FAMILY:uint = 0;
public static const channelNames:Array = ["family", "tween", "girl", "teen", "zapapa", "hyves"];
public static const ZAPAPA:uint = 4;
public static const TWEEN:uint = 1;
public static const HYVES:uint = 5;
public static const TEEN:uint = 3;
public static const GIRL:uint = 2;
public static const backgroundColors:Array = [0xFFFFFF, 0xFFFFFF, 16742331, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF];
public static const NONE:uint = 6;
public static function getName(_arg1:int):String{
return (channelNames[_arg1]);
}
public static function exportXML():XMLNode{
var _local3:XMLNode;
var _local1:XMLNode = new XMLNode(1, "channels");
var _local2:int;
while (_local2 < 5) {
_local3 = new XMLNode(1, "channel");
_local3.attributes.name = channelNames[_local2];
_local3.attributes.id = _local2;
_local1.appendChild(_local3);
_local2++;
};
return (_local1);
}
}
}//package spill.localisation
Section 148
//spil_internal (spill.localisation.spil_internal)
package spill.localisation {
public namespace spil_internal = "spill.localisation";
}//package spill.localisation
Section 149
//SpilGame (spill.localisation.SpilGame)
package spill.localisation {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import flash.external.*;
public class SpilGame {
private static const cookieName:String = "spilgames_language_v100";
private static const cookiePath:String = "/";
private static const cookieLanguageVar:String = "savedLang";
public static const LANGUAGE_CHANGED:String = "languageChanged";
public static const BRANDING_CHANGED:String = "brandingChanged";
private static var strings:Object = new Object();
public static var currentBranding:Brand;
private static var contexMenuItem:ContextMenuItem;
spil_internal static var gameName:String;
spil_internal static var debugHostDomain:String = "";
private static var localDomains:Object = new Object();
spil_internal static var emailPage:String;
private static var channelLock:Boolean = false;
spil_internal static var debugEmbedDomain:String = "";
private static var eventDispatcher:EventDispatcher;
private static var _init:Boolean = false;
public static var currentLanguage:Language;
spil_internal static var portalGroup:uint;
private static var stage:Sprite;
public static function getSpilCompanyLink():String{
if (currentLanguage.name == "cn"){
return ("http://www.game.com.cn/downloads/");
};
return ("http://www.gameportal.net");
}
public static function getPromotionLink(_arg1:String="feature_promotion"):String{
var _local2:String = (embedDomain) ? embedDomain : hostingDomain;
return (currentBranding.getPromotionLink(gameName, emailPage, isExternal, _local2, _arg1));
}
public static function traceAllBrands():void{
trace(outputAllBrands());
}
public static function getString(_arg1:String):String{
var _local2:Object = strings[_arg1];
if (_local2){
if (currentLanguage.textLanguage){
return (_local2[currentLanguage.textLanguage]);
};
return (_local2[currentLanguage.name]);
//unresolved jump
};
return ("");
}
public static function initialize(_arg1:String, _arg2:int, _arg3:String, _arg4:Sprite, _arg5:Boolean=false):void{
stage = _arg4;
if (_init){
trace("ERROR: LocalisationManager already initialised");
return;
};
_init = true;
localDomains["localhost"] = true;
localDomains["www8.agame.com"] = true;
localDomains["gamedev.dev.spilgames.com"] = true;
localDomains["stg.spel.nl"] = true;
localDomains["stg.girlsgogames.nl"] = true;
localDomains["stg.pl.spel.nl"] = true;
localDomains["stg.pl.girlsgogames.nl"] = true;
trace(localDomains["stg.girlsgogames.nl"]);
Brandings.initialize();
Languages.initialize();
initContexMenu(_arg4);
channelLock = _arg5;
gameName = _arg1.replace(" ", "_");
portalGroup = _arg2;
emailPage = _arg3;
chooseLanguage();
chooseBranding();
}
public static function get isExternal():Boolean{
return (((((!(Brandings.hasDomain(embedDomain))) && (!(localDomains[embedDomain])))) && (!(isStagingDomain))));
}
private static function initContexMenu(_arg1:Sprite):void{
contexMenuItem = new ContextMenuItem("");
_arg1.contextMenu = new ContextMenu();
_arg1.contextMenu.customItems.push(contexMenuItem);
contexMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contexMenuClicked);
}
private static function replaceFn():String{
var _local2:String = SpilGame.getString(arguments[1]);
if (((!(_local2)) || ((_local2 == "")))){
return ((("{" + arguments[1]) + "}"));
};
return (_local2);
}
spil_internal static function get hostingDomain():String{
var _local1:LocalConnection;
if (debugHostDomain != ""){
return (debugHostDomain);
};
_local1 = new LocalConnection();
return (_local1.domain);
}
spil_internal static function chooseLanguage():void{
if (cookieLanguage != null){
currentLanguage = cookieLanguage;
} else {
if (isExternal){
currentLanguage = systemLanguage;
} else {
currentLanguage = portalLanguage;
if (!currentLanguage){
currentLanguage = systemLanguage;
};
};
};
if (!currentLanguage){
trace("Unable to determine language, using 'English US'");
currentLanguage = Languages.getLanguage("en_us");
};
TextFieldFit.embedFonts = currentLanguage.embedFonts;
TextFieldFit.forceFont = currentLanguage.forceFont;
dispatchEvent(new Event(LANGUAGE_CHANGED));
}
private static function contexMenuClicked(_arg1:ContextMenuEvent):void{
navigateToURL(new URLRequest(getMoreGamesLink("Contex_Menu")));
}
public static function initTextField(_arg1:TextField):void{
var _local2:TextFormat;
trace(_arg1.text);
_arg1.text = _arg1.text.replace(/{([^{}]*)}/g, replaceFn);
trace(_arg1.text);
_arg1.embedFonts = currentLanguage.embedFonts;
if (currentLanguage.forceFont != ""){
_local2 = new TextFormat();
_local2.font = currentLanguage.forceFont;
_arg1.setTextFormat(_local2);
};
}
public static function importXMLv2(_arg1:XML):void{
var _local2:XML;
var _local3:Object;
var _local4:XML;
for each (_local2 in _arg1.children()) {
_local3 = (strings[_local2.attribute("identifier")] = new Object());
for each (_local4 in _local2.children()) {
if (_local4.children().length() > 0){
_local3[_local4.name()] = _local4.children()[0].toString();
} else {
_local3[_local4.name()] = "";
};
};
};
}
spil_internal static function changeLanguage(_arg1:String):void{
var _local2:Language = Languages.getLanguage(_arg1);
if (!_local2){
trace("ERROR: Supplied language string does not have a matching language");
} else {
cookieLanguage = _local2;
currentLanguage = _local2;
};
TextFieldFit.embedFonts = currentLanguage.embedFonts;
TextFieldFit.forceFont = currentLanguage.forceFont;
chooseBranding();
dispatchEvent(new Event(LANGUAGE_CHANGED));
}
public static function getSendToFriendLink():String{
return (currentBranding.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain));
}
spil_internal static function chooseBranding():void{
currentBranding = Brandings.getBrandByDomain(currentLanguage.portal_groups[portalGroup]);
if (!(currentBranding is Brand)){
currentBranding = Brandings.getBrandByDomain("www.agame.com");
};
contexMenuItem.caption = ("More Games: " + currentBranding.domain);
dispatchEvent(new Event(BRANDING_CHANGED));
}
spil_internal static function get systemLanguage():Language{
return (Languages.getLanguage(Capabilities.language));
}
spil_internal static function set cookieLanguage(_arg1:Language):void{
var _local2:SharedObject = SharedObject.getLocal(cookieName, cookiePath);
if (_arg1 == null){
_local2.data[cookieLanguageVar] = null;
} else {
_local2.data[cookieLanguageVar] = _arg1.name;
};
_local2.flush();
}
public static function importXML(_arg1:XML):void{
var _local2:XML;
var _local3:Object;
var _local4:XML;
for each (_local2 in _arg1.children()) {
_local3 = (strings[_local2.identifier] = new Object());
for each (_local4 in _local2.children()) {
_local3[_local4.name()] = _local4.children()[0].toString();
};
};
}
spil_internal static function dispatchEvent(_arg1:Event):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.dispatchEvent(_arg1);
}
private static function getDomain(_arg1:String):String{
var _local2:String;
var _local3:uint;
if (_arg1.indexOf("file") == 0){
return ("offline_play");
};
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
if (_local2 == "localhost"){
_local2 = "offline_play";
};
return (_local2);
}
public static function exportXML():XML{
var _local1:XML = <spil_games/>
;
_local1.appendChild(Brandings.exportXML());
_local1.appendChild(Languages.exportXML());
_local1.appendChild(PortalGroup.exportXML());
return (_local1);
}
public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public static function outputAllBrands():String{
var _local3:Brand;
var _local1:Array = Brandings.getBrandsArray();
var _local2 = "";
for each (_local3 in _local1) {
_local2 = (_local2 + (_local3.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain) + "\n"));
};
return (_local2);
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public static function getMoreGamesLink(_arg1:String=""):String{
var _local2:String = (embedDomain) ? embedDomain : hostingDomain;
trace("===============", currentBranding.getMoreGamesLink(gameName, isExternal, _local2, _arg1));
trace(("term : " + _arg1));
trace(("domain : " + _local2));
trace(("isExternal : " + isExternal));
trace(("gameName : " + gameName));
return (currentBranding.getMoreGamesLink(gameName, isExternal, _local2, _arg1));
}
public static function get isStagingDomain():Boolean{
var _local1:String = ("http://" + embedDomain);
return ((_local1.indexOf("http://stg.") >= 0));
}
spil_internal static function get cookieLanguage():Language{
var _local1:SharedObject = SharedObject.getLocal(cookieName, cookiePath);
var _local2:String = String(_local1.data[cookieLanguageVar]);
return (Languages.getLanguage(_local2));
}
private static function get portalLanguage():Language{
var _local1:Brand;
var _local2:String;
var _local3:Language;
if (isExternal){
return (null);
};
if (!embedDomain){
return (null);
};
_local1 = Brandings.getBrandByDomain(embedDomain);
if (!_local1){
return (null);
};
_local2 = _local1.preferedLanguage;
if (!_local2){
return (null);
};
_local3 = Languages.getLanguage(_local2);
if (!_local3){
return (null);
};
return (_local3);
}
spil_internal static function get embedDomain():String{
var loc:String;
if (debugEmbedDomain != ""){
return (debugEmbedDomain);
};
if (ExternalInterface.available){
try {
loc = ExternalInterface.call("window.location.href.toString");
if (((!((loc == ""))) && (!((loc == null))))){
trace(("embed domain = " + getDomain(loc)));
return (getDomain(loc));
};
} catch(e:SecurityError) {
trace(("Security Error connecting to external interface, error = " + e));
} catch(e:Error) {
trace(("Error connecting to external interface, error = " + e));
};
};
return (null);
}
}
}//package spill.localisation
Section 150
//TextFieldFit (spill.localisation.TextFieldFit)
package spill.localisation {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.filters.*;
public class TextFieldFit extends MovieClip {
protected var _glowQuality:Number;// = 1
protected var _gridFitType:String;// = "pixel"
protected var _text:String;// = "default"
private var debugBounding:Sprite;
protected var _disableWordwrap:Boolean;// = false
protected var _textSize:Number;// = 12
protected var _multiline:Boolean;// = false
protected var _font:String;// = ""
protected var _embedFonts:Boolean;// = true
protected var _underline:Boolean;// = false
protected var _vAlign:String;// = "top"
protected var _italic:Boolean;// = false
protected var _useGlowFilter:Boolean;// = false
protected var _glowColor:uint;// = 0
protected var _bold:Boolean;// = false
private var h:Number;
protected var _antiAliasType:String;// = "advanced"
private var sizeChanged:Boolean;// = true
private var w:Number;
private var embeddedFonts:Array;
protected var _hAlign:String;// = "left"
protected var _textColor:uint;// = 0
protected var _glowStrength:Number;// = 5
protected var _glowBlur:Number;// = 3
protected var _selectable:Boolean;// = false
private var format:TextFormat;
private var field:TextField;
private var valid:Boolean;// = true
private static const gutter:Number = 2;
spil_internal static var embedFonts:Boolean = true;
spil_internal static var forceAAType:String = null;
spil_internal static var forceFont:String = null;
public static var alwaysCheckWidth:Boolean = false;
public function TextFieldFit(){
var _local1:Boolean = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")));
var _local2:Number = width;
var _local3:Number = height;
if (numChildren > 0){
removeChildAt(0);
};
if (!field){
field = new TextField();
addChild(field);
};
field.border = false;
field.background = false;
field.type = TextFieldType.DYNAMIC;
mouseEnabled = false;
mouseChildren = false;
format = new TextFormat();
embeddedFonts = Font.enumerateFonts(false);
setSize(_local2, _local3);
validate();
if (stage){
addEventListener(Event.RENDER, init);
stage.invalidate();
};
init();
}
private function resizeText(_arg1:Boolean=false):void{
if (!doesTextFit()){
format.size = Object((Number(format.size) - 1));
if (format.size <= 3){
trace("WARNING: Text resised to 3px, either an error occured or the text just wont fit");
return;
};
field.setTextFormat(format);
resizeText(true);
} else {
if (_arg1 == false){
while (doesTextFit()) {
if (format.size <= textSize){
format.size = Object((Number(format.size) + 1));
field.setTextFormat(format);
if (!doesTextFit()){
format.size = Object((Number(format.size) - 1));
field.setTextFormat(format);
break;
};
} else {
break;
};
};
};
};
}
public function set hAlign(_arg1:String):void{
_hAlign = _arg1;
invalidate();
}
public function set bold(_arg1:Boolean):void{
_bold = _arg1;
invalidate();
}
private function init(_arg1:Event=null):void{
removeEventListener(Event.RENDER, init);
updateProperties();
layoutText();
}
private function validate(_arg1:Event=null):void{
updateProperties();
layoutText();
removeEventListener(Event.ENTER_FRAME, validate);
valid = true;
}
public function set glowBlur(_arg1:Number):void{
_glowBlur = _arg1;
invalidate();
}
public function get vAlign():String{
return (_vAlign);
}
public function get italic():Boolean{
return (_italic);
}
public function get textColor():uint{
return (_textColor);
}
private function invalidate():void{
if (valid){
addEventListener(Event.ENTER_FRAME, validate);
if (stage){
stage.invalidate();
};
valid = false;
};
}
public function get text():String{
return (_text);
}
public function get useGlowFilter():Boolean{
return (_useGlowFilter);
}
public function get selectable():Boolean{
return (_selectable);
}
public function set text(_arg1:String):void{
_text = _arg1;
invalidate();
}
public function set embedFonts(_arg1:Boolean):void{
_embedFonts = _arg1;
invalidate();
}
public function set vAlign(_arg1:String):void{
_vAlign = _arg1;
invalidate();
}
public function set italic(_arg1:Boolean):void{
_italic = _arg1;
invalidate();
}
public function get font():String{
return (_font);
}
public function set multiline(_arg1:Boolean):void{
_multiline = _arg1;
invalidate();
}
public function get disableWordwrap():Boolean{
return (_disableWordwrap);
}
public function set textColor(_arg1:uint):void{
_textColor = _arg1;
invalidate();
}
public function get antiAliasType():String{
return (_antiAliasType);
}
private function layoutText():void{
resizeText();
field.height = (field.textHeight + (gutter * 2));
if (vAlign == "top"){
field.y = 0;
} else {
if (vAlign == "middle"){
field.y = ((h - field.height) / 2);
} else {
if (vAlign == "bottom"){
field.y = (h - field.height);
};
};
};
}
public function set glowQuality(_arg1:Number):void{
_glowQuality = _arg1;
invalidate();
}
public function get hAlign():String{
return (_hAlign);
}
public function setSize(_arg1:Number, _arg2:Number):void{
w = _arg1;
h = _arg2;
scaleX = (scaleY = 1);
field.width = w;
field.height = h;
invalidate();
}
public function get bold():Boolean{
return (_bold);
}
public function set gridFitType(_arg1:String):void{
_gridFitType = _arg1;
invalidate();
}
public function set underline(_arg1:Boolean):void{
_underline = _arg1;
invalidate();
}
public function get glowBlur():Number{
return (_glowBlur);
}
public function set useGlowFilter(_arg1:Boolean):void{
_useGlowFilter = _arg1;
invalidate();
}
public function set font(_arg1:String):void{
_font = _arg1;
invalidate();
}
public function set textSize(_arg1:Number):void{
_textSize = _arg1;
sizeChanged = true;
invalidate();
}
public function set selectable(_arg1:Boolean):void{
_selectable = _arg1;
invalidate();
}
public function get multiline():Boolean{
return (_multiline);
}
public function get embedFonts():Boolean{
return (_embedFonts);
}
public function set glowColor(_arg1:uint):void{
_glowColor = _arg1;
invalidate();
}
public function set disableWordwrap(_arg1:Boolean):void{
_disableWordwrap = _arg1;
invalidate();
}
public function get glowQuality():Number{
return (_glowQuality);
}
public function get gridFitType():String{
return (_gridFitType);
}
public function get underline():Boolean{
return (_underline);
}
public function get textSize():Number{
return (_textSize);
}
public function get glowColor():uint{
return (_glowColor);
}
public function set antiAliasType(_arg1:String):void{
_antiAliasType = _arg1;
invalidate();
}
public function set glowStrength(_arg1:Number):void{
_glowStrength = _arg1;
invalidate();
}
protected function updateProperties():void{
var _local1:Boolean;
var _local2:Font;
field.text = _text;
field.multiline = ((((_text.indexOf(" ") < 0)) && ((_text.length < 14)))) ? false : _multiline;
field.wordWrap = ((field.multiline) && (!(_disableWordwrap)));
field.selectable = _selectable;
field.antiAliasType = (forceAAType) ? forceAAType : _antiAliasType;
field.gridFitType = _gridFitType;
embeddedFonts = Font.enumerateFonts(false);
if (((((_embedFonts) && (!((_font == ""))))) && (TextFieldFit.embedFonts))){
_local1 = false;
for each (_local2 in embeddedFonts) {
if (_font == _local2.fontName){
_local1 = true;
break;
};
};
field.embedFonts = _local1;
if (!_local1){
trace(((("WARNING: Embedded font '" + _font) + "' not found, disabling embedding of fonts, text = ") + _text));
};
} else {
field.embedFonts = false;
};
if (TextFieldFit.forceFont){
format.font = TextFieldFit.forceFont;
} else {
if (_font != ""){
format.font = _font;
};
};
if (sizeChanged){
format.size = _textSize;
};
format.color = _textColor;
format.align = _hAlign;
format.bold = _bold;
format.italic = _italic;
format.underline = _underline;
format.leftMargin = 0;
format.rightMargin = 0;
field.setTextFormat(format);
if (_useGlowFilter){
filters = [new GlowFilter(_glowColor, 1, _glowBlur, _glowBlur, _glowStrength, _glowQuality)];
} else {
filters = [];
};
}
private function doesTextFit():Boolean{
if (((((field.textHeight + (gutter * 2)) > h)) || (((((field.textWidth + (gutter * 2)) > w)) && (((!(field.multiline)) || (alwaysCheckWidth))))))){
return (false);
};
return (true);
}
public function get glowStrength():Number{
return (_glowStrength);
}
}
}//package spill.localisation
Section 151
//Submitter (Spill.Components.Submitter)
package Spill.Components {
import flash.display.*;
public dynamic class Submitter extends MovieClip {
}
}//package Spill.Components
Section 152
//Global (Global)
package {
import flash.display.*;
import game.*;
import game.casual.*;
import common.flash.*;
import game.casual.commands.*;
import components.*;
import gs.*;
import assets.*;
import game.casual.commands.games.*;
import gs.easing.*;
import game.screens.*;
import common.utils.*;
public class Global {
private var _root:Sprite;
private var _currentScreen:Sprite;
private var _game:CasualGame;
private var _points:Object;
private var _config:Config;
private var _achievementChecker:AchievementChecker;
private var _bannerManager:BannerManager;
private var _translator:Translator;
private var _offerArray:Array;
public static const MORE_GAMES_ULR:String = "http://www.girlgames.com";
public static const COMMAND_MEMORY:int = 3;
public static const DEBUG_MODE:Boolean = false;
public static const HOME_ULR:String = "http://www.garbuzgames.com";
public static var SND_WATER:Class = Global_SND_WATER;
public static var MUSIC:Class = Global_MUSIC;
public static var SHOW_HINT:Array = [true, true, true, true, true, true, false, false, false, false];
public static var total_money:int = 0;
public static var STAGE_TIME:Array = [40, 70, 120, 170, 210, 230, 260, 290, 320, 330];
public static var SND_5SEC:Class = Global_SND_5SEC;
public static var SND_LOST_CUSTOMER:Class = Global_SND_LOST_CUSTOMER;
public static var scoreApi:ScoreApi;
public static var SND_MONEY:Class = Global_SND_MONEY;
public static var SND_CUT:Class = Global_SND_CUT;
public static var CUSTOMERS_APPEARANCE:Array = [10, 10, 10, 9, 9, 9, 9, 11, 11, 11];
public static var CUSTOMERS:Array = [3, 5, 10, 15, 18, 20, 20, 20, 20, 20];
public static var SND_COME:Class = Global_SND_COME;
public static var OFFER:Array = [9, 18, 21, 30, 39, 42, 42, 42, 42, 42];
public static var level_num:int = 1;
public static var SHOW_NEW_ELEMENT:Array = [true, true, true, true, true, true, false, false, false, false];
public static var SND_CLOSE:Class = Global_SND_CLOSE;
public static var ACHIEVEMENT_AWARDED:Boolean = [false, false, false, false, false];
public static var SND_LOOSE_LEVEL:Class = Global_SND_LOOSE_LEVEL;
private static var _instance:Global;
public static var SND_POTS:Class = Global_SND_POTS;
public static var level_high:int = 1;
public function Global(_arg1:Sprite){
_offerArray = [];
_points = {};
_achievementChecker = new AchievementChecker();
super();
_instance = this;
_root = _arg1;
initialize();
}
public function get translator():Translator{
return (_translator);
}
public function get achievementChecker():AchievementChecker{
return (_achievementChecker);
}
private function initialize():void{
TweenLite.defaultEase = Expo.easeOut;
_bannerManager = new BannerManager();
_bannerManager.registerClass(BtnMoreGames, MORE_GAMES_ULR);
_bannerManager.registerClass(BtnGirlGames, MORE_GAMES_ULR);
_bannerManager.registerClass(BtnGarbuz, HOME_ULR);
_config = new Config();
_translator = new Translator();
scoreApi = new ScoreApi(_root.stage);
Sounds.playMusic(MUSIC);
if (!DEBUG_MODE){
changeView(new StartScreen());
} else {
config.currentGame = GameTypes.DRAGSTORE;
new CreateGameCommand().execute();
};
}
public function set achievementChecker(_arg1:AchievementChecker):void{
_achievementChecker = _arg1;
}
public function get game():CasualGame{
return (_game);
}
public function getPoints(_arg1:String):int{
return (((_arg1 in _points)) ? _points[_arg1] : 0);
}
public function get offerArray():Array{
return (_offerArray);
}
public function getTotalScore():int{
var _local2:String;
var _local1:int;
for (_local2 in _points) {
_local1 = (_local1 + _points[_local2]);
};
return (_local1);
}
public function get bannerManager():BannerManager{
return (_bannerManager);
}
public function set game(_arg1:CasualGame):void{
_game = _arg1;
}
public function setPoints(_arg1:String, _arg2:int):void{
_points[_arg1] = _arg2;
}
public function get config():Config{
return (_config);
}
public function get root():Sprite{
return (_root);
}
public function changeView(_arg1:ViewBase):void{
if (_currentScreen){
GraphUtil.detachFromDisplay(_currentScreen);
};
_currentScreen = _arg1.content;
if (_currentScreen){
_root.addChild(_currentScreen);
};
}
public function set offerArray(_arg1:Array):void{
_offerArray = _arg1;
}
public static function get instance():Global{
return (_instance);
}
}
}//package
Section 153
//Global_MUSIC (Global_MUSIC)
package {
import mx.core.*;
public class Global_MUSIC extends SoundAsset {
}
}//package
Section 154
//Global_SND_5SEC (Global_SND_5SEC)
package {
import mx.core.*;
public class Global_SND_5SEC extends SoundAsset {
}
}//package
Section 155
//Global_SND_CLOSE (Global_SND_CLOSE)
package {
import mx.core.*;
public class Global_SND_CLOSE extends SoundAsset {
}
}//package
Section 156
//Global_SND_COME (Global_SND_COME)
package {
import mx.core.*;
public class Global_SND_COME extends SoundAsset {
}
}//package
Section 157
//Global_SND_CUT (Global_SND_CUT)
package {
import mx.core.*;
public class Global_SND_CUT extends SoundAsset {
}
}//package
Section 158
//Global_SND_LOOSE_LEVEL (Global_SND_LOOSE_LEVEL)
package {
import mx.core.*;
public class Global_SND_LOOSE_LEVEL extends SoundAsset {
}
}//package
Section 159
//Global_SND_LOST_CUSTOMER (Global_SND_LOST_CUSTOMER)
package {
import mx.core.*;
public class Global_SND_LOST_CUSTOMER extends SoundAsset {
}
}//package
Section 160
//Global_SND_MONEY (Global_SND_MONEY)
package {
import mx.core.*;
public class Global_SND_MONEY extends SoundAsset {
}
}//package
Section 161
//Global_SND_POTS (Global_SND_POTS)
package {
import mx.core.*;
public class Global_SND_POTS extends SoundAsset {
}
}//package
Section 162
//Global_SND_WATER (Global_SND_WATER)
package {
import mx.core.*;
public class Global_SND_WATER extends SoundAsset {
}
}//package
Section 163
//LoaderMc (LoaderMc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LoaderMc extends MovieClip {
public var perTxt:TextField;
}
}//package
Section 164
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public dynamic class Main extends Sprite {
public function Main(){
if (stage){
initialize();
} else {
addEventListener(Event.ADDED_TO_STAGE, initialize);
};
}
private function initialize(_arg1:Event=null):void{
removeEventListener(Event.ADDED_TO_STAGE, initialize);
stage.scaleMode = StageScaleMode.NO_SCALE;
scrollRect = new Rectangle(0, 0, 630, 410);
new Global(this);
}
}
}//package
Section 165
//mc_finish (mc_finish)
package {
import flash.display.*;
public dynamic class mc_finish extends MovieClip {
public var mcTransClosed:MovieClip;
}
}//package
Section 166
//mc_pause (mc_pause)
package {
import flash.display.*;
public dynamic class mc_pause extends MovieClip {
}
}//package
Section 167
//mc_start (mc_start)
package {
import flash.display.*;
public dynamic class mc_start extends MovieClip {
public var mcTransOpen:MovieClip;
}
}//package
Section 168
//McBluePot (McBluePot)
package {
import flash.display.*;
public dynamic class McBluePot extends MovieClip {
}
}//package
Section 169
//McBluePot_ (McBluePot_)
package {
import flash.display.*;
public dynamic class McBluePot_ extends MovieClip {
}
}//package
Section 170
//McBluePotBlueSeed (McBluePotBlueSeed)
package {
import flash.display.*;
public dynamic class McBluePotBlueSeed extends MovieClip {
}
}//package
Section 171
//McBluePotBlueSeed_ (McBluePotBlueSeed_)
package {
import flash.display.*;
public dynamic class McBluePotBlueSeed_ extends MovieClip {
}
}//package
Section 172
//McBluePotBlueSeedRedBant_ (McBluePotBlueSeedRedBant_)
package {
import flash.display.*;
public dynamic class McBluePotBlueSeedRedBant_ extends MovieClip {
}
}//package
Section 173
//McBluePotBlueSeedRedBantWater_ (McBluePotBlueSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McBluePotBlueSeedRedBantWater_ extends MovieClip {
}
}//package
Section 174
//McBluePotBlueSeedWater_ (McBluePotBlueSeedWater_)
package {
import flash.display.*;
public dynamic class McBluePotBlueSeedWater_ extends MovieClip {
}
}//package
Section 175
//McBluePotRedSeed_ (McBluePotRedSeed_)
package {
import flash.display.*;
public dynamic class McBluePotRedSeed_ extends MovieClip {
}
}//package
Section 176
//McBluePotRedSeedRedBant_ (McBluePotRedSeedRedBant_)
package {
import flash.display.*;
public dynamic class McBluePotRedSeedRedBant_ extends MovieClip {
}
}//package
Section 177
//McBluePotRedSeedRedBantWater_ (McBluePotRedSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McBluePotRedSeedRedBantWater_ extends MovieClip {
}
}//package
Section 178
//McBluePotRedSeedWater_ (McBluePotRedSeedWater_)
package {
import flash.display.*;
public dynamic class McBluePotRedSeedWater_ extends MovieClip {
}
}//package
Section 179
//McBluePotYellowSeed_ (McBluePotYellowSeed_)
package {
import flash.display.*;
public dynamic class McBluePotYellowSeed_ extends MovieClip {
}
}//package
Section 180
//McBluePotYellowSeedRedBant_ (McBluePotYellowSeedRedBant_)
package {
import flash.display.*;
public dynamic class McBluePotYellowSeedRedBant_ extends MovieClip {
}
}//package
Section 181
//McBluePotYellowSeedRedBantWater_ (McBluePotYellowSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McBluePotYellowSeedRedBantWater_ extends MovieClip {
}
}//package
Section 182
//McBluePotYellowSeedWater_ (McBluePotYellowSeedWater_)
package {
import flash.display.*;
public dynamic class McBluePotYellowSeedWater_ extends MovieClip {
}
}//package
Section 183
//McBlueSeedCut_ (McBlueSeedCut_)
package {
import flash.display.*;
public dynamic class McBlueSeedCut_ extends MovieClip {
}
}//package
Section 184
//McBlueSeedCutGreenPack_ (McBlueSeedCutGreenPack_)
package {
import flash.display.*;
public dynamic class McBlueSeedCutGreenPack_ extends MovieClip {
}
}//package
Section 185
//McGreenSeedCut (McGreenSeedCut)
package {
import flash.display.*;
public dynamic class McGreenSeedCut extends MovieClip {
}
}//package
Section 186
//McRedPot_ (McRedPot_)
package {
import flash.display.*;
public dynamic class McRedPot_ extends MovieClip {
}
}//package
Section 187
//McRedPotBlueSeed_ (McRedPotBlueSeed_)
package {
import flash.display.*;
public dynamic class McRedPotBlueSeed_ extends MovieClip {
}
}//package
Section 188
//McRedPotBlueSeedRedBant_ (McRedPotBlueSeedRedBant_)
package {
import flash.display.*;
public dynamic class McRedPotBlueSeedRedBant_ extends MovieClip {
}
}//package
Section 189
//McRedPotBlueSeedRedBantWater_ (McRedPotBlueSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McRedPotBlueSeedRedBantWater_ extends MovieClip {
}
}//package
Section 190
//McRedPotBlueSeedWater_ (McRedPotBlueSeedWater_)
package {
import flash.display.*;
public dynamic class McRedPotBlueSeedWater_ extends MovieClip {
}
}//package
Section 191
//McRedPotRedSeed_ (McRedPotRedSeed_)
package {
import flash.display.*;
public dynamic class McRedPotRedSeed_ extends MovieClip {
}
}//package
Section 192
//McRedPotRedSeedRedBant_ (McRedPotRedSeedRedBant_)
package {
import flash.display.*;
public dynamic class McRedPotRedSeedRedBant_ extends MovieClip {
}
}//package
Section 193
//McRedPotRedSeedRedBantWater_ (McRedPotRedSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McRedPotRedSeedRedBantWater_ extends MovieClip {
}
}//package
Section 194
//McRedPotRedSeedWater_ (McRedPotRedSeedWater_)
package {
import flash.display.*;
public dynamic class McRedPotRedSeedWater_ extends MovieClip {
}
}//package
Section 195
//McRedPotYellowSeed_ (McRedPotYellowSeed_)
package {
import flash.display.*;
public dynamic class McRedPotYellowSeed_ extends MovieClip {
}
}//package
Section 196
//McRedPotYellowSeedRedBant_ (McRedPotYellowSeedRedBant_)
package {
import flash.display.*;
public dynamic class McRedPotYellowSeedRedBant_ extends MovieClip {
}
}//package
Section 197
//McRedPotYellowSeedRedBantWater_ (McRedPotYellowSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McRedPotYellowSeedRedBantWater_ extends MovieClip {
}
}//package
Section 198
//McRedPotYellowSeedWater_ (McRedPotYellowSeedWater_)
package {
import flash.display.*;
public dynamic class McRedPotYellowSeedWater_ extends MovieClip {
}
}//package
Section 199
//McRedSeedCut_ (McRedSeedCut_)
package {
import flash.display.*;
public dynamic class McRedSeedCut_ extends MovieClip {
}
}//package
Section 200
//McRedSeedCutGreenPack_ (McRedSeedCutGreenPack_)
package {
import flash.display.*;
public dynamic class McRedSeedCutGreenPack_ extends MovieClip {
}
}//package
Section 201
//McYellowPot_ (McYellowPot_)
package {
import flash.display.*;
public dynamic class McYellowPot_ extends MovieClip {
}
}//package
Section 202
//McYellowPotBlueSeed_ (McYellowPotBlueSeed_)
package {
import flash.display.*;
public dynamic class McYellowPotBlueSeed_ extends MovieClip {
}
}//package
Section 203
//McYellowPotBlueSeedRedBant_ (McYellowPotBlueSeedRedBant_)
package {
import flash.display.*;
public dynamic class McYellowPotBlueSeedRedBant_ extends MovieClip {
}
}//package
Section 204
//McYellowPotBlueSeedRedBantWater_ (McYellowPotBlueSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McYellowPotBlueSeedRedBantWater_ extends MovieClip {
}
}//package
Section 205
//McYellowPotBlueSeedWater_ (McYellowPotBlueSeedWater_)
package {
import flash.display.*;
public dynamic class McYellowPotBlueSeedWater_ extends MovieClip {
}
}//package
Section 206
//McYellowPotRedSeed_ (McYellowPotRedSeed_)
package {
import flash.display.*;
public dynamic class McYellowPotRedSeed_ extends MovieClip {
}
}//package
Section 207
//McYellowPotRedSeedRedBant_ (McYellowPotRedSeedRedBant_)
package {
import flash.display.*;
public dynamic class McYellowPotRedSeedRedBant_ extends MovieClip {
}
}//package
Section 208
//McYellowPotRedSeedRedBantWater_ (McYellowPotRedSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McYellowPotRedSeedRedBantWater_ extends MovieClip {
}
}//package
Section 209
//McYellowPotRedSeedWater_ (McYellowPotRedSeedWater_)
package {
import flash.display.*;
public dynamic class McYellowPotRedSeedWater_ extends MovieClip {
}
}//package
Section 210
//McYellowPotYellowSeed_ (McYellowPotYellowSeed_)
package {
import flash.display.*;
public dynamic class McYellowPotYellowSeed_ extends MovieClip {
}
}//package
Section 211
//McYellowPotYellowSeedRedBant_ (McYellowPotYellowSeedRedBant_)
package {
import flash.display.*;
public dynamic class McYellowPotYellowSeedRedBant_ extends MovieClip {
}
}//package
Section 212
//McYellowPotYellowSeedRedBantWater_ (McYellowPotYellowSeedRedBantWater_)
package {
import flash.display.*;
public dynamic class McYellowPotYellowSeedRedBantWater_ extends MovieClip {
}
}//package
Section 213
//McYellowPotYellowSeedWater_ (McYellowPotYellowSeedWater_)
package {
import flash.display.*;
public dynamic class McYellowPotYellowSeedWater_ extends MovieClip {
}
}//package
Section 214
//McYellowSeedCut_ (McYellowSeedCut_)
package {
import flash.display.*;
public dynamic class McYellowSeedCut_ extends MovieClip {
}
}//package
Section 215
//McYellowSeedCutGreenPack_ (McYellowSeedCutGreenPack_)
package {
import flash.display.*;
public dynamic class McYellowSeedCutGreenPack_ extends MovieClip {
}
}//package
Section 216
//Preloader (Preloader)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import spill.localisation.*;
import flash.geom.*;
import flash.utils.*;
public class Preloader extends MovieClip {
private var percentLoaded:Number;
private var _mask:Sprite;
public var progresBar:MovieClip;
private var content:LoaderMc;
public var perTxt:TextField;
private var tp:Number;// = 0
public function Preloader(){
content = new LoaderMc();
_mask = new Sprite();
super();
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function start():void{
while (numChildren) {
removeChildAt(0);
};
var _local1:Class = (getDefinitionByName("Main") as Class);
var _local2:* = new (_local1);
addChild((_local2 as DisplayObject));
}
private function checkFrame(_arg1:Event):void{
var _local2:Number = ((loaderInfo.bytesLoaded / loaderInfo.bytesTotal) * 100);
percentLoaded = _local2;
refresh();
if (_local2 == 100){
removeEventListener(Event.ENTER_FRAME, checkFrame);
start();
};
}
private function init(_arg1:Event):void{
SpilGame.initialize("flower_shop_fortune", PortalGroup.FAMILY, "flower_shop_fortune.html", this);
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
addChild(content);
perTxt = content.perTxt;
perTxt.text = "00%";
this.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onPreIoError);
addEventListener(Event.ENTER_FRAME, checkFrame);
this.cacheAsBitmap = true;
this.scrollRect = new Rectangle(0, 0, 630, 410);
}
public function refresh():void{
var _local1:String = int(percentLoaded).toString();
perTxt.text = ((_local1.length)<2) ? (("0" + _local1) + "%") : (_local1 + "%");
}
private function onPreIoError(_arg1:IOErrorEvent):void{
}
}
}//package
Section 217
//ScoreApi (ScoreApi)
package {
import flash.events.*;
import flash.display.*;
import Spill.Components.*;
public class ScoreApi {
private var Sub:Submitter;
public function ScoreApi(_arg1:Stage){
Sub = new Submitter();
Sub.addEventListener(Event.COMPLETE, SubmiterComponentInitialized);
Sub.addEventListener(IOErrorEvent.IO_ERROR, FailedToLoadSubmitter);
Sub.addEventListener("LoadingFailed", FailedToLoadSubmitter);
Sub._O0000Ol01(_arg1, "Underground", "Underground.html", 0, "normal", "", 0, 0, 1, false);
}
public function destroy():void{
if (Sub){
if (Sub.hasEventListener("ScoreLoadError")){
Sub.removeEventListener("ScoreLoadError", eventHandlerScore);
};
if (Sub.hasEventListener("ScoreLoadTimeComplete")){
Sub.removeEventListener("ScoreLoadTimeComplete", eventHandlerScore);
};
if (Sub.hasEventListener("ScoreLoadSubmitComplete")){
Sub.removeEventListener("ScoreLoadSubmitComplete", eventHandlerScore);
};
if (Sub.hasEventListener("ScoreLoadListComplete")){
Sub.removeEventListener("ScoreLoadListComplete", eventHandlerScore);
};
if (Sub.hasEventListener("ScoreLoadUserListComplete")){
Sub.removeEventListener("ScoreLoadUserListComplete", eventHandlerScore);
};
if (Sub.hasEventListener("AchievLoadError")){
Sub.removeEventListener("AchievLoadError", eventHandlerAchiev);
};
if (Sub.hasEventListener("AchievLoadTimeComplete")){
Sub.removeEventListener("AchievLoadTimeComplete", eventHandlerAchiev);
};
if (Sub.hasEventListener("AchievLoadListComplete")){
Sub.removeEventListener("AchievLoadListComplete", eventHandlerAchiev);
};
if (Sub.hasEventListener("AchievLoadInfoComplete")){
Sub.removeEventListener("AchievLoadInfoComplete", eventHandlerAchiev);
};
if (Sub.hasEventListener("AchievLoadGrantComplete")){
Sub.removeEventListener("AchievLoadGrantComplete", eventHandlerAchiev);
};
Sub._O010ll111();
};
Sub = null;
}
public function eventHandlerScore(_arg1:Event):void{
if (_arg1.currentTarget.OO00OO1l1l.O0l00l0O0 != null){
trace(_arg1.currentTarget.OO00OO1l1l.O0l00l0O0.toString());
} else {
trace(_arg1.type);
};
}
public function eventHandlerAchiev(_arg1:Event):void{
if (_arg1.currentTarget.OO00OO1l1l.O1OlOO00O != null){
trace(_arg1.currentTarget.OO00OO1l1l.O1OlOO00O.toString());
} else {
trace(_arg1.type);
};
}
public function setAchivement(_arg1:String):void{
if (Sub){
Sub._O00OOl1Ol(_arg1);
};
}
public function processMethods():void{
trace("process1");
if (Sub){
trace("process");
Sub._O00OOl1Ol("txt_awardTag");
Sub._OOlOOOll1(1);
Sub._O1OlO10OO();
Sub._O110l10ll();
Sub._O01lOO10O(346567);
};
}
private function FailedToLoadSubmitter(_arg1:Event):void{
trace(" error handling, submitter could not be loaded");
Sub.removeEventListener(Event.COMPLETE, SubmiterComponentInitialized);
Sub.removeEventListener("LoadingFailed", FailedToLoadSubmitter);
Sub = null;
}
private function SubmiterComponentInitialized(_arg1:Event):void{
trace(" submitter loaded successful");
Sub.removeEventListener(Event.COMPLETE, SubmiterComponentInitialized);
Sub.removeEventListener(IOErrorEvent.IO_ERROR, FailedToLoadSubmitter);
Sub.removeEventListener("LoadingFailed", FailedToLoadSubmitter);
Sub.addEventListener("ScoreLoadError", eventHandlerScore);
Sub.addEventListener("ScoreLoadTimeComplete", eventHandlerScore);
Sub.addEventListener("ScoreLoadSubmitComplete", eventHandlerScore);
Sub.addEventListener("ScoreLoadListComplete", eventHandlerScore);
Sub.addEventListener("ScoreLoadUserListComplete", eventHandlerScore);
Sub.addEventListener("AchievLoadError", eventHandlerAchiev);
Sub.addEventListener("AchievLoadTimeComplete", eventHandlerAchiev);
Sub.addEventListener("AchievLoadListComplete", eventHandlerAchiev);
Sub.addEventListener("AchievLoadInfoComplete", eventHandlerAchiev);
Sub.addEventListener("AchievLoadGrantComplete", eventHandlerAchiev);
}
public function setScore(_arg1:Number):void{
if (Sub){
Sub._O01lOO10O(_arg1);
};
}
}
}//package
Section 218
//SubmitterProxy (SubmitterProxy)
package {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import com.spilgames.api.*;
public class SubmitterProxy extends MovieClip {
public var m_scoreXMLData:XML;
private var SpilComp:SpilGamesServices;
public var m_achievXMLData:XML;
private var parentObj;
public var m_scoreServerTimeXMLData:XML;
public function SubmitterProxy():void{
var cld:*;
super();
Security.allowDomain("*");
parentObj = this.parent;
parentObj.stop();
var i:int = (parentObj.numChildren - 1);
while (i >= 0) {
cld = parentObj.getChildAt(i);
if ((cld is MovieClip)){
cld.visible = false;
} else {
if (cld != null){
parentObj.removeChild(cld);
};
};
i = (i - 1);
};
try {
parentObj["setLoader"] = setLoader;
parentObj["isDomainAllowed"] = isDomainAllowed;
parentObj["hasUserData"] = hasUserData;
parentObj["_O0000Ol01"] = setLoader;
parentObj["_O0Olll0lO"] = isDomainAllowed;
} catch(e:Error) {
trace(e);
};
}
private function SpilConfiguratorFailedToInitialise(_arg1:Event):void{
if (SpilComp){
SpilComp.removeEventListener("servicesReady", SpilConfiguratorReady);
SpilComp.removeEventListener(IOErrorEvent.IO_ERROR, SpilConfiguratorFailedToLoad);
SpilComp.removeEventListener("servicesFailed", SpilConfiguratorFailedToInitialise);
};
parentObj.dispatchEvent(new Event("LoadingFailed"));
}
public function SpilCallback(_arg1:int, _arg2:Object):void{
}
private function onLoadDone():void{
parentObj["isSWFReady"] = isSWFReady;
parentObj["setServerSelect"] = setServerSelect;
parentObj["requestScoreServerTime"] = requestScoreServerTime;
parentObj["getScoreServerTime"] = getScoreServerTime;
parentObj["submitScore"] = submitScore;
parentObj["requestHighscoreList"] = requestHighscoreList;
parentObj["requestUserHighscoreList"] = requestUserHighscoreList;
parentObj["submitGrantAward"] = submitGrantAward;
parentObj["requestAwardList"] = requestAwardList;
parentObj["requestAwardInfo"] = requestAwardInfo;
parentObj["destroy"] = destroy;
parentObj["getSpilGamesConnector"] = getSpilGamesConnector;
parentObj["_O0O1l0OO0"] = isSWFReady;
parentObj["_O0lOO010l"] = requestScoreServerTime;
parentObj["_O01Ol1O1O"] = getScoreServerTime;
parentObj["_O01lOO10O"] = submitScore;
parentObj["_O110l10ll"] = requestHighscoreList;
parentObj["_O11lll1OO0"] = requestUserHighscoreList;
parentObj["_O00OOl1Ol"] = submitGrantAward;
parentObj["_O1OlO10OO"] = requestAwardList;
parentObj["_OOlOOOll1"] = requestAwardInfo;
parentObj["_O010ll111"] = destroy;
parentObj["OO00OO1l1l"] = OO00OO1l1l();
}
private function processTimeResults(_arg1:int, _arg2:Object):void{
if (_arg2){
if (_arg2.errorMessage){
} else {
if (_arg2.xml){
m_scoreServerTimeXMLData = _arg2.xml;
};
};
} else {
m_scoreServerTimeXMLData = new XML("");
};
}
private function isSWFReady():Boolean{
return (((SpilComp) && (SpilComp.isSWFReady())));
}
private function requestAwardList():void{
if (SpilComp){
SpilComp.send("Awards", "getAwardList", processAwardResults, {userName:SpilComp.getUserName(), userHash:SpilComp.getUserHash()});
};
}
public function set O1lll0ll0(_arg1:XML):void{
m_scoreServerTimeXMLData = _arg1;
}
public function OO00OO1l1l():SubmitterProxy{
return (this);
}
private function hasUserData():Boolean{
return (!(SpilComp.hasValidUserData()));
}
public function get O0l00l0O0():XML{
return (m_scoreXMLData);
}
private function destroy():void{
parentObj = null;
m_scoreXMLData = null;
m_achievXMLData = null;
}
private function requestScoreServerTime():void{
if (SpilComp){
SpilComp.send("Score", "checkServerTime", processTimeResults);
};
}
private function requestUserHighscoreList(_arg1:String):void{
if (SpilComp){
SpilComp.send("Score", "getUserRankList", processScoreResults, {targetUserName:_arg1});
};
}
public function get O1OlOO00O():XML{
return (m_achievXMLData);
}
private function submitGrantAward(_arg1:String):void{
if (SpilComp){
SpilComp.send("Awards", "submitAward", processAwardResults, {tag:_arg1, userName:SpilComp.getUserName(), userHash:SpilComp.getUserHash()});
};
}
private function submitScore(_arg1:int):void{
if (SpilComp){
SpilComp.send("Score", "submitScore", processScoreResults, {score:_arg1, userName:SpilComp.getUserName(), userHash:SpilComp.getUserHash()});
};
}
private function setLoader(_arg1=null, _arg2:String="default", _arg3="", _arg4:int=0, _arg5:String="normal", _arg6:String="", _arg7:int=0, _arg8:int=0, _arg9:int=1, _arg10:Boolean=false, _arg11:int=1):void{
if (_arg1){
SpilComp = new SpilGamesServices();
SpilComp.addEventListener("servicesReady", SpilConfiguratorReady);
SpilComp.addEventListener(IOErrorEvent.IO_ERROR, SpilConfiguratorFailedToLoad);
SpilComp.addEventListener("servicesFailed", SpilConfiguratorFailedToInitialise);
SpilComp.connect(_arg1);
};
}
private function requestHighscoreList():void{
if (SpilComp){
SpilComp.send("Score", "getRankingList", processScoreResults, null);
};
}
public function set O0l00l0O0(_arg1:XML):void{
m_scoreXMLData = _arg1;
}
private function setServerSelect(_arg1:int):void{
if (SpilComp){
};
}
private function requestAwardInfo(_arg1:int):void{
if (SpilComp){
SpilComp.send("Awards", "getAward", SpilCallback, {awardID:_arg1});
};
}
public function set O1OlOO00O(_arg1:XML):void{
m_achievXMLData = _arg1;
}
private function processAwardResults(_arg1:int, _arg2:Object):void{
if (_arg2){
m_achievXMLData = _arg2.xml;
} else {
m_achievXMLData = new XML("<hyscor><awardid>147</awardid></hyscor>");
};
}
public function getSpilGamesConnector(){
return (SpilComp);
}
public function get O1lll0ll0():XML{
return (m_scoreServerTimeXMLData);
}
private function processScoreResults(_arg1:int, _arg2:Object):void{
if (_arg2){
m_scoreXMLData = _arg2.xml;
} else {
m_scoreXMLData = <hyscor><resultset>
<group>daily</group>
<result>
<position>1</position>
<timestamp>1271247768</timestamp>
<username>noot</username>
<authenticated>1</authenticated>
<score>2</score>
<gamelevel>0</gamelevel>
<country>NL</country>
</result>
</resultset>
<resultset>
<group>weekly</group>
<result>
<position>1</position>
<timestamp>1271247768</timestamp>
<username>noot</username>
<authenticated>1</authenticated>
<score>2</score>
<gamelevel>0</gamelevel>
<country>NL</country>
</result>
</resultset>
<resultset>
<group>monthly</group>
<result>
<position>1</position>
<timestamp>1271247768</timestamp>
<username>noot</username>
<authenticated>1</authenticated>
<score>2</score>
<gamelevel>0</gamelevel>
<country>NL</country>
</result>
</resultset>
</hyscor>
;
};
}
private function getScoreServerTime():void{
if (SpilComp){
SpilComp.send("Score", "getLatestTimeCheck", processTimeResults);
};
}
private function SpilConfiguratorReady(_arg1:Event):void{
if (SpilComp){
SpilComp.removeEventListener("servicesReady", SpilConfiguratorReady);
SpilComp.removeEventListener(IOErrorEvent.IO_ERROR, SpilConfiguratorFailedToLoad);
SpilComp.removeEventListener("servicesFailed", SpilConfiguratorFailedToInitialise);
};
onLoadDone();
parentObj.dispatchEvent(new Event(Event.COMPLETE));
}
private function doCommTest():String{
if (SpilComp){
return ("y");
};
return (("FAILED " + SpilComp));
}
private function SpilConfiguratorFailedToLoad(_arg1:Event):void{
if (SpilComp){
SpilComp.removeEventListener("servicesReady", SpilConfiguratorReady);
SpilComp.removeEventListener(IOErrorEvent.IO_ERROR, SpilConfiguratorFailedToLoad);
SpilComp.removeEventListener("servicesFailed", SpilConfiguratorFailedToInitialise);
};
trace("SpilConfiguratorFailedToLoad", _arg1.toString());
if (parentObj.hasEventListener(IOErrorEvent.IO_ERROR)){
parentObj.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
};
}
private function onLegacyEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
private function isDomainAllowed(_arg1:Boolean=false):Boolean{
return (SpilComp.isDomainAllowed());
}
private function setLoader2(_arg1=null, _arg2:String="default", _arg3:int=1, _arg4="", _arg5:int=0, _arg6:String="normal", _arg7:String="", _arg8:int=0, _arg9:int=0, _arg10:int=1, _arg11:Boolean=false, _arg12:int=1):void{
setLoader(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
}
}//package