Section 1
//backgroundstars_180 (cake_shop_girlgames_fla.backgroundstars_180)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class backgroundstars_180 extends MovieClip {
public var star0:MovieClip;
public var star4:MovieClip;
public var star5:MovieClip;
public var star7:MovieClip;
public var star6:MovieClip;
public var star1:MovieClip;
public var star3:MovieClip;
public var star2:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 2
//customer_balloon_79 (cake_shop_girlgames_fla.customer_balloon_79)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
import scripts.*;
public dynamic class customer_balloon_79 extends MovieClip {
public var service_text:TextField;
public var food_1:food;
public var food_2:food;
public var food_0:food;
public var tips_text:TextField;
public var status:character_status;
}
}//package cake_shop_girlgames_fla
Section 3
//customer_money_116 (cake_shop_girlgames_fla.customer_money_116)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class customer_money_116 extends MovieClip {
public var money_text:TextField;
}
}//package cake_shop_girlgames_fla
Section 4
//customer_money_animation_115 (cake_shop_girlgames_fla.customer_money_animation_115)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class customer_money_animation_115 extends MovieClip {
public var money:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 5
//game_complete_text_168 (cake_shop_girlgames_fla.game_complete_text_168)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class game_complete_text_168 extends MovieClip {
public var title:TextField;
}
}//package cake_shop_girlgames_fla
Section 6
//game_over_text_166 (cake_shop_girlgames_fla.game_over_text_166)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class game_over_text_166 extends MovieClip {
public var title:TextField;
}
}//package cake_shop_girlgames_fla
Section 7
//gameplay_day_is_over_animation_122 (cake_shop_girlgames_fla.gameplay_day_is_over_animation_122)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class gameplay_day_is_over_animation_122 extends MovieClip {
public var title:TextField;
}
}//package cake_shop_girlgames_fla
Section 8
//gui_background_2 (cake_shop_girlgames_fla.gui_background_2)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class gui_background_2 extends MovieClip {
public var developer_logo:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 9
//gui_background_complete_1 (cake_shop_girlgames_fla.gui_background_complete_1)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class gui_background_complete_1 extends MovieClip {
public var gui_background:MovieClip;
public var logo:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 10
//heart_bad_98 (cake_shop_girlgames_fla.heart_bad_98)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class heart_bad_98 extends MovieClip {
public function heart_bad_98(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
stop();
stop();
stop();
}
}
}//package cake_shop_girlgames_fla
Section 11
//heart_bad_anim_97 (cake_shop_girlgames_fla.heart_bad_anim_97)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class heart_bad_anim_97 extends MovieClip {
public var heart:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 12
//loader_188 (cake_shop_girlgames_fla.loader_188)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class loader_188 extends MovieClip {
public var loadbar:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 13
//particle_disapear_bad_96 (cake_shop_girlgames_fla.particle_disapear_bad_96)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class particle_disapear_bad_96 extends MovieClip {
public var heart_0:MovieClip;
public var heart_1:MovieClip;
public var heart_2:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 14
//particle_disapear_good_103 (cake_shop_girlgames_fla.particle_disapear_good_103)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class particle_disapear_good_103 extends MovieClip {
public var heart_0:MovieClip;
public var heart_1:MovieClip;
public var heart_2:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 15
//star_182 (cake_shop_girlgames_fla.star_182)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class star_182 extends MovieClip {
public function star_182(){
addFrameScript(0, frame1, 5, frame6, 10, frame11, 15, frame16, 20, frame21);
}
function frame6(){
stop();
}
function frame16(){
stop();
}
function frame1(){
stop();
}
function frame21(){
stop();
}
function frame11(){
stop();
}
}
}//package cake_shop_girlgames_fla
Section 16
//starClip_181 (cake_shop_girlgames_fla.starClip_181)
package cake_shop_girlgames_fla {
import flash.display.*;
public dynamic class starClip_181 extends MovieClip {
public var star:MovieClip;
}
}//package cake_shop_girlgames_fla
Section 17
//start_game_all_equipment_156 (cake_shop_girlgames_fla.start_game_all_equipment_156)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class start_game_all_equipment_156 extends MovieClip {
public var title:TextField;
}
}//package cake_shop_girlgames_fla
Section 18
//start_game_money_159 (cake_shop_girlgames_fla.start_game_money_159)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class start_game_money_159 extends MovieClip {
public var title:TextField;
}
}//package cake_shop_girlgames_fla
Section 19
//statistics_texts_164 (cake_shop_girlgames_fla.statistics_texts_164)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class statistics_texts_164 extends MovieClip {
public var total_money_text:TextField;
public var served:TextField;
public var total_text:TextField;
public var service_title:TextField;
public var sales_money_text:TextField;
public var service_text:TextField;
public var sales_text:TextField;
public var tips_money_text:TextField;
public var served_title:TextField;
public var tips_text:TextField;
}
}//package cake_shop_girlgames_fla
Section 20
//window_tutorial_mouse_text_128 (cake_shop_girlgames_fla.window_tutorial_mouse_text_128)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class window_tutorial_mouse_text_128 extends MovieClip {
public var title:TextField;
}
}//package cake_shop_girlgames_fla
Section 21
//window_tutorial_text_127 (cake_shop_girlgames_fla.window_tutorial_text_127)
package cake_shop_girlgames_fla {
import flash.display.*;
import flash.text.*;
public dynamic class window_tutorial_text_127 extends MovieClip {
public var title:TextField;
}
}//package cake_shop_girlgames_fla
Section 22
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.core.*;
import fl.events.*;
import flash.utils.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 23
//Button (fl.controls.Button)
package fl.controls {
import flash.display.*;
import fl.core.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 24
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 25
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.core.*;
import flash.text.*;
import fl.managers.*;
import fl.events.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 26
//Slider (fl.controls.Slider)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.core.*;
import fl.managers.*;
import fl.events.*;
import flash.ui.*;
public class Slider extends UIComponent implements IFocusManagerComponent {
protected var _direction:String;
protected var _liveDragging:Boolean;// = false
protected var _value:Number;// = 0
protected var _snapInterval:Number;// = 0
protected var _minimum:Number;// = 0
protected var _maximum:Number;// = 10
protected var track:BaseButton;
protected var _tickInterval:Number;// = 0
protected var tickContainer:Sprite;
protected var thumb:BaseButton;
protected static const TICK_STYLES:Object = {upSkin:"tickSkin"};
protected static const TRACK_STYLES:Object = {upSkin:"sliderTrackSkin", overSkin:"sliderTrackSkin", downSkin:"sliderTrackSkin", disabledSkin:"sliderTrackDisabledSkin"};
protected static const THUMB_STYLES:Object = {upSkin:"thumbUpSkin", overSkin:"thumbOverSkin", downSkin:"thumbDownSkin", disabledSkin:"thumbDisabledSkin"};
protected static var defaultStyles:Object = {thumbUpSkin:"SliderThumb_upSkin", thumbOverSkin:"SliderThumb_overSkin", thumbDownSkin:"SliderThumb_downSkin", thumbDisabledSkin:"SliderThumb_disabledSkin", sliderTrackSkin:"SliderTrack_skin", sliderTrackDisabledSkin:"SliderTrack_disabledSkin", tickSkin:"SliderTick_skin", focusRectSkin:null, focusRectPadding:null};
public function Slider(){
_direction = SliderDirection.HORIZONTAL;
_minimum = 0;
_maximum = 10;
_value = 0;
_tickInterval = 0;
_snapInterval = 0;
_liveDragging = false;
super();
setStyles();
}
public function get minimum():Number{
return (_minimum);
}
public function set minimum(_arg1:Number):void{
_minimum = _arg1;
this.value = Math.max(_arg1, this.value);
invalidate(InvalidationType.DATA);
}
public function get maximum():Number{
return (_maximum);
}
protected function positionThumb():void{
thumb.x = ((((_direction)==SliderDirection.VERTICAL) ? ((maximum - minimum) - value) : (value - minimum) / (maximum - minimum)) * _width);
}
protected function clearTicks():void{
if (((!(tickContainer)) || (!(tickContainer.parent)))){
return;
};
removeChild(tickContainer);
}
protected function onTrackClick(_arg1:MouseEvent):void{
calculateValue(track.mouseX, InteractionInputType.MOUSE, SliderEventClickTarget.TRACK);
if (!liveDragging){
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, SliderEventClickTarget.TRACK, InteractionInputType.MOUSE));
};
}
public function set maximum(_arg1:Number):void{
_maximum = _arg1;
this.value = Math.min(_arg1, this.value);
invalidate(InvalidationType.DATA);
}
public function get liveDragging():Boolean{
return (_liveDragging);
}
protected function doDrag(_arg1:MouseEvent):void{
var _local2:Number;
var _local3:Number;
_local2 = (_width / snapInterval);
_local3 = track.mouseX;
calculateValue(_local3, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_DRAG, value, SliderEventClickTarget.THUMB, InteractionInputType.MOUSE));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:uint;
var _local3:Number;
var _local4:Boolean;
if (!enabled){
return;
};
_local2 = ((snapInterval)>0) ? snapInterval : 1;
_local4 = (direction == SliderDirection.HORIZONTAL);
if ((((((_arg1.keyCode == Keyboard.DOWN)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.LEFT)) && (_local4))))){
_local3 = (value - _local2);
} else {
if ((((((_arg1.keyCode == Keyboard.UP)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.RIGHT)) && (_local4))))){
_local3 = (value + _local2);
} else {
if ((((((_arg1.keyCode == Keyboard.PAGE_DOWN)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.HOME)) && (_local4))))){
_local3 = minimum;
} else {
if ((((((_arg1.keyCode == Keyboard.PAGE_UP)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.END)) && (_local4))))){
_local3 = maximum;
};
};
};
};
if (!isNaN(_local3)){
_arg1.stopPropagation();
doSetValue(_local3, InteractionInputType.KEYBOARD, null, _arg1.keyCode);
};
}
override public function set enabled(_arg1:Boolean):void{
if (enabled == _arg1){
return;
};
super.enabled = _arg1;
track.enabled = (thumb.enabled = _arg1);
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
stage.addEventListener(MouseEvent.MOUSE_MOVE, doDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_PRESS, value, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB));
}
public function get snapInterval():Number{
return (_snapInterval);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, doDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_RELEASE, value, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB));
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, SliderEventClickTarget.THUMB, InteractionInputType.MOUSE));
}
public function set liveDragging(_arg1:Boolean):void{
_liveDragging = _arg1;
}
public function set value(_arg1:Number):void{
doSetValue(_arg1);
}
public function set direction(_arg1:String):void{
var _local2:Boolean;
_direction = _arg1;
_local2 = (_direction == SliderDirection.VERTICAL);
if (isLivePreview){
if (_local2){
setScaleY(-1);
y = track.height;
} else {
setScaleY(1);
y = 0;
};
positionThumb();
return;
};
if (((_local2) && (componentInspectorSetting))){
if ((rotation % 90) == 0){
setScaleY(-1);
};
};
if (!componentInspectorSetting){
rotation = (_local2) ? 90 : 0;
};
}
public function set tickInterval(_arg1:Number):void{
_tickInterval = _arg1;
invalidate(InvalidationType.SIZE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
setStyles();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
track.setSize(_width, track.height);
track.drawNow();
thumb.drawNow();
};
if (tickInterval > 0){
drawTicks();
} else {
clearTicks();
};
positionThumb();
super.draw();
}
override protected function configUI():void{
super.configUI();
thumb = new BaseButton();
thumb.setSize(13, 13);
thumb.autoRepeat = false;
addChild(thumb);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
track = new BaseButton();
track.move(0, 0);
track.setSize(80, 4);
track.autoRepeat = false;
track.useHandCursor = false;
track.addEventListener(MouseEvent.CLICK, onTrackClick, false, 0, true);
addChildAt(track, 0);
}
public function set snapInterval(_arg1:Number):void{
_snapInterval = _arg1;
}
public function get value():Number{
return (_value);
}
public function get direction():String{
return (_direction);
}
public function get tickInterval():Number{
return (_tickInterval);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if ((((_direction == SliderDirection.VERTICAL)) && (!(isLivePreview)))){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
invalidate(InvalidationType.SIZE);
}
protected function drawTicks():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:uint;
var _local5:DisplayObject;
clearTicks();
tickContainer = new Sprite();
_local1 = ((maximum)<1) ? (tickInterval / 100) : tickInterval;
_local2 = ((maximum - minimum) / _local1);
_local3 = (_width / _local2);
_local4 = 0;
while (_local4 <= _local2) {
_local5 = getDisplayObjectInstance(getStyleValue("tickSkin"));
_local5.x = (_local3 * _local4);
_local5.y = ((track.y - _local5.height) - 2);
tickContainer.addChild(_local5);
_local4++;
};
addChild(tickContainer);
}
protected function calculateValue(_arg1:Number, _arg2:String, _arg3:String, _arg4:int=undefined):void{
var _local5:Number;
_local5 = ((_arg1 / _width) * (maximum - minimum));
if (_direction == SliderDirection.VERTICAL){
_local5 = (maximum - _local5);
} else {
_local5 = (minimum + _local5);
};
doSetValue(_local5, _arg2, _arg3, _arg4);
}
protected function getPrecision(_arg1:Number):Number{
var _local2:String;
_local2 = _arg1.toString();
if (_local2.indexOf(".") == -1){
return (0);
};
return (_local2.split(".").pop().length);
}
protected function doSetValue(_arg1:Number, _arg2:String=null, _arg3:String=null, _arg4:int=undefined):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local5 = _value;
if (((!((_snapInterval == 0))) && (!((_snapInterval == 1))))){
_local6 = Math.pow(10, getPrecision(snapInterval));
_local7 = (_snapInterval * _local6);
_local8 = Math.round((_arg1 * _local6));
_local9 = (Math.round((_local8 / _local7)) * _local7);
_arg1 = (_local9 / _local6);
_value = Math.max(minimum, Math.min(maximum, _arg1));
} else {
_value = Math.max(minimum, Math.min(maximum, Math.round(_arg1)));
};
if (((!((_local5 == _value))) && (((((liveDragging) && (!((_arg3 == null))))) || ((_arg2 == InteractionInputType.KEYBOARD)))))){
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, _arg3, _arg2, _arg4));
};
positionThumb();
}
protected function setStyles():void{
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 27
//SliderDirection (fl.controls.SliderDirection)
package fl.controls {
public class SliderDirection {
public static var HORIZONTAL:String = "horizontal";
public static var VERTICAL:String = "vertical";
}
}//package fl.controls
Section 28
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 29
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 30
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import fl.managers.*;
import fl.events.*;
import flash.utils.*;
import flash.system.*;
public class UIComponent extends Sprite {
protected var _enabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var _oldIMEMode:String;// = null
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var version:String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var callLaterMethods:Dictionary;
private var _focusEnabled:Boolean;// = true
private var tempText:TextField;
protected var invalidateFlag:Boolean;// = false
protected var _inspector:Boolean;// = false
protected var sharedStyles:Object;
protected var invalidHash:Object;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var instanceStyles:Object;
protected var _x:Number;
protected var _y:Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
version = "3.0.0.15";
isLivePreview = false;
invalidateFlag = false;
_enabled = true;
isFocused = false;
_focusEnabled = true;
_mouseFocusEnabled = true;
_imeMode = null;
_oldIMEMode = null;
errorCaught = false;
_inspector = false;
super();
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local2:Dictionary;
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
_local2 = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function beforeComponentParameters():void{
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
invalidHash = {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
isLivePreview = checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 31
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 32
//InteractionInputType (fl.events.InteractionInputType)
package fl.events {
public class InteractionInputType {
public static const MOUSE:String = "mouse";
public static const KEYBOARD:String = "keyboard";
}
}//package fl.events
Section 33
//SliderEvent (fl.events.SliderEvent)
package fl.events {
import flash.events.*;
public class SliderEvent extends Event {
protected var _triggerEvent:String;
protected var _keyCode:Number;
protected var _value:Number;
protected var _clickTarget:String;
public static const CHANGE:String = "change";
public static const THUMB_PRESS:String = "thumbPress";
public static const THUMB_DRAG:String = "thumbDrag";
public static const THUMB_RELEASE:String = "thumbRelease";
public function SliderEvent(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:int=0){
_value = _arg2;
_keyCode = _arg5;
_triggerEvent = _arg4;
_clickTarget = _arg3;
super(_arg1);
}
public function get clickTarget():String{
return (_clickTarget);
}
override public function clone():Event{
return (new SliderEvent(type, _value, _clickTarget, _triggerEvent, _keyCode));
}
override public function toString():String{
return (formatToString("SliderEvent", "type", "value", "bubbles", "cancelable", "keyCode", "triggerEvent", "clickTarget"));
}
public function get triggerEvent():String{
return (_triggerEvent);
}
public function get value():Number{
return (_value);
}
public function get keyCode():Number{
return (_keyCode);
}
}
}//package fl.events
Section 34
//SliderEventClickTarget (fl.events.SliderEventClickTarget)
package fl.events {
public class SliderEventClickTarget {
public static const TRACK:String = "track";
public static const THUMB:String = "thumb";
}
}//package fl.events
Section 35
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.core.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 36
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 37
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 38
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 39
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.text.*;
import flash.utils.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 40
//MochiAd (scripts.advertising.MochiAd)
package scripts.advertising {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.6");
}
public static function showClickAwayAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_timeout:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var sendHostProgress:Boolean;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
sendHostProgress = false;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array;
var _local4:Number;
_local3 = _arg2.split(".");
_local4 = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package scripts.advertising
Section 41
//cursor_bad_sound (scripts.game_audio.game.cursor_bad_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class cursor_bad_sound extends Sound {
}
}//package scripts.game_audio.game
Section 42
//cursor_deliver_sound (scripts.game_audio.game.cursor_deliver_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class cursor_deliver_sound extends Sound {
}
}//package scripts.game_audio.game
Section 43
//cursor_good_sound (scripts.game_audio.game.cursor_good_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class cursor_good_sound extends Sound {
}
}//package scripts.game_audio.game
Section 44
//customer_appear_sound (scripts.game_audio.game.customer_appear_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class customer_appear_sound extends Sound {
}
}//package scripts.game_audio.game
Section 45
//customer_disappear_bad_sound (scripts.game_audio.game.customer_disappear_bad_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class customer_disappear_bad_sound extends Sound {
}
}//package scripts.game_audio.game
Section 46
//customer_disappear_good_sound (scripts.game_audio.game.customer_disappear_good_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class customer_disappear_good_sound extends Sound {
}
}//package scripts.game_audio.game
Section 47
//goal_is_reached_sound (scripts.game_audio.game.goal_is_reached_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class goal_is_reached_sound extends Sound {
}
}//package scripts.game_audio.game
Section 48
//level_complete_sound (scripts.game_audio.game.level_complete_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class level_complete_sound extends Sound {
}
}//package scripts.game_audio.game
Section 49
//machine_candyfloss_sound (scripts.game_audio.game.machine_candyfloss_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class machine_candyfloss_sound extends Sound {
}
}//package scripts.game_audio.game
Section 50
//machine_coffee_sound (scripts.game_audio.game.machine_coffee_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class machine_coffee_sound extends Sound {
}
}//package scripts.game_audio.game
Section 51
//machine_cola_sound (scripts.game_audio.game.machine_cola_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class machine_cola_sound extends Sound {
}
}//package scripts.game_audio.game
Section 52
//machine_cream_sound (scripts.game_audio.game.machine_cream_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class machine_cream_sound extends Sound {
}
}//package scripts.game_audio.game
Section 53
//machine_dustbin_sound (scripts.game_audio.game.machine_dustbin_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class machine_dustbin_sound extends Sound {
}
}//package scripts.game_audio.game
Section 54
//machine_ice_cream_sound (scripts.game_audio.game.machine_ice_cream_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class machine_ice_cream_sound extends Sound {
}
}//package scripts.game_audio.game
Section 55
//machine_pop_corn_sound (scripts.game_audio.game.machine_pop_corn_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class machine_pop_corn_sound extends Sound {
}
}//package scripts.game_audio.game
Section 56
//time_complete_sound (scripts.game_audio.game.time_complete_sound)
package scripts.game_audio.game {
import flash.media.*;
public dynamic class time_complete_sound extends Sound {
}
}//package scripts.game_audio.game
Section 57
//button_click_sound (scripts.game_audio.menu.button_click_sound)
package scripts.game_audio.menu {
import flash.media.*;
public dynamic class button_click_sound extends Sound {
}
}//package scripts.game_audio.menu
Section 58
//button_select_sound (scripts.game_audio.menu.button_select_sound)
package scripts.game_audio.menu {
import flash.media.*;
public dynamic class button_select_sound extends Sound {
}
}//package scripts.game_audio.menu
Section 59
//charge_money_sound (scripts.game_audio.menu.charge_money_sound)
package scripts.game_audio.menu {
import flash.media.*;
public dynamic class charge_money_sound extends Sound {
}
}//package scripts.game_audio.menu
Section 60
//tutorial_sound (scripts.game_audio.menu.tutorial_sound)
package scripts.game_audio.menu {
import flash.media.*;
public dynamic class tutorial_sound extends Sound {
}
}//package scripts.game_audio.menu
Section 61
//window_appear_sound (scripts.game_audio.menu.window_appear_sound)
package scripts.game_audio.menu {
import flash.media.*;
public dynamic class window_appear_sound extends Sound {
}
}//package scripts.game_audio.menu
Section 62
//game_sound (scripts.game_audio.music.game_sound)
package scripts.game_audio.music {
import flash.media.*;
public dynamic class game_sound extends Sound {
}
}//package scripts.game_audio.music
Section 63
//audio (scripts.audio)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import scripts.game_audio.game.*;
import scripts.game_audio.menu.*;
import scripts.game_audio.music.*;
public dynamic class audio extends MovieClip {
public var sound_channels:Array;
public var sound_counters:Array;
public var sound_names:Array;
public var sound_volume:Number;
public var music_volume:Number;
public var sound_sounds:Array;
public var music_sounds:Array;
public var music_channels:Array;
public var music_names:Array;
public var is_all_stoped:Boolean;
public function audio(){
name = "game_audio";
x = 10000;
y = 10000;
music_volume = 1;
sound_volume = 1;
music_names = new Array();
music_sounds = new Array();
music_channels = new Array();
sound_names = new Array();
sound_sounds = new Array();
sound_channels = new Array();
sound_counters = new Array();
add_music("game", new game_sound());
add_sound("game.cursor_bad", new cursor_bad_sound());
add_sound("game.cursor_deliver", new cursor_deliver_sound());
add_sound("game.cursor_good", new cursor_good_sound());
add_sound("game.customer_appear", new customer_appear_sound());
add_sound("game.customer_appear", new customer_appear_sound());
add_sound("game.customer_disappear_bad", new customer_disappear_bad_sound());
add_sound("game.customer_disappear_good", new customer_disappear_good_sound());
add_sound("game.goal_is_reached", new goal_is_reached_sound());
add_sound("game.level_complete", new level_complete_sound());
add_sound("game.machine_candyfloss", new machine_candyfloss_sound());
add_sound("game.machine_coffee", new machine_coffee_sound());
add_sound("game.machine_coffee", new machine_coffee_sound());
add_sound("game.machine_cola", new machine_cola_sound());
add_sound("game.machine_cola", new machine_cola_sound());
add_sound("game.machine_cola", new machine_cola_sound());
add_sound("game.machine_cream", new machine_cream_sound());
add_sound("game.machine_cream", new machine_cream_sound());
add_sound("game.machine_cream", new machine_cream_sound());
add_sound("game.machine_dustbin", new machine_dustbin_sound());
add_sound("game.machine_ice_cream", new machine_ice_cream_sound());
add_sound("game.machine_ice_cream", new machine_ice_cream_sound());
add_sound("game.machine_ice_cream", new machine_ice_cream_sound());
add_sound("game.machine_pop_corn", new machine_pop_corn_sound());
add_sound("game.machine_pop_corn", new machine_pop_corn_sound());
add_sound("game.time_complete", new time_complete_sound());
add_sound("menu.button_click", new button_click_sound());
add_sound("menu.button_select", new button_select_sound());
add_sound("menu.charge_money", new charge_money_sound());
add_sound("menu.tutorial", new tutorial_sound());
add_sound("menu.window_appear", new window_appear_sound());
is_all_stoped = false;
}
public function add_music(_arg1:String, _arg2:Sound):void{
music_names.push(_arg1);
music_sounds.push(_arg2);
music_channels.push(null);
}
public function set_sound_volume(_arg1:Number):void{
var _local2:uint;
var _local3:SoundTransform;
sound_volume = _arg1;
_local2 = 0;
while (_local2 < sound_names.length) {
if (sound_channels[_local2]){
_local3 = sound_channels[_local2].soundTransform;
_local3.volume = sound_volume;
sound_channels[_local2].soundTransform = _local3;
};
_local2++;
};
}
public function set_music_volume(_arg1:Number):void{
var _local2:uint;
var _local3:SoundTransform;
music_volume = _arg1;
_local2 = 0;
while (_local2 < music_names.length) {
if (music_channels[_local2]){
_local3 = music_channels[_local2].soundTransform;
_local3.volume = music_volume;
music_channels[_local2].soundTransform = _local3;
};
_local2++;
};
}
public function play_sound(_arg1:String, _arg2:Boolean=false):void{
var _local3:int;
var _local4:int;
var _local5:int;
if (is_all_stoped){
return;
};
_local3 = -1;
_local4 = 0;
_local5 = 0;
while (_local5 < sound_names.length) {
if (sound_names[_local5] == _arg1){
if (_local3 == -1){
_local3 = _local5;
_local4 = sound_counters[_local5];
} else {
if (sound_counters[_local5] < _local4){
_local3 = _local5;
_local4 = sound_counters[_local5];
};
};
};
_local5++;
};
if (_local3 == -1){
trace("error (unknown ", _arg1, " sound!)");
} else {
sound_counters[_local3] = (sound_counters[_local3] + 1);
if (sound_channels[_local3]){
sound_channels[_local3].stop();
sound_channels[_local3] = null;
};
sound_channels[_local3] = sound_sounds[_local3].play(0, (_arg2) ? 100000 : 0, new SoundTransform(sound_volume, 0));
sound_channels[_local3].addEventListener(Event.SOUND_COMPLETE, sound_complete_handler);
};
}
public function play_music(_arg1:String):void{
var _local2:int;
if (is_all_stoped){
return;
};
_local2 = music_names.indexOf(_arg1);
if (_local2 == -1){
trace("error (unknown ", _arg1, " music!)");
} else {
if (music_channels[_local2]){
music_channels[_local2].stop();
music_channels[_local2] = null;
};
music_channels[_local2] = music_sounds[_local2].play(0, 100000, new SoundTransform(music_volume, 0));
};
}
public function stop_all_sounds_and_music():void{
var _local1:int;
_local1 = 0;
_local1 = 0;
while (_local1 < music_names.length) {
if (music_channels[_local1]){
music_channels[_local1].stop();
music_channels[_local1] = null;
};
_local1++;
};
_local1 = 0;
while (_local1 < sound_names.length) {
if (sound_channels[_local1]){
sound_channels[_local1].stop();
sound_channels[_local1] = null;
};
_local1++;
};
is_all_stoped = true;
}
public function stop_sound(_arg1:String, _arg2:Boolean=false):void{
var _local3:int;
_local3 = sound_names.indexOf(_arg1);
if (_local3 == -1){
trace("error (unknown ", _arg1, " sound!)");
} else {
if (sound_channels[_local3]){
sound_channels[_local3].stop();
sound_channels[_local3] = null;
};
};
}
private function sound_complete_handler(_arg1:Event):void{
var _local2:int;
_local2 = 0;
while (_local2 < sound_names.length) {
if (sound_channels[_local2] == _arg1.target){
sound_channels[_local2] = null;
return;
};
_local2++;
};
trace("error (sound_complete_handler)!");
}
public function stop_music(_arg1:String):void{
var _local2:int;
_local2 = music_names.indexOf(_arg1);
if (_local2 == -1){
trace("error (unknown ", _arg1, " music!)");
} else {
if (music_channels[_local2]){
music_channels[_local2].stop();
music_channels[_local2] = null;
};
};
}
public function is_sound_playing(_arg1:String):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < sound_names.length) {
if (sound_names[_local2] == _arg1){
if (sound_channels[_local2]){
return (true);
};
};
_local2++;
};
return (false);
}
public function add_sound(_arg1:String, _arg2:Sound):void{
sound_names.push(_arg1);
sound_sounds.push(_arg2);
sound_channels.push(null);
sound_counters.push(0);
}
}
}//package scripts
Section 64
//button_back (scripts.button_back)
package scripts {
import flash.display.*;
import flash.text.*;
public dynamic class button_back extends button_base {
public var title:TextField;
public var selection:MovieClip;
public function button_back(){
text_field = title;
selection_mc = selection;
font_size = 18;
default_font_color = 0xFFFFFF;
initialize();
}
override public function set_state(_arg1:int):void{
if (_arg1 == 0){
gotoAndStop(1);
} else {
if (_arg1 == 1){
gotoAndStop(2);
} else {
if (_arg1 == 2){
gotoAndStop(3);
};
};
};
}
}
}//package scripts
Section 65
//button_base (scripts.button_base)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public dynamic class button_base extends MovieClip {
var is_button_enabled:Boolean;
var selection_mc:MovieClip;
var text:String;
var default_font_color:Object;
var game_audio:audio;
var is_mouse_over:Boolean;
var text_field:TextField;
var is_click_capture:Boolean;
var font_size:int;
public function button_base(){
stop();
}
public function mouse_down(_arg1:MouseEvent):void{
if ((((text.length > 0)) && (is_button_enabled))){
game_audio.play_sound("menu.button_click");
set_state(2);
is_click_capture = true;
};
}
public function mouse_over(_arg1:MouseEvent):void{
if ((((text.length > 0)) && (is_button_enabled))){
game_audio.play_sound("menu.button_select");
set_state(1);
is_mouse_over = true;
};
}
public function enable_button(_arg1:Boolean):void{
is_button_enabled = _arg1;
if (is_button_enabled){
set_state(0);
} else {
is_click_capture = false;
is_mouse_over = false;
set_state(3);
};
}
public function set_state(_arg1:int):void{
}
public function mouse_up(_arg1:MouseEvent):void{
if ((((text.length > 0)) && (is_button_enabled))){
set_state(1);
if (((is_click_capture) && (is_mouse_over))){
dispatchEvent(new Event("button_click"));
};
is_click_capture = false;
};
}
public function initialize():void{
my_utils.prepare_text(text_field);
set_text("");
is_click_capture = false;
is_mouse_over = false;
is_button_enabled = true;
selection_mc.addEventListener(MouseEvent.MOUSE_OVER, mouse_over);
selection_mc.addEventListener(MouseEvent.MOUSE_OUT, mouse_out);
selection_mc.addEventListener(MouseEvent.MOUSE_DOWN, mouse_down);
selection_mc.addEventListener(MouseEvent.MOUSE_UP, mouse_up);
selection_mc.alpha = 0;
}
public function mouse_out(_arg1:MouseEvent):void{
if ((((text.length > 0)) && (is_button_enabled))){
set_state(0);
is_mouse_over = false;
};
}
public function update():void{
is_click_capture = false;
is_mouse_over = false;
is_button_enabled = true;
set_state(0);
}
public function set_text(_arg1:String, _arg2:Object=0):void{
if (_arg2 == 0){
_arg2 = default_font_color;
};
text = _arg1;
my_utils.set_text(text_field, text, font_size, _arg2);
}
}
}//package scripts
Section 66
//button_big (scripts.button_big)
package scripts {
import flash.display.*;
import flash.text.*;
public dynamic class button_big extends button_base {
public var title:TextField;
public var selection:MovieClip;
public function button_big(){
text_field = title;
selection_mc = selection;
font_size = 15;
default_font_color = 10040115;
initialize();
}
override public function set_state(_arg1:int):void{
if (_arg1 == 0){
gotoAndStop(1);
} else {
if (_arg1 == 1){
gotoAndStop(2);
} else {
if (_arg1 == 2){
gotoAndStop(3);
};
};
};
}
}
}//package scripts
Section 67
//button_ingame_menu (scripts.button_ingame_menu)
package scripts {
import flash.display.*;
import flash.text.*;
public dynamic class button_ingame_menu extends button_base {
public var title:TextField;
public var selection:MovieClip;
public function button_ingame_menu(){
text_field = title;
selection_mc = selection;
font_size = 14;
default_font_color = 0xFFFFFF;
initialize();
}
override public function set_state(_arg1:int):void{
if (_arg1 == 0){
gotoAndStop(1);
} else {
if (_arg1 == 1){
gotoAndStop(2);
} else {
if (_arg1 == 2){
gotoAndStop(3);
} else {
if (_arg1 == 3){
gotoAndStop(4);
};
};
};
};
}
}
}//package scripts
Section 68
//button_main_menu (scripts.button_main_menu)
package scripts {
import flash.display.*;
import flash.text.*;
public dynamic class button_main_menu extends button_base {
public var button_text:TextField;
public var selection:MovieClip;
public function button_main_menu(){
text_field = button_text;
selection_mc = selection;
font_size = 18;
default_font_color = 0xFFCC00;
initialize();
}
override public function set_state(_arg1:int):void{
if (_arg1 == 0){
set_text(text, 0xFFCC00);
} else {
if (_arg1 == 1){
set_text(text, 0xFFFF00);
} else {
if (_arg1 == 2){
set_text(text, 0xFF9900);
};
};
};
}
}
}//package scripts
Section 69
//button_main_menu_download (scripts.button_main_menu_download)
package scripts {
import flash.display.*;
import flash.text.*;
public dynamic class button_main_menu_download extends button_base {
public var button_text:TextField;
public var selection:MovieClip;
public function button_main_menu_download(){
text_field = button_text;
selection_mc = selection;
font_size = 22;
default_font_color = 0xCC00;
initialize();
}
override public function set_state(_arg1:int):void{
if (_arg1 == 0){
set_text(text, 0xCC00);
} else {
if (_arg1 == 1){
set_text(text, 0xFFFF00);
} else {
if (_arg1 == 2){
set_text(text, 0xFF9900);
};
};
};
}
}
}//package scripts
Section 70
//button_play (scripts.button_play)
package scripts {
import flash.display.*;
import flash.text.*;
public dynamic class button_play extends button_base {
public var title:TextField;
public var selection:MovieClip;
public function button_play(){
text_field = title;
selection_mc = selection;
font_size = 18;
default_font_color = 0xFFFFFF;
initialize();
}
override public function set_state(_arg1:int):void{
if (_arg1 == 0){
gotoAndStop(1);
} else {
if (_arg1 == 1){
gotoAndStop(2);
} else {
if (_arg1 == 2){
gotoAndStop(3);
};
};
};
}
}
}//package scripts
Section 71
//button_statistics_download (scripts.button_statistics_download)
package scripts {
import flash.display.*;
import flash.text.*;
public dynamic class button_statistics_download extends button_base {
public var button_text:TextField;
public var selection:MovieClip;
public function button_statistics_download(){
text_field = button_text;
selection_mc = selection;
font_size = 19;
default_font_color = 0xFFCC00;
initialize();
}
override public function set_state(_arg1:int):void{
if (_arg1 == 0){
set_text(text, 0xFFCC00);
} else {
if (_arg1 == 1){
set_text(text, 0xFFFF00);
} else {
if (_arg1 == 2){
set_text(text, 0xFF9900);
};
};
};
}
}
}//package scripts
Section 72
//character_status (scripts.character_status)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
public dynamic class character_status extends MovieClip {
public var resume_progress_timer:Boolean;
public var mood:Number;
public var smile:MovieClip;
public var progress:MovieClip;
public var resume_smile_timer:Boolean;
public var smile_timer:Timer;
public var progress_color_info:ColorTransform;
public var smile_color_info:ColorTransform;
public var progress_timer:Timer;
public var DEFAULT_DELAY:Number;
public var is_over:Boolean;
public var is_stoped:Boolean;
public var current_mood:int;
public function character_status(){
DEFAULT_DELAY = 80;
progress_color_info = progress.transform.colorTransform;
smile_color_info = smile.transform.colorTransform;
progress_timer = new Timer(1000, 59);
smile_timer = new Timer(70, 15);
progress_timer.addEventListener(TimerEvent.TIMER, progress_tick);
progress_timer.addEventListener(TimerEvent.TIMER_COMPLETE, progress_complete);
smile_timer.addEventListener(TimerEvent.TIMER, smile_tick);
smile_timer.addEventListener(TimerEvent.TIMER_COMPLETE, smile_complete);
smile.stop();
progress.stop();
}
public function progress_complete(_arg1:TimerEvent):void{
if (is_stoped){
return;
};
if (current_mood == 0){
progress_color_info.color = make_color(0xFF, 0xFF, 0, 0);
progress.transform.colorTransform = progress_color_info;
} else {
if (current_mood == 1){
progress_color_info.color = make_color(0xFF, 0, 0, 0);
progress.transform.colorTransform = progress_color_info;
};
};
progress.gotoAndStop(1);
progress.alpha = 0;
current_mood++;
if ((((((current_mood == 1)) || ((current_mood == 2)))) || ((current_mood == 3)))){
smile_timer.reset();
smile_timer.start();
};
}
public function start_progress():void{
current_mood = 0;
progress_timer.reset();
progress_timer.delay = int((DEFAULT_DELAY * 2));
progress_timer.start();
}
public function reset():void{
smile.gotoAndStop(1);
progress.gotoAndStop(1);
progress_color_info.color = make_color(0, 0xFF, 0, 0xFF);
progress.transform.colorTransform = progress_color_info;
smile_color_info.greenMultiplier = 1;
smile_color_info.blueMultiplier = 1;
smile.transform.colorTransform = smile_color_info;
is_over = false;
is_stoped = false;
mood = 1;
}
public function progress_tick(_arg1:TimerEvent):void{
if (is_stoped){
progress.alpha = Math.max(0, (1 - ((_arg1.target.currentCount - 1) / 11)));
return;
};
progress.gotoAndStop((_arg1.target.currentCount + 1));
mood = (((1 / 3) * ((3 - current_mood) - 1)) + ((1 - (_arg1.target.currentCount / 59)) / 3));
}
public function smile_tick(_arg1:TimerEvent):void{
if (current_mood == 2){
smile_color_info.greenMultiplier = (1 - (((_arg1.target.currentCount - 1) / 14) * 0.5));
smile_color_info.blueMultiplier = (1 - (((_arg1.target.currentCount - 1) / 14) * 0.5));
smile.transform.colorTransform = smile_color_info;
};
smile.gotoAndStop((((((current_mood - 1) * 16) + 1) + _arg1.target.currentCount) + 1));
if (current_mood < 3){
progress.alpha = ((_arg1.target.currentCount - 1) / 14);
};
}
public function make_pause(_arg1:Boolean):void{
if (_arg1){
if (progress_timer.running){
resume_progress_timer = true;
progress_timer.stop();
} else {
resume_progress_timer = false;
};
if (smile_timer.running){
resume_smile_timer = true;
smile_timer.stop();
} else {
resume_smile_timer = false;
};
} else {
if (resume_progress_timer){
progress_timer.start();
};
if (resume_smile_timer){
smile_timer.start();
};
};
}
public function smile_complete(_arg1:TimerEvent):void{
if (current_mood >= 3){
is_over = true;
return;
};
progress.alpha = 1;
progress_timer.reset();
if (current_mood == 1){
progress_timer.delay = int((DEFAULT_DELAY * 3.5));
} else {
if (current_mood == 2){
progress_timer.delay = int((DEFAULT_DELAY * 4));
};
};
progress_timer.start();
}
public function stop_progress():void{
if (is_over){
return;
};
is_stoped = true;
smile_timer.reset();
progress_timer.reset();
progress_timer.delay = 40;
progress_timer.start();
}
public function make_color(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{
var _local5:uint;
_local5 = (((((_arg4 & 0xFF) << 24) | ((_arg1 & 0xFF) << 16)) | ((_arg2 & 0xFF) << 8)) | (_arg3 & 0xFF));
return (_local5);
}
}
}//package scripts
Section 73
//customer (scripts.customer)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.filters.*;
public dynamic class customer extends MovieClip {
public var available_groups:Array;
public var available_food:Array;
public var gameplay_settings:GameplaySettings;
public var appear_timer:Timer;
public var money_bar:gui_money_bar;
public var balloon:MovieClip;
public var food_price:int;
public var game_texts:texts;
public var is_appeared:Boolean;
public var resume_idle_timer:Boolean;
public var foods_positions_x:Array;
public var show_result_timer:Timer;
public var foods_positions_y:Array;
public var money_animation:MovieClip;
public var particle_bad:MovieClip;
public var previous_random_counter:Number;
public var particle_good:MovieClip;
public var food_count_random_2:Array;
public var food_count_random_3:Array;
public var resume_appear_timer:Boolean;
public var goal_bar:gui_money_bar;
public var food_count_random_1:Array;
public var is_mood_enabled:Boolean;
public var money_timer:Timer;
public var previous_random:Number;
public var food_count_random_index:Number;
public var is_deliver_enabled:Boolean;
public var idle_timer:Timer;
public var character:MovieClip;
public var particles_timer:Timer;
public var tips:int;
public var game_audio:audio;
public var available_groups_food:Array;
public var hide_order_timer:Timer;
public var selection:MovieClip;
public var available_characters:Array;
public var disappear_timer:Timer;
public var is_active:Boolean;
public var table:machine_table;
public var foods:Array;
public var current_character:int;
public var my_status:character_status;
public var is_served:Boolean;
public static const CHARACTER_WOMEN_0:int = 7;
public static const CHARACTER_MAN_BUISINESS:int = 5;
public static const CHARACTER_WOMEN_BUISINESS:int = 6;
public static const CHARACTER_RANDOM:int = 9;
public static const CHARACTER_GIRL:int = 1;
public static const CHARACTER_MAN_RAPER:int = 4;
public static const CHARACTER_BOY:int = 2;
public static const CHARACTER_MAN_WORKER:int = 3;
public static const CHARACTER_WOMEN_1:int = 8;
public function customer(){
foods = new Array(food(balloon.food_0), food(balloon.food_1), food(balloon.food_2));
foods_positions_x = new Array(balloon.food_0.x, balloon.food_1.x, balloon.food_2.x);
foods_positions_y = new Array(balloon.food_0.y, balloon.food_1.y, balloon.food_2.y);
my_status = character_status(balloon.status);
food_count_random_1 = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
food_count_random_2 = new Array(1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2);
food_count_random_3 = new Array(3, 2, 1, 2, 2, 3, 2, 1, 3, 2, 3, 2, 1, 3, 2, 1, 2, 3);
food_count_random_index = my_math.range_random(0, (food_count_random_1.length - 1));
money_animation.money.money_text.antiAliasType = AntiAliasType.ADVANCED;
balloon.service_text.antiAliasType = AntiAliasType.ADVANCED;
balloon.tips_text.antiAliasType = AntiAliasType.ADVANCED;
balloon.service_text.filters = [new BlurFilter(0, 0, 0)];
balloon.tips_text.filters = [new BlurFilter(0, 0, 0)];
appear_timer = new Timer(40, 24);
appear_timer.addEventListener(TimerEvent.TIMER, appear_tick);
appear_timer.addEventListener(TimerEvent.TIMER_COMPLETE, appear_complete);
idle_timer = new Timer(40, 0);
idle_timer.addEventListener(TimerEvent.TIMER, idle_tick);
hide_order_timer = new Timer(40, 12);
hide_order_timer.addEventListener(TimerEvent.TIMER, hide_order_tick);
hide_order_timer.addEventListener(TimerEvent.TIMER_COMPLETE, hide_order_complete);
show_result_timer = new Timer(80, 25);
show_result_timer.addEventListener(TimerEvent.TIMER, show_result_tick);
show_result_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_result_complete);
disappear_timer = new Timer(40, 24);
disappear_timer.addEventListener(TimerEvent.TIMER, disappear_tick);
disappear_timer.addEventListener(TimerEvent.TIMER_COMPLETE, disappear_complete);
particles_timer = new Timer(80, 24);
particles_timer.addEventListener(TimerEvent.TIMER, particles_tick);
particles_timer.addEventListener(TimerEvent.TIMER_COMPLETE, particles_complete);
money_timer = new Timer(80, 24);
money_timer.addEventListener(TimerEvent.TIMER, money_tick);
money_timer.addEventListener(TimerEvent.TIMER_COMPLETE, money_complete);
selection.addEventListener(MouseEvent.MOUSE_DOWN, work);
selection.alpha = 0;
reset();
}
public function appear_tick(_arg1:TimerEvent):void{
gotoAndStop((_arg1.target.currentCount + 1));
}
public function hide_order():void{
is_appeared = false;
is_served = true;
idle_timer.reset();
hide_order_timer.reset();
hide_order_timer.start();
if (my_status.current_mood == 0){
particle_good.visible = true;
particle_good.gotoAndStop(1);
particle_good.heart_0.gotoAndPlay(1);
particle_good.heart_1.gotoAndPlay(1);
particle_good.heart_2.gotoAndPlay(1);
particles_timer.reset();
particles_timer.start();
} else {
if (my_status.current_mood == 3){
particle_bad.visible = true;
particle_bad.gotoAndStop(1);
particle_bad.heart_0.gotoAndPlay(1);
particle_bad.heart_1.gotoAndPlay(1);
particle_bad.heart_2.gotoAndPlay(1);
particle_bad.heart_0.heart.gotoAndPlay(10);
particle_bad.heart_1.heart.gotoAndPlay(10);
particle_bad.heart_2.heart.gotoAndPlay(10);
particles_timer.reset();
particles_timer.start();
};
};
my_status.stop_progress();
}
public function show_result_tick(_arg1:TimerEvent):void{
balloon.service_text.alpha = Math.min(1, ((_arg1.target.currentCount - 1) / 11));
if (balloon.tips_text.visible){
balloon.tips_text.alpha = Math.min(1, ((_arg1.target.currentCount - 1) / 11));
};
}
public function enable_mood(_arg1:Boolean):void{
is_mood_enabled = _arg1;
}
public function disappear_complete(_arg1:TimerEvent):void{
balloon.service_text.visible = false;
balloon.tips_text.visible = false;
money_animation.visible = false;
is_active = false;
is_served = false;
visible = false;
}
public function make_pause(_arg1:Boolean):void{
if (_arg1){
if (idle_timer.running){
resume_idle_timer = true;
idle_timer.stop();
} else {
resume_idle_timer = false;
};
if (appear_timer.running){
resume_appear_timer = true;
appear_timer.stop();
} else {
resume_appear_timer = false;
};
} else {
if (resume_idle_timer){
idle_timer.start();
};
if (resume_appear_timer){
appear_timer.start();
};
};
my_status.make_pause(_arg1);
}
public function enable_deliver(_arg1:Boolean):void{
is_deliver_enabled = _arg1;
}
public function particles_complete(_arg1:TimerEvent):void{
particle_bad.visible = false;
particle_bad.stop();
particle_bad.heart_0.stop();
particle_bad.heart_1.stop();
particle_bad.heart_2.stop();
particle_bad.heart_0.heart.stop();
particle_bad.heart_1.heart.stop();
particle_bad.heart_2.heart.stop();
particle_good.visible = false;
particle_good.stop();
particle_good.heart_0.stop();
particle_good.heart_1.stop();
particle_good.heart_2.stop();
}
public function appear_complete(_arg1:TimerEvent):void{
is_appeared = true;
if (is_mood_enabled){
my_status.start_progress();
};
idle_timer.reset();
idle_timer.start();
}
public function update(_arg1:Array, _arg2:machine_table, _arg3:gui_money_bar, _arg4:gui_money_bar):void{
var _local5:int;
var _local6:int;
reset();
table = _arg2;
money_bar = _arg3;
goal_bar = _arg4;
game_audio = (parent.parent.getChildByName("game_audio") as audio);
game_texts = (parent.parent.parent.getChildByName("game_texts") as texts);
gameplay_settings = (parent.parent.getChildByName("game_settings") as GameplaySettings);
available_food = _arg1;
available_characters = null;
available_groups = null;
available_groups_food = null;
available_characters = new Array();
available_groups = new Array();
available_groups_food = new Array();
_local5 = 0;
while (_local5 < available_food.length) {
_local6 = available_groups.indexOf(available_food[_local5].group);
if (_local6 == -1){
available_groups.push(available_food[_local5].group);
available_groups_food.push(new Array(available_food[_local5]));
} else {
available_groups_food[_local6].push(available_food[_local5]);
};
_local5++;
};
available_characters.push(CHARACTER_WOMEN_0);
available_characters.push(CHARACTER_MAN_RAPER);
if (available_groups.indexOf("coffee") != -1){
available_characters.push(CHARACTER_MAN_BUISINESS);
available_characters.push(CHARACTER_WOMEN_BUISINESS);
};
if (available_groups.indexOf("candyfloss") != -1){
available_characters.push(CHARACTER_BOY);
};
if (available_groups.indexOf("popcorn") != -1){
available_characters.push(CHARACTER_GIRL);
};
if (available_groups.indexOf("soda") != -1){
available_characters.push(CHARACTER_MAN_WORKER);
};
if (available_groups.indexOf("ice_cream") != -1){
available_characters.push(CHARACTER_WOMEN_1);
};
}
public function disappear_tick(_arg1:TimerEvent):void{
gotoAndStop((25 - _arg1.target.currentCount));
}
public function work(_arg1:MouseEvent):void{
var _local2:game_cursor;
var _local3:Number;
var _local4:uint;
var _local5:Boolean;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Boolean;
var _local10:String;
var _local11:TextFormat;
if (((!(is_appeared)) || (!(is_deliver_enabled)))){
return;
};
_local2 = (parent.getChildByName("game_cursor") as game_cursor);
if (_local2.description){
_local3 = foods.length;
_local4 = 0;
while (_local4 < foods.length) {
if (((((foods[_local4].visible) && (!(foods[_local4].done_check.visible)))) && ((foods[_local4].description.name == _local2.description.name)))){
_local3 = _local4;
break;
};
_local4++;
};
if (_local3 < foods.length){
game_audio.play_sound("game.cursor_deliver");
foods[_local3].done_check.visible = true;
_local2.clear_cursor();
_local5 = true;
_local4 = 0;
while (_local4 < foods.length) {
if (((foods[_local4].visible) && (!(foods[_local4].done_check.visible)))){
_local5 = false;
break;
};
_local4++;
};
if (_local5){
_local6 = 0.34;
_local7 = 0.82;
_local8 = ((my_status.mood - _local6) / (_local7 - _local6));
_local8 = Math.max(0, _local8);
_local8 = Math.min(1, _local8);
tips = Math.floor((((food_price * _local8) * 0.32) + 0.5));
if ((((_local8 > 0.001)) && ((tips == 0)))){
tips = 1;
};
dispatchEvent(new CustomerEvent(my_status.current_mood, food_price, tips));
_local9 = (money_bar.money >= goal_bar.money);
money_bar.add_money((food_price + tips));
if (((!(_local9)) && ((money_bar.money >= goal_bar.money)))){
goal_bar.set_center_text(game_texts.gamelogic_goal_is_reached);
game_audio.play_sound("game.goal_is_reached");
};
money_animation.visible = true;
_local10 = game_texts.text_plus_money;
_local10 = _local10.replace("%MONEY%", String((food_price + tips)));
money_animation.money.money_text.text = _local10;
_local11 = money_animation.money.money_text.getTextFormat();
_local11.color = make_color(0xFF, 153, 0, 0xFF);
_local11.bold = true;
_local11.size = 34;
_local11.font = null;
money_animation.money.money_text.setTextFormat(_local11);
money_animation.gotoAndStop(1);
money_timer.reset();
money_timer.start();
game_audio.play_sound("game.customer_disappear_good");
hide_order();
};
} else {
game_audio.play_sound("game.cursor_bad");
};
} else {
if (((_local2.ingredients) && ((_local2.ingredients.length > 0)))){
game_audio.play_sound("game.cursor_bad");
};
};
}
public function hide_order_tick(_arg1:TimerEvent):void{
var _local2:uint;
_local2 = 0;
while (_local2 < foods.length) {
foods[_local2].alpha = (1 - ((_arg1.target.currentCount - 1) / 11));
_local2++;
};
}
public function idle_tick(_arg1:TimerEvent):void{
if (((is_appeared) && (is_active))){
if (my_status.is_over){
game_audio.play_sound("game.customer_disappear_bad");
food_price = 0;
tips = 0;
dispatchEvent(new CustomerEvent(my_status.current_mood, food_price, tips));
hide_order();
};
};
}
public function reset():void{
previous_random = 0;
previous_random_counter = 0;
is_active = false;
is_served = false;
is_appeared = false;
character.stop();
money_animation.visible = false;
money_animation.stop();
balloon.service_text.visible = false;
balloon.tips_text.visible = false;
appear_timer.reset();
idle_timer.reset();
hide_order_timer.reset();
show_result_timer.reset();
disappear_timer.reset();
particles_timer.reset();
money_timer.reset();
particle_bad.visible = false;
particle_bad.stop();
particle_bad.heart_0.stop();
particle_bad.heart_1.stop();
particle_bad.heart_2.stop();
particle_bad.heart_0.heart.stop();
particle_bad.heart_1.heart.stop();
particle_bad.heart_2.heart.stop();
particle_good.visible = false;
particle_good.stop();
particle_good.heart_0.stop();
particle_good.heart_1.stop();
particle_good.heart_2.stop();
visible = false;
is_mood_enabled = true;
is_deliver_enabled = true;
stop();
}
public function range_random_character(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:uint;
_local3 = my_math.range_random(_arg1, _arg2);
if (previous_random == _local3){
previous_random_counter++;
if (previous_random_counter >= 2){
_local4 = 0;
while (_local4 < 100) {
_local3 = my_math.range_random(_arg1, _arg2);
if (_local3 != previous_random){
previous_random = _local3;
previous_random_counter = 1;
break;
};
_local4++;
};
};
} else {
previous_random = _local3;
previous_random_counter = 1;
};
return (_local3);
}
public function appear(_arg1:int=9, _arg2:Array=null):void{
var _local3:Array;
var _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:*;
var _local8:int;
var _local9:Boolean;
var _local10:Number;
var _local11:int;
visible = true;
is_active = true;
is_appeared = false;
if ((((_arg1 == CHARACTER_RANDOM)) || ((available_characters.indexOf(_arg1) == -1)))){
current_character = available_characters[range_random_character(0, (available_characters.length - 1))];
} else {
current_character = _arg1;
};
_local3 = new Array();
_local4 = (my_math.range_random(0, 1) == 0);
_local5 = 0;
while (_local5 < available_groups.length) {
_local9 = true;
if ((((current_character == CHARACTER_GIRL)) || ((current_character == CHARACTER_BOY)))){
if (available_groups[_local5] == "coffee"){
_local9 = false;
};
} else {
if ((((current_character == CHARACTER_MAN_BUISINESS)) || ((current_character == CHARACTER_WOMEN_BUISINESS)))){
if ((((((available_groups[_local5] == "candyfloss")) || ((available_groups[_local5] == "popcorn")))) || ((available_groups[_local5] == "soda")))){
_local9 = false;
};
} else {
if (current_character == CHARACTER_MAN_WORKER){
if ((((available_groups[_local5] == "candyfloss")) || ((available_groups[_local5] == "coffee")))){
_local9 = false;
};
};
};
};
if ((((((((((current_character == CHARACTER_GIRL)) || ((current_character == CHARACTER_BOY)))) || ((current_character == CHARACTER_MAN_RAPER)))) || ((current_character == CHARACTER_WOMEN_0)))) || ((current_character == CHARACTER_WOMEN_1)))){
if (((!((available_groups.indexOf("soda") == -1))) && (!((available_groups.indexOf("coffee") == -1))))){
if (available_groups[_local5] == "soda"){
if (_local4){
_local9 = false;
};
} else {
if (available_groups[_local5] == "coffee"){
if (!_local4){
_local9 = false;
};
};
};
};
};
if (_local9){
_local3.push(_local5);
};
_local5++;
};
_local6 = new Array();
if ((((current_character == CHARACTER_WOMEN_0)) || ((current_character == CHARACTER_MAN_RAPER)))){
_local6.push(available_groups.indexOf("cake"));
} else {
if (current_character == CHARACTER_BOY){
_local6.push(available_groups.indexOf("candyfloss"));
} else {
if (current_character == CHARACTER_GIRL){
_local6.push(available_groups.indexOf("popcorn"));
} else {
if ((((current_character == CHARACTER_MAN_BUISINESS)) || ((current_character == CHARACTER_WOMEN_BUISINESS)))){
_local6.push(available_groups.indexOf("coffee"));
} else {
if (current_character == CHARACTER_MAN_WORKER){
_local6.push(available_groups.indexOf("soda"));
} else {
if (current_character == CHARACTER_WOMEN_1){
_local6.push(available_groups.indexOf("ice_cream"));
};
};
};
};
};
};
_local7 = 1;
if (_local3.length == 2){
_local7 = food_count_random_2[food_count_random_index];
} else {
if (_local3.length >= 3){
_local7 = food_count_random_3[food_count_random_index];
};
};
food_count_random_index++;
if (food_count_random_index >= food_count_random_1.length){
food_count_random_index = (food_count_random_index - food_count_random_1.length);
};
if (_arg2){
_local7 = _arg2.length;
};
_local8 = 0;
while (_local6.length < _local7) {
while (true) {
_local10 = _local3[my_math.range_random(0, (_local3.length - 1))];
if (_local6.indexOf(_local10) == -1){
_local6.push(_local10);
break;
};
_local8++;
if (_local8 > 1000){
break;
};
};
if (_local8 > 1000){
trace("error (customer order)!");
break;
};
};
_local6.sort();
food_price = 0;
_local5 = 0;
while (_local5 < foods.length) {
if (_local5 < _local6.length){
foods[_local5].visible = true;
foods[_local5].alpha = 1;
if ((((((((((((Math.random() > 0.35)) && (table.visible))) && (!((table.get_food() == null))))) && (!((table.get_food().description == null))))) && ((table.get_food().description.cost > 0)))) && ((table.get_food().description.group == available_groups[_local6[_local5]])))){
foods[_local5].make_by_description(table.get_food().description);
} else {
if (_arg2){
foods[_local5].make_by_description(_arg2[_local5]);
} else {
_local11 = my_math.range_random(0, (available_groups_food[_local6[_local5]].length - 1));
foods[_local5].make_by_description(available_groups_food[_local6[_local5]][_local11]);
};
};
food_price = (food_price + (foods[_local5].description.cost * gameplay_settings.cost_multiplier));
foods[_local5].x = foods_positions_x[_local5];
foods[_local5].y = foods_positions_y[_local5];
if (((!((foods[_local5].ingredients[0].indexOf("jelly") == -1))) || (!((foods[_local5].ingredients[0].indexOf("cracker") == -1))))){
foods[_local5].y = (foods[_local5].y + 0);
} else {
if (foods[_local5].ingredients[0].indexOf("candyfloss") != -1){
foods[_local5].x = (foods[_local5].x + 1);
foods[_local5].y = (foods[_local5].y - 4);
} else {
if (foods[_local5].ingredients[0].indexOf("popcorn") != -1){
foods[_local5].x = (foods[_local5].x + 1);
foods[_local5].y = (foods[_local5].y - 2);
} else {
if (((!((foods[_local5].ingredients[0].indexOf("soda") == -1))) || (!((foods[_local5].ingredients[0].indexOf("glass") == -1))))){
foods[_local5].x = (foods[_local5].x + 3);
foods[_local5].y = (foods[_local5].y - 0);
} else {
if (foods[_local5].ingredients[0].indexOf("coffee") != -1){
foods[_local5].x = (foods[_local5].x + 2);
foods[_local5].y = (foods[_local5].y + 2);
} else {
if (foods[_local5].ingredients[0].indexOf("ice_cream") != -1){
foods[_local5].x = (foods[_local5].x - 2);
foods[_local5].y = (foods[_local5].y + 2);
} else {
trace("error (balloon food)!");
};
};
};
};
};
};
} else {
foods[_local5].visible = false;
};
_local5++;
};
food_price = Math.floor(food_price);
character.gotoAndStop(current_character);
gotoAndStop(1);
appear_timer.reset();
appear_timer.start();
my_status.reset();
balloon.service_text.alpha = 0;
balloon.tips_text.alpha = 0;
balloon.service_text.visible = false;
balloon.tips_text.visible = false;
particle_bad.visible = false;
particle_good.visible = false;
game_audio.play_sound("game.customer_appear");
}
public function hide_order_complete(_arg1:TimerEvent):void{
var _local2:TextFormat;
var _local3:String;
balloon.service_text.visible = true;
_local2 = balloon.service_text.getTextFormat();
_local2.align = "center";
_local2.bold = true;
_local2.size = 17;
_local2.leading = -5;
_local2.font = null;
if (my_status.current_mood == 0){
balloon.service_text.text = game_texts.text_customer_service_0;
_local2.color = make_color(29, 201, 33, 0xFF);
} else {
if (my_status.current_mood == 1){
balloon.service_text.text = game_texts.text_customer_service_1;
_local2.color = make_color(252, 153, 0, 0xFF);
} else {
if (my_status.current_mood == 2){
balloon.service_text.text = game_texts.text_customer_service_2;
_local2.color = make_color(233, 0, 0, 0xFF);
} else {
balloon.service_text.text = game_texts.text_customer_service_3;
_local2.color = make_color(233, 0, 0, 0xFF);
};
};
};
balloon.service_text.multiline = true;
balloon.service_text.setTextFormat(_local2);
if (tips > 0){
balloon.tips_text.visible = true;
_local3 = game_texts.text_customer_tips;
_local3 = _local3.replace("%MONEY%", String(tips));
balloon.tips_text.text = _local3;
_local2 = balloon.tips_text.getTextFormat();
_local2.color = make_color(0xFF, 150, 0, 0xFF);
_local2.align = "center";
_local2.bold = true;
_local2.size = 16;
_local2.font = null;
balloon.tips_text.setTextFormat(_local2);
};
balloon.service_text.alpha = 0;
balloon.tips_text.alpha = 0;
show_result_timer.reset();
show_result_timer.start();
}
public function money_tick(_arg1:TimerEvent):void{
money_animation.gotoAndStop((_arg1.target.currentCount + 1));
}
public function make_color(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{
var _local5:uint;
_local5 = (((((_arg4 & 0xFF) << 24) | ((_arg1 & 0xFF) << 16)) | ((_arg2 & 0xFF) << 8)) | (_arg3 & 0xFF));
return (_local5);
}
public function show_result_complete(_arg1:TimerEvent):void{
disappear_timer.reset();
disappear_timer.start();
}
public function money_complete(_arg1:TimerEvent):void{
money_animation.visible = false;
}
public function particles_tick(_arg1:TimerEvent):void{
if (particle_good.visible){
particle_good.gotoAndStop((_arg1.target.currentCount + 1));
};
if (particle_bad.visible){
particle_bad.gotoAndStop((_arg1.target.currentCount + 1));
};
}
}
}//package scripts
Section 74
//CustomerEvent (scripts.CustomerEvent)
package scripts {
import flash.events.*;
public dynamic class CustomerEvent extends Event {
public var sales:int;
public var service:int;
public var tips:int;
public static const CUSTOMER_EVENT:String = "CUSTOMER_EVENT";
public function CustomerEvent(_arg1:int, _arg2:int, _arg3:int){
super(CUSTOMER_EVENT);
service = _arg1;
sales = _arg2;
tips = _arg3;
}
}
}//package scripts
Section 75
//distributor_cake (scripts.distributor_cake)
package scripts {
import flash.display.*;
import flash.events.*;
public dynamic class distributor_cake extends distributor_template {
public var cracker_0:MovieClip;
public var selection:MovieClip;
public var cracker_1:MovieClip;
public var jelly:MovieClip;
public function distributor_cake(){
var _local1:*;
super();
ingredient_name = name.slice(String("distributor_").length, name.length);
ingredients = new Array(cracker_0, jelly, cracker_1);
prepare();
for each (_local1 in ingredients) {
if (ingredient_name == "cracker_chocolate"){
_local1.gotoAndStop(1);
} else {
if (ingredient_name == "cracker_fancy"){
_local1.gotoAndStop(2);
} else {
if (ingredient_name == "cracker_waffle"){
_local1.gotoAndStop(3);
} else {
if (ingredient_name == "jelly_green"){
_local1.gotoAndStop(4);
} else {
if (ingredient_name == "jelly_pink"){
_local1.gotoAndStop(5);
} else {
if (ingredient_name == "jelly_red"){
_local1.gotoAndStop(6);
} else {
trace("error (distributor cake)!");
};
};
};
};
};
};
};
selection.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_0);
selection.alpha = 0;
}
public function get_ingredient_0(_arg1:MouseEvent):void{
get_ingredient((ingredient_count - 1), _arg1);
}
}
}//package scripts
Section 76
//distributor_candyfloss (scripts.distributor_candyfloss)
package scripts {
import flash.display.*;
import flash.events.*;
public dynamic class distributor_candyfloss extends distributor_template {
public var candyfloss_stick_3:MovieClip;
public var candyfloss_stick_2:MovieClip;
public var candyfloss_stick_0:MovieClip;
public var candyfloss_stick_4:MovieClip;
public var selection:MovieClip;
public var candyfloss_stick_1:MovieClip;
public function distributor_candyfloss(){
ingredient_name = "candyfloss_stick";
ingredients = new Array(candyfloss_stick_0, candyfloss_stick_1, candyfloss_stick_2, candyfloss_stick_3, candyfloss_stick_4);
prepare();
selection.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_0);
selection.alpha = 0;
}
public function get_ingredient_0(_arg1:MouseEvent):void{
get_ingredient((ingredient_count - 1), _arg1);
}
}
}//package scripts
Section 77
//distributor_coffee (scripts.distributor_coffee)
package scripts {
import flash.display.*;
import flash.events.*;
public dynamic class distributor_coffee extends distributor_template {
public var coffee_cup_0:MovieClip;
public var coffee_cup_2:MovieClip;
public var selection_2:MovieClip;
public var coffee_cup_1:MovieClip;
public var selection_1:MovieClip;
public var selection_0:MovieClip;
public function distributor_coffee(){
ingredient_name = "coffee_cup";
ingredients = new Array(coffee_cup_0, coffee_cup_1, coffee_cup_2);
prepare();
selection_0.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_0);
selection_0.alpha = 0;
selection_1.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_1);
selection_1.alpha = 0;
selection_2.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_2);
selection_2.alpha = 0;
}
public function get_ingredient_0(_arg1:MouseEvent):void{
get_ingredient(0, _arg1);
}
public function get_ingredient_2(_arg1:MouseEvent):void{
get_ingredient(2, _arg1);
}
public function get_ingredient_1(_arg1:MouseEvent):void{
get_ingredient(1, _arg1);
}
}
}//package scripts
Section 78
//distributor_glass (scripts.distributor_glass)
package scripts {
import flash.display.*;
import flash.events.*;
public dynamic class distributor_glass extends distributor_template {
public var glass_0:MovieClip;
public var glass_1:MovieClip;
public var glass_2:MovieClip;
public var selection_2:MovieClip;
public var selection_0:MovieClip;
public var selection_1:MovieClip;
public function distributor_glass(){
ingredient_name = "glass";
ingredients = new Array(glass_0, glass_1, glass_2);
prepare();
selection_0.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_0);
selection_0.alpha = 0;
selection_1.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_1);
selection_1.alpha = 0;
selection_2.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_2);
selection_2.alpha = 0;
}
public function get_ingredient_0(_arg1:MouseEvent):void{
get_ingredient(0, _arg1);
}
public function get_ingredient_2(_arg1:MouseEvent):void{
get_ingredient(2, _arg1);
}
public function get_ingredient_1(_arg1:MouseEvent):void{
get_ingredient(1, _arg1);
}
}
}//package scripts
Section 79
//distributor_ice_cream (scripts.distributor_ice_cream)
package scripts {
import flash.display.*;
import flash.events.*;
public dynamic class distributor_ice_cream extends distributor_template {
public var ice_cream_cup:MovieClip;
public var selection:MovieClip;
public function distributor_ice_cream(){
ingredient_name = "ice_cream_cup";
ingredients = new Array(ice_cream_cup);
prepare();
selection.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_0);
selection.alpha = 0;
}
public function get_ingredient_0(_arg1:MouseEvent):void{
get_ingredient(0, _arg1);
}
}
}//package scripts
Section 80
//distributor_popcorn (scripts.distributor_popcorn)
package scripts {
import flash.display.*;
import flash.events.*;
public dynamic class distributor_popcorn extends distributor_template {
public var popcorn_cup_1:MovieClip;
public var popcorn_cup_2:MovieClip;
public var popcorn_cup_0:MovieClip;
public var selection_1:MovieClip;
public var selection_2:MovieClip;
public var selection_0:MovieClip;
public function distributor_popcorn(){
ingredient_name = "popcorn_cup";
ingredients = new Array(popcorn_cup_0, popcorn_cup_1, popcorn_cup_2);
prepare();
selection_0.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_0);
selection_0.alpha = 0;
selection_1.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_1);
selection_1.alpha = 0;
selection_2.addEventListener(MouseEvent.MOUSE_DOWN, get_ingredient_2);
selection_2.alpha = 0;
}
public function get_ingredient_0(_arg1:MouseEvent):void{
get_ingredient(0, _arg1);
}
public function get_ingredient_2(_arg1:MouseEvent):void{
get_ingredient(2, _arg1);
}
public function get_ingredient_1(_arg1:MouseEvent):void{
get_ingredient(1, _arg1);
}
}
}//package scripts
Section 81
//distributor_template (scripts.distributor_template)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class distributor_template extends MovieClip {
public var appear_timer:Timer;
public var is_enabled:Boolean;
public var ingredient_count:Number;
public var ingredient_name:String;
public var ingredients:Array;
public function distributor_template(){
appear_timer = new Timer(40, 100);
appear_timer.addEventListener(TimerEvent.TIMER, appear_tick);
appear_timer.addEventListener(TimerEvent.TIMER_COMPLETE, appear_complete);
is_enabled = true;
}
public function prepare():void{
var _local1:*;
ingredient_count = ingredients.length;
for each (_local1 in ingredients) {
_local1.gotoAndStop(1);
};
}
public function appear_tick(_arg1:TimerEvent):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:Number;
_local2 = 0.5;
_local3 = 3;
_local4 = (((_arg1.target.currentCount * 40) / 1000) * _local3);
_local5 = 0;
while (_local5 < ingredients.length) {
_local6 = Math.min(1, Math.max(0, (_local4 - (_local5 * _local2))));
ingredients[_local5].alpha = _local6;
_local5++;
};
if (_local4 >= (1 + ((ingredients.length - 1) * _local2))){
_arg1.target.stop();
ingredient_count = ingredients.length;
};
}
public function enable_distributor(_arg1:Boolean){
is_enabled = _arg1;
}
public function get_ingredient(_arg1:Number, _arg2:MouseEvent):void{
var _local3:game_cursor;
var _local4:Number;
var _local5:Number;
var _local6:audio;
var _local7:*;
if (!is_enabled){
return;
};
_local3 = (parent.getChildByName("game_cursor") as game_cursor);
_local4 = ((_arg2.target.x + x) + (_arg2.localX * _arg2.target.scaleX));
_local5 = ((_arg2.target.y + y) + (_arg2.localY * _arg2.target.scaleY));
if ((((ingredient_count > 0)) && (_local3.try_add_ingredient(ingredient_name, _local4, _local5)))){
_local6 = (parent.parent.getChildByName("game_audio") as audio);
_local6.play_sound("game.cursor_good");
ingredients[_arg1].visible = false;
ingredient_count = (ingredient_count - 1);
if (ingredient_count == 0){
for each (_local7 in ingredients) {
_local7.alpha = 0;
_local7.visible = true;
};
appear_timer.reset();
appear_timer.start();
};
};
}
public function reset():void{
var _local1:*;
appear_timer.reset();
for each (_local1 in ingredients) {
_local1.alpha = 1;
_local1.visible = true;
};
ingredient_count = ingredients.length;
}
public function appear_complete(_arg1:TimerEvent):void{
var _local2:*;
for each (_local2 in ingredients) {
_local2.alpha = 1;
_local2.visible = true;
};
ingredient_count = ingredients.length;
}
}
}//package scripts
Section 82
//food (scripts.food)
package scripts {
import flash.display.*;
public dynamic class food extends MovieClip {
public var cracker_0:MovieClip;
public var done_check:MovieClip;
public var description:food_description;
public var candyfloss:MovieClip;
public var cream_ice:MovieClip;
public var center_offset_x:Number;
public var center_offset_y:Number;
public var glass:MovieClip;
public var cream:MovieClip;
public var popcorn:MovieClip;
public var ingredients:Array;
public var coffee:MovieClip;
public var ice_cream:MovieClip;
public var cracker_1:MovieClip;
public var jelly:MovieClip;
public function food(){
mouseChildren = false;
mouseEnabled = false;
clear();
}
public function make_by_ingredients(_arg1:Array, _arg2:Number=0):void{
var _local3:Number;
var _local4:int;
cracker_0.visible = false;
jelly.visible = false;
cracker_1.visible = false;
cream.visible = false;
popcorn.visible = false;
cream_ice.visible = false;
ice_cream.visible = false;
cream_ice.visible = false;
glass.visible = false;
coffee.visible = false;
candyfloss.visible = false;
done_check.visible = false;
ingredients = null;
_local3 = _arg2;
if (_local3 == 0){
_local3 = _arg1.length;
};
ingredients = new Array(_local3);
_local4 = 0;
while (_local4 < _local3) {
ingredients[_local4] = _arg1[_local4];
_local4++;
};
if (ingredients.length == 0){
center_offset_x = 0;
center_offset_y = 0;
return;
};
if (((!((ingredients[0].indexOf("jelly") == -1))) || (!((ingredients[0].indexOf("cracker") == -1))))){
if (ingredients.length >= 1){
cracker_0.visible = true;
center_offset_x = -20;
center_offset_y = -22;
if (ingredients[0] == "cracker_chocolate"){
cracker_0.gotoAndStop(1);
} else {
if (ingredients[0] == "cracker_fancy"){
cracker_0.gotoAndStop(2);
} else {
if (ingredients[0] == "cracker_waffle"){
cracker_0.gotoAndStop(3);
} else {
if (ingredients[0] == "jelly_green"){
cracker_0.gotoAndStop(4);
} else {
if (ingredients[0] == "jelly_pink"){
cracker_0.gotoAndStop(5);
} else {
if (ingredients[0] == "jelly_red"){
cracker_0.gotoAndStop(6);
} else {
trace("error (cake ingredient 0)!");
};
};
};
};
};
};
};
if (ingredients.length >= 2){
jelly.visible = true;
center_offset_x = -20;
center_offset_y = -20;
if (ingredients[1] == "cracker_chocolate"){
jelly.gotoAndStop(1);
} else {
if (ingredients[1] == "cracker_fancy"){
jelly.gotoAndStop(2);
} else {
if (ingredients[1] == "cracker_waffle"){
jelly.gotoAndStop(3);
} else {
if (ingredients[1] == "jelly_green"){
jelly.gotoAndStop(4);
} else {
if (ingredients[1] == "jelly_pink"){
jelly.gotoAndStop(5);
} else {
if (ingredients[1] == "jelly_red"){
jelly.gotoAndStop(6);
} else {
trace("error (cake ingredient 1)!");
};
};
};
};
};
};
};
if (ingredients.length >= 3){
cracker_1.visible = true;
center_offset_x = -20;
center_offset_y = -16;
if (ingredients[2] == "cracker_chocolate"){
cracker_1.gotoAndStop(1);
} else {
if (ingredients[2] == "cracker_fancy"){
cracker_1.gotoAndStop(2);
} else {
if (ingredients[2] == "cracker_waffle"){
cracker_1.gotoAndStop(3);
} else {
if (ingredients[2] == "jelly_green"){
cracker_1.gotoAndStop(4);
} else {
if (ingredients[2] == "jelly_pink"){
cracker_1.gotoAndStop(5);
} else {
if (ingredients[2] == "jelly_red"){
cracker_1.gotoAndStop(6);
} else {
trace("error (cake ingredient 2)!");
};
};
};
};
};
};
};
if (ingredients.length == 4){
cream.visible = true;
center_offset_x = -20;
center_offset_y = -15;
if (ingredients[3] == "cream_yellow"){
cream.gotoAndStop(1);
} else {
if (ingredients[3] == "cream_pink"){
cream.gotoAndStop(2);
} else {
if (ingredients[3] == "cream_chocolate"){
cream.gotoAndStop(3);
} else {
trace("error (cake cream)!");
};
};
};
};
} else {
if (ingredients[0].indexOf("candyfloss") != -1){
candyfloss.visible = true;
center_offset_x = -20;
center_offset_y = -14;
if (ingredients[0] == "candyfloss_stick"){
candyfloss.gotoAndStop(1);
} else {
if (ingredients[0] == "candyfloss"){
candyfloss.gotoAndStop(2);
} else {
trace("error (candyfloss)!");
};
};
} else {
if (ingredients[0].indexOf("popcorn") != -1){
popcorn.visible = true;
center_offset_x = -18;
center_offset_y = -15;
if (ingredients[0] == "popcorn_cup"){
popcorn.gotoAndStop(1);
} else {
if (ingredients[0] == "popcorn_yellow"){
popcorn.gotoAndStop(2);
} else {
if (ingredients[0] == "popcorn_pink"){
popcorn.gotoAndStop(3);
} else {
trace("error (popcorn)!");
};
};
};
} else {
if (((!((ingredients[0].indexOf("soda") == -1))) || (!((ingredients[0].indexOf("glass") == -1))))){
glass.visible = true;
center_offset_x = -19;
center_offset_y = -13;
if (ingredients[0] == "glass"){
glass.gotoAndStop(1);
} else {
if (ingredients[0] == "glass_fanta"){
glass.gotoAndStop(2);
} else {
if (ingredients[0] == "glass_cola"){
glass.gotoAndStop(3);
} else {
if (ingredients[0] == "glass_sprite"){
glass.gotoAndStop(4);
} else {
trace("error (glass)!");
};
};
};
};
} else {
if (ingredients[0].indexOf("coffee") != -1){
coffee.visible = true;
center_offset_x = -18;
center_offset_y = -13;
if (ingredients[0] == "coffee_cup"){
coffee.gotoAndStop(1);
} else {
if (ingredients[0] == "coffee_milk"){
coffee.gotoAndStop(2);
} else {
if (ingredients[0] == "coffee_black"){
coffee.gotoAndStop(3);
} else {
trace("error (coffee)!");
};
};
};
} else {
if (ingredients[0].indexOf("ice_cream") != -1){
ice_cream.visible = true;
center_offset_x = -19;
center_offset_y = -14;
if (ingredients[0] == "ice_cream_cup"){
ice_cream.gotoAndStop(1);
} else {
if (ingredients[0] == "ice_cream_chocolate"){
ice_cream.gotoAndStop(2);
} else {
if (ingredients[0] == "ice_cream_white"){
ice_cream.gotoAndStop(3);
} else {
if (ingredients[0] == "ice_cream_pink"){
ice_cream.gotoAndStop(4);
} else {
trace("error (ice cream)!");
};
};
};
};
if (ingredients.length >= 2){
cream_ice.visible = true;
if (ingredients[1] == "cream_ice_yellow"){
cream_ice.gotoAndStop(1);
} else {
if (ingredients[1] == "cream_ice_pink"){
cream_ice.gotoAndStop(2);
} else {
if (ingredients[1] == "cream_ice_chocolate"){
cream_ice.gotoAndStop(3);
} else {
trace("error (ice cream - cream)!");
};
};
};
};
} else {
trace("error (unknown food)!");
};
};
};
};
};
};
}
public function make_by_description(_arg1:food_description):void{
description = _arg1;
make_by_ingredients(description.ingredients);
}
public function clear():void{
description = null;
ingredients = null;
cracker_0.visible = false;
jelly.visible = false;
cracker_1.visible = false;
cream.visible = false;
popcorn.visible = false;
cream_ice.visible = false;
ice_cream.visible = false;
cream_ice.visible = false;
glass.visible = false;
coffee.visible = false;
candyfloss.visible = false;
done_check.visible = false;
cracker_0.stop();
jelly.stop();
cracker_1.stop();
cream.stop();
popcorn.stop();
cream_ice.stop();
ice_cream.stop();
cream_ice.stop();
glass.stop();
coffee.stop();
candyfloss.stop();
done_check.stop();
}
}
}//package scripts
Section 83
//food_description (scripts.food_description)
package scripts {
public class food_description {
public var ingredients:Array;
public var name:String;
public var cost:Number;
public var group:String;
public function food_description(_arg1:String, _arg2:String, _arg3:Number, _arg4:Array){
group = _arg1;
name = _arg2;
cost = _arg3;
ingredients = _arg4;
}
}
}//package scripts
Section 84
//game_cursor (scripts.game_cursor)
package scripts {
import flash.events.*;
import flash.ui.*;
public dynamic class game_cursor extends food {
public var all_food:Array;
public var game_settings:GameSettings;
public function game_cursor(_arg1:GameSettings, _arg2:Array){
name = "game_cursor";
game_settings = _arg1;
all_food = _arg2;
}
public function create():void{
if (!game_settings.is_mail_ru_version){
stage.addEventListener(Event.MOUSE_LEAVE, cursor_hide);
stage.addEventListener(MouseEvent.MOUSE_MOVE, cursor_follow);
};
}
public function make_pause(_arg1:Boolean):void{
if (_arg1){
if (!game_settings.is_mail_ru_version){
stage.removeEventListener(Event.MOUSE_LEAVE, cursor_hide);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, cursor_follow);
};
visible = false;
if (((ingredients) && ((ingredients.length > 0)))){
if (!game_settings.is_mail_ru_version){
Mouse.show();
};
};
} else {
if (!game_settings.is_mail_ru_version){
stage.addEventListener(Event.MOUSE_LEAVE, cursor_hide);
stage.addEventListener(MouseEvent.MOUSE_MOVE, cursor_follow);
};
visible = true;
if (((ingredients) && ((ingredients.length > 0)))){
if (!game_settings.is_mail_ru_version){
Mouse.hide();
};
};
};
}
public function cursor_hide(_arg1:Event):void{
visible = false;
}
public function try_add_ingredient(_arg1:String, _arg2:Number, _arg3:Number):Boolean{
var _local4:Array;
var _local5:*;
var _local6:int;
var _local7:Array;
var _local8:Array;
var _local9:int;
var _local10:Boolean;
var _local11:int;
var _local12:Boolean;
var _local13:int;
_local4 = new Array();
if (ingredients){
if (ingredients.length == 1){
if ((((_arg1.indexOf("jelly") == -1)) && (!((_arg1.indexOf("ice_cream") == -1))))){
_local4.push(_arg1);
_local4.push(ingredients[0]);
} else {
_local4.push(ingredients[0]);
_local4.push(_arg1);
};
} else {
_local6 = 0;
while (_local6 < ingredients.length) {
_local4.push(ingredients[_local6]);
_local6++;
};
_local4.push(_arg1);
};
} else {
_local4.push(_arg1);
};
_local5 = 0;
while (_local5 < 2) {
_local6 = 0;
while (_local6 < all_food.length) {
_local7 = all_food[_local6].ingredients;
if ((((((_local5 == 0)) && ((_local7.length == _local4.length)))) || ((((_local5 == 1)) && ((_local7.length > _local4.length)))))){
_local8 = new Array(_local7.length);
_local9 = 0;
while (_local9 < _local8.length) {
_local8[_local9] = true;
_local9++;
};
_local10 = true;
_local11 = 0;
while (_local11 < _local4.length) {
_local12 = false;
_local13 = 0;
while (_local13 < _local7.length) {
if (((_local8[_local13]) && ((_local7[_local13] == _local4[_local11])))){
_local8[_local13] = false;
_local12 = true;
break;
};
_local13++;
};
if (!_local12){
_local10 = false;
break;
};
_local11++;
};
if (_local10){
if (_local4.length < 3){
make_by_ingredients(_local4);
} else {
make_by_ingredients(_local7, _local4.length);
};
if (_local7.length == _local4.length){
description = all_food[_local6];
} else {
description = null;
};
x = (_arg2 + center_offset_x);
y = (_arg3 + center_offset_y);
startDrag();
if (!game_settings.is_mail_ru_version){
Mouse.hide();
};
return (true);
};
};
_local6++;
};
_local5++;
};
return (false);
}
public function clear_cursor():void{
clear();
stopDrag();
if (!game_settings.is_mail_ru_version){
Mouse.show();
};
}
public function cursor_follow(_arg1:MouseEvent):void{
if (!visible){
visible = true;
};
}
}
}//package scripts
Section 85
//game_window (scripts.game_window)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class game_window extends MovieClip {
public var is_visible:Boolean;
public var title:window_title;
public var show_timer:Timer;
public var is_show_delay:Boolean;
public function game_window(){
visible = false;
is_visible = false;
is_show_delay = false;
show_timer = new Timer(40, 15);
show_timer.addEventListener(TimerEvent.TIMER, show_tick);
show_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_complete);
}
public function show_complete(_arg1:TimerEvent):void{
if (is_visible){
alpha = 1;
} else {
alpha = 0;
visible = false;
};
}
public function show_window(_arg1:Boolean, _arg2:Boolean):void{
is_visible = _arg1;
is_show_delay = _arg2;
alpha = (is_visible) ? 0 : 1;
show_timer.reset();
if (((!(is_visible)) && (_arg2))){
show_timer.repeatCount = 150;
} else {
show_timer.repeatCount = 15;
};
show_timer.start();
visible = true;
}
public function show_tick(_arg1:TimerEvent):void{
if (is_visible){
if (is_show_delay){
alpha = Math.min(1, Math.max(0, ((_arg1.target.currentCount - 5) / 10)));
} else {
alpha = Math.min(1, Math.max(0, (_arg1.target.currentCount / 10)));
};
} else {
if (is_show_delay){
alpha = Math.min(1, Math.max(0, (1 - (_arg1.target.currentCount / 100))));
} else {
alpha = Math.min(1, Math.max(0, (1 - (_arg1.target.currentCount / 5))));
};
};
}
}
}//package scripts
Section 86
//gameplay (scripts.gameplay)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class gameplay extends Sprite {
public var tutorial_arrow_coffee_cup:window_tutorial_arrow;
public var machine_cream_pink:machine_cream_pink;
public var clock:scene_clock;
public var customer_0:customer;
public var customer_1:customer;
public var menu_button:button_ingame_menu;
public var customer_2:customer;
public var distributor_cracker_fancy:distributor_cake;
public var distributor_ice_cream_white:distributor_ice_cream;
public var available_food:Array;
public var gameplay_settings:GameplaySettings;
public var tutorial_status:int;
public var machine_candyfloss:machine_candyfloss;
public var machine_ice_cream_pink:machine_ice_cream_pink;
public var all_food:Array;
public var distributor_jelly_red:distributor_cake;
public var game_texts:texts;
public var tutorial_arrow_jam_apple:window_tutorial_arrow;
public var next_customer_time:Number;
public var tutorial_arrow_customer:window_tutorial_arrow;
public var machine_ice_cream_white:machine_ice_cream_white;
public var customers:Array;
public var distributor_jelly_pink:distributor_cake;
public var tutorial_arrow_cracker_waffle:window_tutorial_arrow;
public var distributor_ice_cream_pink:distributor_ice_cream;
public var distributor_candyfloss:distributor_candyfloss;
public var was_cake_tutorial:Boolean;
public var distributor_ice_cream_chocolate:distributor_ice_cream;
public var distributor_cracker_waffle:distributor_cake;
public var machine_coffee_milk:machine_coffee_milk;
public var gui_money:gui_money_bar;
public var machine_coffee_black:machine_coffee_black;
public var machine_cream_chocolate:machine_cream_chocolate;
public var total_service:int;
public var is_cursor_created:Boolean;
public var tutorial_arrow_customer_coffee:window_tutorial_arrow;
public var machine_popcorn_yellow:machine_popcorn_yellow;
public var tutorial_arrow_coffee_machine_0:window_tutorial_arrow;
public var tutorial_arrow_coffee_machine_1:window_tutorial_arrow;
public var distributor_jelly_green:distributor_cake;
public var machine_ice_cream_chocolate:machine_ice_cream_chocolate;
public var machine_count:int;
public var idle_timer:Timer;
public var is_day_over:Boolean;
public var was_coffee_tutorial:Boolean;
public var day_is_over:gameplay_day_is_over;
public var total_customers:int;
public var distributor_coffee:distributor_coffee;
public var machine_dustbin:machine_dustbin;
public var background:scene_background;
public var picture_0:MovieClip;
public var picture_1:MovieClip;
public var palm:MovieClip;
public var distributor_glass:distributor_glass;
public var distributor_popcorn:distributor_popcorn;
public var tips:int;
public var game_audio:audio;
public var tutorial_arrow_cracker_chocolate:window_tutorial_arrow;
public var cursor:game_cursor;
public var sales:int;
public var machine_popcorn_pink:machine_popcorn_pink;
public var machine_soda_cola:machine_soda_cola;
public var gui_goal:gui_money_bar;
public var distributor_cracker_chocolate:distributor_cake;
public var max_customer_count:int;
public var cake_bar:MovieClip;
public var tutorial_arrow_dustbin:window_tutorial_arrow;
public var available_machines:Array;
public var machine_cream_yellow:machine_cream_yellow;
public var game_settings:GameSettings;
public var machine_soda_fanta:machine_soda_fanta;
public var machine_table:machine_table;
public var served_customers:int;
public var current_day:int;
public var tutorial_window:window_tutorial;
public var machine_soda_sprite:machine_soda_sprite;
public function gameplay(_arg1:GameSettings){
var _local2:int;
super();
x = 320;
y = 240;
game_settings = _arg1;
remove_mouse_events(DisplayObjectContainer(this));
generate_all_food();
idle_timer = new Timer(80, 0);
idle_timer.addEventListener(TimerEvent.TIMER, idle_tick);
customers = new Array(customer(customer_0), customer(customer_1), customer(customer_2));
_local2 = 0;
while (_local2 < customers.length) {
customers[_local2].addEventListener(CustomerEvent.CUSTOMER_EVENT, customer_event_listener);
_local2++;
};
day_is_over.addEventListener("day_is_over", day_is_over_listener);
menu_button.addEventListener("button_click", button_menu_click);
is_cursor_created = false;
}
public function start_day(_arg1:int, _arg2:int, _arg3:Boolean, _arg4:Boolean):void{
var _local5:int;
if (!is_cursor_created){
is_cursor_created = true;
cursor = new game_cursor(game_settings, all_food);
addChild(cursor);
cursor.create();
};
current_day = _arg1;
was_cake_tutorial = _arg3;
was_coffee_tutorial = _arg4;
game_audio = (parent.getChildByName("game_audio") as audio);
game_texts = (parent.parent.getChildByName("game_texts") as texts);
gameplay_settings = (parent.getChildByName("game_settings") as GameplaySettings);
menu_button.game_audio = game_audio;
menu_button.set_text(game_texts.text_menu);
menu_button.update();
day_is_over.visible = false;
day_is_over.set_text(game_texts.text_day_is_over);
cursor.clear_cursor();
cursor.visible = true;
available_machines = null;
available_machines = new Array();
available_machines.push("dustbin");
available_machines.push("table");
available_machines.push("coffee_black");
available_machines.push("candyfloss");
available_machines.push("soda_cola");
available_machines.push("soda_fanta");
available_machines.push("soda_sprite");
available_machines.push("coffee_milk");
available_machines.push("ice_cream_pink");
available_machines.push("ice_cream_white");
available_machines.push("ice_cream_chocolate");
available_machines.push("popcorn_yellow");
available_machines.push("popcorn_pink");
available_machines.push("cream_yellow");
available_machines.push("cream_pink");
available_machines.push("cream_chocolate");
available_machines = available_machines.slice(0, (1 + int(Math.floor(gameplay_settings.get_machine_count(current_day)))));
update_machines();
update_distributors();
update_available_food();
gameplay_settings.update(available_machines);
clock.update();
gui_money.set_left_text(game_texts.gamelogic_money);
gui_goal.set_left_text(game_texts.gamelogic_goal);
gui_money.reset();
gui_goal.reset();
gui_goal.set_money(gameplay_settings.goals[current_day]);
customers[0].update(available_food, machine_table, gui_money, gui_goal);
customers[1].update(available_food, machine_table, gui_money, gui_goal);
customers[2].update(available_food, machine_table, gui_money, gui_goal);
machine_count = (available_machines.length - 1);
if (machine_count == 0){
if (_arg1 == 0){
max_customer_count = 1;
} else {
max_customer_count = 2;
};
} else {
max_customer_count = 3;
};
next_customer_time = (3 + my_math.lerp(0, 2, my_math.clamp_unit(((machine_count - Math.min(machine_count, 5)) / 10))));
is_day_over = false;
sales = 0;
tips = 0;
total_service = 0;
total_customers = 0;
served_customers = 0;
tutorial_status = 0;
idle_timer.reset();
idle_timer.start();
_local5 = 0;
if ((((_arg1 == 0)) && (!(was_cake_tutorial)))){
tutorial_status = 1;
clock.make_pause(true);
menu_button.enable_button(false);
tutorial_window.update(game_audio, game_texts, 0, -50, game_texts.tutorial_introduction, true);
tutorial_window.show_window(true, 1.5);
distributor_jelly_green.enable_distributor(false);
distributor_jelly_red.enable_distributor(false);
distributor_jelly_pink.enable_distributor(false);
distributor_cracker_chocolate.enable_distributor(false);
distributor_cracker_waffle.enable_distributor(false);
distributor_cracker_fancy.enable_distributor(false);
machine_dustbin.enable_machine(false);
_local5 = 0;
while (_local5 < customers.length) {
customers[_local5].enable_mood(false);
customers[_local5].enable_deliver(false);
_local5++;
};
} else {
if (((!(was_coffee_tutorial)) && (machine_coffee_black.visible))){
tutorial_status = 100;
clock.make_pause(true);
menu_button.enable_button(false);
tutorial_window.update(game_audio, game_texts, 0, -50, game_texts.tutorial_coffee, true);
tutorial_window.show_window(true, 1.5);
distributor_jelly_green.enable_distributor(false);
distributor_jelly_red.enable_distributor(false);
distributor_jelly_pink.enable_distributor(false);
distributor_cracker_chocolate.enable_distributor(false);
distributor_cracker_waffle.enable_distributor(false);
distributor_cracker_fancy.enable_distributor(false);
machine_dustbin.enable_machine(false);
machine_table.enable_machine(false);
machine_coffee_black.enable_machine(false);
distributor_coffee.enable_distributor(false);
_local5 = 0;
while (_local5 < customers.length) {
customers[_local5].enable_mood(false);
customers[_local5].enable_deliver(false);
_local5++;
};
};
};
}
public function update_available_food():void{
available_food = null;
available_food = new Array();
available_food.push(get_food("cake_00"));
available_food.push(get_food("cake_01"));
available_food.push(get_food("cake_02"));
available_food.push(get_food("cake_03"));
available_food.push(get_food("cake_04"));
available_food.push(get_food("cake_05"));
available_food.push(get_food("cake_06"));
available_food.push(get_food("cake_07"));
available_food.push(get_food("cake_08"));
available_food.push(get_food("cake_09"));
available_food.push(get_food("cake_10"));
available_food.push(get_food("cake_11"));
available_food.push(get_food("cake_12"));
available_food.push(get_food("cake_13"));
available_food.push(get_food("cake_14"));
available_food.push(get_food("cake_15"));
available_food.push(get_food("cake_16"));
available_food.push(get_food("cake_17"));
if (available_machines.indexOf("cream_chocolate") != -1){
available_food.push(get_food("cake_00_with_cream_chocolate"));
available_food.push(get_food("cake_01_with_cream_chocolate"));
available_food.push(get_food("cake_02_with_cream_chocolate"));
available_food.push(get_food("cake_03_with_cream_chocolate"));
available_food.push(get_food("cake_04_with_cream_chocolate"));
available_food.push(get_food("cake_05_with_cream_chocolate"));
available_food.push(get_food("cake_06_with_cream_chocolate"));
available_food.push(get_food("cake_07_with_cream_chocolate"));
available_food.push(get_food("cake_08_with_cream_chocolate"));
available_food.push(get_food("cake_09_with_cream_chocolate"));
available_food.push(get_food("cake_10_with_cream_chocolate"));
available_food.push(get_food("cake_11_with_cream_chocolate"));
available_food.push(get_food("cake_12_with_cream_chocolate"));
available_food.push(get_food("cake_13_with_cream_chocolate"));
available_food.push(get_food("cake_14_with_cream_chocolate"));
available_food.push(get_food("cake_15_with_cream_chocolate"));
available_food.push(get_food("cake_16_with_cream_chocolate"));
available_food.push(get_food("cake_17_with_cream_chocolate"));
};
if (available_machines.indexOf("cream_yellow") != -1){
available_food.push(get_food("cake_00_with_cream_yellow"));
available_food.push(get_food("cake_01_with_cream_yellow"));
available_food.push(get_food("cake_02_with_cream_yellow"));
available_food.push(get_food("cake_03_with_cream_yellow"));
available_food.push(get_food("cake_04_with_cream_yellow"));
available_food.push(get_food("cake_05_with_cream_yellow"));
available_food.push(get_food("cake_06_with_cream_yellow"));
available_food.push(get_food("cake_07_with_cream_yellow"));
available_food.push(get_food("cake_08_with_cream_yellow"));
available_food.push(get_food("cake_09_with_cream_yellow"));
available_food.push(get_food("cake_10_with_cream_yellow"));
available_food.push(get_food("cake_11_with_cream_yellow"));
available_food.push(get_food("cake_12_with_cream_yellow"));
available_food.push(get_food("cake_13_with_cream_yellow"));
available_food.push(get_food("cake_14_with_cream_yellow"));
available_food.push(get_food("cake_15_with_cream_yellow"));
available_food.push(get_food("cake_16_with_cream_yellow"));
available_food.push(get_food("cake_17_with_cream_yellow"));
};
if (available_machines.indexOf("cream_pink") != -1){
available_food.push(get_food("cake_00_with_cream_pink"));
available_food.push(get_food("cake_01_with_cream_pink"));
available_food.push(get_food("cake_02_with_cream_pink"));
available_food.push(get_food("cake_03_with_cream_pink"));
available_food.push(get_food("cake_04_with_cream_pink"));
available_food.push(get_food("cake_05_with_cream_pink"));
available_food.push(get_food("cake_06_with_cream_pink"));
available_food.push(get_food("cake_07_with_cream_pink"));
available_food.push(get_food("cake_08_with_cream_pink"));
available_food.push(get_food("cake_09_with_cream_pink"));
available_food.push(get_food("cake_10_with_cream_pink"));
available_food.push(get_food("cake_11_with_cream_pink"));
available_food.push(get_food("cake_12_with_cream_pink"));
available_food.push(get_food("cake_13_with_cream_pink"));
available_food.push(get_food("cake_14_with_cream_pink"));
available_food.push(get_food("cake_15_with_cream_pink"));
available_food.push(get_food("cake_16_with_cream_pink"));
available_food.push(get_food("cake_17_with_cream_pink"));
};
if (available_machines.indexOf("candyfloss") != -1){
available_food.push(get_food("candyfloss"));
};
if (available_machines.indexOf("coffee_milk") != -1){
available_food.push(get_food("coffee_milk"));
};
if (available_machines.indexOf("coffee_black") != -1){
available_food.push(get_food("coffee_black"));
};
if (available_machines.indexOf("soda_cola") != -1){
available_food.push(get_food("glass_cola"));
};
if (available_machines.indexOf("soda_fanta") != -1){
available_food.push(get_food("glass_fanta"));
};
if (available_machines.indexOf("soda_sprite") != -1){
available_food.push(get_food("glass_sprite"));
};
if (available_machines.indexOf("popcorn_pink") != -1){
available_food.push(get_food("popcorn_pink"));
};
if (available_machines.indexOf("popcorn_yellow") != -1){
available_food.push(get_food("popcorn_yellow"));
};
if (available_machines.indexOf("ice_cream_chocolate") != -1){
available_food.push(get_food("ice_cream_chocolate"));
};
if (available_machines.indexOf("ice_cream_white") != -1){
available_food.push(get_food("ice_cream_white"));
};
if (available_machines.indexOf("ice_cream_pink") != -1){
available_food.push(get_food("ice_cream_pink"));
};
if (available_machines.indexOf("cream_chocolate") != -1){
available_food.push(get_food("ice_cream_chocolate_with_cream_chocolate"));
available_food.push(get_food("ice_cream_pink_with_cream_chocolate"));
available_food.push(get_food("ice_cream_white_with_cream_chocolate"));
};
if (available_machines.indexOf("cream_yellow") != -1){
available_food.push(get_food("ice_cream_chocolate_with_cream_yellow"));
available_food.push(get_food("ice_cream_pink_with_cream_yellow"));
available_food.push(get_food("ice_cream_white_with_cream_yellow"));
};
if (available_machines.indexOf("cream_pink") != -1){
available_food.push(get_food("ice_cream_chocolate_with_cream_pink"));
available_food.push(get_food("ice_cream_pink_with_cream_pink"));
available_food.push(get_food("ice_cream_white_with_cream_pink"));
};
}
public function make_pause(_arg1:Boolean):void{
var _local2:int;
clock.make_pause(_arg1);
cursor.make_pause(_arg1);
_local2 = 0;
while (_local2 < customers.length) {
customers[_local2].make_pause(_arg1);
_local2++;
};
machine_candyfloss.make_pause(_arg1);
machine_coffee_black.make_pause(_arg1);
machine_coffee_milk.make_pause(_arg1);
machine_cream_chocolate.make_pause(_arg1);
machine_cream_pink.make_pause(_arg1);
machine_cream_yellow.make_pause(_arg1);
machine_ice_cream_chocolate.make_pause(_arg1);
machine_ice_cream_white.make_pause(_arg1);
machine_ice_cream_pink.make_pause(_arg1);
machine_popcorn_pink.make_pause(_arg1);
machine_popcorn_yellow.make_pause(_arg1);
machine_soda_cola.make_pause(_arg1);
machine_soda_fanta.make_pause(_arg1);
machine_soda_sprite.make_pause(_arg1);
if (_arg1){
menu_button.enable_button(false);
idle_timer.stop();
} else {
menu_button.enable_button(true);
idle_timer.start();
};
}
public function update_distributors():void{
var _local1:*;
_local1 = new Array();
if (((((!((available_machines.indexOf("soda_cola") == -1))) || (!((available_machines.indexOf("soda_fanta") == -1))))) || (!((available_machines.indexOf("soda_sprite") == -1))))){
_local1.push("glass");
};
if (((!((available_machines.indexOf("popcorn_pink") == -1))) || (!((available_machines.indexOf("popcorn_yellow") == -1))))){
_local1.push("popcorn");
};
if (available_machines.indexOf("ice_cream_chocolate") != -1){
_local1.push("ice_cream_chocolate");
};
if (available_machines.indexOf("ice_cream_pink") != -1){
_local1.push("ice_cream_pink");
};
if (available_machines.indexOf("ice_cream_white") != -1){
_local1.push("ice_cream_white");
};
if (((!((available_machines.indexOf("coffee_milk") == -1))) || (!((available_machines.indexOf("coffee_black") == -1))))){
_local1.push("coffee");
};
if (available_machines.indexOf("candyfloss") != -1){
_local1.push("candyfloss");
};
distributor_jelly_green.reset();
distributor_jelly_red.reset();
distributor_jelly_pink.reset();
distributor_cracker_chocolate.reset();
distributor_cracker_waffle.reset();
distributor_cracker_fancy.reset();
if (_local1.indexOf("glass") != -1){
distributor_glass.visible = true;
distributor_glass.reset();
} else {
distributor_glass.visible = false;
};
if (_local1.indexOf("popcorn") != -1){
distributor_popcorn.visible = true;
distributor_popcorn.reset();
} else {
distributor_popcorn.visible = false;
};
if (_local1.indexOf("ice_cream_chocolate") != -1){
distributor_ice_cream_chocolate.visible = true;
distributor_ice_cream_chocolate.reset();
} else {
distributor_ice_cream_chocolate.visible = false;
};
if (_local1.indexOf("ice_cream_pink") != -1){
distributor_ice_cream_pink.visible = true;
distributor_ice_cream_pink.reset();
} else {
distributor_ice_cream_pink.visible = false;
};
if (_local1.indexOf("ice_cream_white") != -1){
distributor_ice_cream_white.visible = true;
distributor_ice_cream_white.reset();
} else {
distributor_ice_cream_white.visible = false;
};
if (_local1.indexOf("coffee") != -1){
distributor_coffee.visible = true;
distributor_coffee.reset();
} else {
distributor_coffee.visible = false;
};
if (_local1.indexOf("candyfloss") != -1){
distributor_candyfloss.visible = true;
distributor_candyfloss.reset();
} else {
distributor_candyfloss.visible = false;
};
}
public function idle_tick(_arg1:TimerEvent):void{
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Array;
var _local8:int;
_local2 = 0;
if (tutorial_status == 1){
if (tutorial_window.is_mouse_pressed){
tutorial_status = 2;
tutorial_window.show_window(false);
};
} else {
if (tutorial_status == 2){
if (!tutorial_window.visible){
customers[0].appear(customer.CHARACTER_WOMEN_0, [get_food("cake_13")]);
total_customers++;
tutorial_status = 3;
tutorial_window.update(game_audio, game_texts, 169, -45, game_texts.tutorial_cracker_0, false);
tutorial_window.show_window(true, 0.5);
tutorial_arrow_cracker_waffle.show_window(true, 0.5);
distributor_cracker_waffle.enable_distributor(true);
};
} else {
if (tutorial_status == 3){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 1)))){
tutorial_status = 4;
tutorial_window.show_window(false);
tutorial_arrow_cracker_waffle.show_window(false);
distributor_cracker_waffle.enable_distributor(false);
};
} else {
if (tutorial_status == 4){
if (!tutorial_window.visible){
tutorial_status = 5;
tutorial_window.update(game_audio, game_texts, 116, -103, game_texts.tutorial_jelly, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_jam_apple.show_window(true, 0);
distributor_jelly_green.enable_distributor(true);
};
} else {
if (tutorial_status == 5){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 2)))){
tutorial_status = 6;
tutorial_window.show_window(false);
tutorial_arrow_jam_apple.show_window(false);
distributor_jelly_green.enable_distributor(false);
};
} else {
if (tutorial_status == 6){
if (!tutorial_window.visible){
tutorial_status = 7;
tutorial_window.update(game_audio, game_texts, 118, -51, game_texts.tutorial_cracker_1, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_cracker_chocolate.show_window(true, 0);
distributor_cracker_chocolate.enable_distributor(true);
};
} else {
if (tutorial_status == 7){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 3)))){
tutorial_status = 8;
tutorial_window.show_window(false);
tutorial_arrow_cracker_chocolate.show_window(false);
distributor_cracker_chocolate.enable_distributor(false);
};
} else {
if (tutorial_status == 8){
if (!tutorial_window.visible){
tutorial_status = 9;
tutorial_window.update(game_audio, game_texts, -24, 21, game_texts.tutorial_deliver_simple, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_customer.show_window(true, 0);
customers[0].enable_deliver(true);
};
} else {
if (tutorial_status == 9){
if (((!(cursor.ingredients)) || ((cursor.ingredients.length == 0)))){
tutorial_status = 10;
tutorial_window.show_window(false);
tutorial_arrow_customer.show_window(false);
customers[0].enable_deliver(false);
};
} else {
if (tutorial_status == 10){
if (!tutorial_window.visible){
tutorial_status = 11;
tutorial_window.update(game_audio, game_texts, 116, -103, game_texts.tutorial_make_cake, false);
tutorial_window.show_window(true, 1.5);
tutorial_arrow_jam_apple.show_window(true, 1.5);
distributor_jelly_green.enable_distributor(true);
};
} else {
if (tutorial_status == 11){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 1)))){
tutorial_status = 12;
tutorial_window.show_window(false);
tutorial_arrow_jam_apple.show_window(false);
distributor_jelly_green.enable_distributor(false);
};
} else {
if (tutorial_status == 12){
if (!tutorial_window.visible){
tutorial_status = 13;
tutorial_window.update(game_audio, game_texts, -123, -37, game_texts.tutorial_dustbin, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_dustbin.show_window(true, 0);
machine_dustbin.enable_machine(true);
};
} else {
if (tutorial_status == 13){
if (((!(cursor.ingredients)) || ((cursor.ingredients.length == 0)))){
tutorial_status = 14;
tutorial_window.show_window(false);
tutorial_arrow_dustbin.show_window(false);
machine_dustbin.enable_machine(false);
};
} else {
if (tutorial_status == 14){
if (!tutorial_window.visible){
tutorial_status = 15;
tutorial_window.update(game_audio, game_texts, 0, -50, game_texts.tutorial_serve_customers, true);
tutorial_window.show_window(true, 1);
};
} else {
if (tutorial_status == 15){
if (tutorial_window.is_mouse_pressed){
was_cake_tutorial = true;
tutorial_status = 0;
tutorial_window.show_window(false);
clock.make_pause(false);
menu_button.enable_button(true);
distributor_jelly_green.enable_distributor(true);
distributor_jelly_red.enable_distributor(true);
distributor_jelly_pink.enable_distributor(true);
distributor_cracker_chocolate.enable_distributor(true);
distributor_cracker_waffle.enable_distributor(true);
distributor_cracker_fancy.enable_distributor(true);
machine_dustbin.enable_machine(true);
_local2 = 0;
while (_local2 < customers.length) {
customers[_local2].enable_deliver(true);
_local2++;
};
next_customer_time = 2.2;
};
} else {
if (tutorial_status == 100){
if (tutorial_window.is_mouse_pressed){
tutorial_status = 101;
tutorial_window.show_window(false);
};
} else {
if (tutorial_status == 101){
if (!tutorial_window.visible){
customers[0].appear(customer.CHARACTER_MAN_BUISINESS, [get_food("coffee_black")]);
total_customers++;
tutorial_status = 102;
tutorial_window.update(game_audio, game_texts, 29, 36, game_texts.tutorial_coffee_cup_get_0, false);
tutorial_window.show_window(true, 1);
tutorial_arrow_coffee_cup.show_window(true, 1);
distributor_coffee.enable_distributor(true);
};
} else {
if (tutorial_status == 102){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 1)))){
tutorial_status = 103;
tutorial_window.show_window(false);
tutorial_arrow_coffee_cup.show_window(false);
distributor_coffee.enable_distributor(false);
};
} else {
if (tutorial_status == 103){
if (!tutorial_window.visible){
tutorial_status = 104;
tutorial_window.update(game_audio, game_texts, -105, -34, game_texts.tutorial_coffee_cup_put_0, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_coffee_machine_0.show_window(true, 0);
machine_coffee_black.enable_machine(true);
};
} else {
if (tutorial_status == 104){
if (((!(cursor.ingredients)) || ((cursor.ingredients.length == 0)))){
tutorial_status = 105;
tutorial_window.show_window(false);
tutorial_arrow_coffee_machine_0.show_window(false);
machine_coffee_black.enable_machine(false);
};
} else {
if (tutorial_status == 105){
if (!tutorial_window.visible){
tutorial_status = 106;
tutorial_window.update(game_audio, game_texts, -107, 1, game_texts.tutorial_coffee_done_0, false);
tutorial_window.show_window(true, 3.1);
tutorial_arrow_coffee_machine_0.show_window(true, 3.1);
machine_coffee_black.enable_machine(true);
};
} else {
if (tutorial_status == 106){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 1)))){
tutorial_status = 107;
tutorial_arrow_coffee_machine_0.show_window(false);
tutorial_arrow_customer.show_window(true, 0);
machine_coffee_black.enable_machine(false);
customers[0].enable_deliver(true);
};
} else {
if (tutorial_status == 107){
if (((!(cursor.ingredients)) || ((cursor.ingredients.length == 0)))){
tutorial_status = 108;
tutorial_window.show_window(false);
tutorial_arrow_customer.show_window(false);
customers[0].enable_deliver(false);
};
} else {
if (tutorial_status == 108){
if (!tutorial_window.visible){
tutorial_status = 109;
customers[1].appear(customer.CHARACTER_WOMEN_BUISINESS, [get_food("coffee_black")]);
customers[2].appear(customer.CHARACTER_MAN_BUISINESS, [get_food("coffee_black")]);
total_customers = (total_customers + 2);
tutorial_window.update(game_audio, game_texts, 29, 36, game_texts.tutorial_coffee_cup_get_1, false);
tutorial_window.show_window(true, 2);
tutorial_arrow_coffee_cup.show_window(true, 2);
distributor_coffee.enable_distributor(true);
};
} else {
if (tutorial_status == 109){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 1)))){
tutorial_status = 110;
tutorial_window.show_window(false);
tutorial_arrow_coffee_cup.show_window(false);
distributor_coffee.enable_distributor(false);
};
} else {
if (tutorial_status == 110){
if (!tutorial_window.visible){
tutorial_status = 111;
tutorial_window.update(game_audio, game_texts, -105, -34, game_texts.tutorial_coffee_cup_put_1, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_coffee_machine_0.show_window(true, 0);
machine_coffee_black.enable_machine(true);
};
} else {
if (tutorial_status == 111){
if (((!(cursor.ingredients)) || ((cursor.ingredients.length == 0)))){
tutorial_status = 112;
tutorial_window.show_window(false);
tutorial_arrow_coffee_machine_0.show_window(false);
machine_coffee_black.enable_machine(false);
};
} else {
if (tutorial_status == 112){
if (!tutorial_window.visible){
tutorial_status = 113;
tutorial_window.update(game_audio, game_texts, 29, 36, game_texts.tutorial_coffee_cup_get_2, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_coffee_cup.show_window(true, 0);
distributor_coffee.enable_distributor(true);
};
} else {
if (tutorial_status == 113){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 1)))){
tutorial_status = 114;
tutorial_window.show_window(false);
tutorial_arrow_coffee_cup.show_window(false);
distributor_coffee.enable_distributor(false);
};
} else {
if (tutorial_status == 114){
if (!tutorial_window.visible){
tutorial_status = 115;
tutorial_window.update(game_audio, game_texts, -105, -34, game_texts.tutorial_coffee_cup_put_2, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_coffee_machine_0.show_window(true, 0);
machine_coffee_black.enable_machine(true);
};
} else {
if (tutorial_status == 115){
if (((cursor.description) && ((cursor.description.name == "coffee_black")))){
tutorial_status = 116;
tutorial_window.show_window(false);
tutorial_arrow_coffee_machine_0.show_window(false);
machine_coffee_black.enable_machine(false);
};
} else {
if (tutorial_status == 116){
if (!tutorial_window.visible){
tutorial_status = 117;
tutorial_window.update(game_audio, game_texts, 160, 1, game_texts.tutorial_coffee_deliver_0, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_customer_coffee.show_window(true, 0);
machine_coffee_black.enable_machine(false);
customers[1].enable_deliver(true);
};
} else {
if (tutorial_status == 117){
if (((!(cursor.ingredients)) || ((cursor.ingredients.length == 0)))){
tutorial_status = 118;
tutorial_window.show_window(false);
tutorial_arrow_customer_coffee.show_window(false);
customers[1].enable_deliver(false);
};
} else {
if (tutorial_status == 118){
if (!tutorial_window.visible){
tutorial_status = 119;
tutorial_window.update(game_audio, game_texts, -105, -34, game_texts.tutorial_coffee_get, false);
tutorial_window.show_window(true, 1.5);
tutorial_arrow_coffee_machine_0.show_window(true, 1.5);
machine_coffee_black.enable_machine(true);
};
} else {
if (tutorial_status == 119){
if (((cursor.ingredients) && ((cursor.ingredients.length >= 1)))){
tutorial_status = 120;
tutorial_window.show_window(false);
tutorial_arrow_coffee_machine_0.show_window(false);
machine_coffee_black.enable_machine(false);
};
} else {
if (tutorial_status == 120){
if (!tutorial_window.visible){
tutorial_status = 121;
tutorial_window.update(game_audio, game_texts, 181, 31, game_texts.tutorial_coffee_put, false);
tutorial_window.show_window(true, 0);
tutorial_arrow_coffee_machine_1.show_window(true, 0);
machine_coffee_black.enable_machine(true);
};
} else {
if (tutorial_status == 121){
if (((!(cursor.ingredients)) || ((cursor.ingredients.length == 0)))){
tutorial_status = 122;
tutorial_window.show_window(false);
tutorial_arrow_coffee_machine_1.show_window(false);
machine_coffee_black.enable_machine(false);
};
} else {
if (tutorial_status == 122){
if (!tutorial_window.visible){
tutorial_status = 123;
tutorial_window.update(game_audio, game_texts, 0, -50, game_texts.tutorial_coffee_finish, true);
tutorial_window.show_window(true, 0.5);
};
} else {
if (tutorial_status == 123){
if (tutorial_window.is_mouse_pressed){
was_coffee_tutorial = true;
tutorial_status = 0;
tutorial_window.show_window(false);
clock.make_pause(false);
menu_button.enable_button(true);
distributor_jelly_green.enable_distributor(true);
distributor_jelly_red.enable_distributor(true);
distributor_jelly_pink.enable_distributor(true);
distributor_cracker_chocolate.enable_distributor(true);
distributor_cracker_waffle.enable_distributor(true);
distributor_cracker_fancy.enable_distributor(true);
machine_dustbin.enable_machine(true);
machine_table.enable_machine(true);
machine_coffee_black.enable_machine(true);
distributor_coffee.enable_distributor(true);
_local2 = 0;
while (_local2 < customers.length) {
customers[_local2].enable_mood(true);
customers[_local2].enable_deliver(true);
_local2++;
};
next_customer_time = 2.2;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
_local3 = 0;
_local2 = 0;
while (_local2 < customers.length) {
if (customers[_local2].is_active){
_local3++;
};
_local2++;
};
if (((((!(is_day_over)) && (clock.is_time_over()))) && ((_local3 == 0)))){
is_day_over = true;
day_is_over.show_title();
game_audio.play_sound("game.level_complete");
menu_button.enable_button(false);
};
if ((((((_local3 < max_customer_count)) && (!(clock.is_time_over())))) && ((tutorial_status == 0)))){
next_customer_time = (next_customer_time - 0.08);
};
if (next_customer_time <= 0){
_local4 = 0.5;
if (machine_count <= 1){
_local4 = 1;
} else {
if (machine_count <= 12){
_local4 = my_math.clamp_unit(((machine_count - 1) / 9));
} else {
if (machine_count <= 15){
_local4 = my_math.clamp_unit((0.25 + ((machine_count - 12) / 6)));
};
};
};
_local5 = my_math.lerp((5.1 + my_math.lerp(0.7, 0, _local4)), (2 + my_math.lerp(2.1, 0, _local4)), clock.get_time());
_local6 = my_math.lerp((6 + my_math.lerp(0.7, 0, _local4)), (3.1 + my_math.lerp(2.1, 0, _local4)), clock.get_time());
if (current_day == 0){
_local5 = (_local5 * 0.3);
_local6 = (_local6 * 0.3);
};
next_customer_time = ((Math.random() * (_local6 - _local5)) + _local5);
_local7 = new Array();
if (!customers[0].is_active){
_local7.push(0);
};
if (!customers[1].is_active){
_local7.push(1);
};
if (!customers[2].is_active){
_local7.push(2);
};
if (_local7.length > 0){
_local8 = 0;
if (_local7.length > 1){
_local8 = Math.floor((Math.random() * _local7.length));
};
customers[_local7[_local8]].appear();
total_customers++;
} else {
trace("error (no free customers)!");
};
};
}
public function customer_event_listener(_arg1:CustomerEvent):void{
sales = (sales + _arg1.sales);
tips = (tips + _arg1.tips);
total_service = (total_service + _arg1.service);
served_customers = (served_customers + ((_arg1.service < 3)) ? 1 : 0);
}
public function get_food(_arg1:String):food_description{
var _local2:uint;
_local2 = 0;
while (_local2 < all_food.length) {
if (all_food[_local2].name == _arg1){
return (all_food[_local2]);
};
_local2++;
};
trace("error (get_food)!");
return (null);
}
public function day_is_over_listener(_arg1:Event):void{
dispatchEvent(new Event("day_is_over"));
}
public function generate_all_food():void{
all_food = new Array();
all_food.push(new food_description("cake", "cake_00", 9, new Array("cracker_chocolate", "jelly_pink", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_01", 9, new Array("cracker_chocolate", "jelly_red", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_02", 9, new Array("cracker_chocolate", "jelly_green", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_03", 9, new Array("cracker_waffle", "jelly_pink", "cracker_waffle")));
all_food.push(new food_description("cake", "cake_04", 9, new Array("cracker_waffle", "jelly_red", "cracker_waffle")));
all_food.push(new food_description("cake", "cake_05", 9, new Array("cracker_waffle", "jelly_green", "cracker_waffle")));
all_food.push(new food_description("cake", "cake_06", 9, new Array("cracker_fancy", "jelly_pink", "cracker_fancy")));
all_food.push(new food_description("cake", "cake_07", 9, new Array("cracker_fancy", "jelly_red", "cracker_fancy")));
all_food.push(new food_description("cake", "cake_08", 9, new Array("cracker_fancy", "jelly_green", "cracker_fancy")));
all_food.push(new food_description("cake", "cake_09", 9, new Array("cracker_waffle", "jelly_pink", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_10", 9, new Array("cracker_fancy", "jelly_pink", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_11", 9, new Array("cracker_waffle", "jelly_red", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_12", 9, new Array("cracker_fancy", "jelly_red", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_13", 9, new Array("cracker_waffle", "jelly_green", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_14", 9, new Array("cracker_fancy", "jelly_green", "cracker_chocolate")));
all_food.push(new food_description("cake", "cake_15", 9, new Array("cracker_fancy", "jelly_pink", "cracker_waffle")));
all_food.push(new food_description("cake", "cake_16", 9, new Array("cracker_fancy", "jelly_red", "cracker_waffle")));
all_food.push(new food_description("cake", "cake_17", 9, new Array("cracker_fancy", "jelly_green", "cracker_waffle")));
all_food.push(new food_description("cake", "cake_00_with_cream_chocolate", 16, new Array("cracker_chocolate", "jelly_pink", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_01_with_cream_chocolate", 16, new Array("cracker_chocolate", "jelly_red", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_02_with_cream_chocolate", 16, new Array("cracker_chocolate", "jelly_green", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_03_with_cream_chocolate", 16, new Array("cracker_waffle", "jelly_pink", "cracker_waffle", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_04_with_cream_chocolate", 16, new Array("cracker_waffle", "jelly_red", "cracker_waffle", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_05_with_cream_chocolate", 16, new Array("cracker_waffle", "jelly_green", "cracker_waffle", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_06_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_pink", "cracker_fancy", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_07_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_red", "cracker_fancy", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_08_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_green", "cracker_fancy", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_09_with_cream_chocolate", 16, new Array("cracker_waffle", "jelly_pink", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_10_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_pink", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_11_with_cream_chocolate", 16, new Array("cracker_waffle", "jelly_red", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_12_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_red", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_13_with_cream_chocolate", 16, new Array("cracker_waffle", "jelly_green", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_14_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_green", "cracker_chocolate", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_15_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_pink", "cracker_waffle", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_16_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_red", "cracker_waffle", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_17_with_cream_chocolate", 16, new Array("cracker_fancy", "jelly_green", "cracker_waffle", "cream_chocolate")));
all_food.push(new food_description("cake", "cake_00_with_cream_yellow", 16, new Array("cracker_chocolate", "jelly_pink", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_01_with_cream_yellow", 16, new Array("cracker_chocolate", "jelly_red", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_02_with_cream_yellow", 16, new Array("cracker_chocolate", "jelly_green", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_03_with_cream_yellow", 16, new Array("cracker_waffle", "jelly_pink", "cracker_waffle", "cream_yellow")));
all_food.push(new food_description("cake", "cake_04_with_cream_yellow", 16, new Array("cracker_waffle", "jelly_red", "cracker_waffle", "cream_yellow")));
all_food.push(new food_description("cake", "cake_05_with_cream_yellow", 16, new Array("cracker_waffle", "jelly_green", "cracker_waffle", "cream_yellow")));
all_food.push(new food_description("cake", "cake_06_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_pink", "cracker_fancy", "cream_yellow")));
all_food.push(new food_description("cake", "cake_07_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_red", "cracker_fancy", "cream_yellow")));
all_food.push(new food_description("cake", "cake_08_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_green", "cracker_fancy", "cream_yellow")));
all_food.push(new food_description("cake", "cake_09_with_cream_yellow", 16, new Array("cracker_waffle", "jelly_pink", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_10_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_pink", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_11_with_cream_yellow", 16, new Array("cracker_waffle", "jelly_red", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_12_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_red", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_13_with_cream_yellow", 16, new Array("cracker_waffle", "jelly_green", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_14_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_green", "cracker_chocolate", "cream_yellow")));
all_food.push(new food_description("cake", "cake_15_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_pink", "cracker_waffle", "cream_yellow")));
all_food.push(new food_description("cake", "cake_16_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_red", "cracker_waffle", "cream_yellow")));
all_food.push(new food_description("cake", "cake_17_with_cream_yellow", 16, new Array("cracker_fancy", "jelly_green", "cracker_waffle", "cream_yellow")));
all_food.push(new food_description("cake", "cake_00_with_cream_pink", 16, new Array("cracker_chocolate", "jelly_pink", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_01_with_cream_pink", 16, new Array("cracker_chocolate", "jelly_red", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_02_with_cream_pink", 16, new Array("cracker_chocolate", "jelly_green", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_03_with_cream_pink", 16, new Array("cracker_waffle", "jelly_pink", "cracker_waffle", "cream_pink")));
all_food.push(new food_description("cake", "cake_04_with_cream_pink", 16, new Array("cracker_waffle", "jelly_red", "cracker_waffle", "cream_pink")));
all_food.push(new food_description("cake", "cake_05_with_cream_pink", 16, new Array("cracker_waffle", "jelly_green", "cracker_waffle", "cream_pink")));
all_food.push(new food_description("cake", "cake_06_with_cream_pink", 16, new Array("cracker_fancy", "jelly_pink", "cracker_fancy", "cream_pink")));
all_food.push(new food_description("cake", "cake_07_with_cream_pink", 16, new Array("cracker_fancy", "jelly_red", "cracker_fancy", "cream_pink")));
all_food.push(new food_description("cake", "cake_08_with_cream_pink", 16, new Array("cracker_fancy", "jelly_green", "cracker_fancy", "cream_pink")));
all_food.push(new food_description("cake", "cake_09_with_cream_pink", 16, new Array("cracker_waffle", "jelly_pink", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_10_with_cream_pink", 16, new Array("cracker_fancy", "jelly_pink", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_11_with_cream_pink", 16, new Array("cracker_waffle", "jelly_red", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_12_with_cream_pink", 16, new Array("cracker_fancy", "jelly_red", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_13_with_cream_pink", 16, new Array("cracker_waffle", "jelly_green", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_14_with_cream_pink", 16, new Array("cracker_fancy", "jelly_green", "cracker_chocolate", "cream_pink")));
all_food.push(new food_description("cake", "cake_15_with_cream_pink", 16, new Array("cracker_fancy", "jelly_pink", "cracker_waffle", "cream_pink")));
all_food.push(new food_description("cake", "cake_16_with_cream_pink", 16, new Array("cracker_fancy", "jelly_red", "cracker_waffle", "cream_pink")));
all_food.push(new food_description("cake", "cake_17_with_cream_pink", 16, new Array("cracker_fancy", "jelly_green", "cracker_waffle", "cream_pink")));
all_food.push(new food_description("candyfloss", "candyfloss_stick", 0, new Array("candyfloss_stick")));
all_food.push(new food_description("candyfloss", "candyfloss", 5, new Array("candyfloss")));
all_food.push(new food_description("coffee", "coffee_cup", 0, new Array("coffee_cup")));
all_food.push(new food_description("coffee", "coffee_black", 8, new Array("coffee_black")));
all_food.push(new food_description("coffee", "coffee_milk", 8, new Array("coffee_milk")));
all_food.push(new food_description("soda", "glass", 0, new Array("glass")));
all_food.push(new food_description("soda", "glass_cola", 5, new Array("glass_cola")));
all_food.push(new food_description("soda", "glass_fanta", 5, new Array("glass_fanta")));
all_food.push(new food_description("soda", "glass_sprite", 5, new Array("glass_sprite")));
all_food.push(new food_description("ice_cream", "ice_cream_cup", 0, new Array("ice_cream_cup")));
all_food.push(new food_description("ice_cream", "ice_cream_chocolate", 6, new Array("ice_cream_chocolate")));
all_food.push(new food_description("ice_cream", "ice_cream_pink", 6, new Array("ice_cream_pink")));
all_food.push(new food_description("ice_cream", "ice_cream_white", 6, new Array("ice_cream_white")));
all_food.push(new food_description("ice_cream", "ice_cream_chocolate_with_cream_chocolate", 12, new Array("ice_cream_chocolate", "cream_ice_chocolate")));
all_food.push(new food_description("ice_cream", "ice_cream_pink_with_cream_chocolate", 12, new Array("ice_cream_pink", "cream_ice_chocolate")));
all_food.push(new food_description("ice_cream", "ice_cream_white_with_cream_chocolate", 12, new Array("ice_cream_white", "cream_ice_chocolate")));
all_food.push(new food_description("ice_cream", "ice_cream_chocolate_with_cream_pink", 12, new Array("ice_cream_chocolate", "cream_ice_pink")));
all_food.push(new food_description("ice_cream", "ice_cream_pink_with_cream_pink", 12, new Array("ice_cream_pink", "cream_ice_pink")));
all_food.push(new food_description("ice_cream", "ice_cream_white_with_cream_pink", 12, new Array("ice_cream_white", "cream_ice_pink")));
all_food.push(new food_description("ice_cream", "ice_cream_chocolate_with_cream_yellow", 12, new Array("ice_cream_chocolate", "cream_ice_yellow")));
all_food.push(new food_description("ice_cream", "ice_cream_pink_with_cream_yellow", 12, new Array("ice_cream_pink", "cream_ice_yellow")));
all_food.push(new food_description("ice_cream", "ice_cream_white_with_cream_yellow", 12, new Array("ice_cream_white", "cream_ice_yellow")));
all_food.push(new food_description("popcorn", "popcorn_cup", 0, new Array("popcorn_cup")));
all_food.push(new food_description("popcorn", "popcorn_pink", 6, new Array("popcorn_pink")));
all_food.push(new food_description("popcorn", "popcorn_yellow", 6, new Array("popcorn_yellow")));
}
public function remove_mouse_events(_arg1:DisplayObjectContainer):void{
var _local2:DisplayObject;
var _local3:uint;
_local3 = 0;
while (_local3 < _arg1.numChildren) {
_local2 = _arg1.getChildAt(_local3);
if (_local2){
if ((((_local2.name.indexOf("selection") == -1)) && ((_arg1.getChildAt(_local3) is InteractiveObject)))){
InteractiveObject(_local2).mouseEnabled = false;
};
};
if ((_arg1.getChildAt(_local3) is DisplayObjectContainer)){
remove_mouse_events(DisplayObjectContainer(_local2));
};
_local3++;
};
}
public function update_machines():void{
if (available_machines.indexOf("table") != -1){
machine_table.visible = true;
machine_table.reset();
} else {
machine_table.visible = false;
};
if (available_machines.indexOf("candyfloss") != -1){
machine_candyfloss.visible = true;
machine_candyfloss.reset();
} else {
machine_candyfloss.visible = false;
};
if (available_machines.indexOf("coffee_black") != -1){
machine_coffee_black.visible = true;
machine_coffee_black.reset();
} else {
machine_coffee_black.visible = false;
};
if (available_machines.indexOf("coffee_milk") != -1){
machine_coffee_milk.visible = true;
machine_coffee_milk.reset();
} else {
machine_coffee_milk.visible = false;
};
if (available_machines.indexOf("cream_chocolate") != -1){
machine_cream_chocolate.visible = true;
machine_cream_chocolate.reset();
} else {
machine_cream_chocolate.visible = false;
};
if (available_machines.indexOf("cream_pink") != -1){
machine_cream_pink.visible = true;
machine_cream_pink.reset();
} else {
machine_cream_pink.visible = false;
};
if (available_machines.indexOf("cream_yellow") != -1){
machine_cream_yellow.visible = true;
machine_cream_yellow.reset();
} else {
machine_cream_yellow.visible = false;
};
if (available_machines.indexOf("ice_cream_chocolate") != -1){
machine_ice_cream_chocolate.visible = true;
machine_ice_cream_chocolate.reset();
} else {
machine_ice_cream_chocolate.visible = false;
};
if (available_machines.indexOf("ice_cream_white") != -1){
machine_ice_cream_white.visible = true;
machine_ice_cream_white.reset();
} else {
machine_ice_cream_white.visible = false;
};
if (available_machines.indexOf("ice_cream_pink") != -1){
machine_ice_cream_pink.visible = true;
machine_ice_cream_pink.reset();
} else {
machine_ice_cream_pink.visible = false;
};
if (available_machines.indexOf("popcorn_pink") != -1){
machine_popcorn_pink.visible = true;
machine_popcorn_pink.reset();
} else {
machine_popcorn_pink.visible = false;
};
if (available_machines.indexOf("popcorn_yellow") != -1){
machine_popcorn_yellow.visible = true;
machine_popcorn_yellow.reset();
} else {
machine_popcorn_yellow.visible = false;
};
if (available_machines.indexOf("soda_cola") != -1){
machine_soda_cola.visible = true;
machine_soda_cola.reset();
} else {
machine_soda_cola.visible = false;
};
if (available_machines.indexOf("soda_fanta") != -1){
machine_soda_fanta.visible = true;
machine_soda_fanta.reset();
} else {
machine_soda_fanta.visible = false;
};
if (available_machines.indexOf("soda_sprite") != -1){
machine_soda_sprite.visible = true;
machine_soda_sprite.reset();
} else {
machine_soda_sprite.visible = false;
};
if (((((!((available_machines.indexOf("soda_cola") == -1))) || (!((available_machines.indexOf("soda_fanta") == -1))))) || (!((available_machines.indexOf("soda_sprite") == -1))))){
picture_1.visible = false;
} else {
picture_1.visible = true;
};
if (((!((available_machines.indexOf("coffee_milk") == -1))) || (!((available_machines.indexOf("coffee_black") == -1))))){
picture_0.visible = false;
} else {
picture_0.visible = true;
};
if (available_machines.indexOf("ice_cream_chocolate") != -1){
palm.visible = false;
} else {
palm.visible = true;
};
}
public function button_menu_click(_arg1:Event):void{
make_pause(true);
dispatchEvent(new Event("go_options"));
}
public function stop_all():void{
clock.make_pause(true);
idle_timer.stop();
}
}
}//package scripts
Section 87
//gameplay_day_is_over (scripts.gameplay_day_is_over)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
public dynamic class gameplay_day_is_over extends MovieClip {
public var current_text:String;
public var show_timer:Timer;
public var animation:MovieClip;
public var title_mask:MovieClip;
public var title_text:String;
public function gameplay_day_is_over(){
animation.title.antiAliasType = AntiAliasType.ADVANCED;
show_timer = new Timer(40, 58);
show_timer.addEventListener(TimerEvent.TIMER, show_tick);
show_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_complete);
set_text("");
visible = false;
stop();
}
public function show_complete(_arg1:TimerEvent):void{
gotoAndStop(59);
set_text(title_text);
dispatchEvent(new Event("day_is_over"));
}
public function show_title():void{
visible = true;
gotoAndStop(1);
set_text(title_text);
show_timer.reset();
show_timer.start();
}
public function show_tick(_arg1:TimerEvent):void{
gotoAndStop((_arg1.target.currentCount + 1));
set_text(title_text);
}
public function set_text(_arg1:String):void{
var _local2:TextFormat;
title_text = _arg1;
animation.title.text = title_text;
_local2 = animation.title.getTextFormat();
_local2.color = 0xFFCC00;
_local2.bold = true;
_local2.size = 38;
_local2.font = null;
animation.title.setTextFormat(_local2);
}
}
}//package scripts
Section 88
//gameplay_fader (scripts.gameplay_fader)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class gameplay_fader extends MovieClip {
public var start_fade_timer:Timer;
public var finish_fade_timer:Timer;
public function gameplay_fader(){
visible = false;
start_fade_timer = new Timer(40, 20);
start_fade_timer.addEventListener(TimerEvent.TIMER, start_fade_tick);
start_fade_timer.addEventListener(TimerEvent.TIMER_COMPLETE, start_fade_complete);
finish_fade_timer = new Timer(40, 15);
finish_fade_timer.addEventListener(TimerEvent.TIMER, finish_fade_tick);
finish_fade_timer.addEventListener(TimerEvent.TIMER_COMPLETE, finish_fade_complete);
}
public function start_fade_tick(_arg1:TimerEvent):void{
alpha = Math.min(1, Math.max(0, (Math.max(0, (_arg1.target.currentCount - 5)) / 15)));
}
public function start_fade():void{
visible = true;
alpha = 0;
start_fade_timer.reset();
start_fade_timer.start();
}
public function start_fade_complete(_arg1:TimerEvent):void{
alpha = 1;
dispatchEvent(new Event("finish_fade"));
}
public function finish_fade():void{
finish_fade_timer.reset();
finish_fade_timer.start();
}
public function finish_fade_tick(_arg1:TimerEvent):void{
alpha = (1 - Math.min(1, Math.max(0, (_arg1.target.currentCount / 15))));
}
public function finish_fade_complete(_arg1:TimerEvent):void{
visible = false;
}
}
}//package scripts
Section 89
//GameplaySettings (scripts.GameplaySettings)
package scripts {
import flash.display.*;
public dynamic class GameplaySettings extends MovieClip {
public var machines_appearence:Array;
public var day_time:Number;
public var cost_multiplier:Number;
public var cost_multipliers:Array;
public var day_time_multipliers:Array;
public var goals:Array;
public function GameplaySettings(){
name = "game_settings";
x = 10000;
y = 10000;
cost_multipliers = new Array(1, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75);
day_time_multipliers = new Array(1, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75);
machines_appearence = new Array(2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5);
goals = new Array(30, 40, 60, 70, 80, 90, 100, 110, 120, 130, 135, 140, 145, 150, 155, 160, 170, 180, 190, 195, 200, 205, 210, 220, 225, 230, 235, 240, 245, 250, 0xFF, 260, 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315, 320, 325, 330, 335, 340, 345, 350, 355, 360, 365, 370, 375, 380, 390, 400);
}
public function update(_arg1:Array):void{
var _local2:int;
_local2 = (_arg1.length - 1);
day_time = (47 * day_time_multipliers[_local2]);
cost_multiplier = cost_multipliers[_local2];
}
public function get_machine_count(_arg1:int):Number{
var _local2:Number;
var _local3:int;
var _local4:int;
_local2 = 0;
_local3 = 0;
_local4 = 0;
while (_local4 < machines_appearence.length) {
if (_arg1 >= (_local3 + machines_appearence[_local4])){
_local2 = (_local2 + 1);
_local3 = (_local3 + machines_appearence[_local4]);
} else {
_local2 = (_local2 + ((_arg1 - _local3) / machines_appearence[_local4]));
break;
};
_local4++;
};
return (_local2);
}
}
}//package scripts
Section 90
//GameSettings (scripts.GameSettings)
package scripts {
import flash.display.*;
import flash.net.*;
public dynamic class GameSettings extends MovieClip {
public var ad_level_use_mochi:Boolean;
public var ad_level_counter:int;
public var advertising:Boolean;
public var language:String;
public var is_mail_ru_version:Boolean;
public var ad_preloader_use_mochi:Boolean;
public var mail_ru_lcom_name:String;
public var show_developer_logo:Boolean;
public var full_version_link:String;
public var mail_ru_is_game_started:Boolean;
public var mail_ru_connection:LocalConnection;
public var is_oberon_version:Boolean;
public function GameSettings(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean, _arg6:Boolean, _arg7:Boolean, _arg8:Boolean){
name = "game_settings";
x = 10000;
y = 10000;
language = _arg1;
full_version_link = _arg2;
show_developer_logo = _arg3;
is_mail_ru_version = _arg4;
is_oberon_version = _arg5;
advertising = _arg6;
ad_preloader_use_mochi = _arg7;
ad_level_use_mochi = _arg8;
ad_level_counter = 0;
}
public function download_full_version():void{
var request:URLRequest;
if (full_version_link.length > 0){
request = new URLRequest(full_version_link);
try {
navigateToURL(request);
} catch(_error:Error) {
trace(_error);
};
};
}
public function mail_ru_update_score(_arg1:int):void{
mail_ru_connection.send(mail_ru_lcom_name, "cacheResult", _arg1);
}
public function mail_ru_start_game():void{
mail_ru_is_game_started = true;
mail_ru_connection.send(mail_ru_lcom_name, "startGame");
}
public function mail_ru_close_game():void{
mail_ru_connection.send(mail_ru_lcom_name, "closeGame");
}
public function mail_ru_end_game(_arg1:int):void{
mail_ru_is_game_started = false;
mail_ru_connection.send(mail_ru_lcom_name, "endGame", _arg1);
}
}
}//package scripts
Section 91
//gui_money_bar (scripts.gui_money_bar)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.filters.*;
public dynamic class gui_money_bar extends MovieClip {
public var glow_timer:Timer;
public var right_text:TextField;
public var left_text:TextField;
public var money:int;
public var center_text:TextField;
public function gui_money_bar(){
glow_timer = new Timer(40, 75);
glow_timer.addEventListener(TimerEvent.TIMER, glow_tick);
glow_timer.addEventListener(TimerEvent.TIMER_COMPLETE, glow_complete);
my_utils.prepare_text(left_text);
my_utils.prepare_text(right_text);
my_utils.prepare_text(center_text);
reset();
}
public function set_left_text(_arg1:String):void{
my_utils.set_text(left_text, _arg1, 16, 9129264);
}
public function glow_tick(_arg1:TimerEvent):void{
var _local2:Number;
var _local3:Number;
_local2 = (_arg1.target.currentCount * 0.04);
_local3 = (Math.abs(Math.sin((Math.min(3, _local2) * 3.1415))) * 25);
center_text.filters = [new GlowFilter(0xFFCC00, 1, _local3, _local3, 10, 2)];
}
public function reset():void{
set_money(0);
left_text.visible = true;
right_text.visible = true;
center_text.visible = false;
}
public function set_center_text(_arg1:String):void{
if (!center_text.visible){
left_text.visible = false;
right_text.visible = false;
center_text.visible = true;
my_utils.set_text(center_text, _arg1, 16, 0x339900);
glow_timer.reset();
glow_timer.start();
};
}
public function add_money(_arg1:int):void{
set_money((money + _arg1));
}
public function glow_complete(_arg1:TimerEvent):void{
center_text.filters = [new BlurFilter(0, 0, 0)];
}
public function set_money(_arg1:int):void{
money = _arg1;
my_utils.set_text(right_text, ("$" + String(money)), 16, 13386769);
}
}
}//package scripts
Section 92
//machine_candyfloss (scripts.machine_candyfloss)
package scripts {
import flash.display.*;
public dynamic class machine_candyfloss extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_candyfloss(){
sound_name = "game.machine_candyfloss";
input_name = "candyfloss_stick";
output_name = "candyfloss";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 93
//machine_coffee_black (scripts.machine_coffee_black)
package scripts {
import flash.display.*;
public dynamic class machine_coffee_black extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_coffee_black(){
sound_name = "game.machine_coffee";
input_name = "coffee_cup";
output_name = "coffee_black";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 94
//machine_coffee_milk (scripts.machine_coffee_milk)
package scripts {
import flash.display.*;
public dynamic class machine_coffee_milk extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_coffee_milk(){
sound_name = "game.machine_coffee";
input_name = "coffee_cup";
output_name = "coffee_milk";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 95
//machine_cream_chocolate (scripts.machine_cream_chocolate)
package scripts {
import flash.display.*;
public dynamic class machine_cream_chocolate extends machine_template_cream {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_cream_chocolate(){
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
cream_cake_name = "cream_chocolate";
cream_ice_name = "cream_ice_chocolate";
input_food_cake_offset_x = 13;
input_food_cake_offset_y = 96;
input_food_ice_offset_x = 13;
input_food_ice_offset_y = 92;
prepare();
}
}
}//package scripts
Section 96
//machine_cream_pink (scripts.machine_cream_pink)
package scripts {
import flash.display.*;
public dynamic class machine_cream_pink extends machine_template_cream {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_cream_pink(){
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
cream_cake_name = "cream_pink";
cream_ice_name = "cream_ice_pink";
input_food_cake_offset_x = 13;
input_food_cake_offset_y = 96;
input_food_ice_offset_x = 13;
input_food_ice_offset_y = 92;
prepare();
}
}
}//package scripts
Section 97
//machine_cream_yellow (scripts.machine_cream_yellow)
package scripts {
import flash.display.*;
public dynamic class machine_cream_yellow extends machine_template_cream {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_cream_yellow(){
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
cream_cake_name = "cream_yellow";
cream_ice_name = "cream_ice_yellow";
input_food_cake_offset_x = 13;
input_food_cake_offset_y = 96;
input_food_ice_offset_x = 13;
input_food_ice_offset_y = 92;
prepare();
}
}
}//package scripts
Section 98
//machine_dustbin (scripts.machine_dustbin)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class machine_dustbin extends MovieClip {
public var is_enabled:Boolean;
public var work_timer:Timer;
public var selection:MovieClip;
public var frame_count:Number;
public function machine_dustbin(){
frame_count = 7;
work_timer = new Timer(80, (frame_count - 1));
work_timer.addEventListener(TimerEvent.TIMER, work_tick);
work_timer.addEventListener(TimerEvent.TIMER_COMPLETE, work_complete);
gotoAndStop(1);
selection.addEventListener(MouseEvent.MOUSE_DOWN, work);
selection.alpha = 0;
is_enabled = true;
}
public function work_tick(_arg1:TimerEvent):void{
gotoAndStop((_arg1.target.currentCount + 1));
}
public function work(_arg1:MouseEvent):void{
var _local2:game_cursor;
var _local3:audio;
if (!is_enabled){
return;
};
_local2 = (parent.getChildByName("game_cursor") as game_cursor);
_local3 = (parent.parent.getChildByName("game_audio") as audio);
if (((_local2.ingredients) && ((_local2.ingredients.length > 0)))){
_local3.play_sound("game.cursor_good");
_local3.play_sound("game.machine_dustbin");
_local2.clear_cursor();
work_timer.reset();
work_timer.start();
};
}
public function reset():void{
work_timer.reset();
gotoAndStop(1);
}
public function enable_machine(_arg1:Boolean){
is_enabled = _arg1;
}
public function work_complete(_arg1:TimerEvent):void{
gotoAndStop(1);
}
}
}//package scripts
Section 99
//machine_ice_cream_chocolate (scripts.machine_ice_cream_chocolate)
package scripts {
import flash.display.*;
public dynamic class machine_ice_cream_chocolate extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_ice_cream_chocolate(){
sound_name = "game.machine_ice_cream";
input_name = "ice_cream_cup";
output_name = "ice_cream_chocolate";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 100
//machine_ice_cream_pink (scripts.machine_ice_cream_pink)
package scripts {
import flash.display.*;
public dynamic class machine_ice_cream_pink extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_ice_cream_pink(){
sound_name = "game.machine_ice_cream";
input_name = "ice_cream_cup";
output_name = "ice_cream_pink";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 101
//machine_ice_cream_white (scripts.machine_ice_cream_white)
package scripts {
import flash.display.*;
public dynamic class machine_ice_cream_white extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_ice_cream_white(){
sound_name = "game.machine_ice_cream";
input_name = "ice_cream_cup";
output_name = "ice_cream_white";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 102
//machine_popcorn_pink (scripts.machine_popcorn_pink)
package scripts {
import flash.display.*;
public dynamic class machine_popcorn_pink extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_popcorn_pink(){
sound_name = "game.machine_pop_corn";
input_name = "popcorn_cup";
output_name = "popcorn_pink";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 103
//machine_popcorn_yellow (scripts.machine_popcorn_yellow)
package scripts {
import flash.display.*;
public dynamic class machine_popcorn_yellow extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_popcorn_yellow(){
sound_name = "game.machine_pop_corn";
input_name = "popcorn_cup";
output_name = "popcorn_yellow";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 104
//machine_soda_cola (scripts.machine_soda_cola)
package scripts {
import flash.display.*;
public dynamic class machine_soda_cola extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_soda_cola(){
sound_name = "game.machine_cola";
input_name = "glass";
output_name = "glass_cola";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 105
//machine_soda_fanta (scripts.machine_soda_fanta)
package scripts {
import flash.display.*;
public dynamic class machine_soda_fanta extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_soda_fanta(){
sound_name = "game.machine_cola";
input_name = "glass";
output_name = "glass_fanta";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 106
//machine_soda_sprite (scripts.machine_soda_sprite)
package scripts {
import flash.display.*;
public dynamic class machine_soda_sprite extends machine_template {
public var machine:MovieClip;
public var selection:MovieClip;
public function machine_soda_sprite(){
sound_name = "game.machine_cola";
input_name = "glass";
output_name = "glass_sprite";
machine_mc = MovieClip(machine);
selection_mc = MovieClip(selection);
prepare();
}
}
}//package scripts
Section 107
//machine_table (scripts.machine_table)
package scripts {
import flash.display.*;
import flash.events.*;
public dynamic class machine_table extends MovieClip {
public var is_enabled:Boolean;
public var input_food:food;
public var selection:MovieClip;
public function machine_table(){
input_food = new food();
addChild(input_food);
selection.addEventListener(MouseEvent.MOUSE_DOWN, work);
selection.alpha = 0;
is_enabled = true;
}
public function work(_arg1:MouseEvent):void{
var _local2:game_cursor;
var _local3:audio;
var _local4:Number;
var _local5:Number;
var _local6:int;
var _local7:Array;
var _local8:food_description;
if (!is_enabled){
return;
};
_local2 = (parent.getChildByName("game_cursor") as game_cursor);
_local3 = (parent.parent.getChildByName("game_audio") as audio);
_local4 = ((_arg1.target.x + x) + (_arg1.localX * _arg1.target.scaleX));
_local5 = ((_arg1.target.y + y) + (_arg1.localY * _arg1.target.scaleY));
_local3.play_sound("game.cursor_good");
if (((_local2.ingredients) && ((_local2.ingredients.length > 0)))){
_local7 = new Array(_local2.ingredients.length);
_local6 = 0;
while (_local6 < _local2.ingredients.length) {
_local7[_local6] = _local2.ingredients[_local6];
_local6++;
};
_local8 = null;
if (_local2.description){
_local8 = _local2.description;
};
_local2.clear_cursor();
if (input_food.ingredients){
_local6 = 0;
while (_local6 < input_food.ingredients.length) {
_local2.try_add_ingredient(input_food.ingredients[_local6], _local4, _local5);
_local6++;
};
input_food.clear();
};
if (_local8){
input_food.make_by_description(_local8);
} else {
input_food.make_by_ingredients(_local7);
};
input_food.x = (33 + input_food.center_offset_x);
input_food.y = (0 + input_food.center_offset_y);
if (((input_food.ingredients) && ((input_food.ingredients.length > 0)))){
if (((!((input_food.ingredients[0].indexOf("jelly") == -1))) || (!((input_food.ingredients[0].indexOf("cracker") == -1))))){
if ((((input_food.ingredients.length == 2)) && (!((input_food.ingredients[0].indexOf("cracker") == -1))))){
input_food.y = (input_food.y - 2);
} else {
if ((((input_food.ingredients.length > 2)) && (!((input_food.ingredients[0].indexOf("cracker") == -1))))){
input_food.y = (input_food.y - 4);
};
};
} else {
if (input_food.ingredients[0].indexOf("candyfloss") != -1){
input_food.y = (input_food.y - 10);
} else {
if (input_food.ingredients[0].indexOf("popcorn") != -1){
input_food.x = (input_food.x - 4);
input_food.y = (input_food.y - 6);
} else {
if (((!((input_food.ingredients[0].indexOf("soda") == -1))) || (!((input_food.ingredients[0].indexOf("glass") == -1))))){
input_food.x = (input_food.x - 2);
input_food.y = (input_food.y - 4);
} else {
if (input_food.ingredients[0].indexOf("coffee") != -1){
input_food.x = (input_food.x - 1);
input_food.y = (input_food.y - 1);
} else {
if (input_food.ingredients[0].indexOf("ice_cream") != -1){
input_food.x = (input_food.x - 2);
input_food.y = (input_food.y - 8);
} else {
trace("error (table)!");
};
};
};
};
};
};
};
} else {
if (input_food.ingredients){
_local6 = 0;
while (_local6 < input_food.ingredients.length) {
_local2.try_add_ingredient(input_food.ingredients[_local6], _local4, _local5);
_local6++;
};
input_food.clear();
};
};
}
public function reset():void{
input_food.clear();
}
public function enable_machine(_arg1:Boolean){
is_enabled = _arg1;
}
public function get_food():food{
return (input_food);
}
}
}//package scripts
Section 108
//machine_template (scripts.machine_template)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class machine_template extends MovieClip {
public var output_name:String;
public var is_working:Boolean;
public var selection_mc:MovieClip;
public var is_enabled:Boolean;
public var is_food:Boolean;
public var machine_mc:MovieClip;
public var work_timer:Timer;
public var resume_timer:Boolean;
public var sound_name:String;
public var frame_count:Number;
public var input_name:String;
public function machine_template(){
frame_count = 40;
work_timer = new Timer(80, (frame_count - 1));
work_timer.addEventListener(TimerEvent.TIMER, work_tick);
work_timer.addEventListener(TimerEvent.TIMER_COMPLETE, work_complete);
is_enabled = true;
}
public function work_tick(_arg1:TimerEvent):void{
machine_mc.gotoAndStop((_arg1.target.currentCount + 1));
}
public function prepare():void{
is_working = false;
is_food = false;
machine_mc.gotoAndStop(1);
selection_mc.addEventListener(MouseEvent.MOUSE_DOWN, work);
selection_mc.alpha = 0;
}
public function work(_arg1:MouseEvent):void{
var _local2:audio;
var _local3:game_cursor;
var _local4:Number;
var _local5:Number;
if (!is_enabled){
return;
};
_local2 = (parent.parent.getChildByName("game_audio") as audio);
if (is_working){
_local2.play_sound("game.cursor_bad");
return;
};
_local3 = (parent.getChildByName("game_cursor") as game_cursor);
_local4 = ((_arg1.target.x + x) + (_arg1.localX * _arg1.target.scaleX));
_local5 = ((_arg1.target.y + y) + (_arg1.localY * _arg1.target.scaleY));
if (_local3.description){
if (_local3.description.name == input_name){
_local2.play_sound("game.cursor_good");
_local2.play_sound(sound_name);
_local3.clear_cursor();
if (is_food){
_local3.try_add_ingredient(output_name, _local4, _local5);
};
machine_mc.gotoAndStop(1);
work_timer.reset();
work_timer.start();
is_working = true;
} else {
if ((((_local3.description.name == output_name)) && (!(is_food)))){
_local2.play_sound("game.cursor_good");
_local3.clear_cursor();
machine_mc.gotoAndStop(frame_count);
is_food = true;
} else {
if (_local3.description.name == output_name){
_local2.play_sound("game.cursor_good");
} else {
_local2.play_sound("game.cursor_bad");
};
};
};
} else {
if (((!(_local3.ingredients)) && (is_food))){
_local2.play_sound("game.cursor_good");
is_food = false;
machine_mc.gotoAndStop(1);
_local3.try_add_ingredient(output_name, _local4, _local5);
} else {
if (_local3.ingredients){
_local2.play_sound("game.cursor_bad");
};
};
};
}
public function reset():void{
work_timer.reset();
is_working = false;
is_food = false;
machine_mc.gotoAndStop(1);
}
public function make_pause(_arg1:Boolean):void{
if (_arg1){
if (work_timer.running){
resume_timer = true;
work_timer.stop();
} else {
resume_timer = false;
};
} else {
if (resume_timer){
work_timer.start();
};
};
}
public function enable_machine(_arg1:Boolean){
is_enabled = _arg1;
}
public function work_complete(_arg1:TimerEvent):void{
is_working = false;
is_food = true;
}
}
}//package scripts
Section 109
//machine_template_cream (scripts.machine_template_cream)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class machine_template_cream extends MovieClip {
public var cream_ice_name:String;
public var input_food_ice_offset_y:Number;
public var input_food_ice_offset_x:Number;
public var is_working:Boolean;
public var selection_mc:MovieClip;
public var is_cake:Boolean;
public var input_food_cake_offset_x:Number;
public var input_food_cake_offset_y:Number;
public var machine_mc:MovieClip;
public var work_timer:Timer;
public var input_food:food;
public var cream_cake_name:String;
public var resume_timer:Boolean;
public function machine_template_cream(){
work_timer = new Timer(80, 39);
work_timer.addEventListener(TimerEvent.TIMER, work_tick);
work_timer.addEventListener(TimerEvent.TIMER_COMPLETE, work_complete);
}
public function work_tick(_arg1:TimerEvent):void{
if (is_cake){
machine_mc.gotoAndStop((_arg1.target.currentCount + 1));
} else {
machine_mc.gotoAndStop(((40 + _arg1.target.currentCount) + 1));
};
}
public function prepare():void{
is_working = false;
is_cake = true;
input_food = new food();
addChildAt(input_food, 1);
input_food.name = "input_food";
machine_mc.gotoAndStop(1);
selection_mc.addEventListener(MouseEvent.MOUSE_DOWN, work);
selection_mc.alpha = 0;
}
public function work(_arg1:MouseEvent):void{
var _local2:audio;
var _local3:game_cursor;
var _local4:Number;
var _local5:Number;
var _local6:int;
var _local7:food_description;
_local2 = (parent.parent.getChildByName("game_audio") as audio);
if (is_working){
_local2.play_sound("game.cursor_bad");
return;
};
_local3 = (parent.getChildByName("game_cursor") as game_cursor);
_local4 = ((_arg1.target.x + x) + (_arg1.localX * _arg1.target.scaleX));
_local5 = ((_arg1.target.y + y) + (_arg1.localY * _arg1.target.scaleY));
if (_local3.description){
if ((((((_local3.description.group == "cake")) && ((((_local3.ingredients.length == 3)) || ((((_local3.ingredients.length == 4)) && ((_local3.ingredients[3] == cream_cake_name)))))))) || ((((((_local3.description.group == "ice_cream")) && (!((_local3.ingredients[0] == "ice_cream_cup"))))) && ((((_local3.ingredients.length == 1)) || ((((_local3.ingredients.length == 2)) && ((_local3.ingredients[1] == cream_ice_name)))))))))){
_local2.play_sound("game.cursor_good");
_local7 = _local3.description;
_local3.clear_cursor();
if (input_food.ingredients){
_local6 = 0;
while (_local6 < input_food.ingredients.length) {
_local3.try_add_ingredient(input_food.ingredients[_local6], _local4, _local5);
_local6++;
};
input_food.clear();
};
input_food.make_by_description(_local7);
if ((((((input_food.description.group == "cake")) && ((input_food.ingredients.length == 3)))) || ((((input_food.description.group == "ice_cream")) && ((input_food.ingredients.length == 1)))))){
_local2.play_sound("game.machine_cream");
if (input_food.description.group == "cake"){
input_food.x = input_food_cake_offset_x;
input_food.y = input_food_cake_offset_y;
is_cake = true;
} else {
input_food.x = input_food_ice_offset_x;
input_food.y = input_food_ice_offset_y;
is_cake = false;
};
work_timer.reset();
work_timer.start();
is_working = true;
} else {
if (input_food.description.group == "cake"){
machine_mc.gotoAndStop(40);
} else {
machine_mc.gotoAndStop(80);
};
};
} else {
_local2.play_sound("game.cursor_bad");
};
} else {
if (((!(_local3.ingredients)) && (input_food.ingredients))){
_local2.play_sound("game.cursor_good");
_local6 = 0;
while (_local6 < input_food.ingredients.length) {
_local3.try_add_ingredient(input_food.ingredients[_local6], _local4, _local5);
_local6++;
};
input_food.clear();
machine_mc.gotoAndStop(1);
} else {
if (_local3.ingredients){
_local2.play_sound("game.cursor_bad");
};
};
};
}
public function reset():void{
work_timer.reset();
input_food.clear();
is_working = false;
is_cake = true;
machine_mc.gotoAndStop(1);
}
public function make_pause(_arg1:Boolean):void{
if (_arg1){
if (work_timer.running){
resume_timer = true;
work_timer.stop();
} else {
resume_timer = false;
};
} else {
if (resume_timer){
work_timer.start();
};
};
}
public function work_complete(_arg1:TimerEvent):void{
var _local2:Array;
var _local3:int;
is_working = false;
_local2 = new Array(input_food.ingredients.length);
_local3 = 0;
while (_local3 < input_food.ingredients.length) {
_local2[_local3] = input_food.ingredients[_local3];
_local3++;
};
if (input_food.description.group == "cake"){
_local2.push(cream_cake_name);
} else {
_local2.push(cream_ice_name);
};
input_food.clear();
input_food.make_by_ingredients(_local2);
}
}
}//package scripts
Section 110
//main (scripts.main)
package scripts {
import flash.display.*;
import flash.events.*;
import scripts.advertising.*;
import flash.net.*;
public class main extends Sprite {
public var gameplay_settings:GameplaySettings;
public var ui_game_over:window_game_over;
public var ui_main_menu:window_main_menu;
public var game_play_fader:gameplay_fader;
public var game_audio:audio;
public var ui_start_game:window_start_game;
public var game_play:gameplay;
public var game_texts:texts;
public var ui_game_complete:window_game_complete;
public var game_save:SharedObject;
public var ui_statistics:window_statistics;
public var ui_background:MovieClip;
public var game_settings:GameSettings;
public var ui_gameplay_options:window_gameplay_options;
public var ui_options:window_options;
public function main(_arg1:texts, _arg2:GameSettings){
name = "main_program";
game_texts = _arg1;
game_settings = _arg2;
game_audio = new audio();
addChild(game_audio);
gameplay_settings = new GameplaySettings();
addChild(gameplay_settings);
game_save = SharedObject.getLocal("game_save_ver_010");
if (game_save.size == 0){
game_save.data.music_volume = new Number(0.6);
game_save.data.sound_volume = new Number(0.8);
game_save.data.game_day = new int(0);
game_save.data.game_money = new int(0);
game_save.data.previous_game_money = new int(0);
game_save.data.was_cake_tutorial = new Boolean(false);
game_save.data.was_coffee_tutorial = new Boolean(false);
game_save.data.is_game_over = new Boolean(false);
game_save.data.is_game_complete = new Boolean(false);
};
game_save.flush();
game_audio.set_music_volume(game_save.data.music_volume);
game_audio.set_sound_volume(game_save.data.sound_volume);
game_audio.play_music("game");
game_play = new gameplay(_arg2);
game_play.visible = false;
addChild(game_play);
game_play.addEventListener("day_is_over", gameplay_day_is_over);
game_play.addEventListener("go_options", gameplay_go_options);
ui_main_menu = new window_main_menu(game_texts, game_audio, game_settings);
addChild(ui_main_menu);
ui_start_game = new window_start_game(game_texts, game_audio, gameplay_settings);
addChild(ui_start_game);
ui_options = new window_options(game_texts, game_audio);
addChild(ui_options);
ui_gameplay_options = new window_gameplay_options(game_texts, game_audio);
addChild(ui_gameplay_options);
ui_statistics = new window_statistics(game_texts, game_audio, game_settings);
addChild(ui_statistics);
ui_game_over = new window_game_over(game_texts, game_audio, game_settings);
addChild(ui_game_over);
ui_game_complete = new window_game_complete(game_texts, game_audio, game_settings);
addChild(ui_game_complete);
game_play_fader = new gameplay_fader();
addChild(game_play_fader);
show_main_menu(true);
this.addEventListener(Event.REMOVED, stop_sounds);
}
public function gameplay_go_options(_arg1:Event):void{
show_gameplay_options(true, false);
}
public function main_menu_go_start_new_game(_arg1:Event):void{
if (game_settings.is_mail_ru_version){
if (game_settings.mail_ru_is_game_started){
game_settings.mail_ru_end_game(game_save.data.game_money);
};
game_settings.mail_ru_start_game();
};
game_save.data.game_day = 0;
game_save.data.game_money = 0;
game_save.data.previous_game_money = 0;
game_save.flush();
show_main_menu(false);
game_play_fader.start_fade();
game_play_fader.addEventListener("finish_fade", start_game_play);
}
public function gameplay_go_main_menu(_arg1:Event):void{
game_play_fader.finish_fade();
parent.getChildAt(0).visible = true;
game_play.visible = false;
game_play_fader.removeEventListener("finish_fade", gameplay_go_main_menu);
show_main_menu(true, true);
}
public function game_over_go_main_menu(_arg1:Event):void{
show_game_over(false);
show_main_menu(true, true);
}
public function start_game_go_main_menu(_arg1:Event):void{
show_start_game(false);
show_main_menu(true, true);
}
public function options_gameplay_go_main_menu(_arg1:Event):void{
show_gameplay_options(false);
game_save.data.music_volume = game_audio.music_volume;
game_save.data.sound_volume = game_audio.sound_volume;
game_save.flush();
game_play_fader.start_fade();
game_play_fader.addEventListener("finish_fade", gameplay_go_main_menu);
}
public function show_game_complete(_arg1:Boolean):void{
if (_arg1){
ui_game_complete.update(game_save.data.game_day, game_save.data.game_money);
ui_game_complete.show_window(true, true);
ui_game_complete.addEventListener("go_main_menu", game_complete_go_main_menu);
} else {
ui_game_complete.show_window(false);
ui_game_complete.removeEventListener("go_main_menu", game_complete_go_main_menu);
};
}
public function show_start_game(_arg1:Boolean, _arg2:Boolean=false):void{
if (_arg1){
ui_start_game.update(game_save.data.game_day, game_save.data.game_money, game_save.data.previous_game_money);
game_save.data.previous_game_money = game_save.data.game_money;
ui_start_game.show_window(true, _arg2);
ui_start_game.addEventListener("go_main_menu", start_game_go_main_menu);
ui_start_game.addEventListener("go_game_play", start_game_go_game_play);
} else {
ui_start_game.show_window(false);
ui_start_game.removeEventListener("go_main_menu", start_game_go_main_menu);
ui_start_game.removeEventListener("go_game_play", start_game_go_game_play);
};
}
public function show_game_over(_arg1:Boolean):void{
if (_arg1){
ui_game_over.update(game_save.data.game_day, game_save.data.game_money);
ui_game_over.show_window(true, true);
ui_game_over.addEventListener("go_main_menu", game_over_go_main_menu);
} else {
ui_game_over.show_window(false);
ui_game_over.removeEventListener("go_main_menu", game_over_go_main_menu);
};
}
public function stop_sounds(_arg1:Event):void{
if (_arg1.target == this){
game_audio.stop_all_sounds_and_music();
game_play.stop_all();
removeChild(DisplayObject(game_play));
game_play = null;
};
}
public function game_complete_go_main_menu(_arg1:Event):void{
show_game_complete(false);
show_main_menu(true, true);
}
public function statistics_go_start_game(_arg1:Event):void{
var _local2:Array;
var _local3:String;
var _local4:Object;
if (game_save.data.is_game_over){
if (game_settings.is_mail_ru_version){
game_settings.mail_ru_end_game(game_save.data.game_money);
};
show_statistics(false);
show_game_over(true);
} else {
if (game_save.data.is_game_complete){
if (game_settings.is_mail_ru_version){
game_settings.mail_ru_end_game(game_save.data.game_money);
};
show_statistics(false);
show_game_complete(true);
} else {
if (((((!(game_settings.advertising)) || (!(game_settings.ad_level_use_mochi)))) || (!(((game_settings.ad_level_counter % 3) == 0))))){
show_statistics(false);
show_start_game(true, true);
} else {
_local2 = new Array();
if (game_settings.ad_level_use_mochi){
_local2.push("mochi");
};
_local3 = _local2[my_math.range_random(0, (_local2.length - 1))];
if (_local3 == "mochi"){
show_statistics(false, true);
_local4 = {id:"596290aa50dc1367", res:"640x480", clip:root, ad_started:ad_mochi_started, ad_finished:ad_mochi_finished};
MochiAd.showInterLevelAd(_local4);
} else {
trace("error (level advertiser)!");
show_statistics(false);
show_start_game(true, true);
};
};
};
};
}
public function start_game_go_game_play(_arg1:Event):void{
show_start_game(false);
game_play_fader.start_fade();
game_play_fader.addEventListener("finish_fade", start_game_play);
}
public function show_main_menu(_arg1:Boolean, _arg2:Boolean=false):void{
if (_arg1){
if (game_save.data.is_game_over){
if (game_save.data.game_day > 0){
game_save.data.game_day = (game_save.data.game_day - 1);
};
game_save.data.game_money = 0;
game_save.data.previous_game_money = 0;
game_save.data.is_game_over = false;
game_save.data.is_game_complete = false;
game_save.flush();
} else {
if (game_save.data.is_game_complete){
game_save.data.game_day = 0;
game_save.data.game_money = 0;
game_save.data.previous_game_money = 0;
game_save.data.is_game_over = false;
game_save.data.is_game_complete = false;
game_save.flush();
};
};
ui_main_menu.update((game_save.data.game_day > 0));
ui_main_menu.show_window(true, _arg2);
ui_main_menu.addEventListener("continue_game", main_menu_go_continue_game);
ui_main_menu.addEventListener("start_new_game", main_menu_go_start_new_game);
ui_main_menu.addEventListener("options", main_menu_go_options);
} else {
ui_main_menu.show_window(false);
ui_main_menu.removeEventListener("continue_game", main_menu_go_continue_game);
ui_main_menu.removeEventListener("start_new_game", main_menu_go_start_new_game);
ui_main_menu.removeEventListener("options", main_menu_go_options);
};
}
public function show_options(_arg1:Boolean, _arg2:Boolean=false):void{
if (_arg1){
ui_options.update();
ui_options.show_window(true, _arg2);
ui_options.addEventListener("go_main_menu", options_go_main_menu);
} else {
ui_options.show_window(false);
ui_options.removeEventListener("go_main_menu", options_go_main_menu);
};
}
public function main_menu_go_continue_game(_arg1:Event):void{
if (game_settings.is_mail_ru_version){
if (!game_settings.mail_ru_is_game_started){
game_settings.mail_ru_start_game();
};
};
show_main_menu(false);
show_start_game(true, true);
}
public function show_gameplay_options(_arg1:Boolean, _arg2:Boolean=false):void{
if (_arg1){
ui_gameplay_options.update();
ui_gameplay_options.show_window(true, _arg2);
ui_gameplay_options.addEventListener("go_main_menu", options_gameplay_go_main_menu);
ui_gameplay_options.addEventListener("return_to_game", options_gameplay_return_to_game);
} else {
ui_gameplay_options.show_window(false);
ui_gameplay_options.removeEventListener("go_main_menu", options_gameplay_go_main_menu);
ui_gameplay_options.removeEventListener("return_to_game", options_gameplay_return_to_game);
};
}
public function gameplay_go_statistics(_arg1:Event):void{
game_play_fader.finish_fade();
parent.getChildAt(0).visible = true;
game_play.visible = false;
game_play_fader.removeEventListener("finish_fade", gameplay_go_statistics);
show_statistics(true);
}
public function options_go_main_menu(_arg1:Event):void{
show_options(false);
game_save.data.music_volume = game_audio.music_volume;
game_save.data.sound_volume = game_audio.sound_volume;
game_save.flush();
show_main_menu(true, true);
}
public function main_menu_go_options(_arg1:Event):void{
show_main_menu(false);
show_options(true, true);
}
public function show_statistics(_arg1:Boolean, _arg2:Boolean=false):void{
if (_arg1){
ui_statistics.update(game_save.data.game_day, game_play.sales, game_play.tips, Math.floor(((game_play.total_service / game_play.total_customers) + 0.35)), game_play.total_customers, game_play.served_customers);
ui_statistics.show_window(true, true);
ui_statistics.addEventListener("go_start_game", statistics_go_start_game);
} else {
ui_statistics.show_window(false, _arg2);
ui_statistics.removeEventListener("go_start_game", statistics_go_start_game);
};
}
public function gameplay_day_is_over(_arg1:Event):void{
game_settings.ad_level_counter = (game_settings.ad_level_counter + 1);
game_save.data.is_game_over = ((game_play.sales + game_play.tips) < gameplay_settings.goals[game_save.data.game_day]);
game_save.data.game_day = (game_save.data.game_day + 1);
game_save.data.is_game_complete = ((!(game_save.data.is_game_over)) && ((game_save.data.game_day >= gameplay_settings.goals.length)));
game_save.data.previous_game_money = game_save.data.game_money;
game_save.data.game_money = (game_save.data.game_money + (game_play.sales + game_play.tips));
game_save.data.was_cake_tutorial = game_play.was_cake_tutorial;
game_save.data.was_coffee_tutorial = game_play.was_coffee_tutorial;
game_save.flush();
if (game_settings.is_mail_ru_version){
game_settings.mail_ru_update_score(game_save.data.game_money);
};
game_play_fader.start_fade();
game_play_fader.addEventListener("finish_fade", gameplay_go_statistics);
}
public function options_gameplay_return_to_game(_arg1:Event):void{
show_gameplay_options(false);
game_save.data.music_volume = game_audio.music_volume;
game_save.data.sound_volume = game_audio.sound_volume;
game_save.flush();
game_play.make_pause(false);
}
public function start_game_play(_arg1:Event):void{
game_play_fader.finish_fade();
parent.getChildAt(0).visible = false;
game_play.visible = true;
game_play.start_day(game_save.data.game_day, game_save.data.game_money, game_save.data.was_cake_tutorial, game_save.data.was_coffee_tutorial);
game_play_fader.removeEventListener("finish_fade", start_game_play);
}
public function ad_mochi_started():void{
}
public function ad_mochi_finished():void{
show_start_game(true, true);
}
}
}//package scripts
Section 111
//my_math (scripts.my_math)
package scripts {
public class my_math {
public static function clamp_unit(_arg1:Number):Number{
return (Math.max(0, Math.min(1, _arg1)));
}
public static function range_random(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1);
return (Math.max(_arg1, Math.min(_arg2, _local3)));
}
public static function lerp(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return (((_arg1 * (1 - _arg3)) + (_arg2 * _arg3)));
}
}
}//package scripts
Section 112
//my_utils (scripts.my_utils)
package scripts {
import flash.text.*;
import flash.filters.*;
public class my_utils {
public static function set_text(_arg1:TextField, _arg2:String, _arg3:int, _arg4:Object):void{
var _local5:TextFormat;
_local5 = _arg1.getTextFormat();
_local5.bold = true;
_local5.size = _arg3;
_local5.font = null;
_local5.color = _arg4;
_arg1.text = _arg2;
_arg1.setTextFormat(_local5);
}
public static function set_html_text(_arg1:TextField, _arg2:String, _arg3:int, _arg4:Object):void{
_arg1.text = "";
_arg1.htmlText = (((("<b><font size=\"" + String(_arg3)) + "\">") + _arg2) + "</font></b>");
}
public static function prepare_text(_arg1:TextField):void{
_arg1.antiAliasType = AntiAliasType.ADVANCED;
if (((!(_arg1.filters)) || ((_arg1.filters.length == 0)))){
_arg1.filters = [new BlurFilter(0, 0, 0)];
};
}
}
}//package scripts
Section 113
//preloader_progress (scripts.preloader_progress)
package scripts {
import flash.display.*;
import flash.text.*;
import flash.filters.*;
public dynamic class preloader_progress extends MovieClip {
public var progress_bar:MovieClip;
public var progress_text:TextField;
public function preloader_progress(){
progress_text.antiAliasType = AntiAliasType.ADVANCED;
progress_text.filters = [new BlurFilter(0, 0, 0)];
update_progress(0);
}
public function update_progress(_arg1:int):void{
var _local2:TextFormat;
progress_bar.gotoAndStop(Math.max(1, _arg1));
_local2 = progress_text.getTextFormat();
_local2.align = "center";
_local2.bold = true;
_local2.size = 14;
_local2.font = null;
_local2.color = 0x663300;
progress_text.text = (String(_arg1) + "%");
progress_text.setTextFormat(_local2);
}
}
}//package scripts
Section 114
//PreloaderSimple (scripts.PreloaderSimple)
package scripts {
import flash.display.*;
import flash.events.*;
import scripts.advertising.*;
import flash.net.*;
public dynamic class PreloaderSimple extends MovieClip {
public var main_program:Sprite;
public var first_progress:Boolean;
public var first_progress_bytes_loaded:Number;
public var background:MovieClip;
public var title:window_title;
public var gg_loader:MovieClip;
public var game_texts:texts;
public var ggButton_btn:SimpleButton;
public var loading_progress:preloader_progress;
public var game_settings:GameSettings;
public var own_preloader:Boolean;
public function PreloaderSimple(){
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:String;
var _local10:String;
var _local11:Array;
var _local12:String;
var _local13:Object;
super();
_local1 = 0;
_local2 = 1;
_local3 = 2;
_local4 = 3;
_local5 = 4;
_local6 = 5;
_local7 = 6;
_local8 = _local7;
stop();
if (_local8 == _local1){
game_settings = new GameSettings("en", "", true, false, false, false, true, true);
} else {
if (_local8 == _local2){
game_settings = new GameSettings("en", "http://www.elefun-games.com/html/products/elefun-games-cake-shop-game.html", true, false, false, true, true, true);
} else {
if (_local8 == _local3){
game_settings = new GameSettings("ru", "", true, true, false, false, true, true);
} else {
if (_local8 == _local4){
_local9 = "http://www.alawar.ru/download/CakeShopRus.exe";
if (((loaderInfo.parameters.alawar_f) && (!((loaderInfo.parameters.alawar_f == false))))){
_local9 = "";
};
game_settings = new GameSettings("ru", _local9, true, false, false, false, true, true);
} else {
if (_local8 == _local5){
_local10 = "http://www.alawar.com/download/CakeShop.exe";
if (((loaderInfo.parameters.alawar_f) && (!((loaderInfo.parameters.alawar_f == false))))){
_local10 = "";
};
game_settings = new GameSettings("en", _local10, true, false, false, false, true, true);
} else {
if (_local8 == _local6){
game_settings = new GameSettings("en", "oberon", true, false, true, false, true, true);
} else {
if (_local8 == _local7){
game_settings = new GameSettings("en", "http://www.girlgames.com/", true, false, false, false, false, false);
} else {
trace("Error (no suitable game settings)!");
};
};
};
};
};
};
};
addChild(game_settings);
if (_local8 == _local7){
gg_loader = new girlgames_loader();
addChild(gg_loader);
gg_loader.x = 320;
gg_loader.y = 240;
gg_loader.addEventListener(Event.REMOVED_FROM_STAGE, startGame);
};
if (game_settings.is_mail_ru_version){
loading_progress.visible = false;
title.visible = false;
if (loaderInfo.parameters.link){
game_settings.full_version_link = loaderInfo.parameters.link;
};
game_settings.mail_ru_lcom_name = loaderInfo.parameters.lcom_name;
game_settings.mail_ru_connection.client = this;
};
if (game_settings.is_oberon_version){
};
game_texts = new texts(game_settings.language);
addChild(game_texts);
background.logo.gotoAndStop(game_texts.language);
if (game_settings.is_mail_ru_version){
title.visible = false;
} else {
(title as window_title).set_text(game_texts.loading);
};
if (!game_settings.show_developer_logo){
background.gui_background.developer_logo.visible = false;
};
first_progress = true;
if (game_settings.is_mail_ru_version){
own_preloader = false;
main();
} else {
if (((!(game_settings.advertising)) || (!(game_settings.ad_preloader_use_mochi)))){
own_preloader = true;
loaderInfo.addEventListener(ProgressEvent.PROGRESS, load_progress);
loaderInfo.addEventListener(Event.COMPLETE, load_complete);
} else {
own_preloader = false;
_local11 = new Array();
if (game_settings.ad_preloader_use_mochi){
_local11.push("mochi");
};
_local12 = _local11[my_math.range_random(0, (_local11.length - 1))];
loading_progress.visible = false;
if (_local12 == "mochi"){
_local13 = {id:"596290aa50dc1367", res:"640x480", clip:root, ad_started:ad_mochi_started, ad_failed:ad_skip, ad_skipped:ad_skip, ad_finished:ad_mochi_finished};
MochiAd.showPreGameAd(_local13);
} else {
trace("error (preloader advertiser)!");
ad_skip();
};
};
};
}
public function ad_mochi_finished():void{
if (!own_preloader){
play();
addEventListener(Event.ENTER_FRAME, enter_frame);
};
}
public function destroy():void{
if (game_settings.is_mail_ru_version){
game_settings.mail_ru_connection.close();
};
removeChild(DisplayObject(main_program));
main_program = null;
removeChild(DisplayObject(game_settings));
game_settings = null;
removeChild(DisplayObject(game_texts));
game_texts = null;
}
public function ad_skip():void{
own_preloader = true;
loading_progress.visible = true;
loaderInfo.addEventListener(ProgressEvent.PROGRESS, load_progress);
loaderInfo.addEventListener(Event.COMPLETE, load_complete);
}
function goToLink(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.girlgames.com/");
navigateToURL(_local2);
}
public function load_progress(_arg1:ProgressEvent):void{
var _local2:Number;
var _local3:Number;
var _local4:int;
if (first_progress){
first_progress = false;
first_progress_bytes_loaded = _arg1.bytesLoaded;
};
_local2 = (_arg1.bytesLoaded - first_progress_bytes_loaded);
_local3 = (_arg1.bytesTotal - first_progress_bytes_loaded);
_local4 = int(((_local2 / _local3) * 100));
(loading_progress as preloader_progress).update_progress(_local4);
}
public function startGame(_arg1:Event):void{
ggButton_btn = new GirlGamesLogo();
addChild(ggButton_btn);
ggButton_btn.x = 460;
ggButton_btn.y = 380;
ggButton_btn.addEventListener(MouseEvent.MOUSE_DOWN, goToLink);
main();
}
public function enter_frame(_arg1:Event):void{
if (currentFrame >= 3){
removeEventListener(Event.ENTER_FRAME, enter_frame);
stop();
};
}
public function load_complete(_arg1:Event):void{
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, load_progress);
loaderInfo.removeEventListener(Event.COMPLETE, load_complete);
play();
addEventListener(Event.ENTER_FRAME, enter_frame);
}
public function main():void{
var _local1:Class;
_local1 = (loaderInfo.applicationDomain.getDefinition("scripts.main") as Class);
main_program = new _local1(game_texts, game_settings);
addChild(main_program);
}
public function ad_mochi_started():void{
}
}
}//package scripts
Section 115
//resources (scripts.resources)
package scripts {
import flash.display.*;
public class resources extends MovieClip {
public function resources(){
stop();
}
}
}//package scripts
Section 116
//scene_background (scripts.scene_background)
package scripts {
import flash.display.*;
public dynamic class scene_background extends MovieClip {
}
}//package scripts
Section 117
//scene_clock (scripts.scene_clock)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class scene_clock extends MovieClip {
public var gameplay_settings:GameplaySettings;
public var work_timer:Timer;
public var resume_timer:Boolean;
public var frame_count:Number;
public var current_time:Number;
public function scene_clock(){
frame_count = 61;
gotoAndStop(1);
work_timer = new Timer(1000, (frame_count - 1));
work_timer.addEventListener(TimerEvent.TIMER, work_tick);
work_timer.addEventListener(TimerEvent.TIMER_COMPLETE, work_complete);
}
public function work_tick(_arg1:TimerEvent):void{
var _local2:audio;
var _local3:int;
if (_arg1.target.currentCount == 61){
_local2 = (parent.parent.getChildByName("game_audio") as audio);
_local2.play_sound("game.time_complete");
};
if (_arg1.target.currentCount > 2){
_local3 = ((_arg1.target.currentCount - 2) + 1);
current_time = (((work_timer.delay * (_local3 - 1)) / 1000) / gameplay_settings.day_time);
current_time = Math.min(1, current_time);
gotoAndStop(_local3);
};
}
public function get_time():Number{
return (current_time);
}
public function is_time_over():Boolean{
return (((current_time + 0.01) > 1));
}
public function make_pause(_arg1:Boolean):void{
if (_arg1){
if (work_timer.running){
resume_timer = true;
work_timer.stop();
} else {
resume_timer = false;
};
} else {
if (resume_timer){
work_timer.start();
};
};
}
public function update():void{
gameplay_settings = (parent.parent.getChildByName("game_settings") as GameplaySettings);
gotoAndStop(1);
work_timer.delay = Math.floor(((gameplay_settings.day_time * 1000) / 60));
work_timer.repeatCount = (60 + 2);
work_timer.reset();
work_timer.start();
current_time = 0;
}
public function work_complete(_arg1:TimerEvent):void{
}
}
}//package scripts
Section 118
//texts (scripts.texts)
package scripts {
import flash.display.*;
public dynamic class texts extends MovieClip {
public var text_plus_money:String;
public var start_game_money:String;
public var statistics_service_title:String;
public var tutorial_title:String;
public var tutorial_cracker_1:String;
public var tutorial_cracker_0:String;
public var tutorial_serve_customers:String;
public var tutorial_make_cake:String;
public var sound_volume:String;
public var text_customer_service_0:String;
public var text_customer_service_1:String;
public var text_customer_service_2:String;
public var tutorial_coffee_cup_get_0:String;
public var gamelogic_goal_is_reached:String;
public var tutorial_coffee_cup_get_2:String;
public var tutorial_coffee_cup_get_1:String;
public var start_new_game:String;
public var music_volume:String;
public var gameplay_menu_return_to_game:String;
public var common_continue:String;
public var text_customer_service_3:String;
public var gameplay_menu_main_menu:String;
public var tutorial_mouse:String;
public var continue_game:String;
public var game_completed_text:String;
public var start_game_all_equipments:String;
public var options:String;
public var options_apply:String;
public var gamelogic_goal:String;
public var statistics_customers_title:String;
public var statistics_tips:String;
public var statistics_sales:String;
public var start_game_equipment:String;
public var statistics_service_1:String;
public var statistics_service_3:String;
public var statistics_service_2:String;
public var game_completed_title:String;
public var statistics_service_0:String;
public var text_day_is_over:String;
public var tutorial_deliver_simple:String;
public var exit:String;
public var statistics_total:String;
public var gameplay_menu_title:String;
public var text_menu:String;
public var options_cancel:String;
public var loading:String;
public var tutorial_coffee_finish:String;
public var tutorial_dustbin:String;
public var language:String;
public var tutorial_introduction:String;
public var welcome:String;
public var tutorial_coffee_done_0:String;
public var gamelogic_money:String;
public var text_customer_tips:String;
public var start_game_back:String;
public var download_full_version:String;
public var tutorial_coffee_put:String;
public var game_over_title:String;
public var start_game_goal:String;
public var game_over_text:String;
public var tutorial_coffee_deliver_0:String;
public var tutorial_jelly:String;
public var start_game_title:String;
public var tutorial_coffee:String;
public var tutorial_coffee_cup_put_1:String;
public var tutorial_coffee_cup_put_2:String;
public var start_game_play:String;
public var tutorial_coffee_cup_put_0:String;
public var tutorial_coffee_get:String;
public function texts(_arg1:String){
name = "game_texts";
language = _arg1;
x = 10000;
y = 10000;
if (language == "en"){
make_texts_en();
} else {
if (language == "ru"){
make_texts_ru();
} else {
language = "en";
make_texts_en();
};
};
}
public function make_texts_ru():void{
common_continue = "продолжить";
loading = "Загрузка...";
welcome = "Добро Пожаловать!";
start_new_game = "НАЧАТЬ НОВУЮ ИГРУ";
continue_game = "ПРОДОЛЖИТЬ ИГРУ";
options = "НАСТРОЙКИ";
exit = "ВЫХОД";
download_full_version = "БОЛЬШЕ ИГР";
music_volume = "громкость музыки";
sound_volume = "громкость звуков";
options_cancel = "отмена";
options_apply = "применить";
gameplay_menu_title = "ИГРОВОЕ МЕНЮ";
gameplay_menu_return_to_game = "вернуться в игру";
gameplay_menu_main_menu = "главное меню";
start_game_title = "День: %DAY%";
start_game_back = "назад";
start_game_play = "играть";
start_game_money = "деньги";
start_game_goal = "ваша цель";
start_game_equipment = "следующее оборудование";
start_game_all_equipments = "Всё оборудование доступно!";
statistics_sales = "Продажи";
statistics_tips = "Чаевые";
statistics_total = "ВСЕГО";
statistics_service_title = "Средний Сервис";
statistics_service_0 = "Отличный";
statistics_service_1 = "Хороший";
statistics_service_2 = "Плохой";
statistics_service_3 = "Ужасный";
statistics_customers_title = "Обслужено Клиентов";
gamelogic_money = "Деньги";
gamelogic_goal = "Цель";
gamelogic_goal_is_reached = "Цель достигнута!";
music_volume = "громкость музыки";
sound_volume = "громкость звуков";
text_plus_money = "$%MONEY%";
text_menu = "меню";
text_customer_service_0 = "Отличный Сервис";
text_customer_service_1 = "Хороший Сервис";
text_customer_service_2 = "Плохой Сервис";
text_customer_service_3 = "Ужасный Сервис";
text_customer_tips = "Чаевые: $%MONEY%";
text_day_is_over = "ДЕНЬ ЗАКОНЧЕН";
tutorial_title = "обучение";
tutorial_mouse = "нажмите кнопку мышки...";
tutorial_introduction = "Добро пожаловать! Сейчас Вы узнаете основы управления кафе.";
tutorial_cracker_0 = "У нас первый покупатель! Он хочет купить кекс. Для начала возьмите вафельный корж.";
tutorial_jelly = "Хорошо, теперь яблочное желе.";
tutorial_cracker_1 = "Отлично! Не хватает только шоколадного коржа.";
tutorial_deliver_simple = "Поздравляем! Кекс готов. Теперь отдайте заказ покупателю.";
tutorial_make_cake = "Отлично! Теперь научимся пользоваться урной. Возьмите яблочное желе...";
tutorial_dustbin = "... и воспользуйтесь урной.";
tutorial_serve_customers = "У Вас отлично получается! Теперь обслуживайте покупателей до конца.";
tutorial_coffee = "В нашем кафе продаются не только кексы. Со временем ассортимент продукции станет больше. Сейчас Вы научитесь готовить кофе.";
tutorial_coffee_cup_get_0 = "Возьмите кофейную чашку...";
tutorial_coffee_cup_put_0 = "... и поставьте ее в кофе-машину.";
tutorial_coffee_done_0 = "Отлично! Кофе готово. Теперь отдайте заказ покупателю.";
tutorial_coffee_cup_get_1 = "Смотрите, как много посетителей хотят заказать кофе. Возьмите кофейную чашку...";
tutorial_coffee_cup_put_1 = "... поставьте её в кофе-машину ...";
tutorial_coffee_cup_get_2 = "... и пока готовится кофе, возьмите другую кофейную чашку.";
tutorial_coffee_cup_put_2 = "Когда кофе будет готово, поставьте пустую чашку вместо полной.";
tutorial_coffee_deliver_0 = "Теперь отдайте кофе покупателю.";
tutorial_coffee_get = "Возьмите готовый кофе...";
tutorial_coffee_put = "... Вы можете поставить уже готовый кофе обратно, в кофе-машину.";
tutorial_coffee_finish = "Продолжайте обслуживать посетителей до конца дня.";
game_over_title = "ИГРА ЗАКОНЧЕНА";
game_over_text = "Вы не заработали необходимую сумму денег за за этот день. Всего Вы заработали <font color=\"#FFCC00\">$%MONEY%</font>!";
game_completed_title = "ИГРА ЗАВЕРШЕНА";
game_completed_text = "Поздравяем! Вы закончили прохождение игры. Всего Вы заработали <font color=\"#FFCC00\">$%MONEY%</font>!";
}
public function make_texts_en():void{
common_continue = "continue";
loading = "Loading...";
welcome = "Welcome!";
start_new_game = "START NEW GAME";
continue_game = "CONTINUE GAME";
options = "OPTIONS";
exit = "EXIT";
download_full_version = "Play More\nCooking Games";
music_volume = "music volume";
sound_volume = "sound volume";
options_cancel = "cancel";
options_apply = "apply";
gameplay_menu_title = "GAME MENU";
gameplay_menu_return_to_game = "return to game";
gameplay_menu_main_menu = "exit to main menu";
start_game_title = "Day: %DAY%";
start_game_back = "back";
start_game_play = "play";
start_game_money = "cash";
start_game_goal = "your goal";
start_game_equipment = "next equipment";
start_game_all_equipments = "All equipments are available!";
statistics_sales = "Sales";
statistics_tips = "Tips";
statistics_total = "TOTAL";
statistics_service_title = "Average Service";
statistics_service_0 = "Excellent";
statistics_service_1 = "Good";
statistics_service_2 = "Bad";
statistics_service_3 = "Terrible";
statistics_customers_title = "Customers Served";
gamelogic_money = "Money";
gamelogic_goal = "Goal";
gamelogic_goal_is_reached = "Goal is reached!";
text_plus_money = "$%MONEY%";
text_menu = "menu";
text_customer_service_0 = "Excellent Service";
text_customer_service_1 = "Good Service";
text_customer_service_2 = "Bad Service";
text_customer_service_3 = "Terrible Service";
text_customer_tips = "Tips: $%MONEY%";
text_day_is_over = "THE DAY IS OVER";
tutorial_title = "tutorial";
tutorial_mouse = "hit mouse button to continue...";
tutorial_introduction = "Welcome! I'll explain the basics of cafe management now.";
tutorial_cracker_0 = "Our first client is here, and she's ordered a cake. Take a piece of biscuit loaf first.";
tutorial_jelly = "Good. Now the apple jam.";
tutorial_cracker_1 = "Excellent! Now, top it off with the chocolate loaf.";
tutorial_deliver_simple = "Congratulations! The cake is ready. Serve it to the client now.";
tutorial_make_cake = "Good. Now you'll learn how to use a bin. Take some apple jam...";
tutorial_dustbin = "... and chuck it in the bin.";
tutorial_serve_customers = "Excellent! Now serve all the remaining customers.";
tutorial_coffee = "Although we're only serving cakes now, we're going to expand the menu with various other desserts. Now then, let's prepare some coffee.";
tutorial_coffee_cup_get_0 = "Take a coffee cup...";
tutorial_coffee_cup_put_0 = "... and place it in the coffee machine.";
tutorial_coffee_done_0 = "Voila! The coffee is ready. Now serve it to the client.";
tutorial_coffee_cup_get_1 = "Ok, check how many customers want coffee. Now take another coffee cup...";
tutorial_coffee_cup_put_1 = "... stick it in the machine ...";
tutorial_coffee_cup_get_2 = "... and whilst it's brewing, grab another cup.";
tutorial_coffee_cup_put_2 = "When the first coffee's ready, put the other cup in too.";
tutorial_coffee_deliver_0 = "Now serve the coffee to the client.";
tutorial_coffee_get = "Take the finished cup of coffee...";
tutorial_coffee_put = "... and you can place it back in the machine to keep hot.";
tutorial_coffee_finish = "And that's pretty much it. Just carry on until the work day is over.";
game_over_title = "GAME OVER";
game_over_text = "You didn't manage to earn the required amount of money during this day. You have earned a total of <font color=\"#FFCC00\">$%MONEY%</font>!";
game_completed_title = "GAME COMPLETE";
game_completed_text = "Congratulations! You have passed the game. You have earned a total of <font color=\"#FFCC00\">$%MONEY%</font>!";
}
}
}//package scripts
Section 119
//window_base (scripts.window_base)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class window_base extends MovieClip {
public var game_audio:audio;
public var is_visible:Boolean;
public var gui_window:game_window;
public var show_timer:Timer;
public var gui_controls:Array;
public var window_name:String;
public var is_show_delay:Boolean;
public function window_base(){
visible = false;
is_visible = false;
is_show_delay = false;
gui_controls = new Array();
show_timer = new Timer(40, 15);
show_timer.addEventListener(TimerEvent.TIMER, show_tick);
show_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_complete);
}
public function show_complete(_arg1:TimerEvent):void{
var _local2:uint;
_local2 = 0;
while (_local2 < gui_controls.length) {
if (is_visible){
gui_controls[_local2].alpha = 1;
} else {
gui_controls[_local2].alpha = 0;
gui_controls[_local2].visible = false;
};
_local2++;
};
if (!is_visible){
visible = false;
};
}
public function show_window(_arg1:Boolean, _arg2:Boolean=false){
var _local3:uint;
is_visible = _arg1;
is_show_delay = _arg2;
_local3 = 0;
while (_local3 < gui_controls.length) {
gui_controls[_local3].alpha = (is_visible) ? 0 : 1;
if (_arg1){
gui_controls[_local3].visible = true;
};
_local3++;
};
visible = true;
show_timer.reset();
if (((!(is_visible)) && (_arg2))){
show_timer.repeatCount = 150;
} else {
show_timer.repeatCount = 15;
};
show_timer.start();
gui_window.show_window(_arg1, is_show_delay);
if (((_arg1) && (!(is_show_delay)))){
gui_window.title.set_text(window_name);
game_audio.play_sound("menu.window_appear");
};
if (!_arg1){
gui_window.title.set_text("");
};
}
public function show_tick(_arg1:TimerEvent):void{
var _local2:uint;
if (((((is_show_delay) && (is_visible))) && ((_arg1.target.currentCount == 6)))){
gui_window.title.set_text(window_name);
game_audio.play_sound("menu.window_appear");
};
_local2 = 0;
while (_local2 < gui_controls.length) {
if (is_visible){
if (is_show_delay){
gui_controls[_local2].alpha = Math.min(1, Math.max(0, ((_arg1.target.currentCount - 5) / 10)));
} else {
gui_controls[_local2].alpha = Math.min(1, Math.max(0, (_arg1.target.currentCount / 10)));
};
} else {
if (is_show_delay){
gui_controls[_local2].alpha = Math.min(1, Math.max(0, (1 - (_arg1.target.currentCount / 100))));
} else {
gui_controls[_local2].alpha = Math.min(1, Math.max(0, (1 - (_arg1.target.currentCount / 5))));
};
};
_local2++;
};
}
}
}//package scripts
Section 120
//window_game_complete (scripts.window_game_complete)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class window_game_complete extends window_base {
public var sales:int;
public var window_text:MovieClip;
public var tips:int;
public var button_0:button_big;
public var button_1:button_statistics_download;
public var game_texts:texts;
public var work_timer:Timer;
public var game_settings:GameSettings;
public var work_time:Number;
public var window:game_window;
public function window_game_complete(_arg1:texts, _arg2:audio, _arg3:GameSettings){
x = 321;
y = 217;
game_texts = _arg1;
game_audio = _arg2;
game_settings = _arg3;
gui_window = window;
gui_controls.push(window_text);
gui_controls.push(button_0);
gui_controls.push(button_1);
button_0.game_audio = game_audio;
button_1.game_audio = game_audio;
button_0.set_text(game_texts.common_continue);
if (game_settings.full_version_link.length > 0){
button_1.set_text(game_texts.download_full_version);
} else {
button_1.set_text("");
};
button_0.addEventListener("button_click", button_0_click);
button_1.addEventListener("button_click", button_1_click);
my_utils.prepare_text(window_text.title);
window_name = game_texts.game_completed_title;
}
public function button_0_click(_arg1:Event):void{
dispatchEvent(new Event("go_main_menu"));
}
public function update(_arg1:int, _arg2:int):void{
var _local3:String;
_local3 = game_texts.game_completed_text;
_local3 = _local3.replace("%MONEY%", String(_arg2));
my_utils.set_html_text(window_text.title, _local3, 18, 0xFFFFFF);
button_0.update();
button_1.update();
}
public function button_1_click(_arg1:Event):void{
game_settings.download_full_version();
}
}
}//package scripts
Section 121
//window_game_over (scripts.window_game_over)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class window_game_over extends window_base {
public var sales:int;
public var window_text:MovieClip;
public var tips:int;
public var button_0:button_big;
public var button_1:button_statistics_download;
public var game_texts:texts;
public var work_timer:Timer;
public var game_settings:GameSettings;
public var work_time:Number;
public var window:game_window;
public function window_game_over(_arg1:texts, _arg2:audio, _arg3:GameSettings){
x = 321;
y = 217;
game_texts = _arg1;
game_audio = _arg2;
game_settings = _arg3;
gui_window = window;
gui_controls.push(window_text);
gui_controls.push(button_0);
gui_controls.push(button_1);
button_0.game_audio = game_audio;
button_1.game_audio = game_audio;
button_0.set_text(game_texts.common_continue);
if (game_settings.full_version_link.length > 0){
button_1.set_text(game_texts.download_full_version);
} else {
button_1.set_text("");
};
button_0.addEventListener("button_click", button_0_click);
button_1.addEventListener("button_click", button_1_click);
my_utils.prepare_text(window_text.title);
window_name = game_texts.game_over_title;
}
public function button_0_click(_arg1:Event):void{
dispatchEvent(new Event("go_main_menu"));
}
public function update(_arg1:int, _arg2:int):void{
var _local3:String;
_local3 = game_texts.game_over_text;
_local3 = _local3.replace("%MONEY%", String(_arg2));
my_utils.set_html_text(window_text.title, _local3, 18, 0xFFFFFF);
button_0.update();
button_1.update();
}
public function button_1_click(_arg1:Event):void{
game_settings.download_full_version();
}
}
}//package scripts
Section 122
//window_gameplay_options (scripts.window_gameplay_options)
package scripts {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.events.*;
public dynamic class window_gameplay_options extends window_base {
public var zones:MovieClip;
public var button_0:button_big;
public var button_1:button_big;
var game_texts:texts;
public var title_background:MovieClip;
public var sound_volume:Slider;
public var music_volume:Slider;
public var logo_background:MovieClip;
public var music_title:zone_title;
public var logo:MovieClip;
public var sound_title:zone_title;
public var window:game_window;
public function window_gameplay_options(_arg1:texts, _arg2:audio){
x = 321;
y = 217;
game_texts = _arg1;
game_audio = _arg2;
window_name = game_texts.gameplay_menu_title;
gui_window = window;
logo.gotoAndStop(game_texts.language);
gui_controls.push(logo);
gui_controls.push(logo_background);
gui_controls.push(title_background);
gui_controls.push(zones);
gui_controls.push(music_title);
gui_controls.push(sound_title);
gui_controls.push(music_volume);
gui_controls.push(sound_volume);
gui_controls.push(button_0);
gui_controls.push(button_1);
music_title.set_text(game_texts.music_volume);
sound_title.set_text(game_texts.sound_volume);
button_0.game_audio = game_audio;
button_1.game_audio = game_audio;
button_0.addEventListener("button_click", button_0_click);
button_1.addEventListener("button_click", button_1_click);
music_volume.minimum = 0;
music_volume.maximum = 100;
music_volume.snapInterval = 1;
sound_volume.minimum = 0;
sound_volume.maximum = 100;
sound_volume.snapInterval = 1;
music_volume.addEventListener(SliderEvent.CHANGE, music_volume_change);
sound_volume.addEventListener(SliderEvent.CHANGE, sound_volume_change);
music_volume.addEventListener(SliderEvent.THUMB_DRAG, music_volume_change);
sound_volume.addEventListener(SliderEvent.THUMB_DRAG, sound_volume_change);
button_0.update();
button_1.update();
}
public function sound_volume_change(_arg1:SliderEvent):void{
game_audio.set_sound_volume((sound_volume.value / 100));
}
public function button_0_click(_arg1:Event):void{
dispatchEvent(new Event("go_main_menu"));
}
public function update():void{
button_0.set_text(game_texts.gameplay_menu_main_menu);
button_1.set_text(game_texts.gameplay_menu_return_to_game);
button_0.update();
button_1.update();
music_volume.value = (game_audio.music_volume * 100);
sound_volume.value = (game_audio.sound_volume * 100);
}
public function music_volume_change(_arg1:SliderEvent):void{
game_audio.set_music_volume((music_volume.value / 100));
}
public function button_1_click(_arg1:Event):void{
dispatchEvent(new Event("return_to_game"));
}
}
}//package scripts
Section 123
//window_main_menu (scripts.window_main_menu)
package scripts {
import flash.events.*;
public dynamic class window_main_menu extends window_base {
public var button_download:button_main_menu_download;
public var button_3:button_main_menu;
public var button_0:button_main_menu;
public var button_1:button_main_menu;
var game_texts:texts;
public var button_2:button_main_menu;
var game_settings:GameSettings;
var is_saved_game:Boolean;
public var window:game_window;
public function window_main_menu(_arg1:texts, _arg2:audio, _arg3:GameSettings){
x = 321;
y = 217;
game_texts = _arg1;
game_audio = _arg2;
game_settings = _arg3;
window_name = game_texts.welcome;
gui_window = window;
gui_controls.push(button_0);
gui_controls.push(button_1);
gui_controls.push(button_2);
gui_controls.push(button_3);
gui_controls.push(button_download);
button_0.game_audio = game_audio;
button_1.game_audio = game_audio;
button_2.game_audio = game_audio;
button_3.game_audio = game_audio;
button_download.game_audio = game_audio;
button_0.addEventListener("button_click", button_0_click);
button_1.addEventListener("button_click", button_1_click);
button_2.addEventListener("button_click", button_2_click);
button_3.addEventListener("button_click", button_3_click);
button_download.addEventListener("button_click", button_download_click);
if (game_settings.full_version_link.length > 0){
button_download.set_text(game_texts.download_full_version);
} else {
button_download.set_text("");
};
}
public function button_2_click(_arg1:Event):void{
if (is_saved_game){
dispatchEvent(new Event("options"));
} else {
if (game_settings.is_mail_ru_version){
game_settings.mail_ru_close_game();
};
};
}
public function button_3_click(_arg1:Event):void{
if (game_settings.is_mail_ru_version){
game_settings.mail_ru_close_game();
};
}
public function button_0_click(_arg1:Event):void{
if (is_saved_game){
dispatchEvent(new Event("continue_game"));
} else {
dispatchEvent(new Event("start_new_game"));
};
}
public function button_download_click(_arg1:Event):void{
game_settings.download_full_version();
}
public function update(_arg1:Boolean):void{
is_saved_game = _arg1;
if (is_saved_game){
button_0.set_text(game_texts.continue_game);
button_1.set_text(game_texts.start_new_game);
button_2.set_text(game_texts.options);
button_3.set_text("");
if (game_settings.is_mail_ru_version){
button_3.set_text(game_texts.exit);
};
} else {
button_0.set_text(game_texts.start_new_game);
button_1.set_text(game_texts.options);
button_2.set_text("");
button_3.set_text("");
if (game_settings.is_mail_ru_version){
button_2.set_text(game_texts.exit);
};
};
button_0.update();
button_1.update();
button_2.update();
button_3.update();
button_download.update();
}
public function button_1_click(_arg1:Event):void{
if (is_saved_game){
dispatchEvent(new Event("start_new_game"));
} else {
dispatchEvent(new Event("options"));
};
}
}
}//package scripts
Section 124
//window_options (scripts.window_options)
package scripts {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.events.*;
public dynamic class window_options extends window_base {
var inital_music_volume:Number;
public var zones:MovieClip;
public var button_0:button_big;
public var button_1:button_big;
var game_texts:texts;
public var sound_volume:Slider;
public var music_volume:Slider;
public var music_title:zone_title;
var inital_sound_volume:Number;
public var sound_title:zone_title;
public var window:game_window;
public function window_options(_arg1:texts, _arg2:audio){
x = 321;
y = 217;
game_texts = _arg1;
game_audio = _arg2;
window_name = game_texts.options;
gui_window = window;
gui_controls.push(zones);
gui_controls.push(music_title);
gui_controls.push(sound_title);
gui_controls.push(music_volume);
gui_controls.push(sound_volume);
gui_controls.push(button_0);
gui_controls.push(button_1);
music_title.set_text(game_texts.music_volume);
sound_title.set_text(game_texts.sound_volume);
button_0.game_audio = game_audio;
button_1.game_audio = game_audio;
button_0.addEventListener("button_click", button_0_click);
button_1.addEventListener("button_click", button_1_click);
music_volume.minimum = 0;
music_volume.maximum = 100;
music_volume.snapInterval = 1;
sound_volume.minimum = 0;
sound_volume.maximum = 100;
sound_volume.snapInterval = 1;
music_volume.addEventListener(SliderEvent.CHANGE, music_volume_change);
sound_volume.addEventListener(SliderEvent.CHANGE, sound_volume_change);
music_volume.addEventListener(SliderEvent.THUMB_DRAG, music_volume_change);
sound_volume.addEventListener(SliderEvent.THUMB_DRAG, sound_volume_change);
}
public function sound_volume_change(_arg1:SliderEvent):void{
game_audio.set_sound_volume((sound_volume.value / 100));
}
public function button_0_click(_arg1:Event):void{
game_audio.set_music_volume(inital_music_volume);
game_audio.set_sound_volume(inital_sound_volume);
dispatchEvent(new Event("go_main_menu"));
}
public function update():void{
button_0.set_text(game_texts.options_cancel);
button_1.set_text(game_texts.options_apply);
button_0.update();
button_1.update();
inital_music_volume = game_audio.music_volume;
inital_sound_volume = game_audio.sound_volume;
music_volume.value = (inital_music_volume * 100);
sound_volume.value = (inital_sound_volume * 100);
}
public function music_volume_change(_arg1:SliderEvent):void{
game_audio.set_music_volume((music_volume.value / 100));
}
public function button_1_click(_arg1:Event):void{
dispatchEvent(new Event("go_main_menu"));
}
}
}//package scripts
Section 125
//window_start_game (scripts.window_start_game)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.filters.*;
public dynamic class window_start_game extends window_base {
public var money_title:zone_title;
public var gameplay_settings:GameplaySettings;
public var goal_title:zone_title;
public var current_goal:int;
public var button_play:button_play;
public var zones:MovieClip;
public var all_equipment:MovieClip;
public var game_texts:texts;
public var equipment_title:zone_title;
public var previous_money:int;
public var work_timer:Timer;
public var equipment:MovieClip;
public var money_field:MovieClip;
public var equipment_progress:MovieClip;
public var money:int;
public var work_time:Number;
public var button_back:button_back;
public var goal_field:MovieClip;
public var current_day:int;
public var current_money:int;
public var work_effects_time:Number;
public var window:game_window;
public function window_start_game(_arg1:texts, _arg2:audio, _arg3:GameplaySettings){
x = 321;
y = 217;
game_texts = _arg1;
game_audio = _arg2;
gameplay_settings = _arg3;
gui_window = window;
gui_controls.push(zones);
gui_controls.push(money_title);
gui_controls.push(money_field);
gui_controls.push(goal_title);
gui_controls.push(goal_field);
gui_controls.push(equipment_title);
gui_controls.push(equipment);
gui_controls.push(equipment_progress);
gui_controls.push(all_equipment);
gui_controls.push(button_back);
gui_controls.push(button_play);
button_back.game_audio = game_audio;
button_play.game_audio = game_audio;
button_back.addEventListener("button_click", button_back_click);
button_play.addEventListener("button_click", button_play_click);
money_title.set_text(game_texts.start_game_money);
goal_title.set_text(game_texts.start_game_goal);
equipment_title.set_text(game_texts.start_game_equipment);
button_back.set_text(game_texts.start_game_back);
button_play.set_text(game_texts.start_game_play);
my_utils.prepare_text(money_field.title);
my_utils.prepare_text(goal_field.title);
my_utils.prepare_text(all_equipment.title);
my_utils.set_text(all_equipment.title, game_texts.start_game_all_equipments, 22, 0xFFFFFF);
work_timer = new Timer(40, 0);
work_timer.addEventListener(TimerEvent.TIMER, work_tick);
equipment_progress.stop();
equipment.stop();
}
public function work_tick(_arg1:TimerEvent):void{
work_time = (work_time + 0.04);
show_progress();
}
public function show_progress():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = work_time;
_local1 = (_local1 - 0.85);
_local1 = (_local1 - work_effects_time);
_local2 = gameplay_settings.get_machine_count(((previous_money == money)) ? current_day : (current_day - 1));
_local3 = (_local2 - Math.floor(_local2));
_local4 = 0;
if (_local2 >= 15){
_local3 = 1;
};
if (_local1 > 0){
if (previous_money != money){
current_money = my_math.lerp(previous_money, money, my_math.clamp_unit(_local1));
_local1 = (_local1 - 1.2);
};
};
if (_local1 > 0){
if (previous_money != money){
_local5 = gameplay_settings.get_machine_count(current_day);
_local6 = gameplay_settings.get_machine_count((current_day - 1));
_local5 = (my_math.lerp(_local6, _local5, my_math.clamp_unit(_local1)) + 0.001);
_local3 = (_local5 - Math.floor(_local5));
if (((((!((int(Math.floor(_local5)) == int(Math.floor(_local2))))) || ((work_effects_time > 0.001)))) && ((work_effects_time < 3)))){
if (work_effects_time < 0.001){
game_audio.play_sound("menu.tutorial");
};
_local2 = (_local5 - 1);
work_effects_time = (work_effects_time + 0.04);
_local3 = 1;
_local4 = (Math.abs(Math.sin((Math.min(3, work_effects_time) * 3.1415))) * 40);
} else {
_local2 = (_local5 + 0.001);
_local4 = 0;
};
if ((((_local1 < 1)) && ((((work_effects_time < 0.001)) || ((work_effects_time >= 3)))))){
if (!game_audio.is_sound_playing("menu.charge_money")){
game_audio.play_sound("menu.charge_money", true);
};
} else {
if (game_audio.is_sound_playing("menu.charge_money")){
game_audio.stop_sound("menu.charge_money");
};
};
_local1--;
};
};
my_utils.set_text(money_field.title, ("$" + String(current_money)), 16, 0xFFCC00);
my_utils.set_text(goal_field.title, ("$" + String(current_goal)), 16, 0xFF6600);
equipment_progress.gotoAndStop(int(my_math.lerp(1, 100, _local3)));
equipment.filters = null;
equipment.filters = [new GlowFilter(0xFFFFFF, 1, _local4, _local4, 2, 1)];
if (_local2 < 15){
equipment.visible = true;
equipment_progress.visible = true;
all_equipment.visible = false;
} else {
equipment.visible = false;
equipment_progress.visible = false;
all_equipment.visible = true;
};
equipment.gotoAndStop((int(Math.floor(_local2)) + 1));
if (_local1 > 0.1){
work_timer.stop();
};
}
public function button_back_click(_arg1:Event):void{
work_time = 100000;
work_effects_time = 1000;
dispatchEvent(new Event("go_main_menu"));
}
public function update(_arg1:int, _arg2:int, _arg3:int):void{
current_day = _arg1;
window_name = game_texts.start_game_title;
window_name = window_name.replace("%DAY%", String((current_day + 1)));
current_money = _arg3;
money = _arg2;
previous_money = _arg3;
current_goal = gameplay_settings.goals[_arg1];
button_back.update();
button_play.update();
work_time = 0;
work_effects_time = 0;
show_progress();
work_timer.reset();
work_timer.start();
}
public function button_play_click(_arg1:Event):void{
work_time = 100000;
work_effects_time = 1000;
dispatchEvent(new Event("go_game_play"));
}
}
}//package scripts
Section 126
//window_statistics (scripts.window_statistics)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class window_statistics extends window_base {
public var service_smile:MovieClip;
public var sales:int;
public var window_text:MovieClip;
public var tips:int;
public var zones:MovieClip;
public var button_0:button_big;
public var button_1:button_statistics_download;
public var game_texts:texts;
public var work_timer:Timer;
public var game_settings:GameSettings;
public var work_time:Number;
public var window:game_window;
public function window_statistics(_arg1:texts, _arg2:audio, _arg3:GameSettings){
x = 321;
y = 217;
game_texts = _arg1;
game_audio = _arg2;
game_settings = _arg3;
gui_window = window;
gui_controls.push(zones);
gui_controls.push(window_text);
gui_controls.push(service_smile);
gui_controls.push(button_0);
gui_controls.push(button_1);
button_0.game_audio = game_audio;
button_1.game_audio = game_audio;
button_0.set_text(game_texts.common_continue);
if (game_settings.full_version_link.length > 0){
button_1.set_text(game_texts.download_full_version);
} else {
button_1.set_text("");
};
button_0.addEventListener("button_click", button_0_click);
button_1.addEventListener("button_click", button_1_click);
my_utils.prepare_text(window_text.sales_text);
my_utils.prepare_text(window_text.tips_text);
my_utils.prepare_text(window_text.total_text);
my_utils.prepare_text(window_text.sales_money_text);
my_utils.prepare_text(window_text.tips_money_text);
my_utils.prepare_text(window_text.total_money_text);
my_utils.prepare_text(window_text.service_title);
my_utils.prepare_text(window_text.service_text);
my_utils.prepare_text(window_text.served_title);
my_utils.prepare_text(window_text.served);
my_utils.set_text(window_text.sales_text, game_texts.statistics_sales, 16, 0xFFFFFF);
my_utils.set_text(window_text.tips_text, game_texts.statistics_tips, 16, 0xFFFFFF);
my_utils.set_text(window_text.total_text, game_texts.statistics_total, 16, 0xFFFFFF);
my_utils.set_text(window_text.service_title, game_texts.statistics_service_title, 18, 0xFFFFFF);
my_utils.set_text(window_text.served_title, game_texts.statistics_customers_title, 18, 0xFFFFFF);
work_timer = new Timer(40, 0);
work_timer.addEventListener(TimerEvent.TIMER, work_tick);
service_smile.stop();
}
public function work_tick(_arg1:TimerEvent):void{
var _local2:int;
var _local3:int;
var _local4:int;
work_time = (work_time + 0.04);
_local2 = my_math.lerp(0, sales, my_math.clamp_unit((work_time - 0.85)));
_local3 = my_math.lerp(0, tips, my_math.clamp_unit((work_time - 2.1)));
_local4 = my_math.lerp(0, (sales + _local3), my_math.clamp_unit((work_time - 3.35)));
my_utils.set_text(window_text.sales_money_text, ("$" + String(_local2)), 16, 0xFFCC00);
my_utils.set_text(window_text.tips_money_text, ("$" + String(_local3)), 16, 0xFFCC00);
my_utils.set_text(window_text.total_money_text, ("$" + String(_local4)), 16, 0xFFCC00);
if ((((((((0.85 < work_time)) && ((work_time < 1.85)))) || ((((2.1 < work_time)) && ((work_time < 3.1)))))) || ((((3.35 < work_time)) && ((work_time < 4.35)))))){
if (!game_audio.is_sound_playing("menu.charge_money")){
game_audio.play_sound("menu.charge_money", true);
};
} else {
if (game_audio.is_sound_playing("menu.charge_money")){
game_audio.stop_sound("menu.charge_money");
};
};
if (work_time > 4.36){
work_timer.stop();
};
}
public function button_0_click(_arg1:Event):void{
work_time = 100000;
dispatchEvent(new Event("go_start_game"));
}
public function update(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
var _local7:String;
var _local8:Number;
window_name = game_texts.start_game_title;
window_name = window_name.replace("%DAY%", String(_arg1));
sales = _arg2;
tips = _arg3;
my_utils.set_text(window_text.sales_money_text, "$0", 16, 0xFFCC00);
my_utils.set_text(window_text.tips_money_text, "$0", 16, 0xFFCC00);
my_utils.set_text(window_text.total_money_text, "$0", 16, 0xFFCC00);
service_smile.gotoAndStop((_arg4 + 1));
if (_arg4 == 0){
my_utils.set_text(window_text.service_text, game_texts.statistics_service_0, 16, 10092339);
} else {
if (_arg4 == 1){
my_utils.set_text(window_text.service_text, game_texts.statistics_service_1, 16, 0xCCFF00);
} else {
if (_arg4 == 2){
my_utils.set_text(window_text.service_text, game_texts.statistics_service_2, 16, 0xFF3300);
} else {
if (_arg4 == 3){
my_utils.set_text(window_text.service_text, game_texts.statistics_service_3, 16, 0xFF3300);
};
};
};
};
_local7 = ((String(_arg6) + "/") + String(_arg5));
_local8 = (Number(_arg6) / Number(_arg5));
if (_local8 > 0.99){
my_utils.set_text(window_text.served, _local7, 16, 10092339);
} else {
if (_local8 > 0.6){
my_utils.set_text(window_text.served, _local7, 16, 0xCCFF00);
} else {
if (_local8 > 0.3){
my_utils.set_text(window_text.served, _local7, 16, 0xFF3300);
} else {
my_utils.set_text(window_text.served, _local7, 16, 0xFF3300);
};
};
};
button_0.update();
button_1.update();
work_time = 0;
work_timer.reset();
work_timer.start();
}
public function button_1_click(_arg1:Event):void{
game_settings.download_full_version();
}
}
}//package scripts
Section 127
//window_title (scripts.window_title)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.filters.*;
public dynamic class window_title extends MovieClip {
public var current_text:String;
public var show_timer:Timer;
public var title_text:TextField;
public function window_title(){
title_text.antiAliasType = AntiAliasType.ADVANCED;
title_text.filters = [new BlurFilter(0, 0, 0)];
show_timer = new Timer(40, 15);
show_timer.addEventListener(TimerEvent.TIMER, show_tick);
show_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_complete);
current_text = "";
set_text("");
visible = false;
}
public function show_complete(_arg1:TimerEvent):void{
if (current_text.length > 0){
alpha = 1;
} else {
alpha = 0;
visible = false;
};
}
public function show_tick(_arg1:TimerEvent):void{
if (current_text.length > 0){
alpha = Math.min(1, Math.max(0, (_arg1.target.currentCount / 15)));
} else {
alpha = Math.min(1, Math.max(0, (1 - (_arg1.target.currentCount / 15))));
};
}
public function set_text(_arg1:String):void{
var _local2:TextFormat;
title_text.text = _arg1;
_local2 = title_text.getTextFormat();
_local2.color = 0xFFFFFF;
_local2.bold = true;
_local2.size = 18;
_local2.font = null;
title_text.setTextFormat(_local2);
if (current_text != _arg1){
current_text = _arg1;
alpha = ((current_text.length)>0) ? 0 : 1;
show_timer.reset();
show_timer.start();
visible = true;
};
}
}
}//package scripts
Section 128
//window_tutorial (scripts.window_tutorial)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class window_tutorial extends MovieClip {
public var show_mouse_text:Boolean;
public var background:MovieClip;
public var is_mouse_pressed:Boolean;
public var game_audio:audio;
public var is_visible:Boolean;
public var title:zone_title;
public var show_delay_timer:Timer;
public var game_texts:texts;
public var tutorial_text:MovieClip;
public var show_timer:Timer;
public var mouse_text:MovieClip;
public var gui_controls:Array;
public function window_tutorial(){
visible = false;
is_visible = false;
gui_controls = new Array();
gui_controls.push(title);
gui_controls.push(background);
gui_controls.push(tutorial_text);
show_timer = new Timer(40, 10);
show_timer.addEventListener(TimerEvent.TIMER, show_tick);
show_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_complete);
show_delay_timer = new Timer(40, 100);
show_delay_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_delay_complete);
my_utils.prepare_text(tutorial_text.title);
my_utils.prepare_text(mouse_text.title);
}
public function show_delay_complete(_arg1:TimerEvent):void{
_show_window(true);
}
public function show_complete(_arg1:TimerEvent):void{
var _local2:uint;
_local2 = 0;
while (_local2 < gui_controls.length) {
if (is_visible){
gui_controls[_local2].alpha = 1;
} else {
gui_controls[_local2].alpha = 0;
gui_controls[_local2].visible = false;
};
_local2++;
};
if (is_visible){
mouse_text.alpha = 1;
} else {
mouse_text.alpha = 0;
mouse_text.visible = false;
};
if (!is_visible){
visible = false;
};
}
public function show_window(_arg1:Boolean, _arg2:Number=0):void{
if (_arg1){
show_delay_timer.reset();
show_delay_timer.repeatCount = Math.max(1, int((_arg2 / 0.04)));
show_delay_timer.start();
} else {
show_delay_timer.reset();
_show_window(false);
};
}
public function mouse_down_event(_arg1:MouseEvent):void{
if (((visible) && ((gui_controls[0].alpha > 0.99)))){
is_mouse_pressed = true;
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouse_down_event);
};
}
public function show_tick(_arg1:TimerEvent):void{
var _local2:uint;
_local2 = 0;
while (_local2 < gui_controls.length) {
if (is_visible){
gui_controls[_local2].alpha = Math.min(1, Math.max(0, (_arg1.target.currentCount / 10)));
} else {
gui_controls[_local2].alpha = Math.min(1, Math.max(0, (1 - (_arg1.target.currentCount / 5))));
};
_local2++;
};
if (is_visible){
mouse_text.alpha = Math.min(1, Math.max(0, (_arg1.target.currentCount / 10)));
} else {
mouse_text.alpha = Math.min(1, Math.max(0, (1 - (_arg1.target.currentCount / 5))));
};
}
public function _show_window(_arg1:Boolean):void{
var _local2:uint;
is_visible = _arg1;
_local2 = 0;
while (_local2 < gui_controls.length) {
gui_controls[_local2].alpha = (is_visible) ? 0 : 1;
if (is_visible){
gui_controls[_local2].visible = true;
};
_local2++;
};
if (show_mouse_text){
if (is_visible){
mouse_text.visible = true;
mouse_text.alpha = 0;
} else {
mouse_text.alpha = 1;
};
};
visible = true;
show_timer.reset();
show_timer.start();
if (_arg1){
game_audio.play_sound("menu.tutorial");
};
}
public function update(_arg1:audio, _arg2:texts, _arg3:int, _arg4:int, _arg5:String, _arg6:Boolean):void{
game_audio = _arg1;
game_texts = _arg2;
x = _arg3;
y = _arg4;
show_mouse_text = _arg6;
mouse_text.visible = false;
title.set_text(game_texts.tutorial_title);
my_utils.set_text(tutorial_text.title, _arg5, 15, 0xFFFFFF);
my_utils.set_text(mouse_text.title, game_texts.tutorial_mouse, 12, 0xFF3300);
if (show_mouse_text){
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouse_down_event);
};
is_mouse_pressed = false;
}
}
}//package scripts
Section 129
//window_tutorial_arrow (scripts.window_tutorial_arrow)
package scripts {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class window_tutorial_arrow extends MovieClip {
public var is_visible:Boolean;
public var show_delay_timer:Timer;
public var show_timer:Timer;
public function window_tutorial_arrow(){
visible = false;
is_visible = false;
show_timer = new Timer(40, 10);
show_timer.addEventListener(TimerEvent.TIMER, show_tick);
show_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_complete);
show_delay_timer = new Timer(40, 100);
show_delay_timer.addEventListener(TimerEvent.TIMER_COMPLETE, show_delay_complete);
stop();
}
public function show_delay_complete(_arg1:TimerEvent):void{
_show_window(true);
}
public function show_complete(_arg1:TimerEvent):void{
if (is_visible){
alpha = 1;
} else {
alpha = 0;
visible = false;
stop();
};
}
public function show_window(_arg1:Boolean, _arg2:Number=0):void{
if (_arg1){
show_delay_timer.reset();
show_delay_timer.repeatCount = Math.max(1, int((_arg2 / 0.04)));
show_delay_timer.start();
} else {
show_delay_timer.reset();
_show_window(false);
};
}
public function show_tick(_arg1:TimerEvent):void{
if (is_visible){
alpha = Math.min(1, Math.max(0, (_arg1.target.currentCount / 10)));
} else {
alpha = Math.min(1, Math.max(0, (1 - (_arg1.target.currentCount / 5))));
};
}
public function _show_window(_arg1:Boolean){
is_visible = _arg1;
alpha = (is_visible) ? 0 : 1;
visible = true;
play();
show_timer.reset();
show_timer.start();
}
}
}//package scripts
Section 130
//zone_title (scripts.zone_title)
package scripts {
import flash.display.*;
import flash.text.*;
import flash.filters.*;
public dynamic class zone_title extends MovieClip {
public var title:TextField;
public function zone_title(){
title.antiAliasType = AntiAliasType.ADVANCED;
title.filters = [new BlurFilter(0, 0, 0)];
title.multiline = true;
set_text("");
}
public function set_text(_arg1:String, _arg2:int=15):void{
var _local3:TextFormat;
_local3 = title.getTextFormat();
_local3.align = "center";
_local3.bold = true;
_local3.size = _arg2;
_local3.font = null;
_local3.color = 0xFFFFFF;
title.text = _arg1;
title.setTextFormat(_local3);
if ((((title.numLines > 1)) && ((_arg2 > 9)))){
set_text(_arg1, (_arg2 - 1));
};
}
}
}//package scripts
Section 131
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 132
//girlgames_loader (girlgames_loader)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.media.*;
import flash.utils.*;
import flash.net.*;
import flash.geom.*;
import flash.system.*;
import flash.filters.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class girlgames_loader extends MovieClip {
public var loader:MovieClip;
public var loadprogress:int;
public var starBackground:MovieClip;
public var i;
public var playBtn:SimpleButton;
public var clickBtn:SimpleButton;
public var placement:MovieClip;
public function girlgames_loader(){
addFrameScript(0, frame1, 60, frame61, 104, frame105, 148, frame149, 202, frame203, 253, frame254, 269, frame270, 300, frame301);
}
function frame270(){
stop();
playBtn.addEventListener(MouseEvent.MOUSE_UP, onReleaseHandler);
}
public function onReleaseHandler(_arg1:MouseEvent){
play();
}
public function myloading(_arg1:Event){
var _local2:*;
var _local3:*;
_local2 = stage.loaderInfo.bytesTotal;
_local3 = stage.loaderInfo.bytesLoaded;
if (_local3 >= _local2){
loadprogress = 100;
removeEventListener(Event.ENTER_FRAME, myloading);
};
}
function frame1(){
placement.visible = false;
MovieClip(parent).stop();
loadprogress = 0;
addEventListener(Event.ENTER_FRAME, myloading);
clickBtn.useHandCursor = true;
clickBtn.addEventListener(MouseEvent.CLICK, visitGirlGames);
}
function frame105(){
i = 0;
while (i <= 7) {
this.starBackground[("star" + i)].star.play();
i++;
};
}
function frame203(){
i = 0;
while (i <= 7) {
this.starBackground[("star" + i)].star.play();
i++;
};
}
public function visitGirlGames(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.girlgames.com/");
navigateToURL(_local2, "_blank");
}
function frame254(){
stop();
i = 0;
while (i <= 7) {
this.starBackground[("star" + i)].star.play();
i++;
};
if (loadprogress == 100){
play();
} else {
gotoAndPlay("begin");
};
}
function frame61(){
i = 0;
while (i <= 7) {
this.starBackground[("star" + i)].star.play();
i++;
};
}
function frame149(){
i = 0;
while (i <= 7) {
this.starBackground[("star" + i)].star.play();
i++;
};
}
function frame301(){
stop();
parent.removeChild(this);
}
}
}//package
Section 133
//GirlGamesLogo (GirlGamesLogo)
package {
import flash.display.*;
public dynamic class GirlGamesLogo extends SimpleButton {
}
}//package
Section 134
//SliderThumb_disabledSkin (SliderThumb_disabledSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_disabledSkin extends MovieClip {
}
}//package
Section 135
//SliderThumb_downSkin (SliderThumb_downSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_downSkin extends MovieClip {
}
}//package
Section 136
//SliderThumb_overSkin (SliderThumb_overSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_overSkin extends MovieClip {
}
}//package
Section 137
//SliderThumb_upSkin (SliderThumb_upSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_upSkin extends MovieClip {
}
}//package
Section 138
//SliderTick_skin (SliderTick_skin)
package {
import flash.display.*;
public dynamic class SliderTick_skin extends MovieClip {
}
}//package
Section 139
//SliderTrack_disabledSkin (SliderTrack_disabledSkin)
package {
import flash.display.*;
public dynamic class SliderTrack_disabledSkin extends MovieClip {
}
}//package
Section 140
//SliderTrack_skin (SliderTrack_skin)
package {
import flash.display.*;
public dynamic class SliderTrack_skin extends MovieClip {
}
}//package