Section 1
//GameSound (actors.GameSound)
package actors {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class GameSound extends Sprite {
private var _soundIcon:ButtonSound;
private var _chanel1:SoundChannel;
private var _backSound:backGroundSound;
public function GameSound(){
_soundIcon = new ButtonSound();
_backSound = new backGroundSound();
super();
PublicNames.SOUND = true;
_soundIcon.gotoAndStop(1);
addChild(_soundIcon);
_soundIcon.buttonMode = true;
_soundIcon.addEventListener(MouseEvent.CLICK, onSoundClickInside);
playMusic();
}
private function onSoundClickInside(e:MouseEvent):void{
onSoundClick();
}
private function loopMusic(e:Event):void{
if (_chanel1 != null){
_chanel1.removeEventListener(Event.SOUND_COMPLETE, loopMusic);
playMusic();
};
}
private function playMusic():void{
_chanel1 = _backSound.play();
_chanel1.addEventListener(Event.SOUND_COMPLETE, loopMusic);
}
public function onSoundClick():void{
if (PublicNames.SOUND){
_soundIcon.gotoAndStop(2);
_chanel1.stop();
} else {
_soundIcon.gotoAndStop(1);
playMusic();
};
PublicNames.SOUND = !(PublicNames.SOUND);
}
}
}//package actors
Section 2
//MainScene (actors.MainScene)
package actors {
import flash.events.*;
import flash.display.*;
import gs.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
public class MainScene extends Sprite {
private var _carrotAnimation:MovieClip;
private var _numTrueElements:int;
private var _frameMemory:int;
private var _looserAnimation:MovieClip;
private var _destroy_bulka:MovieClip;
private var _destroySound:soundDestroy;
private var _destroy_drink:MovieClip;
private var _endAnimationSound:sound_end_animation;
private var _animationSprite:Sprite;
private var _fryMemory:int;
private var _gameLocked:Boolean;// = false
private var _pearAnimation:MovieClip;
private var _visibleButton:Array;
private var _timer:Timer;
private var _seconds:int;
private var _bin:mc_bin;
private var _soundGlass:soundGlass;
private var _bublukAnimation:MovieClip;
private var _StageTime:int;
private var _cucumberAnimation:MovieClip;
private var _rogalukAnimation:MovieClip;
private var _cutSound:soundCut;
private var _mainObjects:mc_mainObjects;
private var _offer:Offer;
private var _logic:Array;
private var _takeFruitSound:soundTakeFruit;
private var _appleAnimation:MovieClip;
private var _currentAnimation:MovieClip;
private var _destroy_sweet:MovieClip;
private var _soundWinner:sound_winner;
private var _timerSound:soundClock;
private var _keksAnimation:MovieClip;
private var _fryTimer:Timer;
private var _currentScore:int;// = 0
private var _cutTimer:Timer;
private var _tomatoeAnimation:MovieClip;
private var _breadAnimation:MovieClip;
private var _breadSound:sound_bread;
private var _chanel1:SoundChannel;
private var _showPlate:Boolean;// = false
private var _deleteSousage:destroy_sousage_animation;
private var _sousageAnimation:MovieClip;
private var _minutes:int;
private var _WrongElements:Array;
private var _soundLevelLoose:soundLevelLoose;
private var _timerBlend:Array;
private var _totalTime:String;
private var _deleteMeat:destroy_meat_animation;
private var _orangeAnimation:MovieClip;
private var _offerUsed:int;
private var _destroy_main:MovieClip;
private var _gameSound:GameSound;
private var _usedElement:Array;
private var _levelNum:int;
private var _itemPresented:Boolean;// = false
private var _mask:Sprite;
private var _soundCheck:soundCheck;
private var _deleteEgg:destroy_egg_animation;
private var _currentName:String;
private var _soundPlate:soundPlate;
private var _winAnimation:MovieClip;
private var _soundLevelWin:soundLevelWin;
private var _eggAnimation:MovieClip;
private var _workPlace:WorkPalce;
private var _meatAnimation:MovieClip;
private var _soundFry:soundFry;
public function MainScene(){
_timer = new Timer(1000);
_fryTimer = new Timer(3000);
_cutTimer = new Timer(2000);
_timerBlend = [0, 1, 2];
_visibleButton = [true, false, false, false, false];
_WrongElements = [];
_offer = new Offer();
_mainObjects = new mc_mainObjects();
_gameSound = new GameSound();
_usedElement = ["begin"];
_bin = new mc_bin();
_workPlace = new WorkPalce();
_soundGlass = new soundGlass();
_endAnimationSound = new sound_end_animation();
_breadSound = new sound_bread();
_timerSound = new soundClock();
_takeFruitSound = new soundTakeFruit();
_cutSound = new soundCut();
_destroySound = new soundDestroy();
_soundLevelWin = new soundLevelWin();
_soundLevelLoose = new soundLevelLoose();
_soundFry = new soundFry();
_soundPlate = new soundPlate();
_soundCheck = new soundCheck();
_soundWinner = new sound_winner();
_animationSprite = new Sprite();
_eggAnimation = new animation_fry_2();
_meatAnimation = new animation_fry_3();
_sousageAnimation = new animation_fry_4();
_appleAnimation = new animation_apple();
_pearAnimation = new animation_pear();
_orangeAnimation = new animation_orange();
_cucumberAnimation = new animation_cucumber();
_tomatoeAnimation = new animation_tomatoe();
_carrotAnimation = new animation_carrot();
_bublukAnimation = new animation_bubluk();
_keksAnimation = new animation_keks();
_rogalukAnimation = new animation_rogaluk();
_breadAnimation = new animation_bread();
_destroy_drink = new animation_destroy_drink();
_destroy_sweet = new animation_destroy_sweet();
_destroy_bulka = new animation_destroy_bulka();
_destroy_main = new animation_destroy_main();
_looserAnimation = new looser_animation();
_winAnimation = new winAnimation();
_deleteEgg = new destroy_egg_animation();
_deleteMeat = new destroy_meat_animation();
_deleteSousage = new destroy_sousage_animation();
_mask = new Sprite();
_logic = [true, true, true];
super();
createMask();
addElementsToTheStage();
addListeners();
setStartPosition();
clearTable();
}
private function createMask():void{
_mask.graphics.lineStyle(1, 0, 1);
_mask.graphics.beginFill(0xCCCCCC, 1);
_mask.graphics.lineTo(200, 0);
_mask.graphics.lineTo(270, 150);
_mask.graphics.lineTo(0, 150);
_mask.graphics.lineTo(0, 0);
_mask.x = 150;
_mask.y = 220;
addChild(_mask);
}
private function setVisibleButton(value:int):void{
var name:String;
var i:int;
var j:int;
var j2:int;
var i2:int;
if (value == 2){
MovieClip(_mainObjects.mc_back).alpha = 1;
i = 0;
while (i < _mainObjects.numChildren) {
name = _mainObjects.getChildAt(i).name;
if (name.substr(0, 9) == "btn_drink"){
SimpleButton(_mainObjects.getChildAt(i)).alpha = 1;
SimpleButton(_mainObjects.getChildAt(i)).enabled = true;
SimpleButton(_mainObjects.getChildAt(i)).addEventListener(MouseEvent.CLICK, onButtonClick);
};
i++;
};
_visibleButton[1] = true;
} else {
if (value == 3){
j = 2;
while (j < 5) {
name = String(("btn_fruit_" + j));
SimpleButton(_mainObjects[name]).alpha = 1;
SimpleButton(_mainObjects[name]).enabled = true;
SimpleButton(_mainObjects[name]).addEventListener(MouseEvent.CLICK, onButtonClick);
j++;
};
MovieClip(_mainObjects.mc_nariz).alpha = 1;
MovieClip(_mainObjects.mc_nariz).buttonMode = true;
MovieClip(_mainObjects.mc_nariz).addEventListener(MouseEvent.CLICK, onNarizClick);
_visibleButton[2] = true;
} else {
if (value == 4){
j2 = 5;
while (j2 < 8) {
name = String(("btn_fruit_" + j2));
SimpleButton(_mainObjects[name]).alpha = 1;
SimpleButton(_mainObjects[name]).enabled = true;
SimpleButton(_mainObjects[name]).addEventListener(MouseEvent.CLICK, onButtonClick);
j2++;
};
_visibleButton[3] = true;
} else {
if (value == 5){
i2 = 0;
while (i2 < _mainObjects.numChildren) {
name = _mainObjects.getChildAt(i2).name;
if (name.substr(0, 9) == "btn_sweet"){
SimpleButton(_mainObjects.getChildAt(i2)).alpha = 1;
SimpleButton(_mainObjects.getChildAt(i2)).enabled = true;
SimpleButton(_mainObjects.getChildAt(i2)).addEventListener(MouseEvent.CLICK, onButtonClick);
};
i2++;
};
_visibleButton[4] = true;
};
};
};
};
}
private function onNarizClick(e:MouseEvent):void{
MovieClip(_mainObjects.mc_nariz).filters = [];
if ((((MovieClip(_mainObjects.mc_nariz).currentFrame > 1)) && ((MovieClip(_mainObjects.mc_nariz).currentFrame < 8)))){
if (_workPlace.checkVisibleInWorkPlace(PublicNames.MAIN_PLATE)){
if (_workPlace.checkPosibleToUse(String(("fruit_" + _frameMemory)))){
putOnTheTable(String(("fruit_" + _frameMemory)));
MovieClip(_mainObjects.mc_nariz).gotoAndStop(1);
} else {
trace("this element present on the plate");
};
} else {
SimpleButton(_mainObjects[String(("btn_" + PublicNames.MAIN_PLATE))]).filters = [PublicNames.GLOW_FILTER];
trace("put plate before");
};
} else {
trace("there are nothing");
};
}
private function checkOneInOffer(value:String):Boolean{
_itemPresented = false;
var i:int;
while (i < _offer.NumOfIngridients) {
if (value == _offer.getItem(i)){
_itemPresented = true;
break;
};
i++;
};
return (_itemPresented);
}
private function nextClear():void{
if (_offerUsed == PublicNames.offerArray[(_levelNum - 1)]){
_offerUsed = 0;
_currentAnimation = _winAnimation;
_currentAnimation.x = 310;
_currentAnimation.y = 270;
if (PublicNames.SOUND){
_chanel1 = _soundWinner.play();
};
_currentAnimation.name = "win";
MovieClip(_mainObjects.hero).alpha = 0;
_animationSprite.addChild(_currentAnimation);
_currentAnimation.addEventListener(Event.ENTER_FRAME, onAnimation);
_currentAnimation.gotoAndPlay(1);
_gameLocked = true;
} else {
if (PublicNames.SOUND){
_chanel1 = _endAnimationSound.play();
};
setStartProperties();
};
clearTable();
MovieClip(_mainObjects.mc_offerCheck).alpha = 1;
MovieClip(_mainObjects.animation_alien).addEventListener(Event.ENTER_FRAME, onAlienAnimation);
MovieClip(_mainObjects.animation_alien).gotoAndPlay(1);
MovieClip(_mainObjects.mc_offerCheck).gotoAndStop(2);
}
private function onButtonClick(e:MouseEvent):void{
if (SimpleButton(e.currentTarget).filters != null){
SimpleButton(e.currentTarget).filters = [];
};
_currentName = SimpleButton(e.currentTarget).name.substr(4);
if (((!(_gameLocked)) || ((((_currentName.substr(0, 3) == "fry")) || ((_currentName.substr(0, 5) == "drink")))))){
if (_workPlace.checkPosibleToUse(_currentName)){
if (_currentName.substr(0, 3) == "fry"){
if (MovieClip(_mainObjects.mc_fry).currentFrame == 1){
MovieClip(_mainObjects.mc_para).alpha = 1;
MovieClip(_mainObjects.mc_para).gotoAndPlay(1);
if (PublicNames.SOUND){
_chanel1 = _soundFry.play();
};
MovieClip(_mainObjects.mc_fry).gotoAndStop(int(_currentName.substr(4, 1)));
_fryTimer.addEventListener(TimerEvent.TIMER, onFry);
_fryTimer.reset();
_fryTimer.start();
};
} else {
if (_currentName.substr(0, 5) == "fruit"){
if (PublicNames.SOUND){
_chanel1 = _takeFruitSound.play();
};
if (MovieClip(_mainObjects.mc_nariz).currentFrame == 1){
_frameMemory = int(_currentName.substr(6, 1));
if (_frameMemory == 2){
_currentAnimation = _orangeAnimation;
} else {
if (_frameMemory == 3){
_currentAnimation = _pearAnimation;
} else {
if (_frameMemory == 4){
_currentAnimation = _appleAnimation;
} else {
if (_frameMemory == 5){
_currentAnimation = _tomatoeAnimation;
} else {
if (_frameMemory == 6){
_currentAnimation = _carrotAnimation;
} else {
if (_frameMemory == 7){
_currentAnimation = _cucumberAnimation;
};
};
};
};
};
};
_currentAnimation.name = "fruit";
_currentAnimation.x = -10;
MovieClip(_mainObjects.hero).alpha = 0;
_animationSprite.addChild(_currentAnimation);
_currentAnimation.addEventListener(Event.ENTER_FRAME, onAnimation);
_currentAnimation.gotoAndPlay(1);
_gameLocked = true;
};
} else {
if (_currentName.substr(0, 5) == "bulka"){
trace("that is bread ", _currentName);
if (_workPlace.checkVisibleInWorkPlace(PublicNames.BREAD_PLATE)){
if (PublicNames.SOUND){
_chanel1 = _breadSound.play();
};
_gameLocked = true;
if (_currentName == PublicNames.BUBLUK){
_currentAnimation = _bublukAnimation;
} else {
if (_currentName == PublicNames.KEKS){
_currentAnimation = _keksAnimation;
} else {
if (_currentName == PublicNames.ROGALUK){
_currentAnimation = _rogalukAnimation;
} else {
if (_currentName == PublicNames.BREAD){
_currentAnimation = _breadAnimation;
};
};
};
};
_currentAnimation.x = 310;
_currentAnimation.y = 260;
_currentAnimation.name = _currentName;
MovieClip(_mainObjects.hero).alpha = 0;
_animationSprite.addChild(_currentAnimation);
_currentAnimation.addEventListener(Event.ENTER_FRAME, onAnimation);
_currentAnimation.gotoAndPlay(1);
} else {
trace("pub bread palte before");
SimpleButton(_mainObjects[String(("btn_" + PublicNames.BREAD_PLATE))]).filters = [PublicNames.GLOW_FILTER];
};
} else {
putOnTheTable(_currentName);
if ((((_currentName.substr(0, 5) == "drink")) && (PublicNames.SOUND))){
_chanel1 = _soundGlass.play();
};
if (_currentName == PublicNames.MAIN_PLATE){
if (PublicNames.SOUND){
_chanel1 = _soundPlate.play();
};
SimpleButton(_mainObjects[("btn_" + PublicNames.MAIN_PLATE)]).alpha = 0;
hintAnalitic();
_mainObjects.mcTransClick2.visible = false;
} else {
if (_currentName == PublicNames.BREAD_PLATE){
if (PublicNames.SOUND){
_chanel1 = _soundPlate.play();
};
SimpleButton(_mainObjects[("btn_" + PublicNames.BREAD_PLATE)]).alpha = 0;
hintAnalitic();
_mainObjects.mcTransClick2.visible = false;
};
};
};
};
};
};
};
}
private function onRestart(e:MouseEvent):void{
LetsGO(_levelNum);
}
private function checkOffer(value:String):void{
var _checkInOffer:Boolean = checkOneInOffer(value);
trace("check in offer ", value, " and understand = ", _checkInOffer);
if (_checkInOffer){
_offer.showGala(value);
_numTrueElements++;
if (_numTrueElements == _offer.NumOfIngridients){
if (_WrongElements.length == 0){
trace("You can finish");
MovieClip(_mainObjects.mc_offerCheck).gotoAndStop(1);
chekOneHint("mc_offerCheck");
trace(_logic[2]);
if (_logic[2]){
_mainObjects.mcTransClick3.visible = true;
_logic[2] = false;
};
} else {
trace("You must delete wrong component");
};
};
} else {
trace("lets GLOW ", value);
_WrongElements.push(value);
_workPlace.setGlowPlace(value);
_bin.gotoAndStop(2);
if (_logic[0]){
_mainObjects.mcTransClick1.visible = true;
_logic[0] = false;
};
trace("byn animation");
};
}
private function hintAnalitic():void{
var namic:String;
chekOneHint(("btn_" + PublicNames.MAIN_PLATE));
chekOneHint(("btn_" + PublicNames.BREAD_PLATE));
var i:int;
while (i < _offer.NumOfIngridients) {
namic = _offer.getItem(i);
if ((((namic.substr(0, 5) == "sweet")) || ((namic.substr(0, 5) == "drink")))){
chekOneHint(("btn_" + namic));
} else {
if (namic.substr(0, 5) == "bulka"){
if (_workPlace.checkVisibleInWorkPlace(PublicNames.BREAD_PLATE)){
chekOneHint(("btn_" + namic));
};
} else {
if (_workPlace.checkVisibleInWorkPlace(PublicNames.MAIN_PLATE)){
if (namic.substr(0, 3) == "fry"){
if (MovieClip(_mainObjects.mc_fry).currentFrame == 1){
chekOneHint(("btn_" + namic));
};
} else {
if (MovieClip(_mainObjects.mc_nariz).currentFrame == 1){
chekOneHint(("btn_" + namic));
};
};
};
};
};
i++;
};
}
private function putOnTheTable(value:String):void{
_workPlace.setVisibleInWorkPlace(value);
if (_StageTime != 0){
checkOffer(value);
};
}
private function onFryClick(e:MouseEvent):void{
if (!_gameLocked){
if ((((MovieClip(_mainObjects.mc_fry).currentFrame < 8)) && ((MovieClip(_mainObjects.mc_fry).currentFrame > 4)))){
if (_fryTimer.running){
_fryTimer.stop();
_fryTimer.removeEventListener(TimerEvent.TIMER, onFry);
};
if (_workPlace.checkVisibleInWorkPlace(PublicNames.MAIN_PLATE)){
if (_workPlace.checkPosibleToUse(String(("fry_" + String((MovieClip(_mainObjects.mc_fry).currentFrame - 3)))))){
if (MovieClip(_mainObjects.mc_fry).currentFrame == 5){
_currentAnimation = _eggAnimation;
} else {
if (MovieClip(_mainObjects.mc_fry).currentFrame == 6){
_currentAnimation = _meatAnimation;
} else {
if (MovieClip(_mainObjects.mc_fry).currentFrame == 7){
_currentAnimation = _sousageAnimation;
};
};
};
FryContinue();
} else {
trace("this element present on the plate");
};
} else {
SimpleButton(_mainObjects[String(("btn_" + PublicNames.MAIN_PLATE))]).filters = [PublicNames.GLOW_FILTER];
trace("put plate before");
};
} else {
if (MovieClip(_mainObjects.mc_fry).currentFrame > 7){
if (_fryTimer.running){
_fryTimer.stop();
_fryTimer.removeEventListener(TimerEvent.TIMER, onFry);
};
if (MovieClip(_mainObjects.mc_fry).currentFrame == 8){
_currentAnimation = _deleteEgg;
} else {
if (MovieClip(_mainObjects.mc_fry).currentFrame == 9){
_currentAnimation = _deleteMeat;
} else {
if (MovieClip(_mainObjects.mc_fry).currentFrame == 10){
_currentAnimation = _deleteSousage;
};
};
};
FryContinue();
};
};
};
}
private function onAlienAnimation(e:Event):void{
if (MovieClip(e.currentTarget).currentFrame == MovieClip(e.currentTarget).totalFrames){
MovieClip(_mainObjects.animation_alien).removeEventListener(Event.ENTER_FRAME, onAlienAnimation);
MovieClip(_mainObjects.animation_alien).gotoAndStop(1);
trace("end animation used = ", _offerUsed, " from ", PublicNames.offerArray[(_levelNum - 1)]);
if (_offerUsed == 0){
MovieClip(_mainObjects.animation_alien).alpha = 0;
trace("hide alien");
};
};
}
private function onAnimation(e:Event):void{
if (_currentAnimation.currentFrame == _currentAnimation.totalFrames){
_currentAnimation.removeEventListener(Event.ENTER_FRAME, onAnimation);
_animationSprite.removeChild(_currentAnimation);
_gameLocked = false;
MovieClip(_mainObjects.hero).alpha = 1;
if (_currentAnimation.name == "fry"){
if ((((_fryMemory > 4)) && ((_fryMemory < 8)))){
putOnTheTable(String(("fry_" + String((_fryMemory - 3)))));
};
} else {
if (_currentAnimation.name == "loose"){
trace("remove loose animaion and dispatch loose event");
dispatchEvent(new GameEvent(GameEvent.LOOSE));
} else {
if (_currentAnimation.name == "win"){
if (PublicNames.SOUND){
_chanel1 = _soundLevelWin.play();
};
dispatchEvent(new GameEvent(GameEvent.LEVEL_UP));
} else {
if (_currentAnimation.name == "fruit"){
trace("after anamatio set go to frame ", (6 + _frameMemory));
MovieClip(_mainObjects.mc_nariz).gotoAndStop((6 + _frameMemory));
_cutTimer.reset();
_cutTimer.start();
_cutTimer.addEventListener(TimerEvent.TIMER, onCut);
if (PublicNames.SOUND){
_chanel1 = _cutSound.play();
};
} else {
if (_currentAnimation.name == "destroy"){
BynClick(null);
} else {
trace("put to the bread plate");
putOnTheTable(MovieClip(e.currentTarget).name);
};
};
};
};
};
if ((((_StageTime == 0)) && (!((_currentAnimation.name == "loose"))))){
trace("animation ended and time is over in side animation");
setLooseState();
};
} else {
if (_currentAnimation.currentFrame == (_currentAnimation.totalFrames - 12)){
if (_currentAnimation.name == "destroy"){
_workPlace.hideItem(_WrongElements[0]);
_WrongElements.splice(0, 1);
trace("just desroy adn now destroy Array = ", _WrongElements);
};
} else {
if (_currentAnimation.currentFrame == (_currentAnimation.totalFrames - 3)){
if (_currentAnimation.name == "fry"){
_fryMemory = MovieClip(_mainObjects.mc_fry).currentFrame;
MovieClip(_mainObjects.mc_fry).gotoAndStop(1);
MovieClip(_mainObjects.mc_fry).alpha = 1;
};
};
};
};
}
private function setStartProperties():void{
_mainObjects.mcTransClick1.visible = false;
_mainObjects.mcTransClick3.visible = false;
if (_logic[1]){
_mainObjects.mcTransClick2.visible = true;
_logic[1] = false;
} else {
_mainObjects.mcTransClick2.visible = false;
};
_WrongElements = [];
if (_fryTimer.running){
_fryTimer.stop();
_fryTimer.removeEventListener(TimerEvent.TIMER, onFry);
};
MovieClip(_mainObjects.animation_alien).alpha = 1;
MovieClip(_mainObjects.mc_para).alpha = 0;
MovieClip(_mainObjects.mc_para).gotoAndStop(1);
if (SimpleButton(_mainObjects[("btn_" + PublicNames.MAIN_PLATE)]).alpha == 0){
SimpleButton(_mainObjects[("btn_" + PublicNames.MAIN_PLATE)]).alpha = 1;
};
if (SimpleButton(_mainObjects[("btn_" + PublicNames.BREAD_PLATE)]).alpha == 0){
SimpleButton(_mainObjects[("btn_" + PublicNames.BREAD_PLATE)]).alpha = 1;
};
MovieClip(_mainObjects.mc_fry).gotoAndStop(1);
MovieClip(_mainObjects.mc_nariz).gotoAndStop(1);
_workPlace.alpha = 0;
_workPlace.x = 180;
TweenLite.to(_workPlace, 0.5, {alpha:1});
}
private function clearTable():void{
_workPlace.clearAll();
_numTrueElements = 0;
}
private function addElementsToTheStage():void{
addChild(_workPlace);
_workPlace.mask = _mask;
addChild(_mainObjects);
addChild(_bin);
addChild(_offer);
addChild(_gameSound);
addChild(_animationSprite);
MovieClip(_mainObjects.animation_alien).gotoAndStop(1);
}
private function clearTheLight():void{
var i:int;
while (i < _mainObjects.numChildren) {
if (_mainObjects.getChildAt(i).filters != null){
_mainObjects.getChildAt(i).filters = [];
};
i++;
};
}
private function setLooseState():void{
if (PublicNames.SOUND){
_chanel1 = _soundLevelLoose.play();
};
_currentAnimation = _looserAnimation;
_currentAnimation.x = 310;
_currentAnimation.y = 260;
_currentAnimation.name = "loose";
MovieClip(_mainObjects.hero).alpha = 0;
_animationSprite.addChild(_currentAnimation);
_currentAnimation.addEventListener(Event.ENTER_FRAME, onAnimation);
_currentAnimation.gotoAndPlay(1);
_gameLocked = true;
}
private function setStartPosition():void{
_gameSound.x = 0;
_gameSound.y = 310;
_bin.x = 110;
_bin.y = 160;
_workPlace.x = 180;
_workPlace.y = 260;
_bin.gotoAndStop(1);
_bin.buttonMode = true;
MovieClip(_mainObjects.mc_fry).gotoAndStop(1);
MovieClip(_mainObjects.mc_fry).buttonMode = true;
MovieClip(_mainObjects.mc_fry).addEventListener(MouseEvent.CLICK, onFryClick);
MovieClip(_mainObjects.mc_nariz).gotoAndStop(1);
MovieClip(_mainObjects.mc_nariz).alpha = 0;
MovieClip(_mainObjects.mc_back).alpha = 0;
MovieClip(_mainObjects.mc_offerCheck).gotoAndStop(2);
MovieClip(_mainObjects.mc_offerCheck).buttonMode = true;
MovieClip(_mainObjects.mc_offerCheck).addEventListener(MouseEvent.CLICK, onCheckClick);
}
private function onCheckClick(e:Event):void{
_mainObjects.mcTransClick3.visible = false;
if (PublicNames.SOUND){
_chanel1 = _soundCheck.play();
};
if ((((((_numTrueElements == _offer.NumOfIngridients)) && ((_WrongElements.length == 0)))) && (!((_StageTime == 0))))){
_offerUsed++;
trace("offer OK, and now its = ", _offerUsed, " from ", PublicNames.offerArray[(_levelNum - 1)], " becouse level = ", _levelNum);
MovieClip(_mainObjects.mc_offerCheck).gotoAndStop(1);
MovieClip(_mainObjects.mc_offerCheck).filters = [];
MovieClip(_mainObjects.mc_offerCheck).alpha = 0;
_numTrueElements = 0;
_currentScore = (_currentScore + (20 * (1 + _levelNum)));
TextField(_mainObjects.Score).text = String(_currentScore);
if (_offerUsed == PublicNames.offerArray[(_levelNum - 1)]){
TextField(_mainObjects.offerUsed).text = "";
trace("Uou win the level and timer is stoped");
_timer.stop();
_offer.hide();
} else {
TextField(_mainObjects.offerUsed).text = ((String((_offerUsed + 1)) + " / ") + PublicNames.offerArray[(_levelNum - 1)]);
if (_offerUsed == (PublicNames.offerArray[(_levelNum - 1)] - 1)){
_offer.showNext(true);
} else {
_offer.showNext();
};
};
TweenLite.to(_workPlace, 0.8, {x:(_workPlace.x + 300), onComplete:nextClear});
};
}
public function get currentScore():int{
return (_currentScore);
}
private function addListeners():void{
var name:String;
var i:int;
while (i < _mainObjects.numChildren) {
name = _mainObjects.getChildAt(i).name;
if (name.substr(0, 3) == "btn"){
if ((((((name.substr(0, 7) == "btn_fry")) || ((name.substr(0, 7) == "btn_bul")))) || ((((name == ("btn_" + PublicNames.MAIN_PLATE))) || ((name == "btn_BreadPlate")))))){
SimpleButton(_mainObjects.getChildAt(i)).addEventListener(MouseEvent.CLICK, onButtonClick);
} else {
SimpleButton(_mainObjects.getChildAt(i)).alpha = 0;
SimpleButton(_mainObjects.getChildAt(i)).enabled = false;
};
};
i++;
};
_timer.addEventListener(TimerEvent.TIMER, onTimer);
_mainObjects.mcTransReset.addEventListener(MouseEvent.CLICK, onRestart);
conect(_bin, BynClick);
}
public function soundChange():void{
_gameSound.onSoundClick();
}
public function LetsGO(value:int):void{
trace(("Start level : " + value));
Main.instance.translator.makeTranslation(_mainObjects);
if (!_visibleButton[(value - 1)]){
setVisibleButton(value);
};
setStartProperties();
_levelNum = value;
_bin.gotoAndStop(1);
_timerBlend[3] = int((PublicNames.timeArray[(_levelNum - 1)] / 2));
_timerBlend[4] = int((PublicNames.timeArray[(_levelNum - 1)] / 4));
_timerBlend[5] = int(((PublicNames.timeArray[(_levelNum - 1)] / 4) - 1));
_StageTime = PublicNames.timeArray[(value - 1)];
onTimer(null);
_timer.reset();
_timer.start();
_offerUsed = 0;
TextField(_mainObjects.offerUsed).text = ((String((_offerUsed + 1)) + " / ") + PublicNames.offerArray[(_levelNum - 1)]);
clearTable();
if (!_showPlate){
_workPlace.setVisibleInWorkPlace(PublicNames.MAIN_PLATE, 0.2);
_workPlace.setVisibleInWorkPlace(PublicNames.BREAD_PLATE, 0.2);
_showPlate = true;
};
_currentScore = 0;
clearTheLight();
TextField(_mainObjects.Score).text = String(_currentScore);
_offer.startOffer(value);
_gameLocked = false;
hintAnalitic();
}
private function chekOneHint(value:String):void{
var _itemWasShown:Boolean;
var j:int;
if (((((!((value.substr(0, 2) == "mc"))) && (!(_workPlace.checkVisibleInWorkPlace(value.substr(4)))))) || ((value.substr(0, 2) == "mc")))){
_itemWasShown = false;
j = 0;
while (j < _usedElement.length) {
if (_usedElement[j] == value){
_itemWasShown = true;
break;
};
j++;
};
if (!_itemWasShown){
if (value.substr(0, 3) == "btn"){
SimpleButton(_mainObjects[String(value)]).filters = [PublicNames.GLOW_FILTER];
} else {
MovieClip(_mainObjects[String(value)]).filters = [PublicNames.GLOW_FILTER];
};
_usedElement.push(value);
};
};
}
public function onTimer(e:TimerEvent):void{
_StageTime--;
_minutes = Math.floor((_StageTime / 60));
if (_minutes <= 9){
_totalTime = ("0" + String(_minutes));
} else {
_totalTime = String(_minutes);
};
_seconds = (_StageTime - (_minutes * 60));
if (_seconds <= 9){
_totalTime = (_totalTime + (":0" + String(_seconds)));
} else {
_totalTime = (_totalTime + (":" + String(_seconds)));
};
TextField(_mainObjects.mc_time).text = _totalTime;
if (_StageTime == 0){
_timer.stop();
if (!_gameLocked){
trace("time is over");
setLooseState();
};
} else {
if ((((_StageTime == 5)) || ((_StageTime == int((PublicNames.timeArray[(_levelNum - 1)] / 2)))))){
if (PublicNames.SOUND){
_chanel1 = _timerSound.play();
};
};
};
}
private function onFry(e:Event):void{
if (MovieClip(_mainObjects.mc_fry).currentFrame > 7){
_fryTimer.removeEventListener(TimerEvent.TIMER, onFry);
_fryTimer.stop();
} else {
chekOneHint("mc_fry");
MovieClip(_mainObjects.mc_fry).gotoAndStop((MovieClip(_mainObjects.mc_fry).currentFrame + 3));
};
}
public function disconect(object:DisplayObject, clickFunction:Function):void{
object.removeEventListener(MouseEvent.CLICK, clickFunction);
}
private function FryContinue():void{
MovieClip(_mainObjects.mc_para).alpha = 0;
MovieClip(_mainObjects.mc_para).gotoAndStop(1);
if (MovieClip(_mainObjects.mc_fry).filters.length != 0){
MovieClip(_mainObjects.mc_fry).filters = [];
};
_currentAnimation.name = "fry";
_currentAnimation.x = 320;
_currentAnimation.y = 265;
_animationSprite.addChild(_currentAnimation);
_currentAnimation.addEventListener(Event.ENTER_FRAME, onAnimation);
_currentAnimation.gotoAndPlay(1);
_gameLocked = true;
MovieClip(_mainObjects.hero).alpha = 0;
MovieClip(_mainObjects.mc_fry).alpha = 0;
}
private function onCut(e:TimerEvent):void{
_cutTimer.stop();
_cutTimer.removeEventListener(TimerEvent.TIMER, onCut);
MovieClip(_mainObjects.mc_nariz).gotoAndStop(_frameMemory);
chekOneHint("mc_nariz");
}
public function conect(object:DisplayObject, clickFunction:Function):void{
object.addEventListener(MouseEvent.CLICK, clickFunction);
}
private function BynClick(e:Event):void{
_mainObjects.mcTransClick1.visible = false;
_bin.gotoAndStop(1);
if (!_gameLocked){
if (_WrongElements.length != 0){
if (PublicNames.SOUND){
_chanel1 = _destroySound.play();
};
_currentName = String(_WrongElements[0]).substr(0, 5);
if (_currentName == "sweet"){
_currentAnimation = _destroy_sweet;
} else {
if (_currentName == "drink"){
_currentAnimation = _destroy_drink;
} else {
if (_currentName == "bulka"){
_currentAnimation = _destroy_bulka;
} else {
_currentAnimation = _destroy_main;
};
};
};
_currentAnimation.x = 320;
_currentAnimation.y = 260;
_currentAnimation.name = "destroy";
MovieClip(_mainObjects.hero).alpha = 0;
_animationSprite.addChild(_currentAnimation);
_currentAnimation.addEventListener(Event.ENTER_FRAME, onAnimation);
_currentAnimation.gotoAndPlay(1);
_gameLocked = true;
} else {
if (_numTrueElements == _offer.NumOfIngridients){
MovieClip(_mainObjects.mc_offerCheck).gotoAndStop(1);
};
_gameLocked = false;
};
};
}
}
}//package actors
Section 3
//OderList (actors.OderList)
package actors {
import flash.display.*;
import flash.geom.*;
public class OderList extends Sprite {
private var _tempArray:Array;
private var _itemPresent:Boolean;// = false
private var _workPalce:MovieClip;
private var _simpleMovieClip:MovieClip;
private var _tempMovieClip:MovieClip;
private var _canvas:Bitmap;
private var _bitmapData:BitmapData;
public function OderList(){
_workPalce = new orderPlace();
_tempArray = [];
super();
trace("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
MovieClip(_workPalce["basic"]).alpha = 1;
_bitmapData = new BitmapData((_workPalce.width + 30), (_workPalce.height + 30), true, 0xFFFFFF);
_canvas = new Bitmap(_bitmapData, "auto", true);
addChild(_canvas);
}
public function setVisibleElements(menu:Array, itemNum:int):void{
trace("set visible ", menu);
clearAll();
var i:int;
while (i < menu.length) {
_tempMovieClip = MovieClip(_workPalce[menu[i]]);
_tempMovieClip.alpha = 1;
i++;
};
upDataCanvas();
}
public function setVisibleInWorkPlace(value:String):void{
_tempMovieClip = MovieClip(_workPalce[value]);
_tempMovieClip.alpha = 1;
upDataCanvas();
}
public function setGala(itemName:String):void{
_tempMovieClip = MovieClip(_workPalce[itemName]);
var color:ColorTransform = _tempMovieClip.transform.colorTransform;
color.color = 0xFFFFFF;
_tempMovieClip.transform.colorTransform = color;
_tempMovieClip.alpha = 0.9;
upDataCanvas();
}
public function hideItem(value:String):void{
_tempMovieClip = MovieClip(_workPalce[value]);
_tempMovieClip.transform.colorTransform = new ColorTransform();
_tempMovieClip.alpha = 0;
trace("i set ", _tempMovieClip.name, " alpha = ", _tempMovieClip.alpha);
resetCanvas();
}
public function checkVisibleInWorkPlace(value:String):Boolean{
_itemPresent = false;
_tempMovieClip = MovieClip(_workPalce[value]);
if (_tempMovieClip.alpha == 1){
_itemPresent = true;
};
return (_itemPresent);
}
public function clearAll():void{
var i:int;
while (i < _workPalce.numChildren) {
if (_workPalce.getChildAt(i).name != "basic"){
_tempMovieClip = MovieClip(_workPalce.getChildAt(i));
if (_tempMovieClip.alpha != 0){
_tempMovieClip.transform.colorTransform = new ColorTransform();
_tempMovieClip.alpha = 0;
};
};
i++;
};
upDataCanvas();
_canvas.bitmapData.fillRect(new Rectangle(0, 0, (_workPalce.width + 30), (_workPalce.height + 30)), 0xFFFFFF);
}
private function upDataCanvas():void{
_canvas.bitmapData.draw(_workPalce);
}
private function resetCanvas():void{
_canvas.bitmapData.fillRect(new Rectangle(0, 0, (_workPalce.width + 30), (_workPalce.height + 30)), 0xFFFFFF);
upDataCanvas();
}
}
}//package actors
Section 4
//Offer (actors.Offer)
package actors {
import flash.display.*;
import gs.*;
public class Offer extends Sprite {
private var _randomNum:Number;
private var _stageNum:int;
private var _NumOfIngridients:int;
private var _randomName:String;
private var _curOffer:Array;
private var _tempNumOfIngridients:int;
private var _coca:OderList;
private var _thatIsEnd:Boolean;// = false
private var _currentNum:int;
private var _tempOffer:Array;
private var _emptyArray:Array;
private var _numElement:int;
private var _cocaNext:OderList;
public function Offer(){
_coca = new OderList();
_cocaNext = new OderList();
_tempOffer = [];
_emptyArray = [];
super();
addChild(_cocaNext);
addChild(_coca);
_coca.setVisibleElements(_emptyArray, 0);
_cocaNext.setVisibleElements(_emptyArray, 0);
setStartProperties();
}
public function get NumOfIngridients():int{
return (_tempNumOfIngridients);
}
public function hide():void{
_coca.alpha = 0;
}
public function clearGala():void{
_coca.setVisibleElements(_tempOffer, _currentNum);
}
private function giveMeNewOffer(levelNum:int):void{
_curOffer = [];
_curOffer.push(PublicNames.MAIN_PLATE);
if (Math.random() > 0.66){
_curOffer.push(PublicNames.MEAT);
} else {
if (Math.random() > 0.5){
_curOffer.push(PublicNames.EGG);
} else {
_curOffer.push(PublicNames.KOVBASA);
};
};
_curOffer.push(PublicNames.BREAD_PLATE);
if (Math.random() > 0.75){
_curOffer.push(PublicNames.ROGALUK);
} else {
if (Math.random() > 0.66){
_curOffer.push(PublicNames.KEKS);
} else {
if (Math.random() > 0.5){
_curOffer.push(PublicNames.BREAD);
} else {
_curOffer.push(PublicNames.BUBLUK);
};
};
};
if (_stageNum > 1){
if (Math.random() > 0.66){
_curOffer.push(PublicNames.COFFEE);
} else {
if (Math.random() > 0.5){
_curOffer.push(PublicNames.JUICE);
} else {
_curOffer.push(PublicNames.WATER);
};
};
};
if (_stageNum > 2){
if (_stageNum == 3){
if (Math.random() > 0.66){
_curOffer.push(PublicNames.ORANGE);
} else {
if (Math.random() > 0.5){
_curOffer.push(PublicNames.APPLE);
} else {
_curOffer.push(PublicNames.GRYWI);
};
};
} else {
if (Math.random() > 0.66){
_curOffer.push(PublicNames.ORANGE);
_curOffer.push(PublicNames.APPLE);
} else {
if (Math.random() > 0.5){
_curOffer.push(PublicNames.APPLE);
_curOffer.push(PublicNames.GRYWI);
} else {
_curOffer.push(PublicNames.GRYWI);
_curOffer.push(PublicNames.ORANGE);
};
};
};
};
if (_stageNum > 3){
if (_stageNum == 4){
if (Math.random() > 0.66){
_curOffer.push(PublicNames.CARROT);
} else {
if (Math.random() > 0.5){
_curOffer.push(PublicNames.OGIROK);
} else {
_curOffer.push(PublicNames.TOMATO);
};
};
} else {
if (Math.random() > 0.66){
_curOffer.push(PublicNames.CARROT);
_curOffer.push(PublicNames.OGIROK);
} else {
if (Math.random() > 0.5){
_curOffer.push(PublicNames.OGIROK);
_curOffer.push(PublicNames.TOMATO);
} else {
_curOffer.push(PublicNames.TOMATO);
_curOffer.push(PublicNames.CARROT);
};
};
};
};
if (_stageNum > 4){
if (Math.random() > 0.66){
_curOffer.push(PublicNames.MARMELAD);
} else {
if (Math.random() > 0.5){
_curOffer.push(PublicNames.CHOCOLADA);
} else {
_curOffer.push(PublicNames.SWEET);
};
};
};
_NumOfIngridients = _curOffer.length;
}
public function getItem(value:int):String{
return (_tempOffer[value]);
}
public function showNext(thatsTheEnd:Boolean=false):void{
_thatIsEnd = thatsTheEnd;
TweenLite.to(_coca, 0.2, {alpha:0, onComplete:hideComplete});
}
public function startOffer(value:int):void{
_stageNum = value;
setStartProperties();
_currentNum = PublicNames.offerArray[(_stageNum - 1)];
giveMeNewOffer(_stageNum);
_thatIsEnd = false;
howTrue();
}
private function hideComplete():void{
TweenLite.to(_cocaNext, 0.2, {x:_coca.x, y:_coca.y, alpha:1, onComplete:howTrue});
}
private function checkEcvivalent():void{
var oznakaPodibnosti:Boolean;
var x:int;
if (_tempNumOfIngridients == _NumOfIngridients){
oznakaPodibnosti = true;
x = 0;
while (x < _tempNumOfIngridients) {
if (_tempOffer[x] != _curOffer[x]){
oznakaPodibnosti = false;
break;
};
x++;
};
if (oznakaPodibnosti){
};
};
}
private function setStartProperties():void{
_coca.x = 350;
_coca.y = 25;
_coca.alpha = 1;
_cocaNext.x = 350;
_cocaNext.y = 25;
_cocaNext.alpha = 1;
}
public function showGala(itemName:String):void{
_coca.setGala(itemName);
}
private function howTrue():void{
_tempOffer = [];
_tempOffer = _curOffer.splice(0);
_tempNumOfIngridients = _NumOfIngridients;
_coca.setVisibleElements(_tempOffer, _currentNum);
_currentNum--;
trace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
trace("CURRENT OFFER IS ", _tempOffer, " !!!!!!!!!!!!!!!!!!!!!!!!!!!!", _tempNumOfIngridients);
trace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
if (_thatIsEnd){
_cocaNext.alpha = 0;
_coca.alpha = 1;
} else {
giveMeNewOffer(_stageNum);
checkEcvivalent();
_cocaNext.setVisibleElements(_curOffer, _currentNum);
setStartProperties();
};
}
}
}//package actors
Section 5
//WorkPalce (actors.WorkPalce)
package actors {
import flash.display.*;
import flash.geom.*;
public class WorkPalce extends Sprite {
private var _simpleMovieClip:MovieClip;
private var _bitmapData:BitmapData;
private var _tempArray:Array;
private var _itemPresent:Boolean;// = false
private var _workPalce:MovieClip;
private var _posible:Boolean;// = false
private var _tempMovieClip:MovieClip;
private var _canvas:Bitmap;
public function WorkPalce(){
_workPalce = new ProductPlace();
_tempArray = [];
super();
addChild(_workPalce);
MovieClip(_workPalce["basic"]).alpha = 1;
_bitmapData = new BitmapData((_workPalce.width + 30), (_workPalce.height + 30), true, 0xFFFFFF);
_canvas = new Bitmap(_bitmapData, "auto", true);
addChild(_canvas);
}
public function setVisibleInWorkPlace(value:String, visible:Number=1):void{
trace(("set visible value : " + value));
_tempMovieClip = MovieClip(_workPalce[value]);
_tempMovieClip.alpha = visible;
upDataCanvas();
}
public function setVisibleElements(menu:Array, itemNum:int):void{
trace("set visible ", menu);
clearAll();
var i:int;
while (i < menu.length) {
_tempMovieClip = MovieClip(_workPalce[menu[i]]);
_tempMovieClip.alpha = 1;
i++;
};
upDataCanvas();
}
public function setGala(itemName:String):void{
_tempMovieClip = MovieClip(_workPalce[itemName]);
var color:ColorTransform = _tempMovieClip.transform.colorTransform;
color.color = 0xFFFFFF;
_tempMovieClip.transform.colorTransform = color;
_tempMovieClip.alpha = 0.9;
upDataCanvas();
}
public function clearAll():void{
trace("__________CLEAR WORK PLACE_________________");
var i:int;
while (i < _workPalce.numChildren) {
if (_workPalce.getChildAt(i).name != "basic"){
_tempMovieClip = MovieClip(_workPalce.getChildAt(i));
_tempMovieClip.filters = [];
if (_tempMovieClip.alpha != 0){
_tempMovieClip.transform.colorTransform = new ColorTransform();
_tempMovieClip.alpha = 0;
};
};
i++;
};
upDataCanvas();
_canvas.bitmapData.fillRect(new Rectangle(0, 0, (_workPalce.width + 30), (_workPalce.height + 30)), 0xFFFFFF);
}
private function resetCanvas():void{
_canvas.bitmapData.fillRect(new Rectangle(0, 0, (_workPalce.width + 30), (_workPalce.height + 30)), 0xFFFFFF);
upDataCanvas();
}
private function upDataCanvas():void{
_canvas.bitmapData.draw(_workPalce);
}
public function checkVisibleInWorkPlace(value:String):Boolean{
_itemPresent = false;
_tempMovieClip = MovieClip(_workPalce[value]);
if (_tempMovieClip.alpha == 1){
_itemPresent = true;
};
return (_itemPresent);
}
public function setGlowPlace(value:String):void{
trace(("set visible value : " + value));
_tempMovieClip = MovieClip(_workPalce[value]);
_tempMovieClip.filters = [PublicNames.GLOW_FILTER_ORANGE];
upDataCanvas();
}
public function hideItem(value:String):void{
_tempMovieClip = MovieClip(_workPalce[value]);
_tempMovieClip.transform.colorTransform = new ColorTransform();
_tempMovieClip.alpha = 0;
_tempMovieClip.filters = [];
trace("i set ", _tempMovieClip.name, " alpha = ", _tempMovieClip.alpha);
resetCanvas();
}
public function checkPosibleToUse(value:String):Boolean{
_posible = false;
if ((((value == PublicNames.COFFEE)) || ((((value == PublicNames.WATER)) || ((value == PublicNames.JUICE)))))){
if ((((MovieClip(_workPalce[PublicNames.COFFEE]).alpha == 0)) && ((((MovieClip(_workPalce[PublicNames.WATER]).alpha == 0)) && ((MovieClip(_workPalce[PublicNames.JUICE]).alpha == 0)))))){
_posible = true;
};
} else {
if ((((value == PublicNames.EGG)) || ((((value == PublicNames.KOVBASA)) || ((value == PublicNames.MEAT)))))){
if ((((MovieClip(_workPalce[PublicNames.EGG]).alpha == 0)) && ((((MovieClip(_workPalce[PublicNames.KOVBASA]).alpha == 0)) && ((MovieClip(_workPalce[PublicNames.MEAT]).alpha == 0)))))){
_posible = true;
};
} else {
if ((((value == PublicNames.SWEET)) || ((((value == PublicNames.MARMELAD)) || ((value == PublicNames.CHOCOLADA)))))){
if ((((MovieClip(_workPalce[PublicNames.SWEET]).alpha == 0)) && ((((MovieClip(_workPalce[PublicNames.MARMELAD]).alpha == 0)) && ((MovieClip(_workPalce[PublicNames.CHOCOLADA]).alpha == 0)))))){
_posible = true;
};
} else {
if ((((((value == PublicNames.KEKS)) || ((value == PublicNames.ROGALUK)))) || ((((value == PublicNames.BUBLUK)) || ((value == PublicNames.BREAD)))))){
if ((((((MovieClip(_workPalce[PublicNames.KEKS]).alpha == 0)) && ((MovieClip(_workPalce[PublicNames.BREAD]).alpha == 0)))) && ((((MovieClip(_workPalce[PublicNames.ROGALUK]).alpha == 0)) && ((MovieClip(_workPalce[PublicNames.BUBLUK]).alpha == 0)))))){
_posible = true;
};
} else {
if (MovieClip(_workPalce[value]).alpha != 1){
_posible = true;
};
};
};
};
};
return (_posible);
}
}
}//package actors
Section 6
//AwardsService (com.spilgames.api.AwardsService)
package com.spilgames.api {
public class AwardsService {
public function AwardsService(){
super();
}
public static function submitAward(awardTag:String, callback:Function=null):int{
return (SpilGamesServices.getInstance().send("Awards", "submitAward", callback, {tag:awardTag, userName:User.getUserName(), userHash:User.getUserHash()}));
}
}
}//package com.spilgames.api
Section 7
//ScoreService (com.spilgames.api.ScoreService)
package com.spilgames.api {
public class ScoreService {
public function ScoreService(){
super();
}
public static function submitScore(score:int, callback:Function=null):int{
return (SpilGamesServices.getInstance().send("Score", "submitScore", callback, {score:score, userName:User.getUserName(), userHash:User.getUserHash()}));
}
}
}//package com.spilgames.api
Section 8
//SpilGamesServices (com.spilgames.api.SpilGamesServices)
package com.spilgames.api {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class SpilGamesServices extends MovieClip {
private var _connected:Boolean;// = false
private var _connecting:Boolean;// = false
private var DEFAULT_CONNECTION_LOCATION:String;// = "http://www8.agame.com/games/flash/services/ServicesConnection.swf"
private var _loader:Loader;
private var _servicesConnection;// = null
public static const INVALID_ID:int = -1;
private static var _instance:SpilGamesServices = null;
public function SpilGamesServices(access:Private=null){
super();
if (!access){
throw (new Error("Cannot instantiate this class, use SpilGamesServices.getInstance"));
};
}
private function handleRemovedFromStage(e:Event):void{
trace("WARNING: please do not remove SpilGamesServices from the stage");
}
private function handleLoadComplete(e:Event):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_servicesConnection = LoaderInfo(e.target).content;
_servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.addEventListener("serviceError", handleServiceError);
addChild(_servicesConnection);
}
public function send(serviceID:String, functionName:String, callback:Function, args:Object=null):int{
if (isReady()){
return (_servicesConnection.send(serviceID, functionName, callback, args));
};
return (INVALID_ID);
}
private function handleServicesFailed(e:ErrorEvent):void{
_servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.addEventListener("serviceError", handleServiceError);
_connecting = false;
if (hasEventListener("servicesFailed")){
dispatchEvent(new ErrorEvent("servicesFailed", false, false, e.text));
};
}
public function get version():String{
return ("1.0");
}
public function isReady():Boolean{
return (((!((_servicesConnection == null))) && (_servicesConnection.isReady())));
}
private function handleIOError(e:IOErrorEvent):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_connecting = false;
if (hasEventListener(e.type)){
dispatchEvent(e);
};
}
private function handleServiceError(e:Event):void{
var message:String;
if (hasEventListener("serviceError")){
message = "";
if ((e is ErrorEvent)){
message = ErrorEvent(e).text;
} else {
message = e.toString();
};
dispatchEvent(new ErrorEvent("serviceError", false, false, message));
};
}
public function disconnect():void{
if (_servicesConnection){
_servicesConnection.removeEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.removeEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.removeEventListener("serviceError", handleServiceError);
if (_connected){
_servicesConnection.disconnect();
};
removeChild(_servicesConnection);
};
_servicesConnection = null;
if (_loader){
try {
_loader.close();
//unresolved jump
var _slot1 = e;
} finally {
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
};
_loader = null;
};
removeEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage);
if (parent){
parent.removeChild(this);
};
_connected = (_connecting = false);
}
private function handleServicesReady(e: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 get connection(){
return (_servicesConnection);
}
public function getSiteID():int{
if (_servicesConnection != null){
return (_servicesConnection.getSiteID());
};
return (INVALID_ID);
}
public function getChannelID():int{
if (_servicesConnection != null){
return (_servicesConnection.getChannelID());
};
return (INVALID_ID);
}
public function connect(clip:DisplayObjectContainer):void{
var request:URLRequest;
var connectionLocation:String;
var urlVariables:URLVariables;
var date:Date;
if (((!(_connecting)) && (!(_connected)))){
if (!clip.stage){
throw (new Error("The given clip must be present in the display list (added to stage)"));
};
_connecting = true;
clip.stage.addChild(this);
addEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage);
if (((root.loaderInfo.parameters["servicesLoc"]) && ((root.loaderInfo.parameters["servicesLoc"].length > 0)))){
connectionLocation = root.loaderInfo.parameters["servicesLoc"];
request = new URLRequest(connectionLocation);
} else {
connectionLocation = DEFAULT_CONNECTION_LOCATION;
urlVariables = new URLVariables();
date = new Date();
urlVariables.nocache = (((date.month + 1) * 31) + date.day);
request = new URLRequest(connectionLocation);
request.data = urlVariables;
};
allowDomain(connectionLocation);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_loader.load(request);
};
}
public function getItemID():int{
if (_servicesConnection != null){
return (_servicesConnection.getItemID());
};
return (INVALID_ID);
}
public function allowDomain(domain:String):void{
Security.allowDomain("*");
Security.allowInsecureDomain("*");
}
public function get connecting():Boolean{
return (_connecting);
}
public function isDomainAllowed():Boolean{
return (((!((_servicesConnection == null))) && (_servicesConnection.isDomainValid())));
}
public function bringToFront(e:Event=null):void{
var e = e;
if (parent){
parent.setChildIndex(this, (parent.numChildren - 1));
//unresolved jump
var _slot1 = e;
removeEventListener(Event.ENTER_FRAME, bringToFront);
};
}
public static function getInstance():SpilGamesServices{
if (!_instance){
_instance = new SpilGamesServices(new Private());
};
return (_instance);
}
}
}//package com.spilgames.api
class Private {
private function Private(){
super();
}
}
Section 9
//User (com.spilgames.api.User)
package com.spilgames.api {
import flash.display.*;
public class User {
public function User(){
super();
}
public static function getUserName():String{
var connection:* = SpilGamesServices.getInstance().connection;
if (connection != null){
return (connection.getUserName());
};
return ("");
}
public static function isGuest():Boolean{
var root:DisplayObject;
var vars:Object;
var connection:* = SpilGamesServices.getInstance().connection;
if (connection != null){
return (connection.isGuest());
};
root = SpilGamesServices.getInstance().root;
if (root.loaderInfo != null){
vars = root.loaderInfo.parameters;
return (((((((!(vars.username)) || ((vars.username == "")))) || (!(vars.hash)))) || ((vars.hash == ""))));
};
return (false);
}
public static function getUserHash():String{
var connection:* = SpilGamesServices.getInstance().connection;
if (connection != null){
return (connection.getUserHash());
};
return ("");
}
}
}//package com.spilgames.api
Section 10
//flag_icon_84 (components_fla.flag_icon_84)
package components_fla {
import flash.display.*;
public dynamic class flag_icon_84 extends MovieClip {
public function flag_icon_84(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package components_fla
Section 11
//BrandingLogo_13 (cpace_food_fla.BrandingLogo_13)
package cpace_food_fla {
import flash.display.*;
import flash.text.*;
public dynamic class BrandingLogo_13 extends MovieClip {
public var txtTranslation:TextField;
public var mc_cn:MovieClip;
public var mc_jp:MovieClip;
public function BrandingLogo_13(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package cpace_food_fla
Section 12
//stil_103 (cpace_food_fla.stil_103)
package cpace_food_fla {
import flash.display.*;
public dynamic class stil_103 extends MovieClip {
public function stil_103(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package cpace_food_fla
Section 13
//Translator (game.Translator)
package game {
import flash.display.*;
import spill.localisation.*;
import flash.text.*;
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(){
super();
_dataTranslation = XML(new _xmlTranslationClass());
}
public function makeTranslation(parentMC:Sprite):void{
trace(("make translation for " + parentMC));
var childerenNum:int = parentMC.numChildren;
var i:int;
while (i < childerenNum) {
if (parentMC.getChildAt(i).name.substr(0, 7) == TRANSLATION_PREFIX){
setTrueName((parentMC.getChildAt(i) as MovieClip));
};
i++;
};
}
private function setTrueName(object:MovieClip):void{
trace(("object : " + object.name));
var lang:String = SpilGame.currentLanguage.name;
trace(("lang : " + lang));
var name:String = object.name.substr(7);
object.buttonMode = true;
TextField(object[TEXTFIELD_NAME]).mouseEnabled = false;
if ((((name == EXEPTION_1)) || ((name == EXEPTION_2)))){
if (lang == "jp"){
TextField(object[TEXTFIELD_NAME]).text = "";
MovieClip(object.mc_cn).alpha = 0;
MovieClip(object.mc_jp).alpha = 1;
} else {
if (lang == "cn"){
TextField(object[TEXTFIELD_NAME]).text = "";
MovieClip(object.mc_jp).alpha = 0;
MovieClip(object.mc_cn).alpha = 1;
} else {
TextField(object[TEXTFIELD_NAME]).text = getTranslation(name, lang);
MovieClip(object.mc_cn).alpha = 0;
MovieClip(object.mc_jp).alpha = 0;
};
};
} else {
TextField(object[TEXTFIELD_NAME]).text = getTranslation(name, lang);
};
}
public function getTranslation(value1:String, lang_value:String):String{
trace(("value1 : " + value1));
var result:String = XML(_dataTranslation[value1])[lang_value];
if (!result){
result = XML(_dataTranslation[value1])[DEFAULT_LANGUAGE];
};
return (result);
}
}
}//package game
Section 14
//Translator__xmlTranslationClass (game.Translator__xmlTranslationClass)
package game {
import mx.core.*;
public class Translator__xmlTranslationClass extends ByteArrayAsset {
}
}//package game
Section 15
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _tweenVisible:Boolean;
protected var _target:Object;
protected var _visible:Boolean;
protected var _tween:TweenLite;
public static const VERSION:Number = 1;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
super();
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
this.onComplete = onCompleteTween;
}
override public function killProps($lookup:Object):void{
super.killProps($lookup);
_tweenVisible = !(Boolean(("visible" in $lookup)));
}
public function onCompleteTween():void{
if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){
_target.visible = _visible;
};
}
override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{
_target = $target;
_tween = $tween;
_visible = Boolean(!(($value == 0)));
_tweenVisible = true;
addTween($target, "alpha", $target.alpha, $value, "alpha");
return (true);
}
override public function set changeFactor($n:Number):void{
updateTweens($n);
if (((!((_target.visible == true))) && (_tweenVisible))){
_target.visible = true;
};
}
}
}//package gs.plugins
Section 16
//EndArrayPlugin (gs.plugins.EndArrayPlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
import gs.utils.tween.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _a:Array;
protected var _info:Array;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function EndArrayPlugin(){
_info = [];
super();
this.propName = "endArray";
this.overwriteProps = ["endArray"];
}
public function init($start:Array, $end:Array):void{
_a = $start;
var i:int = ($end.length - 1);
while (i > -1) {
if (((!(($start[i] == $end[i]))) && (!(($start[i] == null))))){
_info[_info.length] = new ArrayTweenInfo(i, _a[i], ($end[i] - _a[i]));
};
i--;
};
}
override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{
if (((!(($target is Array))) || (!(($value is Array))))){
return (false);
};
init(($target as Array), $value);
return (true);
}
override public function set changeFactor($n:Number):void{
var i:int;
var ti:ArrayTweenInfo;
var val:Number;
var neg:int;
if (this.round){
i = (_info.length - 1);
while (i > -1) {
ti = _info[i];
val = (ti.start + (ti.change * $n));
neg = ((val)<0) ? -1 : 1;
_a[ti.index] = ((((val % 1) * neg))>0.5) ? (int(val) + neg) : int(val);
i--;
};
} else {
i = (_info.length - 1);
while (i > -1) {
ti = _info[i];
_a[ti.index] = (ti.start + (ti.change * $n));
i--;
};
};
}
}
}//package gs.plugins
Section 17
//FramePlugin (gs.plugins.FramePlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
public class FramePlugin extends TweenPlugin {
protected var _target:MovieClip;
public var frame:int;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function FramePlugin(){
super();
this.propName = "frame";
this.overwriteProps = ["frame"];
this.round = true;
}
override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{
if (((!(($target is MovieClip))) || (isNaN($value)))){
return (false);
};
_target = ($target as MovieClip);
this.frame = _target.currentFrame;
addTween(this, "frame", this.frame, $value, "frame");
return (true);
}
override public function set changeFactor($n:Number):void{
updateTweens($n);
_target.gotoAndStop(this.frame);
}
}
}//package gs.plugins
Section 18
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin)
package gs.plugins {
public class RemoveTintPlugin extends TintPlugin {
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function RemoveTintPlugin(){
super();
this.propName = "removeTint";
}
}
}//package gs.plugins
Section 19
//TintPlugin (gs.plugins.TintPlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
import flash.geom.*;
import gs.utils.tween.*;
public class TintPlugin extends TweenPlugin {
protected var _target:DisplayObject;
protected var _ct:ColorTransform;
protected var _ignoreAlpha:Boolean;
public static const VERSION:Number = 1.1;
public static const API:Number = 1;
protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"];
public function TintPlugin(){
super();
this.propName = "tint";
this.overwriteProps = ["tint"];
}
public function init($target:DisplayObject, $end:ColorTransform):void{
var i:int;
var p:String;
_target = $target;
_ct = _target.transform.colorTransform;
i = (_props.length - 1);
while (i > -1) {
p = _props[i];
if (_ct[p] != $end[p]){
_tweens[_tweens.length] = new TweenInfo(_ct, p, _ct[p], ($end[p] - _ct[p]), "tint", false);
};
i--;
};
}
override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{
if (!($target is DisplayObject)){
return (false);
};
var end:ColorTransform = new ColorTransform();
if (((!(($value == null))) && (!(($tween.exposedVars.removeTint == true))))){
end.color = uint($value);
};
_ignoreAlpha = true;
init(($target as DisplayObject), end);
return (true);
}
override public function set changeFactor($n:Number):void{
var ct:ColorTransform;
updateTweens($n);
if (_ignoreAlpha){
ct = _target.transform.colorTransform;
_ct.alphaMultiplier = ct.alphaMultiplier;
_ct.alphaOffset = ct.alphaOffset;
};
_target.transform.colorTransform = _ct;
}
}
}//package gs.plugins
Section 20
//TweenPlugin (gs.plugins.TweenPlugin)
package gs.plugins {
import gs.*;
import gs.utils.tween.*;
public class TweenPlugin {
public var overwriteProps:Array;
protected var _tweens:Array;
public var propName:String;
public var onComplete:Function;
public var round:Boolean;
protected var _changeFactor:Number;// = 0
public static const VERSION:Number = 1.03;
public static const API:Number = 1;
public function TweenPlugin(){
_tweens = [];
super();
}
protected function updateTweens($changeFactor:Number):void{
var i:int;
var ti:TweenInfo;
var val:Number;
var neg:int;
if (this.round){
i = (_tweens.length - 1);
while (i > -1) {
ti = _tweens[i];
val = (ti.start + (ti.change * $changeFactor));
neg = ((val)<0) ? -1 : 1;
ti.target[ti.property] = ((((val % 1) * neg))>0.5) ? (int(val) + neg) : int(val);
i--;
};
} else {
i = (_tweens.length - 1);
while (i > -1) {
ti = _tweens[i];
ti.target[ti.property] = (ti.start + (ti.change * $changeFactor));
i--;
};
};
}
public function set changeFactor($n:Number):void{
updateTweens($n);
_changeFactor = $n;
}
protected function addTween($object:Object, $propName:String, $start:Number, $end, $overwriteProp:String=null):void{
var change:Number;
if ($end != null){
change = ((typeof($end))=="number") ? ($end - $start) : Number($end);
if (change != 0){
_tweens[_tweens.length] = new TweenInfo($object, $propName, $start, change, (($overwriteProp) || ($propName)), false);
};
};
}
public function killProps($lookup:Object):void{
var i:int;
i = (this.overwriteProps.length - 1);
while (i > -1) {
if ((this.overwriteProps[i] in $lookup)){
this.overwriteProps.splice(i, 1);
};
i--;
};
i = (_tweens.length - 1);
while (i > -1) {
if ((_tweens[i].name in $lookup)){
_tweens.splice(i, 1);
};
i--;
};
}
public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{
addTween($target, this.propName, $target[this.propName], $value, this.propName);
return (true);
}
public function get changeFactor():Number{
return (_changeFactor);
}
public static function activate($plugins:Array):Boolean{
var i:int;
var instance:Object;
i = ($plugins.length - 1);
while (i > -1) {
instance = new ($plugins[i]);
TweenLite.plugins[instance.propName] = $plugins[i];
i--;
};
return (true);
}
}
}//package gs.plugins
Section 21
//VisiblePlugin (gs.plugins.VisiblePlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
public class VisiblePlugin extends TweenPlugin {
protected var _target:Object;
protected var _visible:Boolean;
protected var _tween:TweenLite;
public static const VERSION:Number = 1;
public static const API:Number = 1;
public function VisiblePlugin(){
super();
this.propName = "visible";
this.overwriteProps = ["visible"];
this.onComplete = onCompleteTween;
}
public function onCompleteTween():void{
if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){
_target.visible = _visible;
};
}
override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{
_target = $target;
_tween = $tween;
_visible = Boolean($value);
return (true);
}
override public function set changeFactor($n:Number):void{
if (_target.visible != true){
_target.visible = true;
};
}
}
}//package gs.plugins
Section 22
//VolumePlugin (gs.plugins.VolumePlugin)
package gs.plugins {
import flash.display.*;
import gs.*;
import flash.media.*;
public class VolumePlugin extends TweenPlugin {
protected var _target:Object;
protected var _st:SoundTransform;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function VolumePlugin(){
super();
this.propName = "volume";
this.overwriteProps = ["volume"];
}
override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{
if (((isNaN($value)) || (!($target.hasOwnProperty("soundTransform"))))){
return (false);
};
_target = $target;
_st = _target.soundTransform;
addTween(_st, "volume", _st.volume, $value, "volume");
return (true);
}
override public function set changeFactor($n:Number):void{
updateTweens($n);
_target.soundTransform = _st;
}
}
}//package gs.plugins
Section 23
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo)
package gs.utils.tween {
public class ArrayTweenInfo {
public var change:Number;
public var start:Number;
public var index:uint;
public function ArrayTweenInfo($index:uint, $start:Number, $change:Number){
super();
this.index = $index;
this.start = $start;
this.change = $change;
}
}
}//package gs.utils.tween
Section 24
//TweenInfo (gs.utils.tween.TweenInfo)
package gs.utils.tween {
public class TweenInfo {
public var start:Number;
public var name:String;
public var change:Number;
public var target:Object;
public var property:String;
public var isPlugin:Boolean;
public function TweenInfo($target:Object, $property:String, $start:Number, $change:Number, $name:String, $isPlugin:Boolean){
super();
this.target = $target;
this.property = $property;
this.start = $start;
this.change = $change;
this.name = $name;
this.isPlugin = $isPlugin;
}
}
}//package gs.utils.tween
Section 25
//TweenLite (gs.TweenLite)
package gs {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import gs.plugins.*;
import gs.utils.tween.*;
public class TweenLite {
public var started:Boolean;
public var delay:Number;
protected var _hasUpdate:Boolean;
protected var _hasPlugins:Boolean;
public var initted:Boolean;
public var active:Boolean;
public var startTime:Number;
public var target:Object;
public var duration:Number;
public var gc:Boolean;
public var tweens:Array;
public var vars:Object;
public var ease:Function;
public var exposedVars:Object;
public var initTime:Number;
public var combinedTimeScale:Number;
public static const version:Number = 10.092;
private static var _timer:Timer = new Timer(2000);
public static var defaultEase:Function = TweenLite.easeOut;
public static var plugins:Object = {};
public static var currentTime:uint;
public static var masterList:Dictionary = new Dictionary(false);
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, persist:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, timeScale:1};
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var timingSprite:Sprite = new Sprite();
public static var overwriteManager:Object;
private static var _tlInitted:Boolean;
public function TweenLite($target:Object, $duration:Number, $vars:Object){
super();
if ($target == null){
return;
};
if (!_tlInitted){
TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]);
currentTime = getTimer();
timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
_timer.addEventListener("timer", killGarbage, false, 0, true);
_timer.start();
_tlInitted = true;
};
this.vars = $vars;
this.duration = (($duration) || (0.001));
this.delay = (($vars.delay) || (0));
this.combinedTimeScale = (($vars.timeScale) || (1));
this.active = Boolean(((($duration == 0)) && ((this.delay == 0))));
this.target = $target;
if (typeof(this.vars.ease) != "function"){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
this.ease = this.vars.ease;
this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars;
this.tweens = [];
this.initTime = currentTime;
this.startTime = (this.initTime + (this.delay * 1000));
var mode:int = (((($vars.overwrite == undefined)) || (((!(overwriteManager.enabled)) && (($vars.overwrite > 1)))))) ? overwriteManager.mode : int($vars.overwrite);
if (((!(($target in masterList))) || ((mode == 1)))){
masterList[$target] = [this];
} else {
masterList[$target].push(this);
};
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){
initTweenVals();
if (this.active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
if (((((!((this.exposedVars.visible == null))) && ((this.vars.runBackwards == true)))) && ((this.target is DisplayObject)))){
this.target.visible = this.exposedVars.visible;
};
};
}
public function get enabled():Boolean{
return ((this.gc) ? false : true);
}
public function set enabled($b:Boolean):void{
var a:Array;
var found:Boolean;
var i:int;
if ($b){
if (!(this.target in masterList)){
masterList[this.target] = [this];
} else {
a = masterList[this.target];
i = (a.length - 1);
while (i > -1) {
if (a[i] == this){
found = true;
break;
};
i--;
};
if (!found){
a[a.length] = this;
};
};
};
this.gc = ($b) ? false : true;
if (this.gc){
this.active = false;
} else {
this.active = this.started;
};
}
public function clear():void{
this.tweens = [];
this.vars = (this.exposedVars = {ease:this.vars.ease});
_hasUpdate = false;
}
public function render($t:uint):void{
var factor:Number;
var ti:TweenInfo;
var i:int;
var time:Number = (($t - this.startTime) * 0.001);
if (time >= this.duration){
time = this.duration;
factor = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
factor = this.ease(time, 0, 1, this.duration);
};
i = (this.tweens.length - 1);
while (i > -1) {
ti = this.tweens[i];
ti.target[ti.property] = (ti.start + (factor * ti.change));
i--;
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (time == this.duration){
complete(true);
};
}
public function activate():void{
this.started = (this.active = true);
if (!this.initted){
initTweenVals();
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
}
public function initTweenVals():void{
var p:String;
var i:int;
var plugin:*;
var ti:TweenInfo;
if (((!((this.exposedVars.timeScale == undefined))) && (this.target.hasOwnProperty("timeScale")))){
this.tweens[this.tweens.length] = new TweenInfo(this.target, "timeScale", this.target.timeScale, (this.exposedVars.timeScale - this.target.timeScale), "timeScale", false);
};
for (p in this.exposedVars) {
if ((p in _reservedProps)){
} else {
if ((p in plugins)){
plugin = new (plugins[p]);
if (plugin.onInitTween(this.target, this.exposedVars[p], this) == false){
this.tweens[this.tweens.length] = new TweenInfo(this.target, p, this.target[p], ((typeof(this.exposedVars[p]))=="number") ? (this.exposedVars[p] - this.target[p]) : Number(this.exposedVars[p]), p, false);
} else {
this.tweens[this.tweens.length] = new TweenInfo(plugin, "changeFactor", 0, 1, ((plugin.overwriteProps.length)==1) ? plugin.overwriteProps[0] : "_MULTIPLE_", true);
_hasPlugins = true;
};
} else {
this.tweens[this.tweens.length] = new TweenInfo(this.target, p, this.target[p], ((typeof(this.exposedVars[p]))=="number") ? (this.exposedVars[p] - this.target[p]) : Number(this.exposedVars[p]), p, false);
};
};
};
if (this.vars.runBackwards == true){
i = (this.tweens.length - 1);
while (i > -1) {
ti = this.tweens[i];
ti.start = (ti.start + ti.change);
ti.change = -(ti.change);
i--;
};
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
if (((TweenLite.overwriteManager.enabled) && ((this.target in masterList)))){
overwriteManager.manageOverwrites(this, masterList[this.target]);
};
this.initted = true;
}
protected function easeProxy($t:Number, $b:Number, $c:Number, $d:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function killVars($vars:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars($vars, this.exposedVars, this.tweens);
};
}
public function complete($skipRender:Boolean=false):void{
var i:int;
if (!$skipRender){
if (!this.initted){
initTweenVals();
};
this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale));
render(currentTime);
return;
};
if (_hasPlugins){
i = (this.tweens.length - 1);
while (i > -1) {
if (((this.tweens[i].isPlugin) && (!((this.tweens[i].target.onComplete == null))))){
this.tweens[i].target.onComplete();
};
i--;
};
};
if (this.vars.persist != true){
this.enabled = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public static function updateAll($e:Event=null):void{
var a:Array;
var i:int;
var tween:TweenLite;
var time:uint = (currentTime = getTimer());
var ml:Dictionary = masterList;
for each (a in ml) {
i = (a.length - 1);
while (i > -1) {
tween = a[i];
if (tween.active){
tween.render(time);
} else {
if (tween.gc){
a.splice(i, 1);
} else {
if (time >= tween.startTime){
tween.activate();
tween.render(time);
};
};
};
i--;
};
};
}
public static function removeTween($tween:TweenLite, $clear:Boolean=true):void{
if ($tween != null){
if ($clear){
$tween.clear();
};
$tween.enabled = false;
};
}
public static function killTweensOf($target:Object=null, $complete:Boolean=false):void{
var a:Array;
var i:int;
var tween:TweenLite;
if (((!(($target == null))) && (($target in masterList)))){
a = masterList[$target];
i = (a.length - 1);
while (i > -1) {
tween = a[i];
if ((($complete) && (!(tween.gc)))){
tween.complete(false);
};
tween.clear();
i--;
};
delete masterList[$target];
};
}
public static function from($target:Object, $duration:Number, $vars:Object):TweenLite{
$vars.runBackwards = true;
return (new TweenLite($target, $duration, $vars));
}
public static function easeOut($t:Number, $b:Number, $c:Number, $d:Number):Number{
$t = ($t / $d);
return ((((-($c) * $t) * ($t - 2)) + $b));
}
protected static function killGarbage($e:TimerEvent):void{
var tgt:Object;
var ml:Dictionary = masterList;
for (tgt in ml) {
if (ml[tgt].length == 0){
delete ml[tgt];
};
};
}
public static function delayedCall($delay:Number, $onComplete:Function, $onCompleteParams:Array=null):TweenLite{
return (new TweenLite($onComplete, 0, {delay:$delay, onComplete:$onComplete, onCompleteParams:$onCompleteParams, overwrite:0}));
}
public static function to($target:Object, $duration:Number, $vars:Object):TweenLite{
return (new TweenLite($target, $duration, $vars));
}
}
}//package gs
Section 26
//LinksManager (managers.LinksManager)
package managers {
import flash.display.*;
import flash.net.*;
import flash.external.*;
public class LinksManager {
public static var initialized:Boolean = false;
private static var _isGarbuz:Boolean = false;
private static var allowNetworking:Boolean = true;
private static var _isLocal:Boolean = false;
private static var _domain:String;
private static var _isGameLicense:Boolean = false;
private static var _showAdFlag:Boolean = false;
private static var stage:Stage;
public function LinksManager(){
super();
}
public static function get isGarbuz():Boolean{
return (_isGarbuz);
}
public static function get domain():String{
return (_domain);
}
private static function setDomain(url:String):void{
var urlStart:int = (url.indexOf("://") + 3);
var urlEnd:int = url.indexOf("/", urlStart);
_domain = url.substring(urlStart, urlEnd);
var parts:Array = _domain.split(".");
if (parts.length == 4){
_domain = ((((parts[1] + ".") + parts[2]) + ".") + parts[3]);
} else {
if (parts.length == 3){
_domain = ((parts[1] + ".") + parts[2]);
} else {
if (parts.length == 2){
_domain = ((parts[0] + ".") + parts[1]);
};
};
};
_domain = ((((_domain.length > 0)) && ((_domain.indexOf("file://") < 0)))) ? _domain : "local";
}
public static function init(_stage:Stage):void{
initialized = true;
stage = _stage;
var u:String = getDomain();
setDomain(u);
_isGameLicense = (domain == "flashgamelicense.com");
_isGarbuz = (((domain == "garbuz-studio.com")) || ((domain == "garbuzgames.com")));
_isLocal = (((domain == "local")) || ((domain == "localhost")));
_isLocal = true;
if (_isGarbuz){
_isLocal = false;
};
trace(("_isGarbuz : " + _isGarbuz));
_isLocal = false;
}
public static function get showAdFlag():Boolean{
return (_showAdFlag);
}
public static function get isLocal():Boolean{
return (_isLocal);
}
public static function get isGameLicense():Boolean{
return (_isGameLicense);
}
public static function navigateGarbuzStudio():void{
navigateToURL(new URLRequest("http://garbuz-studio.com"), "_blank");
}
public static function navigateGarbuzGames():void{
navigateToURL(new URLRequest("http://garbuzgames.com"), "_blank");
}
public static function getDomain():String{
var url:String;
var str:String;
var ind:int;
url = String(ExternalInterface.call("function(){ var afk = document.location.href; return afk; }"));
if (url.toString() == "null"){
return (stage.loaderInfo.loaderURL);
};
return (url);
//unresolved jump
var _slot1 = e;
str = _slot1.toString();
ind = str.lastIndexOf("://");
if (ind >= 0){
return (str.substring(ind));
};
return (stage.loaderInfo.loaderURL);
}
public static function navigateMoreGames():void{
navigateToURL(new URLRequest("http://garbuzgames.com"), "_blank");
}
}
}//package managers
Section 27
//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";
public function ByteArrayAsset(){
super();
}
}
}//package mx.core
Section 28
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 29
//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 30
//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,") + "com.id,com.in");
public function Brand(){
super();
}
private function get utm_campaign():String{
if (isExternal){
return (("utm_campaign=" + hostingDomain));
};
return ("");
}
public function exportXML():XML{
var m:XML;
var xml:XML = <portal/>
;
xml.@id = site_id;
xml.@language = preferedLanguage;
xml.@channel = portalGroup;
var g:XML = <domain/>
;
g.appendChild(new XMLNode(3, domain));
xml.appendChild(g);
if (moreLink){
m = <more_games_path/>
;
m.appendChild(new XMLNode(3, moreLink));
xml.appendChild(m);
};
g = <game_path/>
;
g.appendChild(new XMLNode(3, emailLink));
xml.appendChild(g);
if (!useGoogleAnalitics){
xml.attributes.noGoogleAnalitics = true;
};
if (!hasSendToFriendLink){
xml.attributes.noSendToFriendLink = true;
};
return (xml);
}
public function getPromotionLink(gameName:String, emailPage:String, isExternal:Boolean, externalDomain:String="", term:String=""):String{
var l:String = ("http://" + domain);
l = (l + ((("/" + emailLink) + "/") + emailPage));
if (useGoogleAnalitics){
l = (l + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal"));
l = (l + ("&utm_campaign=" + gameName));
externalDomain = stripSubDomain(externalDomain);
trace(externalDomain);
if (externalDomain == "localhost"){
externalDomain = "offline_play";
};
l = (l + ("&utm_source=" + externalDomain));
if (((!((term == ""))) && (!((term == null))))){
l = (l + ("&utm_content=" + term));
};
};
return (l);
}
private function get utm_source():String{
return (("utm_source=brandedgames_" + (isExternal) ? "external" : "internal"));
}
public function getMoreGamesLink(gameName:String, isExternal:Boolean, externalDomain:String="", term:String=""):String{
var l:String = ("http://" + domain);
l = (l + ("/" + moreLink));
if (useGoogleAnalitics){
l = (l + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal"));
l = (l + ("&utm_campaign=" + gameName));
externalDomain = stripSubDomain(externalDomain);
if (externalDomain == "localhost"){
externalDomain = "offline_play";
};
l = (l + ("&utm_source=" + externalDomain));
if (((!((term == ""))) && (!((term == null))))){
l = (l + ("&utm_content=" + term));
};
};
return (l);
}
public function get backgroundColor():uint{
return (PortalGroup.backgroundColors[portalGroup]);
}
private function get utm_term():String{
return ("utm_term=");
}
public function importXML(xml:XMLNode):void{
}
public function getSendToFriendLink(gameName:String, emailPage:String, isExternal:Boolean, externalDomain:String=""):String{
if (!hasSendToFriendLink){
return (getMoreGamesLink(gameName, isExternal));
};
var l:String = ("http://" + domain);
l = (l + ((("/" + emailLink) + "/") + emailPage));
if (useGoogleAnalitics){
l = (l + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal"));
l = (l + ("&utm_campaign=" + gameName));
externalDomain = stripSubDomain(externalDomain);
if (externalDomain == "localhost"){
externalDomain = "offline_play";
};
l = (l + ("&utm_source=" + externalDomain));
l = (l + "&utm_content=send_to_friend");
};
return (l);
}
private static function stripSubDomain(domain:String):String{
if (!domain){
return ("");
};
var p:Array = domain.split(".");
if (p.length <= 2){
return (domain);
};
p = p.reverse();
if (topLevelDoubles.indexOf((((p[1] + ".") + p[0]) + ",")) > 0){
return (((((p[2] + ".") + p[1]) + ".") + p[0]));
};
return (((p[1] + ".") + p[0]));
}
}
}//package spill.localisation
Section 31
//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 function Brandings(){
super();
}
public static function getBrandByID(id:Number):Brand{
return (brands_by_id[id]);
}
public static function getBrandsArray():Array{
var b:Brand;
var a:Array = new Array();
for each (b in brands_by_domain) {
a.push(b);
};
return (a);
}
private static function addBrand(brand:Brand):Brand{
if (brands_by_domain[brand.domain]){
trace(("ERROR: Attempting to add duplicate brand by domain: " + brand.domain));
} else {
brands_by_domain[brand.domain] = brand;
};
if (brands_by_id[brand.site_id]){
trace(("ERROR: Attempting to add duplicate brand by id: " + brand.site_id));
} else {
brands_by_id[brand.site_id] = brand;
};
return (brand);
}
public static function initialize():void{
var brand:Brand;
brand = new Brand();
brand.site_id = 79;
brand.domain = "www.agame.com";
brand.preferedLanguage = "en_us";
brand.portalGroup = PortalGroup.TEENS;
addBrand(brand);
brand = new Brand();
brand.site_id = 88;
brand.domain = "www.gamesgames.com";
brand.preferedLanguage = "en_us";
brand.portalGroup = PortalGroup.FAMILY;
addBrand(brand);
brand = new Brand();
brand.site_id = 90;
brand.domain = "www.girlsgogames.com";
brand.preferedLanguage = "en_us";
brand.portalGroup = PortalGroup.GIRL;
addBrand(brand);
brand = new Brand();
brand.site_id = 45;
brand.domain = "www.a10.com";
brand.preferedLanguage = "en_us";
brand.portalGroup = PortalGroup.YOUNG_ADULTS;
addBrand(brand);
brand = new Brand();
brand.site_id = 92;
brand.domain = "www.games.co.uk";
brand.preferedLanguage = "en_uk";
brand.portalGroup = PortalGroup.FAMILY;
addBrand(brand);
brand = new Brand();
brand.site_id = 107;
brand.domain = "www.agame.co.uk";
brand.preferedLanguage = "en_uk";
brand.portalGroup = PortalGroup.TEENS;
addBrand(brand);
brand = new Brand();
brand.site_id = 102;
brand.domain = "www.girlsgogames.co.uk";
brand.preferedLanguage = "en_uk";
brand.portalGroup = PortalGroup.GIRL;
addBrand(brand);
brand = new Brand();
brand.site_id = 2;
brand.domain = "www.game.com.cn";
brand.moreLink = "moregames/";
brand.preferedLanguage = "cn";
brand.portalGroup = PortalGroup.NONE;
brand.useGoogleAnalitics = false;
brand.hasSendToFriendLink = false;
addBrand(brand);
brand = new Brand();
brand.site_id = 25;
brand.domain = "www.spel.nl";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "nl";
addBrand(brand);
brand = new Brand();
brand.site_id = 1;
brand.domain = "www.spelletjes.nl";
brand.emailLink = "spel";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "nl";
addBrand(brand);
brand = new Brand();
brand.site_id = 93;
brand.domain = "www.girlsgogames.nl";
brand.emailLink = "spel";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "nl";
addBrand(brand);
brand = new Brand();
brand.site_id = 12;
brand.domain = "www.jeu.fr";
brand.emailLink = "jeu";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "fr";
addBrand(brand);
brand = new Brand();
brand.site_id = 95;
brand.domain = "www.girlsgogames.fr";
brand.emailLink = "jeu";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "fr";
addBrand(brand);
brand = new Brand();
brand.site_id = 11;
brand.domain = "www.jeux.fr";
brand.emailLink = "jeu";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "fr";
addBrand(brand);
brand = new Brand();
brand.site_id = 26;
brand.domain = "www.spielen.com";
brand.emailLink = "spiel";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "de";
addBrand(brand);
brand = new Brand();
brand.site_id = 94;
brand.domain = "www.girlsgogames.de";
brand.emailLink = "spiel";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "de";
addBrand(brand);
brand = new Brand();
brand.site_id = 5;
brand.domain = "www.jetztspielen.de";
brand.emailLink = "spiel";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "de";
addBrand(brand);
brand = new Brand();
brand.site_id = 109;
brand.domain = "www.minigry.pl";
brand.emailLink = "gra";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "pl";
addBrand(brand);
brand = new Brand();
brand.site_id = 16;
brand.domain = "www.gry.pl";
brand.emailLink = "gra";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "pl";
addBrand(brand);
brand = new Brand();
brand.site_id = 98;
brand.domain = "www.girlsgogames.pl";
brand.emailLink = "gra";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "pl";
addBrand(brand);
brand = new Brand();
brand.site_id = 108;
brand.domain = "www.spel.se";
brand.emailLink = "spel_";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "se";
addBrand(brand);
brand = new Brand();
brand.site_id = 100;
brand.domain = "www.girlsgogames.se";
brand.emailLink = "spel_";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "se";
addBrand(brand);
brand = new Brand();
brand.site_id = 44;
brand.domain = "www.spela.se";
brand.emailLink = "spel_";
brand.preferedLanguage = "se";
brand.portalGroup = PortalGroup.FAMILY;
addBrand(brand);
brand = new Brand();
brand.site_id = 106;
brand.domain = "www.giocaregratis.it";
brand.emailLink = "gioco";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "it";
addBrand(brand);
brand = new Brand();
brand.site_id = 15;
brand.domain = "www.gioco.it";
brand.emailLink = "gioco";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "it";
addBrand(brand);
brand = new Brand();
brand.site_id = 99;
brand.domain = "www.girlsgogames.it";
brand.emailLink = "gioco";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "it";
addBrand(brand);
brand = new Brand();
brand.site_id = 97;
brand.domain = "www.zapjuegos.com";
brand.emailLink = "juego";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "es";
addBrand(brand);
brand = new Brand();
brand.site_id = 86;
brand.domain = "www.juegos.com";
brand.emailLink = "juego";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "es";
addBrand(brand);
brand = new Brand();
brand.site_id = 96;
brand.domain = "www.juegosdechicas.com";
brand.emailLink = "juego";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "es";
addBrand(brand);
brand = new Brand();
brand.site_id = 122;
brand.domain = "www.girlsgogames.es";
brand.emailLink = "juego";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "es";
addBrand(brand);
brand = new Brand();
brand.site_id = 125;
brand.domain = "www.juegos.mx";
brand.emailLink = "juego";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "es";
addBrand(brand);
brand = new Brand();
brand.site_id = 126;
brand.domain = "www.juegosdechicas.mx";
brand.emailLink = "juego";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "es";
addBrand(brand);
brand = new Brand();
brand.site_id = 127;
brand.domain = "www.juegos.com.ar";
brand.emailLink = "juego";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "es";
addBrand(brand);
brand = new Brand();
brand.site_id = 128;
brand.domain = "www.juegosdechicas.com.ar";
brand.emailLink = "juego";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "es";
addBrand(brand);
brand = new Brand();
brand.site_id = 91;
brand.domain = "www.clickjogos.com";
brand.emailLink = "jogo";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "br";
addBrand(brand);
brand = new Brand();
brand.site_id = 101;
brand.domain = "www.girlsgogames.com.br";
brand.emailLink = "jogo";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "br";
addBrand(brand);
brand = new Brand();
brand.site_id = 50;
brand.domain = "www.ojogos.com.br";
brand.emailLink = "jogo";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "br";
addBrand(brand);
brand = new Brand();
brand.site_id = 55;
brand.domain = "www.games.co.id";
brand.emailLink = "permainanme";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "id";
addBrand(brand);
brand = new Brand();
brand.site_id = 105;
brand.domain = "www.flashgames.ru";
brand.emailLink = "igra";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "ru";
addBrand(brand);
brand = new Brand();
brand.site_id = 104;
brand.domain = "www.girlsgogames.ru";
brand.emailLink = "igra";
brand.portalGroup = PortalGroup.GIRL;
brand.preferedLanguage = "ru";
addBrand(brand);
brand = new Brand();
brand.site_id = 103;
brand.domain = "www.ourgames.ru";
brand.emailLink = "igra";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "ru";
addBrand(brand);
brand = new Brand();
brand.site_id = 24;
brand.domain = "www.game.co.in";
brand.emailLink = "game";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "in";
addBrand(brand);
brand = new Brand();
brand.site_id = 87;
brand.domain = "www.ojogos.pt";
brand.emailLink = "jogo";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "pt";
addBrand(brand);
brand = new Brand();
brand.site_id = 120;
brand.domain = "www.egames.jp";
brand.emailLink = "game";
brand.portalGroup = PortalGroup.TEENS;
brand.preferedLanguage = "jp";
addBrand(brand);
brand = new Brand();
brand.site_id = 121;
brand.domain = "www.dailygame.com";
brand.emailLink = "/game/";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "en_us";
addBrand(brand);
brand = new Brand();
brand.site_id = 123;
brand.domain = "www.zapapa.com";
brand.emailLink = "game";
brand.portalGroup = PortalGroup.ZAPAPA;
brand.preferedLanguage = "en_us";
addBrand(brand);
brand = new Brand();
brand.site_id = 124;
brand.domain = "www.zapapa.nl";
brand.emailLink = "game";
brand.portalGroup = PortalGroup.HYVES;
brand.preferedLanguage = "nl";
addBrand(brand);
brand = new Brand();
brand.site_id = 0;
brand.domain = "gamedev.dev.spilgames.com";
brand.portalGroup = PortalGroup.FAMILY;
brand.preferedLanguage = "en_us";
addBrand(brand);
}
public static function exportXML():XML{
var p:Brand;
var xml:XML = <portals/>
;
for each (p in brands_by_domain) {
xml.appendChild(p.exportXML());
};
return (xml);
}
public static function getBrandByDomain(domain:String):Brand{
return (brands_by_domain[domain]);
}
public static function hasDomain(domain:String):Boolean{
return (!((brands_by_domain[domain] == null)));
}
}
}//package spill.localisation
Section 32
//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(_name:String, _dname:String=null){
references = [];
super();
name = _name;
dname = _dname;
portal_groups = new Array();
}
public function exportXML():XMLNode{
var xml:XMLNode = new XMLNode(1, "language");
xml.attributes.name = name;
if (textLanguage != null){
xml.attributes.textLanguage = textLanguage;
};
if (references.length){
xml.attributes.references = references.toString();
};
xml.attributes.id = bwcId;
var n:XMLNode = new XMLNode(1, "display_name");
n.firstChild = new XMLNode(3, displayName);
xml.appendChild(n);
var cs:Array = [];
var channels:Array = PortalGroup.channelNames;
var i:int;
while (i < channels.length) {
cs.push(Brandings.getBrandByDomain(portal_groups[i]).site_id);
i++;
};
xml.attributes.channels = cs.join(",");
return (xml);
}
public function get p_teen():String{
return (portal_groups[PortalGroup.YOUNG_ADULTS]);
}
public function set p_hyves(portalDomain:String):void{
portal_groups[PortalGroup.HYVES] = portalDomain;
}
public function set p_teen(portalDomain:String):void{
portal_groups[PortalGroup.YOUNG_ADULTS] = portalDomain;
}
public function get p_tween():String{
return (portal_groups[PortalGroup.TEENS]);
}
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(portalDomain:String):void{
portal_groups[PortalGroup.GIRL] = portalDomain;
}
public function set p_zapapa(portalDomain:String):void{
portal_groups[PortalGroup.ZAPAPA] = portalDomain;
}
public function get displayAcronim():String{
return ((dname) ? dname : name);
}
public function set p_family(portalDomain:String):void{
portal_groups[PortalGroup.FAMILY] = portalDomain;
}
public function set p_tween(portalDomain:String):void{
portal_groups[PortalGroup.TEENS] = portalDomain;
}
public function get p_zapapa():String{
return (portal_groups[PortalGroup.ZAPAPA]);
}
}
}//package spill.localisation
Section 33
//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 function Languages(){
super();
}
public static function initialize():void{
var lang:Language;
if (_init){
return;
};
_init = true;
lang = new Language("nl");
lang.displayName = "Nederlands";
lang.p_family = "www.spelletjes.nl";
lang.p_tween = "www.spel.nl";
lang.p_girl = "www.girlsgogames.nl";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.p_hyves = "www.zapapa.nl";
lang.bwcId = 3;
addLanguage(lang);
lang = new Language("es");
lang.displayName = "Español";
lang.p_family = "www.juegos.com";
lang.p_tween = "www.zapjuegos.com";
lang.p_girl = "www.girlsgogames.es";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 9;
addLanguage(lang);
lang = new Language("pl");
lang.displayName = "Polski";
lang.p_family = "www.gry.pl";
lang.p_tween = "www.gry.pl";
lang.p_girl = "www.girlsgogames.pl";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 6;
addLanguage(lang);
lang = new Language("fr");
lang.displayName = "Français";
lang.p_family = "www.jeux.fr";
lang.p_tween = "www.jeu.fr";
lang.p_girl = "www.girlsgogames.fr";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 4;
addLanguage(lang);
lang = new Language("en_us", "us");
lang.displayName = "English";
lang.p_family = "www.gamesgames.com";
lang.p_tween = "www.agame.com";
lang.p_girl = "www.girlsgogames.com";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 1;
addLanguage(lang);
addReference(lang, "en");
lang = new Language("id");
lang.displayName = "Bahasa Ind.";
lang.p_family = "www.games.co.id";
lang.p_tween = "www.games.co.id";
lang.p_girl = "www.games.co.id";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 11;
addLanguage(lang);
lang = new Language("ru");
lang.displayName = "Русский";
lang.p_family = "www.ourgames.ru";
lang.p_tween = "www.flashgames.ru";
lang.p_girl = "www.girlsgogames.ru";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 12;
addLanguage(lang);
lang = new Language("se");
lang.displayName = "Svenska";
lang.p_family = "www.spela.se";
lang.p_tween = "www.spel.se";
lang.p_girl = "www.girlsgogames.se";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 7;
addLanguage(lang);
addReference(lang, "sv");
lang = new Language("it");
lang.displayName = "Italiano";
lang.p_family = "www.gioco.it";
lang.p_tween = "www.gioco.it";
lang.p_girl = "www.girlsgogames.it";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 8;
addLanguage(lang);
lang = new Language("en_uk", "uk");
lang.displayName = "English";
lang.p_family = "www.games.co.uk";
lang.p_tween = "www.agame.com";
lang.p_girl = "www.girlsgogames.co.uk";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 13;
addLanguage(lang);
lang = new Language("cn");
lang.displayName = "中文";
lang.p_family = "www.game.com.cn";
lang.p_tween = "www.game.com.cn";
lang.p_girl = "www.game.com.cn";
lang.p_teen = "www.game.com.cn";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 2;
lang.embedFonts = false;
lang.embedInputFonts = false;
lang.forceFont = "_sans";
addLanguage(lang);
addReference(lang, "zh-CN");
addReference(lang, "zh-TW");
lang = new Language("pt");
lang.displayName = "Português";
lang.p_family = "www.ojogos.pt";
lang.p_tween = "www.ojogos.pt";
lang.p_girl = "www.ojogos.pt";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 17;
addLanguage(lang);
lang = new Language("in");
lang.displayName = "English";
lang.p_family = "www.game.co.in";
lang.p_tween = "www.game.co.in";
lang.p_girl = "www.game.co.in";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.textLanguage = "en_uk";
lang.bwcId = 14;
addLanguage(lang);
lang = new Language("de");
lang.displayName = "Deutsch";
lang.p_family = "www.jetztspielen.de";
lang.p_tween = "www.spielen.com";
lang.p_girl = "www.girlsgogames.de";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 5;
addLanguage(lang);
lang = new Language("br");
lang.displayName = "Português (BR)";
lang.p_family = "www.ojogos.com.br";
lang.p_tween = "www.clickjogos.com";
lang.p_girl = "www.girlsgogames.com.br";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 10;
addLanguage(lang);
lang = new Language("jp");
lang.displayName = "日本語";
lang.p_family = "www.egames.jp";
lang.p_tween = "www.egames.jp";
lang.p_girl = "www.egames.jp";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.embedFonts = true;
lang.embedInputFonts = false;
lang.forceFont = "MS UI Gothic";
lang.bwcId = 19;
addLanguage(lang);
addReference(lang, "ja");
lang = new Language("ar");
lang.displayName = "English";
lang.p_family = "www.dailygame.com";
lang.p_tween = "www.dailygame.com";
lang.p_girl = "www.dailygame.com";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.bwcId = 20;
addLanguage(lang);
addReference(lang, "ar");
lang = new Language("es_mx", "mx");
lang.displayName = "Español";
lang.p_family = "www.juegos.mx";
lang.p_tween = "www.juegos.mx";
lang.p_girl = "www.juegosdechicas.mx";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.textLanguage = "es";
addLanguage(lang);
addReference(lang, "mx");
lang = new Language("es_ar", "arg");
lang.displayName = "Español";
lang.p_family = "www.juegos.com.ar";
lang.p_tween = "www.juegos.com.ar";
lang.p_girl = "www.juegosdechicas.com.ar";
lang.p_teen = "www.a10.com";
lang.p_zapapa = "www.zapapa.com";
lang.textLanguage = "es";
addLanguage(lang);
addReference(lang, "arg");
}
public static function exportXML():XMLNode{
var l:Language;
var langs:Array = getLanguagesArray();
var xml:XMLNode = new XMLNode(1, "languages");
for each (l in langs) {
xml.appendChild(l.exportXML());
};
return (xml);
}
public static function getLanguagesArray():Array{
var l:Language;
var a:Array = new Array();
var o:Object = new Object();
for each (l in languages) {
if (!o[l.name]){
a.push(l);
o[l.name] = true;
};
};
return (a);
}
public static function getLanguage(name:String):Language{
return (languages[name]);
}
private static function addLanguage(lang:Language):void{
languages[lang.name] = lang;
}
private static function addReference(lang:Language, name:String):void{
languages[name] = lang;
lang.references.push(name);
}
public static function getLanguageByOldID(id:int):Language{
var l:Language;
for each (l in languages) {
if (l.bwcId == id){
return (l);
};
};
return (null);
}
}
}//package spill.localisation
Section 34
//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(){
trace("new langselecbox");
super();
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(e:Event=null):void{
trace("addedselebnox");
SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true);
}
private function mouseOut(e:MouseEvent):void{
popup.visible = false;
}
public function set popupLocation(v:String):void{
trace(("popupLocation = " + v));
if (v == "bottom"){
popup.y = Math.floor(mc.height);
} else {
popup.y = (-(Math.floor(mc.height)) + 1);
};
}
private function removed(e:Event):void{
SpilGame.removeEventListener("languageChanged", languageChanged);
}
public function init():void{
var btn:MovieClip;
var lang:Language;
trace("initselectbox");
var btnArray: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 i:int;
while (i < btnArray.length) {
btn = MovieClip(btnArray[i]);
if (btn){
btn.addEventListener(MouseEvent.CLICK, itemClicked, true, 0, true);
btn.flag.gotoAndStop(btn.name.substr(2));
btn.flag.mouseEnabled = false;
btn.text.mouseEnabled = false;
lang = Languages.getLanguage(btn.name.substr(2));
if (lang){
btn.text.text = lang.displayAcronim;
} else {
trace((("Error, '" + btn.name.substr(2)) + "' language not found"));
};
} else {
trace((((("Error, btn number '" + i) + "' is not a MovieClip or there is no button '") + btnArray[i]) + "'"));
};
i++;
};
}
private function itemClicked(e:MouseEvent):void{
SpilGame.changeLanguage(e.currentTarget.name.substr(2));
popup.visible = false;
}
private function mouseOver(e:MouseEvent):void{
popup.visible = true;
}
private function languageChanged(e:Event=null):void{
if (SpilGame.currentLanguage){
if ((((SpilGame.portalGroup == PortalGroup.HYVES)) && ((SpilGame.currentLanguage.name == "nl")))){
this.visible = false;
return;
};
this.visible = true;
flag.gotoAndStop(SpilGame.currentLanguage.name);
languageName_text.text = SpilGame.currentLanguage.displayName;
languageName_text.embedFonts = SpilGame.currentLanguage.embedInputFonts;
};
}
}
}//package spill.localisation
Section 35
//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 36
//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 37
//PortalGroup (spill.localisation.PortalGroup)
package spill.localisation {
import flash.xml.*;
public class PortalGroup {
public static const YOUNG_ADULTS:uint = 3;
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 HYVES:uint = 5;
public static const TEENS:uint = 1;
public static const GIRL:uint = 2;
public static const backgroundColors:Array = [0xFFFFFF, 0xFFFFFF, 16742331, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF];
public static const NONE:uint = 6;
public function PortalGroup(){
super();
}
public static function getName(id:int):String{
return (channelNames[id]);
}
public static function exportXML():XMLNode{
var n:XMLNode;
var xml:XMLNode = new XMLNode(1, "channels");
var i:int;
while (i < 5) {
n = new XMLNode(1, "channel");
n.attributes.name = channelNames[i];
n.attributes.id = i;
xml.appendChild(n);
i++;
};
return (xml);
}
}
}//package spill.localisation
Section 38
//spil_internal (spill.localisation.spil_internal)
package spill.localisation {
public namespace spil_internal = "spill.localisation";
}//package spill.localisation
Section 39
//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 function SpilGame(){
super();
}
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(term:String="feature_promotion"):String{
var domain:String = (embedDomain) ? embedDomain : hostingDomain;
return (currentBranding.getPromotionLink(gameName, emailPage, isExternal, domain, term));
}
public static function traceAllBrands():void{
trace(outputAllBrands());
}
public static function getString(identifier:String):String{
var item:Object = strings[identifier];
if (item){
if (currentLanguage.textLanguage){
return (item[currentLanguage.textLanguage]);
};
return (item[currentLanguage.name]);
//unresolved jump
};
return ("");
}
public static function initialize(_gameName:String, _portalGroup:int, _emailPage:String, s:Sprite, _channelLock:Boolean=false):void{
stage = s;
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(s);
channelLock = _channelLock;
gameName = _gameName.replace(" ", "_");
portalGroup = _portalGroup;
emailPage = _emailPage;
chooseLanguage();
chooseBranding();
if (portalGroup == PortalGroup.HYVES){
changeLanguage("nl");
};
}
public static function get isExternal():Boolean{
return (((((!(Brandings.hasDomain(embedDomain))) && (!(localDomains[embedDomain])))) && (!(isStagingDomain))));
}
private static function initContexMenu(s:Sprite):void{
contexMenuItem = new ContextMenuItem("");
s.contextMenu = new ContextMenu();
s.contextMenu.customItems.push(contexMenuItem);
contexMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contexMenuClicked);
}
private static function replaceFn():String{
var str:String = SpilGame.getString(arguments[1]);
if (((!(str)) || ((str == "")))){
return ((("{" + arguments[1]) + "}"));
};
return (str);
}
spil_internal static function get hostingDomain():String{
var localConnection:LocalConnection;
if (debugHostDomain != ""){
return (debugHostDomain);
};
localConnection = new LocalConnection();
return (localConnection.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(e:ContextMenuEvent):void{
navigateToURL(new URLRequest(getMoreGamesLink("Contex_Menu")));
}
public static function initTextField(txt:TextField):void{
var tf:TextFormat;
trace(txt.text);
txt.text = txt.text.replace(/{([^{}]*)}/g, replaceFn);
trace(txt.text);
txt.embedFonts = currentLanguage.embedFonts;
if (currentLanguage.forceFont != ""){
tf = new TextFormat();
tf.font = currentLanguage.forceFont;
txt.setTextFormat(tf);
};
}
public static function importXMLv2(data:XML):void{
var record:XML;
var o:Object;
var item:XML;
for each (record in data.children()) {
o = (strings[record.attribute("identifier")] = new Object());
for each (item in record.children()) {
if (item.children().length() > 0){
o[item.name()] = item.children()[0].toString();
} else {
o[item.name()] = "";
};
};
};
}
spil_internal static function changeLanguage(langid:String):void{
var newLanguage:Language = Languages.getLanguage(langid);
if (!newLanguage){
trace("ERROR: Supplied language string does not have a matching language");
} else {
cookieLanguage = newLanguage;
currentLanguage = newLanguage;
};
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(lang:Language):void{
var cookie:SharedObject = SharedObject.getLocal(cookieName, cookiePath);
if (lang == null){
cookie.data[cookieLanguageVar] = null;
} else {
cookie.data[cookieLanguageVar] = lang.name;
};
cookie.flush();
}
public static function importXML(data:XML):void{
var record:XML;
var o:Object;
var item:XML;
for each (record in data.children()) {
o = (strings[record.identifier] = new Object());
for each (item in record.children()) {
o[item.name()] = item.children()[0].toString();
};
};
}
spil_internal static function dispatchEvent(event:Event):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.dispatchEvent(event);
}
private static function getDomain(url:String):String{
var domain:String;
var j:uint;
if (url.indexOf("file") == 0){
return ("offline_play");
};
domain = new String();
j = 7;
while (j < url.length) {
if (url.charAt(j) == "/"){
break;
};
domain = (domain + url.charAt(j));
j++;
};
if (domain == "localhost"){
domain = "offline_play";
};
return (domain);
}
public static function exportXML():XML{
var root:XML = <spil_games/>
;
root.appendChild(Brandings.exportXML());
root.appendChild(Languages.exportXML());
root.appendChild(PortalGroup.exportXML());
return (root);
}
public static function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.removeEventListener(type, listener, useCapture);
}
public static function outputAllBrands():String{
var b:Brand;
var a:Array = Brandings.getBrandsArray();
var str:String = "";
for each (b in a) {
str = (str + (b.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain) + "\n"));
};
return (str);
}
public static function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
public static function getMoreGamesLink(term:String=""):String{
var domain:String = (embedDomain) ? embedDomain : hostingDomain;
return (currentBranding.getMoreGamesLink(gameName, isExternal, domain, term));
}
public static function get isStagingDomain():Boolean{
var domain:String = ("http://" + embedDomain);
return ((domain.indexOf("http://stg.") >= 0));
}
spil_internal static function get cookieLanguage():Language{
var cookie:SharedObject = SharedObject.getLocal(cookieName, cookiePath);
var lang:String = String(cookie.data[cookieLanguageVar]);
return (Languages.getLanguage(lang));
}
private static function get portalLanguage():Language{
var brand:Brand;
var langString:String;
var lang:Language;
if (isExternal){
return (null);
};
if (!embedDomain){
return (null);
};
brand = Brandings.getBrandByDomain(embedDomain);
if (!brand){
return (null);
};
langString = brand.preferedLanguage;
if (!langString){
return (null);
};
lang = Languages.getLanguage(langString);
if (!lang){
return (null);
};
return (lang);
}
spil_internal static function get embedDomain():String{
var loc:String;
if (debugEmbedDomain != ""){
return (debugEmbedDomain);
};
if (ExternalInterface.available){
loc = ExternalInterface.call("window.location.href.toString");
if (((!((loc == ""))) && (!((loc == null))))){
trace(("embed domain = " + getDomain(loc)));
return (getDomain(loc));
};
//unresolved jump
var _slot1 = e;
trace(("Security Error connecting to external interface, error = " + _slot1));
//unresolved jump
var _slot1 = e;
trace(("Error connecting to external interface, error = " + _slot1));
};
return (null);
}
}
}//package spill.localisation
Section 40
//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(){
super();
var isLivePreview:Boolean = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")));
var _w:Number = width;
var _h: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(_w, _h);
validate();
if (stage){
addEventListener(Event.RENDER, init);
stage.invalidate();
};
init();
}
private function resizeText(c: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 (c == 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(value:String):void{
_hAlign = value;
invalidate();
}
public function set bold(value:Boolean):void{
_bold = value;
invalidate();
}
private function init(e:Event=null):void{
removeEventListener(Event.RENDER, init);
updateProperties();
layoutText();
}
private function validate(e:Event=null):void{
updateProperties();
layoutText();
removeEventListener(Event.ENTER_FRAME, validate);
valid = true;
}
public function set glowBlur(value:Number):void{
_glowBlur = value;
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(value:String):void{
_text = value;
invalidate();
}
public function set embedFonts(value:Boolean):void{
_embedFonts = value;
invalidate();
}
public function set vAlign(value:String):void{
_vAlign = value;
invalidate();
}
public function set italic(value:Boolean):void{
_italic = value;
invalidate();
}
public function get font():String{
return (_font);
}
public function set multiline(value:Boolean):void{
_multiline = value;
invalidate();
}
public function get disableWordwrap():Boolean{
return (_disableWordwrap);
}
public function set textColor(value:uint):void{
_textColor = value;
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(value:Number):void{
_glowQuality = value;
invalidate();
}
public function get hAlign():String{
return (_hAlign);
}
public function setSize(_w:Number, _h:Number):void{
w = _w;
h = _h;
scaleX = (scaleY = 1);
field.width = w;
field.height = h;
invalidate();
}
public function get bold():Boolean{
return (_bold);
}
public function set gridFitType(value:String):void{
_gridFitType = value;
invalidate();
}
public function set underline(value:Boolean):void{
_underline = value;
invalidate();
}
public function get glowBlur():Number{
return (_glowBlur);
}
public function set useGlowFilter(value:Boolean):void{
_useGlowFilter = value;
invalidate();
}
public function set font(value:String):void{
_font = value;
invalidate();
}
public function set textSize(value:Number):void{
_textSize = value;
sizeChanged = true;
invalidate();
}
public function set selectable(value:Boolean):void{
_selectable = value;
invalidate();
}
public function get multiline():Boolean{
return (_multiline);
}
public function get embedFonts():Boolean{
return (_embedFonts);
}
public function set glowColor(value:uint):void{
_glowColor = value;
invalidate();
}
public function set disableWordwrap(value:Boolean):void{
_disableWordwrap = value;
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(value:String):void{
_antiAliasType = value;
invalidate();
}
public function set glowStrength(value:Number):void{
_glowStrength = value;
invalidate();
}
protected function updateProperties():void{
var hasFont:Boolean;
var f: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))){
hasFont = false;
for each (f in embeddedFonts) {
if (_font == f.fontName){
hasFont = true;
break;
};
};
field.embedFonts = hasFont;
if (!hasFont){
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 41
//animation_apple (animation_apple)
package {
import flash.display.*;
public dynamic class animation_apple extends MovieClip {
}
}//package
Section 42
//animation_bread (animation_bread)
package {
import flash.display.*;
public dynamic class animation_bread extends MovieClip {
}
}//package
Section 43
//animation_bubluk (animation_bubluk)
package {
import flash.display.*;
public dynamic class animation_bubluk extends MovieClip {
}
}//package
Section 44
//animation_carrot (animation_carrot)
package {
import flash.display.*;
public dynamic class animation_carrot extends MovieClip {
}
}//package
Section 45
//animation_cucumber (animation_cucumber)
package {
import flash.display.*;
public dynamic class animation_cucumber extends MovieClip {
}
}//package
Section 46
//animation_destroy_bulka (animation_destroy_bulka)
package {
import flash.display.*;
public dynamic class animation_destroy_bulka extends MovieClip {
}
}//package
Section 47
//animation_destroy_drink (animation_destroy_drink)
package {
import flash.display.*;
public dynamic class animation_destroy_drink extends MovieClip {
}
}//package
Section 48
//animation_destroy_main (animation_destroy_main)
package {
import flash.display.*;
public dynamic class animation_destroy_main extends MovieClip {
}
}//package
Section 49
//animation_destroy_sweet (animation_destroy_sweet)
package {
import flash.display.*;
public dynamic class animation_destroy_sweet extends MovieClip {
}
}//package
Section 50
//animation_fry_2 (animation_fry_2)
package {
import flash.display.*;
public dynamic class animation_fry_2 extends MovieClip {
}
}//package
Section 51
//animation_fry_3 (animation_fry_3)
package {
import flash.display.*;
public dynamic class animation_fry_3 extends MovieClip {
}
}//package
Section 52
//animation_fry_4 (animation_fry_4)
package {
import flash.display.*;
public dynamic class animation_fry_4 extends MovieClip {
}
}//package
Section 53
//animation_keks (animation_keks)
package {
import flash.display.*;
public dynamic class animation_keks extends MovieClip {
}
}//package
Section 54
//animation_orange (animation_orange)
package {
import flash.display.*;
public dynamic class animation_orange extends MovieClip {
}
}//package
Section 55
//animation_pear (animation_pear)
package {
import flash.display.*;
public dynamic class animation_pear extends MovieClip {
}
}//package
Section 56
//animation_rogaluk (animation_rogaluk)
package {
import flash.display.*;
public dynamic class animation_rogaluk extends MovieClip {
}
}//package
Section 57
//animation_tomatoe (animation_tomatoe)
package {
import flash.display.*;
public dynamic class animation_tomatoe extends MovieClip {
}
}//package
Section 58
//backGroundSound (backGroundSound)
package {
import flash.media.*;
public dynamic class backGroundSound extends Sound {
}
}//package
Section 59
//ButtonSound (ButtonSound)
package {
import flash.display.*;
public dynamic class ButtonSound extends MovieClip {
}
}//package
Section 60
//destroy_egg_animation (destroy_egg_animation)
package {
import flash.display.*;
public dynamic class destroy_egg_animation extends MovieClip {
}
}//package
Section 61
//destroy_meat_animation (destroy_meat_animation)
package {
import flash.display.*;
public dynamic class destroy_meat_animation extends MovieClip {
}
}//package
Section 62
//destroy_sousage_animation (destroy_sousage_animation)
package {
import flash.display.*;
public dynamic class destroy_sousage_animation extends MovieClip {
}
}//package
Section 63
//GameEvent (GameEvent)
package {
import flash.events.*;
public class GameEvent extends Event {
public static const LOOSE:String = "YouLoose";
public static const LEVEL_UP:String = "LevelUP";
public static const MENU_COMPLETE:String = "menu_complete";
public static const TIME_OUT:String = "TimeOut";
public static const SOUND_ON_OFF:String = "switchSound";
public function GameEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
override public function toString():String{
return (formatToString("GameEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
override public function clone():Event{
return (new GameEvent(type, bubbles, cancelable));
}
}
}//package
Section 64
//LoaderMc (LoaderMc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LoaderMc extends MovieClip {
public var bar:MovieClip;
public var perTxt:TextField;
}
}//package
Section 65
//looser_animation (looser_animation)
package {
import flash.display.*;
public dynamic class looser_animation extends MovieClip {
}
}//package
Section 66
//Main (Main)
package {
import flash.events.*;
import game.*;
import flash.display.*;
import com.spilgames.api.*;
import spill.localisation.*;
import actors.*;
import flash.net.*;
public class Main extends Sprite {
private var _buutonArray:Array;
private var _totalStageNum:int;// = 0
private var _timeOutScreen:mc_timeOut;
private var _soundEnabled:Boolean;// = true
private var _scoreCallbackID:int;
private var _mainMenu:mc_screen;
private var _select:LanguageSelectBox;
private var _availableAwards:Array;
private var _stageNumber:int;
private var _soundIcon:ButtonSound;
private var _translator:Translator;
private var _emptySprite:Sprite;
private var _numReset:int;// = 0
private var _totalScore:int;// = 0
private var _mainScene:MainScene;
private var _awardsCallbackID:int;
private var _background:MovieClip;
private var _gameBackground:mc_mainBackground;
private var _spilGamesServices:SpilGamesServices;
private var _winScreen:mc_level_win;
private var _winScreen2:mc_game_win;
private static var _instance:Main;
public function Main():void{
_mainMenu = new mc_screen();
_soundIcon = new ButtonSound();
_gameBackground = new mc_mainBackground();
_timeOutScreen = new mc_timeOut();
_winScreen = new mc_level_win();
_winScreen2 = new mc_game_win();
_buutonArray = [];
_select = new LanguageSelectBox();
_emptySprite = new Sprite();
_translator = new Translator();
_availableAwards = [true, true, true, true, true];
super();
_mainMenu.name = "main_menu";
_timeOutScreen.name = "level_failed_screen";
_winScreen.name = "level_passed_screen";
_winScreen2.name = "win_screen";
_instance = this;
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function addElementsToTheStage():void{
var _bitmapData:BitmapData = new BitmapData(550, 400, false);
_bitmapData.draw(_gameBackground);
var _bitmap:Bitmap = new Bitmap(_bitmapData);
addChild(_bitmap);
_mainScene = new MainScene();
addChild(_mainScene);
addSpillGameAPI();
_mainScene.addEventListener(GameEvent.LEVEL_UP, showWinScreen);
_mainScene.addEventListener(GameEvent.LOOSE, onTimeOut);
}
private function onScoreRequestProcessed(callbackID:int, data:Object):void{
trace(("onScoreRequestProcessed" + "\n"));
trace((("\tcallbackID: " + callbackID) + "\n"));
if (!data.errorMessage){
trace((("\txml: " + data.xml) + "\n"));
} else {
trace((("\tError in request: " + data.errorMessage) + "\n"));
};
}
private function onAddedToStage(e:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
addElementsToTheStage();
showMainMenu();
}
private function onLevelClick(e:MouseEvent):void{
trace(e.currentTarget.name.substr(8));
removeMainMenu();
_stageNumber = int(e.currentTarget.name.substr(8));
onRestart(null);
}
private function onRestartButtonClick(e:MouseEvent):void{
removeChild(_timeOutScreen);
onRestart(null);
}
private function play(e:Event):void{
removeMainMenu();
_stageNumber = 1;
onRestart(null);
}
private function onRestart(e:MouseEvent):void{
_numReset++;
_mainScene.LetsGO(_stageNumber);
}
public function get translator():Translator{
return (_translator);
}
private function addSpillGameAPI():void{
this.stage.addChild(_emptySprite);
_spilGamesServices = SpilGamesServices.getInstance();
_spilGamesServices.addEventListener("servicesReady", onServicesReady);
_spilGamesServices.addEventListener("servicesFailed", onServicesFailed);
_spilGamesServices.connect(_emptySprite);
SpilGame.addEventListener("brandingChanged", brandingChanged, false, 0, true);
SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true);
languageChanged(null);
brandingChanged(null);
}
private function languageChanged(e:Event):void{
_translator.makeTranslation(_mainMenu);
}
private function onServicesReady(e:Event):void{
trace("SpilGamesServices are ready\n");
}
private function brandingChanged(e:Event):void{
_mainMenu.mcTransBrand.gotoAndStop(SpilGame.currentBranding.domain);
}
private function onAwardRequestProcessed(callbackID:int, data:Object):void{
trace(("onAwardRequestProcessed" + "\n"));
trace((("\tcallbackID: " + callbackID) + "\n"));
if (!data.errorMessage){
trace((("\txml: " + data.xml) + "\n"));
} else {
trace((("\tError in request: " + data.errorMessage) + "\n"));
};
}
private function onTimeOut(e:GameEvent):void{
addChild(_timeOutScreen);
_timeOutScreen.mcTransBrand.gotoAndStop(SpilGame.currentBranding.domain);
_translator.makeTranslation(_timeOutScreen);
_timeOutScreen.mcTransBrand.buttonMode = true;
_timeOutScreen.mcTransBrand.addEventListener(MouseEvent.CLICK, gotoBrand);
_timeOutScreen.mcTransReset.buttonMode = true;
_timeOutScreen.mcTransReset.addEventListener(MouseEvent.CLICK, onRestartButtonClick);
}
private function removeMainMenu():void{
_soundIcon.removeEventListener(MouseEvent.CLICK, onSoundClick);
_soundIcon.removeEventListener(MouseEvent.CLICK, onSoundClick);
removeChild(_soundIcon);
if (_select){
removeChild(_select);
};
removeChild(_mainMenu);
}
private function showMainMenu():void{
addChild(_mainMenu);
addChild(_soundIcon);
addChild(_select);
_select.x = 400;
_select.y = 375;
_soundIcon.gotoAndStop(1);
_soundIcon.buttonMode = true;
_soundIcon.x = 480;
_soundIcon.y = -10;
_mainMenu.mcTransStart.buttonMode = true;
_mainMenu.mcTransBrand.buttonMode = true;
_mainMenu.mcTransStart.addEventListener(MouseEvent.CLICK, play);
_mainMenu.mcTransBrand.addEventListener(MouseEvent.CLICK, gotoBrand);
_soundIcon.buttonMode = true;
_soundIcon.addEventListener(MouseEvent.CLICK, onSoundClick);
var i:int;
while (i < _mainMenu.mcLevelChoose.numChildren) {
if ((_mainMenu.mcLevelChoose.getChildAt(i) is SimpleButton)){
_mainMenu.mcLevelChoose.getChildAt(i).addEventListener(MouseEvent.CLICK, onLevelClick);
};
i++;
};
}
private function showWinScreen(e:GameEvent):void{
var name:String;
trace("You finish level", _stageNumber);
if (_availableAwards[(_stageNumber - 1)]){
_availableAwards[(_stageNumber - 1)] = false;
name = ("award" + String(_stageNumber));
trace(("name : " + name));
_awardsCallbackID = AwardsService.submitAward(name, onAwardRequestProcessed);
};
if (_stageNumber >= 5){
addChild(_winScreen2);
_winScreen2.mcTransBrand.gotoAndStop(SpilGame.currentBranding.domain);
_winScreen2.mcTransMenu.buttonMode = true;
_winScreen2.mcTransBrand.buttonMode = true;
_winScreen2.mcTransMenu.addEventListener(MouseEvent.CLICK, showMenu);
_winScreen2.mcTransBrand.addEventListener(MouseEvent.CLICK, gotoBrand);
_translator.makeTranslation(_winScreen2);
_totalScore = (_totalScore + _mainScene.currentScore);
_winScreen2.currentScore.text = String(_mainScene.currentScore);
_winScreen2.totalScore.text = String(_totalScore);
} else {
addChild(_winScreen);
_translator.makeTranslation(_winScreen);
_winScreen.mcTransBrand.gotoAndStop(SpilGame.currentBranding.domain);
_winScreen.mcTransBrand.buttonMode = true;
_winScreen.mcTransNextLevel.buttonMode = true;
_winScreen.mcTransBrand.addEventListener(MouseEvent.CLICK, gotoBrand);
_winScreen.mcTransNextLevel.addEventListener(MouseEvent.CLICK, onNextLevelClick);
_totalScore = (_totalScore + _mainScene.currentScore);
_winScreen.currentScore.text = String(_mainScene.currentScore);
_winScreen.totalScore.text = String(_totalScore);
_winScreen.stageNum.text = String(_stageNumber);
_stageNumber++;
};
_scoreCallbackID = ScoreService.submitScore(_totalScore, onScoreRequestProcessed);
}
private function gotoBrand(event:MouseEvent):void{
navigateToURL(new URLRequest(SpilGame.getMoreGamesLink(MovieClip(event.currentTarget).parent.name)), "_blank");
}
private function onNextLevelClick(e:MouseEvent):void{
removeChild(_winScreen);
onRestart(null);
}
private function onSoundClick(e:MouseEvent):void{
trace("You click on sound Icon");
_mainScene.soundChange();
if (MovieClip(_soundIcon).currentFrame == 1){
MovieClip(_soundIcon).gotoAndStop(2);
} else {
MovieClip(_soundIcon).gotoAndStop(1);
};
}
private function onServicesFailed(e:ErrorEvent):void{
trace((("SpilGamesServices failed: " + e.text) + "\n"));
}
private function showMenu(e:MouseEvent):void{
removeChild(_winScreen2);
showMainMenu();
}
public static function get instance():Main{
return (_instance);
}
}
}//package
Section 67
//mc_bin (mc_bin)
package {
import flash.display.*;
public dynamic class mc_bin extends MovieClip {
}
}//package
Section 68
//mc_game_win (mc_game_win)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mc_game_win extends MovieClip {
public var mcTransScore:MovieClip;
public var mcTransLevel:MovieClip;
public var stageNum:TextField;
public var mcTransFinishMessage:MovieClip;
public var totalScore:TextField;
public var mcTransTotalScore:MovieClip;
public var mcTransMenu:MovieClip;
public var mcTransBrand:MovieClip;
public var currentScore:TextField;
}
}//package
Section 69
//mc_level_win (mc_level_win)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mc_level_win extends MovieClip {
public var mcTransScore:MovieClip;
public var stageNum:TextField;
public var totalScore:TextField;
public var mcTransTotalScore:MovieClip;
public var currentScore:TextField;
public var mcTransLevel:MovieClip;
public var mcTransBrand:MovieClip;
public var mcTransSuccessMessage:MovieClip;
public var mcTransNextLevel:MovieClip;
}
}//package
Section 70
//mc_mainBackground (mc_mainBackground)
package {
import flash.display.*;
public dynamic class mc_mainBackground extends MovieClip {
}
}//package
Section 71
//mc_mainObjects (mc_mainObjects)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mc_mainObjects extends MovieClip {
public var mcTransScore:MovieClip;
public var btn_fry_2:SimpleButton;
public var btn_drink_Coffee:SimpleButton;
public var btn_bulka_Bubluk:SimpleButton;
public var mc_fry:MovieClip;
public var mcTransClick3:MovieClip;
public var btn_MainPlate:SimpleButton;
public var mc_nariz:MovieClip;
public var btn_sweet_Marmelad:SimpleButton;
public var btn_drink_Water:SimpleButton;
public var offerUsed:TextField;
public var mcTransReset:MovieClip;
public var btn_bulka_Bread:SimpleButton;
public var animation_alien:MovieClip;
public var btn_bulka_Keks:SimpleButton;
public var btn_sweet_Chocolate:SimpleButton;
public var btn_bulka_Rogaluk:SimpleButton;
public var mc_offerCheck:MovieClip;
public var btn_sweet_Sweet:SimpleButton;
public var btn_BreadPlate:SimpleButton;
public var btn_fruit_3:SimpleButton;
public var btn_fruit_4:SimpleButton;
public var btn_fruit_5:SimpleButton;
public var btn_fruit_6:SimpleButton;
public var btn_fruit_7:SimpleButton;
public var btn_fruit_2:SimpleButton;
public var mc_time:TextField;
public var mc_para:MovieClip;
public var Score:TextField;
public var mc_back:MovieClip;
public var hero:MovieClip;
public var mcTransClick1:MovieClip;
public var mcTransClick2:MovieClip;
public var btn_drink_Juice:SimpleButton;
public var btn_fry_3:SimpleButton;
public var btn_fry_4:SimpleButton;
}
}//package
Section 72
//mc_screen (mc_screen)
package {
import flash.display.*;
public dynamic class mc_screen extends MovieClip {
public var mcTransStart:MovieClip;
public var mcLevelChoose:MovieClip;
public var mcTransBrand:MovieClip;
}
}//package
Section 73
//mc_timeOut (mc_timeOut)
package {
import flash.display.*;
public dynamic class mc_timeOut extends MovieClip {
public var mcTransBrand:MovieClip;
public var mcTransLooseMessage:MovieClip;
public var mcTransReset:MovieClip;
}
}//package
Section 74
//orderPlace (orderPlace)
package {
import flash.display.*;
public dynamic class orderPlace extends MovieClip {
public var sweet_Sweet:MovieClip;
public var bulka_Bubluk:MovieClip;
public var fruit_2:MovieClip;
public var fruit_3:MovieClip;
public var fruit_4:MovieClip;
public var fruit_5:MovieClip;
public var fruit_6:MovieClip;
public var fruit_7:MovieClip;
public var sweet_Chocolate:MovieClip;
public var drink_Coffee:MovieClip;
public var drink_Water:MovieClip;
public var bulka_Keks:MovieClip;
public var BreadPlate:MovieClip;
public var fry_3:MovieClip;
public var fry_4:MovieClip;
public var fry_2:MovieClip;
public var bulka_Bread:MovieClip;
public var basic:MovieClip;
public var sweet_Marmelad:MovieClip;
public var drink_Juice:MovieClip;
public var bulka_Rogaluk:MovieClip;
public var MainPlate:MovieClip;
}
}//package
Section 75
//Preloader (Preloader)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import spill.localisation.*;
import managers.*;
import flash.utils.*;
public class Preloader extends MovieClip {
private var content:MovieClip;
private var percentLoaded:Number;
private var _mask:Sprite;
public var progresBar:MovieClip;
public var brandLogo:MovieClip;
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{
trace("+++++++++++++++++++", LinksManager.isLocal);
if (LinksManager.isLocal){
return;
};
while (numChildren) {
removeChildAt(0);
};
var mainClass:Class = (getDefinitionByName("Main") as Class);
var d:* = new (mainClass);
addChild((d as DisplayObject));
}
private function checkFrame(e:Event):void{
var p:Number = ((loaderInfo.bytesLoaded / loaderInfo.bytesTotal) * 100);
percentLoaded = p;
refresh();
if (p == 100){
removeEventListener(Event.ENTER_FRAME, checkFrame);
start();
};
}
private function setMask():void{
_mask.graphics.lineStyle();
_mask.graphics.beginFill(0, 1);
_mask.graphics.drawRect(0, 0, 550, 400);
addChild(_mask);
this.mask = _mask;
}
private function init(e:Event):void{
LinksManager.init(stage);
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
SpilGame.initialize("cosmic_breakfast", PortalGroup.FAMILY, "cosmic_breakfast.html", this);
addChild(content);
progresBar = content["bar"];
content["bar"].gotoAndStop(1);
perTxt = content.perTxt;
perTxt.text = "00%";
this.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onPreIoError);
addEventListener(Event.ENTER_FRAME, checkFrame);
setMask();
}
public function refresh():void{
var s:String = percentLoaded.toString();
if (progresBar.currentFrame != Math.ceil((percentLoaded / 10))){
progresBar.gotoAndStop(Math.ceil((percentLoaded / 10)));
};
perTxt.text = ((percentLoaded.toString().length)<2) ? (("0" + percentLoaded) + "%") : (percentLoaded + "%");
}
private function onPreIoError(e:IOErrorEvent):void{
}
}
}//package
Section 76
//ProductPlace (ProductPlace)
package {
import flash.display.*;
public dynamic class ProductPlace extends MovieClip {
public var sweet_Sweet:MovieClip;
public var bulka_Bubluk:MovieClip;
public var fruit_2:MovieClip;
public var fruit_3:MovieClip;
public var fruit_4:MovieClip;
public var fruit_5:MovieClip;
public var fruit_6:MovieClip;
public var fruit_7:MovieClip;
public var sweet_Chocolate:MovieClip;
public var drink_Coffee:MovieClip;
public var drink_Water:MovieClip;
public var bulka_Keks:MovieClip;
public var BreadPlate:MovieClip;
public var fry_3:MovieClip;
public var fry_4:MovieClip;
public var fry_2:MovieClip;
public var bulka_Bread:MovieClip;
public var basic:MovieClip;
public var sweet_Marmelad:MovieClip;
public var drink_Juice:MovieClip;
public var bulka_Rogaluk:MovieClip;
public var MainPlate:MovieClip;
}
}//package
Section 77
//PublicNames (PublicNames)
package {
import flash.filters.*;
public class PublicNames {
public static const CARROT:String = "fruit_6";
public static const STAGE_WIDTH:int = 545;
public static const TOMATO:String = "fruit_5";
public static const OGIROK:String = "fruit_7";
public static const GRYWI:String = "fruit_3";
public static const GLOW_FILTER_ORANGE:GlowFilter = new GlowFilter(0xFF0000, 1, 8, 8, 4);
public static const CHOCOLADA:String = "sweet_Chocolate";
public static const ROGALUK:String = "bulka_Rogaluk";
public static const ORANGE:String = "fruit_2";
public static const STAGE_HEIGHT:int = 395;
public static const BUBLUK:String = "bulka_Bubluk";
public static const APPLE:String = "fruit_4";
public static const KOVBASA:String = "fry_4";
public static const JUICE:String = "drink_Juice";
public static const KEKS:String = "bulka_Keks";
public static const MEAT:String = "fry_3";
public static const COFFEE:String = "drink_Coffee";
public static const BREAD_PLATE:String = "BreadPlate";
public static const SWEET:String = "sweet_Sweet";
public static const BREAD:String = "bulka_Bread";
public static const MARMELAD:String = "sweet_Marmelad";
public static const EGG:String = "fry_2";
public static const BIN:String = "bin";
public static const GLOW_FILTER:GlowFilter = new GlowFilter(0xFF00, 1, 8, 8, 3);
public static const MAIN_PLATE:String = "MainPlate";
public static const WATER:String = "drink_Water";
public static var timeArray:Array = [81, 131, 251, 341, 415];
public static var offerArray:Array = [5, 10, 15, 15, 15];
public static var SOUND:Boolean;
public function PublicNames(){
super();
}
}
}//package
Section 78
//sound_bread (sound_bread)
package {
import flash.media.*;
public dynamic class sound_bread extends Sound {
}
}//package
Section 79
//sound_end_animation (sound_end_animation)
package {
import flash.media.*;
public dynamic class sound_end_animation extends Sound {
}
}//package
Section 80
//sound_winner (sound_winner)
package {
import flash.media.*;
public dynamic class sound_winner extends Sound {
}
}//package
Section 81
//soundCheck (soundCheck)
package {
import flash.media.*;
public dynamic class soundCheck extends Sound {
}
}//package
Section 82
//soundClock (soundClock)
package {
import flash.media.*;
public dynamic class soundClock extends Sound {
}
}//package
Section 83
//soundCut (soundCut)
package {
import flash.media.*;
public dynamic class soundCut extends Sound {
}
}//package
Section 84
//soundDestroy (soundDestroy)
package {
import flash.media.*;
public dynamic class soundDestroy extends Sound {
}
}//package
Section 85
//soundFry (soundFry)
package {
import flash.media.*;
public dynamic class soundFry extends Sound {
}
}//package
Section 86
//soundGlass (soundGlass)
package {
import flash.media.*;
public dynamic class soundGlass extends Sound {
}
}//package
Section 87
//soundLevelLoose (soundLevelLoose)
package {
import flash.media.*;
public dynamic class soundLevelLoose extends Sound {
}
}//package
Section 88
//soundLevelWin (soundLevelWin)
package {
import flash.media.*;
public dynamic class soundLevelWin extends Sound {
}
}//package
Section 89
//soundPlate (soundPlate)
package {
import flash.media.*;
public dynamic class soundPlate extends Sound {
}
}//package
Section 90
//soundTakeFruit (soundTakeFruit)
package {
import flash.media.*;
public dynamic class soundTakeFruit extends Sound {
}
}//package
Section 91
//winAnimation (winAnimation)
package {
import flash.display.*;
public dynamic class winAnimation extends MovieClip {
}
}//package