Section 1
//Panda (bears.Panda)
package bears {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import com.cheezeworld.math.*;
import flash.utils.*;
import houses.*;
import ui.*;
import shop.*;
import game.*;
import pets.*;
import flash.media.*;
import utils.*;
import com.melesta.utils.math.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Panda extends PolarBearTemplate {
public var inCage:Boolean;// = false
private var _stageInstance:DisplayObjectContainer;
private var timer:Timer;
private var rotationDirect:Number;// = 1
private var _freeTimer:Timer;
private var sound:SoundChannel;
private var _hitTimer:Timer;
private var type:String;
private var pet:MovieClip;
private var clicks:Number;// = 0
private var gameController:GameController;
private var _freeCounter:Number;// = 0
private var fly:Boolean;// = true
private var _counter:Number;// = 0
public static var firstShow:Boolean = true;
public function Panda(){
super();
sound = new SoundChannel();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, remove, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, onClick, false, 0, true);
this.cacheAsBitmap = true;
_freeTimer = new Timer(1000);
_freeTimer.addEventListener(TimerEvent.TIMER, brokeCage, false, 0, true);
_hitTimer = new Timer(100);
_hitTimer.addEventListener(TimerEvent.TIMER, hitPenguin, false, 0, true);
}
public function show(posx:Number, posy:Number, delay:Number, stageInstance:DisplayObjectContainer=null):void{
this.x = posx;
this.y = -500;
_stageInstance = stageInstance;
_stageInstance.addChild(this);
Tweener.addTween(this, {y:150, time:3, delay:delay, transition:"easeInCirc", onComplete:startAnimation});
timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, move);
sound = SoundManager.play("lion_scream", 1000);
this.body.stop();
}
private function remove(event:Event=null):void{
_stageInstance.removeChild(this);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
timer.stop();
_hitTimer.stop();
_hitTimer.removeEventListener(TimerEvent.TIMER, hitPenguin);
_hitTimer.removeEventListener(TimerEvent.TIMER, hitKingPenguin);
timer.removeEventListener(TimerEvent.TIMER, move);
gameController.removeEventListener(GameController.PAUSE_GAME, pause);
gameController.removeEventListener(GameController.RESUME_GAME, resume);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, remove);
_freeTimer.stop();
_freeTimer.removeEventListener(TimerEvent.TIMER, brokeCage);
}
private function brokeCage(event:TimerEvent=null):void{
var p1:Point;
var newX:Number;
var newY:Number;
var p2:Point;
var dir:Object;
_freeCounter++;
if ((((_freeCounter > 5)) && ((_freeCounter < 15)))){
SoundManager.play("cage_breaking");
Tweener.addTween(this, {rotation:(10 * rotationDirect), time:1});
if (rotationDirect == -1){
rotationDirect = 1;
} else {
rotationDirect = -1;
};
};
if (_freeCounter == 15){
buildCage.visible = false;
SoundManager.play("cage_broke_bear_flee");
p1 = new Point(this.x, this.y);
newX = 800;
newY = this.y;
p2 = new Point(newX, newY);
dir = Direction.getDirection(p1, p2);
this.body.gotoAndPlay(dir.direction);
if (dir.right){
this.scaleX = -1;
} else {
this.scaleX = 1;
};
Tweener.removeTweens(this);
Tweener.addTween(this, {y:newY, x:newX, time:0.4, transition:"linear", onComplete:remove});
};
}
public function move(event:TimerEvent=null):void{
var p1:Point;
var newX:Number;
var newY:Number;
var p2:Point;
var dir:Object;
if (event){
event.stopPropagation();
};
if (_counter == 0){
_counter = 7;
if (event != null){
event.stopPropagation();
};
p1 = new Point(this.x, this.y);
newX = MathUtils.rand(150, 400);
newY = MathUtils.rand(150, 300);
p2 = new Point(newX, newY);
dir = Direction.getDirection(p1, p2);
this.body.gotoAndPlay(dir.direction);
if (dir.right){
this.scaleX = -1;
} else {
this.scaleX = 1;
};
Tweener.removeTweens(this);
Tweener.addTween(this, {y:newY, x:newX, time:5, transition:"linear"});
};
_counter--;
}
private function hitPenguin(event:TimerEvent=null):void{
var i:int;
event.stopPropagation();
if (Penguin.penguinList){
if (Penguin.penguinList.length > 0){
i = 0;
while (i < Penguin.count) {
if (this.hit.hitTestObject(Penguin.penguinList[i].activeArea)){
Penguin.penguinList[i].kill();
return;
};
i++;
};
};
};
}
public function startAnimation():void{
fly = false;
SoundManager.play("enemy_landing", 1);
timer.start();
_hitTimer.start();
move();
if (((firstShow) && (!(Config.skiped)))){
sound.stop();
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.lion);
};
}
private function hitKingPenguin(event:TimerEvent=null):void{
var i:int;
if (event){
event.stopPropagation();
};
if (KingPenguin.penguinList){
if (KingPenguin.penguinList.length > 0){
i = 0;
while (i < KingPenguin.count) {
if (this.hit.hitTestObject(KingPenguin.penguinList[i].activeArea)){
KingPenguin.penguinList[i].kill();
return;
};
i++;
};
};
};
}
public function resume(event:Event=null):void{
sound.stop();
Tweener.resumeTweens(this);
if (!fly){
timer.start();
if (!inCage){
this.body.play();
_hitTimer.start();
sound = SoundManager.play("lion_scream", 1000);
} else {
_freeTimer.start();
};
} else {
sound = SoundManager.play("lion_scream", 1000);
};
}
private function onClick(event:MouseEvent=null):void{
event.stopPropagation();
clicks++;
buildCage.gotoAndStop(clicks);
if (clicks == Number((9 - ShopWindow.availableUpgrades[0]))){
_hitTimer.stop();
buildCage.gotoAndStop(9);
inCage = true;
this.body.gotoAndStop("caged");
_freeTimer.start();
sound.stop();
Tweener.removeTweens(this, x, y);
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, move, false);
};
if (clicks > Number((9 - ShopWindow.availableUpgrades[0]))){
if (Depot.instance.addProduct("POLAR_BEAR")){
SoundManager.play("product_take", 1);
this.width = 50;
this.height = 50;
_freeTimer.stop();
Tweener.removeTweens(this);
Tweener.addTween(this, {y:378, time:0.3, onComplete:remove, transition:"easeOutCirc"});
Tweener.addTween(this, {x:265, time:0.3, transition:"easeInOutBack"});
} else {
SoundManager.play("fool_action", 1);
};
} else {
SoundManager.play("cage_click", 1);
};
}
public function pause(event:Event=null):void{
Tweener.pauseTweens(this);
if (!fly){
_hitTimer.stop();
_freeTimer.stop();
timer.stop();
this.body.stop();
};
sound.stop();
}
}
}//package bears
Section 2
//ColorShortcuts (caurina.transitions.properties.ColorShortcuts)
package caurina.transitions.properties {
import flash.geom.*;
import flash.filters.*;
import caurina.transitions.*;
public class ColorShortcuts {
private static var LUMINANCE_B:Number = 0.072169;
private static var LUMINANCE_G:Number = 0.71516;
private static var LUMINANCE_R:Number = 0.212671;
public function ColorShortcuts(){
super();
trace("This is an static class and should not be instantiated.");
}
public static function _color_splitter(p_value, p_parameters:Array):Array{
var nArray:Array = new Array();
if (p_value == null){
nArray.push({name:"_color_redMultiplier", value:1});
nArray.push({name:"_color_redOffset", value:0});
nArray.push({name:"_color_greenMultiplier", value:1});
nArray.push({name:"_color_greenOffset", value:0});
nArray.push({name:"_color_blueMultiplier", value:1});
nArray.push({name:"_color_blueOffset", value:0});
} else {
nArray.push({name:"_color_redMultiplier", value:0});
nArray.push({name:"_color_redOffset", value:AuxFunctions.numberToR(p_value)});
nArray.push({name:"_color_greenMultiplier", value:0});
nArray.push({name:"_color_greenOffset", value:AuxFunctions.numberToG(p_value)});
nArray.push({name:"_color_blueMultiplier", value:0});
nArray.push({name:"_color_blueOffset", value:AuxFunctions.numberToB(p_value)});
};
return (nArray);
}
public static function _contrast_set(p_obj:Object, p_value:Number, p_parameters:Array, p_extra:Object=null):void{
var mc:Number;
var co:Number;
mc = (p_value + 1);
co = Math.round((p_value * -128));
var cfm:ColorTransform = new ColorTransform(mc, mc, mc, 1, co, co, co, 0);
p_obj.transform.colorTransform = cfm;
}
public static function _brightness_get(p_obj:Object, p_parameters:Array, p_extra:Object=null):Number{
var isTint:Boolean = p_parameters[0];
var cfm:ColorTransform = p_obj.transform.colorTransform;
var mc:Number = (1 - (((cfm.redMultiplier + cfm.greenMultiplier) + cfm.blueMultiplier) / 3));
var co:Number = (((cfm.redOffset + cfm.greenOffset) + cfm.blueOffset) / 3);
if (isTint){
return (((co > 0)) ? (co / 0xFF) : -(mc));
//unresolved jump
};
return ((co / 100));
}
public static function _saturation_get(p_obj:Object, p_parameters:Array, p_extra:Object=null):Number{
var mtx:Array = getObjectMatrix(p_obj);
var isDumb:Boolean = p_parameters[0];
var rl:Number = (isDumb) ? (1 / 3) : LUMINANCE_R;
var gl:Number = (isDumb) ? (1 / 3) : LUMINANCE_G;
var bl:Number = (isDumb) ? (1 / 3) : LUMINANCE_B;
var mc:Number = (((((mtx[0] - rl) / (1 - rl)) + ((mtx[6] - gl) / (1 - gl))) + ((mtx[12] - bl) / (1 - bl))) / 3);
var cc:Number = (1 - (((((((mtx[1] / gl) + (mtx[2] / bl)) + (mtx[5] / rl)) + (mtx[7] / bl)) + (mtx[10] / rl)) + (mtx[11] / gl)) / 6));
return (((mc + cc) / 2));
}
public static function _oldColor_property_get(p_obj:Object, p_parameters:Array, p_extra:Object=null):Number{
return ((p_obj.transform.colorTransform[p_parameters[0]] * 100));
}
public static function _brightness_set(p_obj:Object, p_value:Number, p_parameters:Array, p_extra:Object=null):void{
var mc:Number;
var co:Number;
var isTint:Boolean = p_parameters[0];
if (isTint){
mc = (1 - Math.abs(p_value));
co = ((p_value > 0)) ? Math.round((p_value * 0xFF)) : 0;
} else {
mc = 1;
co = Math.round((p_value * 100));
};
var cfm:ColorTransform = new ColorTransform(mc, mc, mc, 1, co, co, co, 0);
p_obj.transform.colorTransform = cfm;
}
public static function _saturation_set(p_obj:Object, p_value:Number, p_parameters:Array, p_extra:Object=null):void{
var isDumb:Boolean = p_parameters[0];
var rl:Number = (isDumb) ? (1 / 3) : LUMINANCE_R;
var gl:Number = (isDumb) ? (1 / 3) : LUMINANCE_G;
var bl:Number = (isDumb) ? (1 / 3) : LUMINANCE_B;
var sf:Number = p_value;
var nf:Number = (1 - sf);
var nr:Number = (rl * nf);
var ng:Number = (gl * nf);
var nb:Number = (bl * nf);
var mtx:Array = [(nr + sf), ng, nb, 0, 0, nr, (ng + sf), nb, 0, 0, nr, ng, (nb + sf), 0, 0, 0, 0, 0, 1, 0];
setObjectMatrix(p_obj, mtx);
}
private static function getObjectMatrix(p_obj:Object):Array{
var i:Number = 0;
while (i < p_obj.filters.length) {
if ((p_obj.filters[i] is ColorMatrixFilter)){
return (p_obj.filters[i].matrix.concat());
};
i++;
};
return ([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]);
}
public static function getHueDistance(mtx1:Array, mtx2:Array):Number{
return (((Math.abs((mtx1[0] - mtx2[0])) + Math.abs((mtx1[1] - mtx2[1]))) + Math.abs((mtx1[2] - mtx2[2]))));
}
public static function _hue_set(p_obj:Object, p_value:Number, p_parameters:Array, p_extra:Object=null):void{
setObjectMatrix(p_obj, getHueMatrix(p_value));
}
public static function _hue_get(p_obj:Object, p_parameters:Array, p_extra:Object=null):Number{
var i:Number;
var angleToSplit:Number;
var mtx:Array = getObjectMatrix(p_obj);
var hues:Array = [];
hues[0] = {angle:-179.9, matrix:getHueMatrix(-179.9)};
hues[1] = {angle:180, matrix:getHueMatrix(180)};
i = 0;
while (i < hues.length) {
hues[i].distance = getHueDistance(mtx, hues[i].matrix);
i++;
};
var maxTries:Number = 15;
i = 0;
while (i < maxTries) {
if (hues[0].distance < hues[1].distance){
angleToSplit = 1;
} else {
angleToSplit = 0;
};
hues[angleToSplit].angle = ((hues[0].angle + hues[1].angle) / 2);
hues[angleToSplit].matrix = getHueMatrix(hues[angleToSplit].angle);
hues[angleToSplit].distance = getHueDistance(mtx, hues[angleToSplit].matrix);
i++;
};
return (hues[angleToSplit].angle);
}
public static function getHueMatrix(hue:Number):Array{
var ha:Number = ((hue * Math.PI) / 180);
var rl:Number = LUMINANCE_R;
var gl:Number = LUMINANCE_G;
var bl:Number = LUMINANCE_B;
var c:Number = Math.cos(ha);
var s:Number = Math.sin(ha);
var mtx:Array = [((rl + (c * (1 - rl))) + (s * -(rl))), ((gl + (c * -(gl))) + (s * -(gl))), ((bl + (c * -(bl))) + (s * (1 - bl))), 0, 0, ((rl + (c * -(rl))) + (s * 0.143)), ((gl + (c * (1 - gl))) + (s * 0.14)), ((bl + (c * -(bl))) + (s * -0.283)), 0, 0, ((rl + (c * -(rl))) + (s * -((1 - rl)))), ((gl + (c * -(gl))) + (s * gl)), ((bl + (c * (1 - bl))) + (s * bl)), 0, 0, 0, 0, 0, 1, 0];
return (mtx);
}
public static function _color_property_get(p_obj:Object, p_parameters:Array, p_extra:Object=null):Number{
return (p_obj.transform.colorTransform[p_parameters[0]]);
}
public static function init():void{
Tweener.registerSpecialProperty("_color_ra", _oldColor_property_get, _oldColor_property_set, ["redMultiplier"]);
Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]);
Tweener.registerSpecialProperty("_color_ga", _oldColor_property_get, _oldColor_property_set, ["greenMultiplier"]);
Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]);
Tweener.registerSpecialProperty("_color_ba", _oldColor_property_get, _oldColor_property_set, ["blueMultiplier"]);
Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]);
Tweener.registerSpecialProperty("_color_aa", _oldColor_property_get, _oldColor_property_set, ["alphaMultiplier"]);
Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]);
Tweener.registerSpecialProperty("_color_redMultiplier", _color_property_get, _color_property_set, ["redMultiplier"]);
Tweener.registerSpecialProperty("_color_redOffset", _color_property_get, _color_property_set, ["redOffset"]);
Tweener.registerSpecialProperty("_color_greenMultiplier", _color_property_get, _color_property_set, ["greenMultiplier"]);
Tweener.registerSpecialProperty("_color_greenOffset", _color_property_get, _color_property_set, ["greenOffset"]);
Tweener.registerSpecialProperty("_color_blueMultiplier", _color_property_get, _color_property_set, ["blueMultiplier"]);
Tweener.registerSpecialProperty("_color_blueOffset", _color_property_get, _color_property_set, ["blueOffset"]);
Tweener.registerSpecialProperty("_color_alphaMultiplier", _color_property_get, _color_property_set, ["alphaMultiplier"]);
Tweener.registerSpecialProperty("_color_alphaOffset", _color_property_get, _color_property_set, ["alphaOffset"]);
Tweener.registerSpecialPropertySplitter("_color", _color_splitter);
Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter);
Tweener.registerSpecialProperty("_brightness", _brightness_get, _brightness_set, [false]);
Tweener.registerSpecialProperty("_tintBrightness", _brightness_get, _brightness_set, [true]);
Tweener.registerSpecialProperty("_contrast", _contrast_get, _contrast_set);
Tweener.registerSpecialProperty("_hue", _hue_get, _hue_set);
Tweener.registerSpecialProperty("_saturation", _saturation_get, _saturation_set, [false]);
Tweener.registerSpecialProperty("_dumbSaturation", _saturation_get, _saturation_set, [true]);
}
private static function setObjectMatrix(p_obj:Object, p_matrix:Array):void{
var cmtx:ColorMatrixFilter;
var objFilters:Array = p_obj.filters.concat();
var found:Boolean;
var i:Number = 0;
while (i < objFilters.length) {
if ((objFilters[i] is ColorMatrixFilter)){
objFilters[i].matrix = p_matrix.concat();
found = true;
};
i++;
};
if (!found){
cmtx = new ColorMatrixFilter(p_matrix);
objFilters[objFilters.length] = cmtx;
};
p_obj.filters = objFilters;
}
public static function _color_property_set(p_obj:Object, p_value:Number, p_parameters:Array, p_extra:Object=null):void{
var cfm:ColorTransform = p_obj.transform.colorTransform;
cfm[p_parameters[0]] = p_value;
p_obj.transform.colorTransform = cfm;
}
public static function _oldColor_property_set(p_obj:Object, p_value:Number, p_parameters:Array, p_extra:Object=null):void{
var tf:ColorTransform = p_obj.transform.colorTransform;
tf[p_parameters[0]] = (p_value / 100);
p_obj.transform.colorTransform = tf;
}
public static function _contrast_get(p_obj:Object, p_parameters:Array, p_extra:Object=null):Number{
var mc:Number;
var co:Number;
var cfm:ColorTransform = p_obj.transform.colorTransform;
mc = ((((cfm.redMultiplier + cfm.greenMultiplier) + cfm.blueMultiplier) / 3) - 1);
co = ((((cfm.redOffset + cfm.greenOffset) + cfm.blueOffset) / 3) / -128);
return (((mc + co) / 2));
}
public static function _colorTransform_splitter(p_value:Object, p_parameters:Array):Array{
var nArray:Array = new Array();
if (p_value == null){
nArray.push({name:"_color_redMultiplier", value:1});
nArray.push({name:"_color_redOffset", value:0});
nArray.push({name:"_color_greenMultiplier", value:1});
nArray.push({name:"_color_greenOffset", value:0});
nArray.push({name:"_color_blueMultiplier", value:1});
nArray.push({name:"_color_blueOffset", value:0});
} else {
nArray.push({name:"_color_redMultiplier", value:p_value.redMultiplier});
nArray.push({name:"_color_redOffset", value:p_value.redOffset});
nArray.push({name:"_color_blueMultiplier", value:p_value.blueMultiplier});
nArray.push({name:"_color_blueOffset", value:p_value.blueOffset});
nArray.push({name:"_color_greenMultiplier", value:p_value.greenMultiplier});
nArray.push({name:"_color_greenOffset", value:p_value.greenOffset});
nArray.push({name:"_color_alphaMultiplier", value:p_value.alphaMultiplier});
nArray.push({name:"_color_alphaOffset", value:p_value.alphaOffset});
};
return (nArray);
}
}
}//package caurina.transitions.properties
Section 3
//FilterShortcuts (caurina.transitions.properties.FilterShortcuts)
package caurina.transitions.properties {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import caurina.transitions.*;
public class FilterShortcuts {
public function FilterShortcuts(){
super();
trace("This is an static class and should not be instantiated.");
}
public static function init():void{
Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter);
Tweener.registerSpecialProperty("_Bevel_angle", _filter_property_get, _filter_property_set, [BevelFilter, "angle"]);
Tweener.registerSpecialProperty("_Bevel_blurX", _filter_property_get, _filter_property_set, [BevelFilter, "blurX"]);
Tweener.registerSpecialProperty("_Bevel_blurY", _filter_property_get, _filter_property_set, [BevelFilter, "blurY"]);
Tweener.registerSpecialProperty("_Bevel_distance", _filter_property_get, _filter_property_set, [BevelFilter, "distance"]);
Tweener.registerSpecialProperty("_Bevel_highlightAlpha", _filter_property_get, _filter_property_set, [BevelFilter, "highlightAlpha"]);
Tweener.registerSpecialPropertySplitter("_Bevel_highlightColor", _generic_color_splitter, ["_Bevel_highlightColor_r", "_Bevel_highlightColor_g", "_Bevel_highlightColor_b"]);
Tweener.registerSpecialProperty("_Bevel_highlightColor_r", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "r"]);
Tweener.registerSpecialProperty("_Bevel_highlightColor_g", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "g"]);
Tweener.registerSpecialProperty("_Bevel_highlightColor_b", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "b"]);
Tweener.registerSpecialProperty("_Bevel_knockout", _filter_property_get, _filter_property_set, [BevelFilter, "knockout"]);
Tweener.registerSpecialProperty("_Bevel_quality", _filter_property_get, _filter_property_set, [BevelFilter, "quality"]);
Tweener.registerSpecialProperty("_Bevel_shadowAlpha", _filter_property_get, _filter_property_set, [BevelFilter, "shadowAlpha"]);
Tweener.registerSpecialPropertySplitter("_Bevel_shadowColor", _generic_color_splitter, ["_Bevel_shadowColor_r", "_Bevel_shadowColor_g", "_Bevel_shadowColor_b"]);
Tweener.registerSpecialProperty("_Bevel_shadowColor_r", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "r"]);
Tweener.registerSpecialProperty("_Bevel_shadowColor_g", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "g"]);
Tweener.registerSpecialProperty("_Bevel_shadowColor_b", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "b"]);
Tweener.registerSpecialProperty("_Bevel_strength", _filter_property_get, _filter_property_set, [BevelFilter, "strength"]);
Tweener.registerSpecialProperty("_Bevel_type", _filter_property_get, _filter_property_set, [BevelFilter, "type"]);
Tweener.registerSpecialProperty("_Blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]);
Tweener.registerSpecialProperty("_Blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]);
Tweener.registerSpecialProperty("_Blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]);
Tweener.registerSpecialPropertySplitter("_ColorMatrix_matrix", _generic_matrix_splitter, [[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0], ["_ColorMatrix_matrix_rr", "_ColorMatrix_matrix_rg", "_ColorMatrix_matrix_rb", "_ColorMatrix_matrix_ra", "_ColorMatrix_matrix_ro", "_ColorMatrix_matrix_gr", "_ColorMatrix_matrix_gg", "_ColorMatrix_matrix_gb", "_ColorMatrix_matrix_ga", "_ColorMatrix_matrix_go", "_ColorMatrix_matrix_br", "_ColorMatrix_matrix_bg", "_ColorMatrix_matrix_bb", "_ColorMatrix_matrix_ba", "_ColorMatrix_matrix_bo", "_ColorMatrix_matrix_ar", "_ColorMatrix_matrix_ag", "_ColorMatrix_matrix_ab", "_ColorMatrix_matrix_aa", "_ColorMatrix_matrix_ao"]]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_rr", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 0]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_rg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 1]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_rb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 2]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ra", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 3]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ro", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 4]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_gr", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 5]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_gg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 6]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_gb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 7]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ga", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 8]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_go", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 9]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_br", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 10]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_bg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 11]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_bb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 12]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ba", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 13]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_bo", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 14]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ar", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 15]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ag", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 16]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ab", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 17]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_aa", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 18]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ao", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 19]);
Tweener.registerSpecialProperty("_Convolution_alpha", _filter_property_get, _filter_property_set, [ConvolutionFilter, "alpha"]);
Tweener.registerSpecialProperty("_Convolution_bias", _filter_property_get, _filter_property_set, [ConvolutionFilter, "bias"]);
Tweener.registerSpecialProperty("_Convolution_clamp", _filter_property_get, _filter_property_set, [ConvolutionFilter, "clamp"]);
Tweener.registerSpecialPropertySplitter("_Convolution_color", _generic_color_splitter, ["_Convolution_color_r", "_Convolution_color_g", "_Convolution_color_b"]);
Tweener.registerSpecialProperty("_Convolution_color_r", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "r"]);
Tweener.registerSpecialProperty("_Convolution_color_g", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "g"]);
Tweener.registerSpecialProperty("_Convolution_color_b", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "b"]);
Tweener.registerSpecialProperty("_Convolution_divisor", _filter_property_get, _filter_property_set, [ConvolutionFilter, "divisor"]);
Tweener.registerSpecialProperty("_Convolution_matrixX", _filter_property_get, _filter_property_set, [ConvolutionFilter, "matrixX"]);
Tweener.registerSpecialProperty("_Convolution_matrixY", _filter_property_get, _filter_property_set, [ConvolutionFilter, "matrixY"]);
Tweener.registerSpecialProperty("_Convolution_preserveAlpha", _filter_property_get, _filter_property_set, [ConvolutionFilter, "preserveAlpha"]);
Tweener.registerSpecialProperty("_DisplacementMap_alpha", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "alpha"]);
Tweener.registerSpecialPropertySplitter("_DisplacementMap_color", _generic_color_splitter, ["_DisplacementMap_color_r", "_DisplacementMap_color_r", "_DisplacementMap_color_r"]);
Tweener.registerSpecialProperty("_DisplacementMap_color_r", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "r"]);
Tweener.registerSpecialProperty("_DisplacementMap_color_g", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "g"]);
Tweener.registerSpecialProperty("_DisplacementMap_color_b", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "b"]);
Tweener.registerSpecialProperty("_DisplacementMap_componentX", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "componentX"]);
Tweener.registerSpecialProperty("_DisplacementMap_componentY", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "componentY"]);
Tweener.registerSpecialProperty("_DisplacementMap_mapBitmap", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapBitmap"]);
Tweener.registerSpecialPropertySplitter("_DisplacementMap_mapPoint", _generic_point_splitter, ["_DisplacementMap_mapPoint_x", "_DisplacementMap_mapPoint_y"]);
Tweener.registerSpecialProperty("_DisplacementMap_mapPoint_x", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapPoint", "point", "x"]);
Tweener.registerSpecialProperty("_DisplacementMap_mapPoint_y", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapPoint", "point", "y"]);
Tweener.registerSpecialProperty("_DisplacementMap_mode", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mode"]);
Tweener.registerSpecialProperty("_DisplacementMap_scaleX", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "scaleX"]);
Tweener.registerSpecialProperty("_DisplacementMap_scaleY", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "scaleY"]);
Tweener.registerSpecialProperty("_DropShadow_alpha", _filter_property_get, _filter_property_set, [DropShadowFilter, "alpha"]);
Tweener.registerSpecialProperty("_DropShadow_angle", _filter_property_get, _filter_property_set, [DropShadowFilter, "angle"]);
Tweener.registerSpecialProperty("_DropShadow_blurX", _filter_property_get, _filter_property_set, [DropShadowFilter, "blurX"]);
Tweener.registerSpecialProperty("_DropShadow_blurY", _filter_property_get, _filter_property_set, [DropShadowFilter, "blurY"]);
Tweener.registerSpecialPropertySplitter("_DropShadow_color", _generic_color_splitter, ["_DropShadow_color_r", "_DropShadow_color_g", "_DropShadow_color_b"]);
Tweener.registerSpecialProperty("_DropShadow_color_r", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "r"]);
Tweener.registerSpecialProperty("_DropShadow_color_g", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "g"]);
Tweener.registerSpecialProperty("_DropShadow_color_b", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "b"]);
Tweener.registerSpecialProperty("_DropShadow_distance", _filter_property_get, _filter_property_set, [DropShadowFilter, "distance"]);
Tweener.registerSpecialProperty("_DropShadow_hideObject", _filter_property_get, _filter_property_set, [DropShadowFilter, "hideObject"]);
Tweener.registerSpecialProperty("_DropShadow_inner", _filter_property_get, _filter_property_set, [DropShadowFilter, "inner"]);
Tweener.registerSpecialProperty("_DropShadow_knockout", _filter_property_get, _filter_property_set, [DropShadowFilter, "knockout"]);
Tweener.registerSpecialProperty("_DropShadow_quality", _filter_property_get, _filter_property_set, [DropShadowFilter, "quality"]);
Tweener.registerSpecialProperty("_DropShadow_strength", _filter_property_get, _filter_property_set, [DropShadowFilter, "strength"]);
Tweener.registerSpecialProperty("_Glow_alpha", _filter_property_get, _filter_property_set, [GlowFilter, "alpha"]);
Tweener.registerSpecialProperty("_Glow_blurX", _filter_property_get, _filter_property_set, [GlowFilter, "blurX"]);
Tweener.registerSpecialProperty("_Glow_blurY", _filter_property_get, _filter_property_set, [GlowFilter, "blurY"]);
Tweener.registerSpecialPropertySplitter("_Glow_color", _generic_color_splitter, ["_Glow_color_r", "_Glow_color_g", "_Glow_color_b"]);
Tweener.registerSpecialProperty("_Glow_color_r", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "r"]);
Tweener.registerSpecialProperty("_Glow_color_g", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "g"]);
Tweener.registerSpecialProperty("_Glow_color_b", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "b"]);
Tweener.registerSpecialProperty("_Glow_inner", _filter_property_get, _filter_property_set, [GlowFilter, "inner"]);
Tweener.registerSpecialProperty("_Glow_knockout", _filter_property_get, _filter_property_set, [GlowFilter, "knockout"]);
Tweener.registerSpecialProperty("_Glow_quality", _filter_property_get, _filter_property_set, [GlowFilter, "quality"]);
Tweener.registerSpecialProperty("_Glow_strength", _filter_property_get, _filter_property_set, [GlowFilter, "strength"]);
Tweener.registerSpecialProperty("_GradientBevel_angle", _filter_property_get, _filter_property_set, [GradientBevelFilter, "angle"]);
Tweener.registerSpecialProperty("_GradientBevel_blurX", _filter_property_get, _filter_property_set, [GradientBevelFilter, "blurX"]);
Tweener.registerSpecialProperty("_GradientBevel_blurY", _filter_property_get, _filter_property_set, [GradientBevelFilter, "blurY"]);
Tweener.registerSpecialProperty("_GradientBevel_distance", _filter_property_get, _filter_property_set, [GradientBevelFilter, "distance"]);
Tweener.registerSpecialProperty("_GradientBevel_quality", _filter_property_get, _filter_property_set, [GradientBevelFilter, "quality"]);
Tweener.registerSpecialProperty("_GradientBevel_strength", _filter_property_get, _filter_property_set, [GradientBevelFilter, "strength"]);
Tweener.registerSpecialProperty("_GradientBevel_type", _filter_property_get, _filter_property_set, [GradientBevelFilter, "type"]);
Tweener.registerSpecialProperty("_GradientGlow_angle", _filter_property_get, _filter_property_set, [GradientGlowFilter, "angle"]);
Tweener.registerSpecialProperty("_GradientGlow_blurX", _filter_property_get, _filter_property_set, [GradientGlowFilter, "blurX"]);
Tweener.registerSpecialProperty("_GradientGlow_blurY", _filter_property_get, _filter_property_set, [GradientGlowFilter, "blurY"]);
Tweener.registerSpecialProperty("_GradientGlow_distance", _filter_property_get, _filter_property_set, [GradientGlowFilter, "distance"]);
Tweener.registerSpecialProperty("_GradientGlow_knockout", _filter_property_get, _filter_property_set, [GradientGlowFilter, "knockout"]);
Tweener.registerSpecialProperty("_GradientGlow_quality", _filter_property_get, _filter_property_set, [GradientGlowFilter, "quality"]);
Tweener.registerSpecialProperty("_GradientGlow_strength", _filter_property_get, _filter_property_set, [GradientGlowFilter, "strength"]);
Tweener.registerSpecialProperty("_GradientGlow_type", _filter_property_get, _filter_property_set, [GradientGlowFilter, "type"]);
}
public static function _filter_property_get(p_obj:Object, p_parameters:Array, p_extra:Object=null):Number{
var i:Number;
var defaultValues:Object;
var colorComponent:String;
var f:Array = p_obj.filters;
var filterClass:Object = p_parameters[0];
var propertyName:String = p_parameters[1];
var splitType:String = p_parameters[2];
i = 0;
while (i < f.length) {
if ((f[i] is Class(filterClass))){
if (splitType == "color"){
colorComponent = p_parameters[3];
if (colorComponent == "r"){
return (AuxFunctions.numberToR(f[i][propertyName]));
};
if (colorComponent == "g"){
return (AuxFunctions.numberToG(f[i][propertyName]));
};
if (colorComponent == "b"){
return (AuxFunctions.numberToB(f[i][propertyName]));
};
} else {
if (splitType == "matrix"){
return (f[i][propertyName][p_parameters[3]]);
};
if (splitType == "point"){
return (f[i][propertyName][p_parameters[3]]);
};
return (f[i][propertyName]);
};
};
i++;
};
switch (filterClass){
case BevelFilter:
defaultValues = {angle:NaN, blurX:0, blurY:0, distance:0, highlightAlpha:1, highlightColor:NaN, knockout:null, quality:NaN, shadowAlpha:1, shadowColor:NaN, strength:2, type:null};
break;
case BlurFilter:
defaultValues = {blurX:0, blurY:0, quality:NaN};
break;
case ColorMatrixFilter:
defaultValues = {matrix:[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]};
break;
case ConvolutionFilter:
defaultValues = {alpha:0, bias:0, clamp:null, color:NaN, divisor:1, matrix:[1], matrixX:1, matrixY:1, preserveAlpha:null};
break;
case DisplacementMapFilter:
defaultValues = {alpha:0, color:NaN, componentX:null, componentY:null, mapBitmap:null, mapPoint:null, mode:null, scaleX:0, scaleY:0};
break;
case DropShadowFilter:
defaultValues = {distance:0, angle:NaN, color:NaN, alpha:1, blurX:0, blurY:0, strength:1, quality:NaN, inner:null, knockout:null, hideObject:null};
break;
case GlowFilter:
defaultValues = {alpha:1, blurX:0, blurY:0, color:NaN, inner:null, knockout:null, quality:NaN, strength:2};
break;
case GradientBevelFilter:
defaultValues = {alphas:null, angle:NaN, blurX:0, blurY:0, colors:null, distance:0, knockout:null, quality:NaN, ratios:NaN, strength:1, type:null};
break;
case GradientGlowFilter:
defaultValues = {alphas:null, angle:NaN, blurX:0, blurY:0, colors:null, distance:0, knockout:null, quality:NaN, ratios:NaN, strength:1, type:null};
break;
};
if (splitType == "color"){
return (NaN);
};
if (splitType == "matrix"){
return (defaultValues[propertyName][p_parameters[3]]);
};
if (splitType == "point"){
return (defaultValues[propertyName][p_parameters[3]]);
};
return (defaultValues[propertyName]);
}
public static function _filter_property_set(p_obj:Object, p_value:Number, p_parameters:Array, p_extra:Object=null):void{
var i:Number;
var fi:BitmapFilter;
var colorComponent:String;
var mtx:Array;
var pt:Point;
var f:Array = p_obj.filters;
var filterClass:Object = p_parameters[0];
var propertyName:String = p_parameters[1];
var splitType:String = p_parameters[2];
i = 0;
while (i < f.length) {
if ((f[i] is Class(filterClass))){
if (splitType == "color"){
colorComponent = p_parameters[3];
if (colorComponent == "r"){
f[i][propertyName] = ((f[i][propertyName] & 0xFFFF) | (p_value << 16));
};
if (colorComponent == "g"){
f[i][propertyName] = ((f[i][propertyName] & 0xFF00FF) | (p_value << 8));
};
if (colorComponent == "b"){
f[i][propertyName] = ((f[i][propertyName] & 0xFFFF00) | p_value);
};
} else {
if (splitType == "matrix"){
mtx = f[i][propertyName];
mtx[p_parameters[3]] = p_value;
f[i][propertyName] = mtx;
} else {
if (splitType == "point"){
pt = Point(f[i][propertyName]);
pt[p_parameters[3]] = p_value;
f[i][propertyName] = pt;
} else {
f[i][propertyName] = p_value;
};
};
};
p_obj.filters = f;
return;
};
i++;
};
if (f == null){
f = new Array();
};
switch (filterClass){
case BevelFilter:
fi = new BevelFilter(0, 45, 0xFFFFFF, 1, 0, 1, 0, 0);
break;
case BlurFilter:
fi = new BlurFilter(0, 0);
break;
case ColorMatrixFilter:
fi = new ColorMatrixFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]);
break;
case ConvolutionFilter:
fi = new ConvolutionFilter(1, 1, [1], 1, 0, true, true, 0, 0);
break;
case DisplacementMapFilter:
fi = new DisplacementMapFilter(new BitmapData(10, 10), new Point(0, 0), 0, 1, 0, 0);
break;
case DropShadowFilter:
fi = new DropShadowFilter(0, 45, 0, 1, 0, 0);
break;
case GlowFilter:
fi = new GlowFilter(0xFF0000, 1, 0, 0);
break;
case GradientBevelFilter:
fi = new GradientBevelFilter(0, 45, [0xFFFFFF, 0], [1, 1], [32, 223], 0, 0);
break;
case GradientGlowFilter:
fi = new GradientGlowFilter(0, 45, [0xFFFFFF, 0], [1, 1], [32, 223], 0, 0);
break;
};
f.push(fi);
p_obj.filters = f;
_filter_property_set(p_obj, p_value, p_parameters);
}
public static function _generic_color_splitter(p_value:Number, p_parameters:Array):Array{
var nArray:Array = new Array();
nArray.push({name:p_parameters[0], value:AuxFunctions.numberToR(p_value)});
nArray.push({name:p_parameters[1], value:AuxFunctions.numberToG(p_value)});
nArray.push({name:p_parameters[2], value:AuxFunctions.numberToB(p_value)});
return (nArray);
}
public static function _generic_point_splitter(p_value:Point, p_parameters:Array):Array{
var nArray:Array = new Array();
nArray.push({name:p_parameters[0], value:p_value.x});
nArray.push({name:p_parameters[1], value:p_value.y});
return (nArray);
}
public static function _generic_matrix_splitter(p_value:Array, p_parameters:Array):Array{
if (p_value == null){
p_value = p_parameters[0].concat();
};
var nArray:Array = new Array();
var i:Number = 0;
while (i < p_value.length) {
nArray.push({name:p_parameters[1][i], value:p_value[i]});
i++;
};
return (nArray);
}
public static function _filter_splitter(p_value:BitmapFilter, p_parameters:Array, p_extra:Object=null):Array{
var nArray:Array = new Array();
if ((p_value is BevelFilter)){
nArray.push({name:"_Bevel_angle", value:BevelFilter(p_value).angle});
nArray.push({name:"_Bevel_blurX", value:BevelFilter(p_value).blurX});
nArray.push({name:"_Bevel_blurY", value:BevelFilter(p_value).blurY});
nArray.push({name:"_Bevel_distance", value:BevelFilter(p_value).distance});
nArray.push({name:"_Bevel_highlightAlpha", value:BevelFilter(p_value).highlightAlpha});
nArray.push({name:"_Bevel_highlightColor", value:BevelFilter(p_value).highlightColor});
nArray.push({name:"_Bevel_knockout", value:BevelFilter(p_value).knockout});
nArray.push({name:"_Bevel_quality", value:BevelFilter(p_value).quality});
nArray.push({name:"_Bevel_shadowAlpha", value:BevelFilter(p_value).shadowAlpha});
nArray.push({name:"_Bevel_shadowColor", value:BevelFilter(p_value).shadowColor});
nArray.push({name:"_Bevel_strength", value:BevelFilter(p_value).strength});
nArray.push({name:"_Bevel_type", value:BevelFilter(p_value).type});
} else {
if ((p_value is BlurFilter)){
nArray.push({name:"_Blur_blurX", value:BlurFilter(p_value).blurX});
nArray.push({name:"_Blur_blurY", value:BlurFilter(p_value).blurY});
nArray.push({name:"_Blur_quality", value:BlurFilter(p_value).quality});
} else {
if ((p_value is ColorMatrixFilter)){
nArray.push({name:"_ColorMatrix_matrix", value:ColorMatrixFilter(p_value).matrix});
} else {
if ((p_value is ConvolutionFilter)){
nArray.push({name:"_Convolution_alpha", value:ConvolutionFilter(p_value).alpha});
nArray.push({name:"_Convolution_bias", value:ConvolutionFilter(p_value).bias});
nArray.push({name:"_Convolution_clamp", value:ConvolutionFilter(p_value).clamp});
nArray.push({name:"_Convolution_color", value:ConvolutionFilter(p_value).color});
nArray.push({name:"_Convolution_divisor", value:ConvolutionFilter(p_value).divisor});
nArray.push({name:"_Convolution_matrixX", value:ConvolutionFilter(p_value).matrixX});
nArray.push({name:"_Convolution_matrixY", value:ConvolutionFilter(p_value).matrixY});
nArray.push({name:"_Convolution_preserveAlpha", value:ConvolutionFilter(p_value).preserveAlpha});
} else {
if ((p_value is DisplacementMapFilter)){
nArray.push({name:"_DisplacementMap_alpha", value:DisplacementMapFilter(p_value).alpha});
nArray.push({name:"_DisplacementMap_color", value:DisplacementMapFilter(p_value).color});
nArray.push({name:"_DisplacementMap_componentX", value:DisplacementMapFilter(p_value).componentX});
nArray.push({name:"_DisplacementMap_componentY", value:DisplacementMapFilter(p_value).componentY});
nArray.push({name:"_DisplacementMap_mapBitmap", value:DisplacementMapFilter(p_value).mapBitmap});
nArray.push({name:"_DisplacementMap_mapPoint", value:DisplacementMapFilter(p_value).mapPoint});
nArray.push({name:"_DisplacementMap_mode", value:DisplacementMapFilter(p_value).mode});
nArray.push({name:"_DisplacementMap_scaleX", value:DisplacementMapFilter(p_value).scaleX});
nArray.push({name:"_DisplacementMap_scaleY", value:DisplacementMapFilter(p_value).scaleY});
} else {
if ((p_value is DropShadowFilter)){
nArray.push({name:"_DropShadow_alpha", value:DropShadowFilter(p_value).alpha});
nArray.push({name:"_DropShadow_angle", value:DropShadowFilter(p_value).angle});
nArray.push({name:"_DropShadow_blurX", value:DropShadowFilter(p_value).blurX});
nArray.push({name:"_DropShadow_blurY", value:DropShadowFilter(p_value).blurY});
nArray.push({name:"_DropShadow_color", value:DropShadowFilter(p_value).color});
nArray.push({name:"_DropShadow_distance", value:DropShadowFilter(p_value).distance});
nArray.push({name:"_DropShadow_hideObject", value:DropShadowFilter(p_value).hideObject});
nArray.push({name:"_DropShadow_inner", value:DropShadowFilter(p_value).inner});
nArray.push({name:"_DropShadow_knockout", value:DropShadowFilter(p_value).knockout});
nArray.push({name:"_DropShadow_quality", value:DropShadowFilter(p_value).quality});
nArray.push({name:"_DropShadow_strength", value:DropShadowFilter(p_value).strength});
} else {
if ((p_value is GlowFilter)){
nArray.push({name:"_Glow_alpha", value:GlowFilter(p_value).alpha});
nArray.push({name:"_Glow_blurX", value:GlowFilter(p_value).blurX});
nArray.push({name:"_Glow_blurY", value:GlowFilter(p_value).blurY});
nArray.push({name:"_Glow_color", value:GlowFilter(p_value).color});
nArray.push({name:"_Glow_inner", value:GlowFilter(p_value).inner});
nArray.push({name:"_Glow_knockout", value:GlowFilter(p_value).knockout});
nArray.push({name:"_Glow_quality", value:GlowFilter(p_value).quality});
nArray.push({name:"_Glow_strength", value:GlowFilter(p_value).strength});
} else {
if ((p_value is GradientBevelFilter)){
nArray.push({name:"_GradientBevel_angle", value:GradientBevelFilter(p_value).strength});
nArray.push({name:"_GradientBevel_blurX", value:GradientBevelFilter(p_value).blurX});
nArray.push({name:"_GradientBevel_blurY", value:GradientBevelFilter(p_value).blurY});
nArray.push({name:"_GradientBevel_distance", value:GradientBevelFilter(p_value).distance});
nArray.push({name:"_GradientBevel_quality", value:GradientBevelFilter(p_value).quality});
nArray.push({name:"_GradientBevel_strength", value:GradientBevelFilter(p_value).strength});
nArray.push({name:"_GradientBevel_type", value:GradientBevelFilter(p_value).type});
} else {
if ((p_value is GradientGlowFilter)){
nArray.push({name:"_GradientGlow_angle", value:GradientGlowFilter(p_value).strength});
nArray.push({name:"_GradientGlow_blurX", value:GradientGlowFilter(p_value).blurX});
nArray.push({name:"_GradientGlow_blurY", value:GradientGlowFilter(p_value).blurY});
nArray.push({name:"_GradientGlow_distance", value:GradientGlowFilter(p_value).distance});
nArray.push({name:"_GradientGlow_knockout", value:GradientGlowFilter(p_value).knockout});
nArray.push({name:"_GradientGlow_quality", value:GradientGlowFilter(p_value).quality});
nArray.push({name:"_GradientGlow_strength", value:GradientGlowFilter(p_value).strength});
nArray.push({name:"_GradientGlow_type", value:GradientGlowFilter(p_value).type});
} else {
trace("Tweener FilterShortcuts Error :: Unknown filter class used");
};
};
};
};
};
};
};
};
};
return (nArray);
}
}
}//package caurina.transitions.properties
Section 4
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public function AuxFunctions(){
super();
}
public static function getObjectLength(p_object:Object):uint{
var pName:String;
var totalProperties:uint;
for (pName in p_object) {
totalProperties++;
};
return (totalProperties);
}
public static function numberToG(p_num:Number):Number{
return (((p_num & 0xFF00) >> 8));
}
public static function numberToB(p_num:Number):Number{
return ((p_num & 0xFF));
}
public static function numberToR(p_num:Number):Number{
return (((p_num & 0xFF0000) >> 16));
}
public static function concatObjects(... _args):Object{
var currentObject:Object;
var prop:String;
var finalObject:Object = {};
var i:int;
while (i < _args.length) {
currentObject = _args[i];
for (prop in currentObject) {
if (currentObject[prop] == null){
delete finalObject[prop];
} else {
finalObject[prop] = currentObject[prop];
};
};
i++;
};
return (finalObject);
}
}
}//package caurina.transitions
Section 5
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public function Equations(){
super();
trace("Equations is a static class and should not be instantiated.");
}
public static function easeOutBounce(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / d);
if (t < (1 / 2.75)){
return (((c * ((7.5625 * t) * t)) + b));
};
if (t < (2 / 2.75)){
t = (t - (1.5 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.75)) + b));
};
if (t < (2.5 / 2.75)){
t = (t - (2.25 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.9375)) + b));
};
t = (t - (2.625 / 2.75));
return (((c * (((7.5625 * t) * t) + 0.984375)) + b));
}
public static function easeInOutElastic(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
var s:Number;
if (t == 0){
return (b);
};
t = (t / (d / 2));
if (t == 2){
return ((b + c));
};
var p:Number = (((!(Boolean(p_params))) || (isNaN(p_params.period)))) ? (d * (0.3 * 1.5)) : p_params.period;
var a:Number = (((!(Boolean(p_params))) || (isNaN(p_params.amplitude)))) ? 0 : p_params.amplitude;
if (((!(Boolean(a))) || ((a < Math.abs(c))))){
a = c;
s = (p / 4);
} else {
s = ((p / (2 * Math.PI)) * Math.asin((c / a)));
};
if (t < 1){
--t;
return (((-0.5 * ((a * Math.pow(2, (10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p)))) + b));
};
--t;
return ((((((a * Math.pow(2, (-10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p))) * 0.5) + c) + b));
}
public static function easeInOutQuad(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / (d / 2));
if (t < 1){
return (((((c / 2) * t) * t) + b));
};
--t;
return ((((-(c) / 2) * ((t * (t - 2)) - 1)) + b));
}
public static function easeInOutBounce(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (((easeInBounce((t * 2), 0, c, d) * 0.5) + b));
};
return ((((easeOutBounce(((t * 2) - d), 0, c, d) * 0.5) + (c * 0.5)) + b));
}
public static function easeInOutBack(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
var s:Number = (((!(Boolean(p_params))) || (isNaN(p_params.overshoot)))) ? 1.70158 : p_params.overshoot;
t = (t / (d / 2));
if (t < 1){
s = (s * 1.525);
return ((((c / 2) * ((t * t) * (((s + 1) * t) - s))) + b));
};
t = (t - 2);
s = (s * 1.525);
return ((((c / 2) * (((t * t) * (((s + 1) * t) + s)) + 2)) + b));
}
public static function easeOutInCubic(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutCubic((t * 2), b, (c / 2), d, p_params));
};
return (easeInCubic(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function easeNone(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
return ((((c * t) / d) + b));
}
public static function easeOutBack(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
var s:Number = (((!(Boolean(p_params))) || (isNaN(p_params.overshoot)))) ? 1.70158 : p_params.overshoot;
t = ((t / d) - 1);
return (((c * (((t * t) * (((s + 1) * t) + s)) + 1)) + b));
}
public static function easeInOutSine(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
return ((((-(c) / 2) * (Math.cos(((Math.PI * t) / d)) - 1)) + b));
}
public static function easeInBack(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
var s:Number = (((!(Boolean(p_params))) || (isNaN(p_params.overshoot)))) ? 1.70158 : p_params.overshoot;
t = (t / d);
return (((((c * t) * t) * (((s + 1) * t) - s)) + b));
}
public static function easeInQuart(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / d);
return ((((((c * t) * t) * t) * t) + b));
}
public static function easeOutInQuint(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutQuint((t * 2), b, (c / 2), d, p_params));
};
return (easeInQuint(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function easeOutInBounce(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutBounce((t * 2), b, (c / 2), d, p_params));
};
return (easeInBounce(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
return (((t)==d) ? (b + c) : (((c * 1.001) * (-(Math.pow(2, ((-10 * t) / d))) + 1)) + b));
}
public static function easeOutInBack(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutBack((t * 2), b, (c / 2), d, p_params));
};
return (easeInBack(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function easeInExpo(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
return (((t)==0) ? b : (((c * Math.pow(2, (10 * ((t / d) - 1)))) + b) - (c * 0.001)));
}
public static function easeInCubic(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / d);
return (((((c * t) * t) * t) + b));
}
public static function easeInQuint(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / d);
return (((((((c * t) * t) * t) * t) * t) + b));
}
public static function easeInOutCirc(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / (d / 2));
if (t < 1){
return ((((-(c) / 2) * (Math.sqrt((1 - (t * t))) - 1)) + b));
};
t = (t - 2);
return ((((c / 2) * (Math.sqrt((1 - (t * t))) + 1)) + b));
}
public static function easeInQuad(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / d);
return ((((c * t) * t) + b));
}
public static function easeInBounce(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
return (((c - easeOutBounce((d - t), 0, c, d)) + b));
}
public static function easeOutInExpo(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutExpo((t * 2), b, (c / 2), d, p_params));
};
return (easeInExpo(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function easeOutQuart(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = ((t / d) - 1);
return (((-(c) * ((((t * t) * t) * t) - 1)) + b));
}
public static function easeInSine(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
return ((((-(c) * Math.cos(((t / d) * (Math.PI / 2)))) + c) + b));
}
public static function easeInOutQuart(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / (d / 2));
if (t < 1){
return (((((((c / 2) * t) * t) * t) * t) + b));
};
t = (t - 2);
return ((((-(c) / 2) * ((((t * t) * t) * t) - 2)) + b));
}
public static function easeOutQuad(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / d);
return ((((-(c) * t) * (t - 2)) + b));
}
public static function easeOutInElastic(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutElastic((t * 2), b, (c / 2), d, p_params));
};
return (easeInElastic(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function easeInElastic(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
var s:Number;
if (t == 0){
return (b);
};
t = (t / d);
if (t == 1){
return ((b + c));
};
var p:Number = (((!(Boolean(p_params))) || (isNaN(p_params.period)))) ? (d * 0.3) : p_params.period;
var a:Number = (((!(Boolean(p_params))) || (isNaN(p_params.amplitude)))) ? 0 : p_params.amplitude;
if (((!(Boolean(a))) || ((a < Math.abs(c))))){
a = c;
s = (p / 4);
} else {
s = ((p / (2 * Math.PI)) * Math.asin((c / a)));
};
--t;
return ((-(((a * Math.pow(2, (10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p)))) + b));
}
public static function easeOutCubic(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = ((t / d) - 1);
return (((c * (((t * t) * t) + 1)) + b));
}
public static function easeOutQuint(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = ((t / d) - 1);
return (((c * (((((t * t) * t) * t) * t) + 1)) + b));
}
public static function easeOutInQuad(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutQuad((t * 2), b, (c / 2), d, p_params));
};
return (easeInQuad(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function easeOutSine(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
return (((c * Math.sin(((t / d) * (Math.PI / 2)))) + b));
}
public static function easeInOutCubic(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / (d / 2));
if (t < 1){
return ((((((c / 2) * t) * t) * t) + b));
};
t = (t - 2);
return ((((c / 2) * (((t * t) * t) + 2)) + b));
}
public static function easeInOutQuint(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / (d / 2));
if (t < 1){
return ((((((((c / 2) * t) * t) * t) * t) * t) + b));
};
t = (t - 2);
return ((((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b));
}
public static function easeInCirc(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = (t / d);
return (((-(c) * (Math.sqrt((1 - (t * t))) - 1)) + b));
}
public static function easeOutInSine(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutSine((t * 2), b, (c / 2), d, p_params));
};
return (easeInSine(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function easeInOutExpo(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t == 0){
return (b);
};
if (t == d){
return ((b + c));
};
t = (t / (d / 2));
if (t < 1){
return (((((c / 2) * Math.pow(2, (10 * (t - 1)))) + b) - (c * 0.0005)));
};
--t;
return (((((c / 2) * 1.0005) * (-(Math.pow(2, (-10 * t))) + 2)) + b));
}
public static function easeOutElastic(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
var s:Number;
if (t == 0){
return (b);
};
t = (t / d);
if (t == 1){
return ((b + c));
};
var p:Number = (((!(Boolean(p_params))) || (isNaN(p_params.period)))) ? (d * 0.3) : p_params.period;
var a:Number = (((!(Boolean(p_params))) || (isNaN(p_params.amplitude)))) ? 0 : p_params.amplitude;
if (((!(Boolean(a))) || ((a < Math.abs(c))))){
a = c;
s = (p / 4);
} else {
s = ((p / (2 * Math.PI)) * Math.asin((c / a)));
};
return (((((a * Math.pow(2, (-10 * t))) * Math.sin(((((t * d) - s) * (2 * Math.PI)) / p))) + c) + b));
}
public static function easeOutCirc(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
t = ((t / d) - 1);
return (((c * Math.sqrt((1 - (t * t)))) + b));
}
public static function easeOutInQuart(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutQuart((t * 2), b, (c / 2), d, p_params));
};
return (easeInQuart(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
public static function easeOutInCirc(t:Number, b:Number, c:Number, d:Number, p_params:Object=null):Number{
if (t < (d / 2)){
return (easeOutCirc((t * 2), b, (c / 2), d, p_params));
};
return (easeInCirc(((t * 2) - d), (b + (c / 2)), (c / 2), d, p_params));
}
}
}//package caurina.transitions
Section 6
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var valueComplete:Number;
public var modifierFunction:Function;
public var extra:Object;
public var valueStart:Number;
public var hasModifier:Boolean;
public var arrayIndex:Number;
public var originalValueComplete:Object;
public function PropertyInfoObj(p_valueStart:Number, p_valueComplete:Number, p_originalValueComplete:Object, p_arrayIndex:Number, p_extra:Object, p_isSpecialProperty:Boolean, p_modifierFunction:Function, p_modifierParameters:Array){
super();
valueStart = p_valueStart;
valueComplete = p_valueComplete;
originalValueComplete = p_originalValueComplete;
arrayIndex = p_arrayIndex;
extra = p_extra;
isSpecialProperty = p_isSpecialProperty;
hasModifier = Boolean(p_modifierFunction);
modifierFunction = p_modifierFunction;
modifierParameters = p_modifierParameters;
}
public function toString():String{
var returnStr:String = "\n[PropertyInfoObj ";
returnStr = (returnStr + ("valueStart:" + String(valueStart)));
returnStr = (returnStr + ", ");
returnStr = (returnStr + ("valueComplete:" + String(valueComplete)));
returnStr = (returnStr + ", ");
returnStr = (returnStr + ("originalValueComplete:" + String(originalValueComplete)));
returnStr = (returnStr + ", ");
returnStr = (returnStr + ("arrayIndex:" + String(arrayIndex)));
returnStr = (returnStr + ", ");
returnStr = (returnStr + ("extra:" + String(extra)));
returnStr = (returnStr + ", ");
returnStr = (returnStr + ("isSpecialProperty:" + String(isSpecialProperty)));
returnStr = (returnStr + ", ");
returnStr = (returnStr + ("hasModifier:" + String(hasModifier)));
returnStr = (returnStr + ", ");
returnStr = (returnStr + ("modifierFunction:" + String(modifierFunction)));
returnStr = (returnStr + ", ");
returnStr = (returnStr + ("modifierParameters:" + String(modifierParameters)));
returnStr = (returnStr + "]\n");
return (returnStr);
}
public function clone():PropertyInfoObj{
var nProperty:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (nProperty);
}
}
}//package caurina.transitions
Section 7
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var getValue:Function;
public var preProcess:Function;
public var setValue:Function;
public function SpecialProperty(p_getFunction:Function, p_setFunction:Function, p_parameters:Array=null, p_preProcessFunction:Function=null){
super();
getValue = p_getFunction;
setValue = p_setFunction;
parameters = p_parameters;
preProcess = p_preProcessFunction;
}
public function toString():String{
var value:String = "";
value = (value + "[SpecialProperty ");
value = (value + ("getValue:" + String(getValue)));
value = (value + ", ");
value = (value + ("setValue:" + String(setValue)));
value = (value + ", ");
value = (value + ("parameters:" + String(parameters)));
value = (value + ", ");
value = (value + ("preProcess:" + String(preProcess)));
value = (value + "]");
return (value);
}
}
}//package caurina.transitions
Section 8
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier)
package caurina.transitions {
public class SpecialPropertyModifier {
public var getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(p_modifyFunction:Function, p_getFunction:Function){
super();
modifyValues = p_modifyFunction;
getValue = p_getFunction;
}
public function toString():String{
var value:String = "";
value = (value + "[SpecialPropertyModifier ");
value = (value + ("modifyValues:" + String(modifyValues)));
value = (value + ", ");
value = (value + ("getValue:" + String(getValue)));
value = (value + "]");
return (value);
}
}
}//package caurina.transitions
Section 9
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(p_splitFunction:Function, p_parameters:Array){
super();
splitValues = p_splitFunction;
parameters = p_parameters;
}
public function toString():String{
var value:String = "";
value = (value + "[SpecialPropertySplitter ");
value = (value + ("splitValues:" + String(splitValues)));
value = (value + ", ");
value = (value + ("parameters:" + String(parameters)));
value = (value + "]");
return (value);
}
}
}//package caurina.transitions
Section 10
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _currentTimeFrame:Number;
private static var _specialPropertySplitterList:Object;
private static var _engineExists:Boolean = false;
private static var _specialPropertyModifierList:Object;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
super();
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(p_name:String, p_modifyFunction:Function, p_getFunction:Function):void{
if (!_inited){
init();
};
var spm:SpecialPropertyModifier = new SpecialPropertyModifier(p_modifyFunction, p_getFunction);
_specialPropertyModifierList[p_name] = spm;
}
public static function registerSpecialProperty(p_name:String, p_getFunction:Function, p_setFunction:Function, p_parameters:Array=null, p_preProcessFunction:Function=null):void{
if (!_inited){
init();
};
var sp:SpecialProperty = new SpecialProperty(p_getFunction, p_setFunction, p_parameters, p_preProcessFunction);
_specialPropertyList[p_name] = sp;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
private static function updateTweens():Boolean{
var i:int;
if (_tweenList.length == 0){
return (false);
};
i = 0;
while (i < _tweenList.length) {
if ((((_tweenList[i] == undefined)) || (!(_tweenList[i].isPaused)))){
if (!updateTweenByIndex(i)){
removeTweenByIndex(i);
};
if (_tweenList[i] == null){
removeTweenByIndex(i, true);
i--;
};
};
i++;
};
return (true);
}
public static function addCaller(p_scopes:Object=null, p_parameters:Object=null):Boolean{
var i:Number;
var rScopes:Array;
var rTransition:Function;
var nTween:TweenListObj;
var myT:Number;
var trans:String;
if (!Boolean(p_scopes)){
return (false);
};
if ((p_scopes is Array)){
rScopes = p_scopes.concat();
} else {
rScopes = [p_scopes];
};
var p_obj:Object = p_parameters;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var rTime:Number = (isNaN(p_obj.time)) ? 0 : p_obj.time;
var rDelay:Number = (isNaN(p_obj.delay)) ? 0 : p_obj.delay;
if (typeof(p_obj.transition) == "string"){
trans = p_obj.transition.toLowerCase();
rTransition = _transitionList[trans];
} else {
rTransition = p_obj.transition;
};
if (!Boolean(rTransition)){
rTransition = _transitionList["easeoutexpo"];
};
i = 0;
while (i < rScopes.length) {
if (p_obj.useFrames == true){
nTween = new TweenListObj(rScopes[i], (_currentTimeFrame + (rDelay / _timeScale)), (_currentTimeFrame + ((rDelay + rTime) / _timeScale)), true, rTransition, p_obj.transitionParams);
} else {
nTween = new TweenListObj(rScopes[i], (_currentTime + ((rDelay * 1000) / _timeScale)), (_currentTime + (((rDelay * 1000) + (rTime * 1000)) / _timeScale)), false, rTransition, p_obj.transitionParams);
};
nTween.properties = null;
nTween.onStart = p_obj.onStart;
nTween.onUpdate = p_obj.onUpdate;
nTween.onComplete = p_obj.onComplete;
nTween.onOverwrite = p_obj.onOverwrite;
nTween.onStartParams = p_obj.onStartParams;
nTween.onUpdateParams = p_obj.onUpdateParams;
nTween.onCompleteParams = p_obj.onCompleteParams;
nTween.onOverwriteParams = p_obj.onOverwriteParams;
nTween.onStartScope = p_obj.onStartScope;
nTween.onUpdateScope = p_obj.onUpdateScope;
nTween.onCompleteScope = p_obj.onCompleteScope;
nTween.onOverwriteScope = p_obj.onOverwriteScope;
nTween.onErrorScope = p_obj.onErrorScope;
nTween.isCaller = true;
nTween.count = p_obj.count;
nTween.waitFrames = p_obj.waitFrames;
_tweenList.push(nTween);
if ((((rTime == 0)) && ((rDelay == 0)))){
myT = (_tweenList.length - 1);
updateTweenByIndex(myT);
removeTweenByIndex(myT);
};
i++;
};
return (true);
}
public static function pauseAllTweens():Boolean{
var i:uint;
if (!Boolean(_tweenList)){
return (false);
};
var paused:Boolean;
i = 0;
while (i < _tweenList.length) {
pauseTweenByIndex(i);
paused = true;
i++;
};
return (paused);
}
public static function removeTweens(p_scope:Object, ... _args):Boolean{
var i:uint;
var sps:SpecialPropertySplitter;
var specialProps:Array;
var j:uint;
var properties:Array = new Array();
i = 0;
while (i < _args.length) {
if ((((typeof(_args[i]) == "string")) && ((properties.indexOf(_args[i]) == -1)))){
if (_specialPropertySplitterList[_args[i]]){
sps = _specialPropertySplitterList[_args[i]];
specialProps = sps.splitValues(p_scope, null);
j = 0;
while (j < specialProps.length) {
properties.push(specialProps[j].name);
j++;
};
} else {
properties.push(_args[i]);
};
};
i++;
};
return (affectTweens(removeTweenByIndex, p_scope, properties));
}
public static function splitTweens(p_tween:Number, p_properties:Array):uint{
var i:uint;
var pName:String;
var found:Boolean;
var originalTween:TweenListObj = _tweenList[p_tween];
var newTween:TweenListObj = originalTween.clone(false);
i = 0;
while (i < p_properties.length) {
pName = p_properties[i];
if (Boolean(originalTween.properties[pName])){
originalTween.properties[pName] = undefined;
delete originalTween.properties[pName];
};
i++;
};
for (pName in newTween.properties) {
found = false;
i = 0;
while (i < p_properties.length) {
if (p_properties[i] == pName){
found = true;
break;
};
i++;
};
if (!found){
newTween.properties[pName] = undefined;
delete newTween.properties[pName];
};
};
_tweenList.push(newTween);
return ((_tweenList.length - 1));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function resumeTweenByIndex(p_tween:Number):Boolean{
var tTweening:TweenListObj = _tweenList[p_tween];
if ((((tTweening == null)) || (!(tTweening.isPaused)))){
return (false);
};
var cTime:Number = getCurrentTweeningTime(tTweening);
tTweening.timeStart = (tTweening.timeStart + (cTime - tTweening.timePaused));
tTweening.timeComplete = (tTweening.timeComplete + (cTime - tTweening.timePaused));
tTweening.timePaused = undefined;
tTweening.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.31.74");
}
public static function onEnterFrame(e:Event):void{
updateTime();
updateFrame();
var hasUpdated:Boolean;
hasUpdated = updateTweens();
if (!hasUpdated){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(i:Number):Boolean{
var tTweening:TweenListObj;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var eventScope:Object;
var tScope:Object;
var tProperty:Object;
var pv:Number;
var i = i;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
var isOver:Boolean;
var cTime:Number = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
//unresolved if
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
continue;
var _slot1 = e1;
handleError(tTweening, _slot1, "onUpdate");
};
} while (tTweening.timesCalled++, !(tTweening.timesCalled >= tTweening.count));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
//unresolved jump
var _slot1 = e2;
handleError(tTweening, _slot1, "onStart");
};
for (pName in tTweening.properties) {
if (tTweening.properties[pName].isSpecialProperty){
if (Boolean(_specialPropertyList[pName].preProcess)){
tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra);
};
pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
pv = tScope[pName];
};
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
//unresolved jump
var _slot1 = e3;
handleError(tTweening, _slot1, "onUpdate");
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
//unresolved jump
var _slot1 = e4;
handleError(tTweening, _slot1, "onComplete");
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(p_time:Number):void{
var i:Number;
var cTime:Number;
if (isNaN(p_time)){
p_time = 1;
};
if (p_time < 1E-5){
p_time = 1E-5;
};
if (p_time != _timeScale){
if (_tweenList != null){
i = 0;
while (i < _tweenList.length) {
cTime = getCurrentTweeningTime(_tweenList[i]);
_tweenList[i].timeStart = (cTime - (((cTime - _tweenList[i].timeStart) * _timeScale) / p_time));
_tweenList[i].timeComplete = (cTime - (((cTime - _tweenList[i].timeComplete) * _timeScale) / p_time));
if (_tweenList[i].timePaused != undefined){
_tweenList[i].timePaused = (cTime - (((cTime - _tweenList[i].timePaused) * _timeScale) / p_time));
};
i++;
};
};
_timeScale = p_time;
};
}
public static function resumeAllTweens():Boolean{
var i:uint;
if (!Boolean(_tweenList)){
return (false);
};
var resumed:Boolean;
i = 0;
while (i < _tweenList.length) {
resumeTweenByIndex(i);
resumed = true;
i++;
};
return (resumed);
}
private static function handleError(pTweening:TweenListObj, pError:Error, pCallBackName:String):void{
var eventScope:Object;
var pTweening = pTweening;
var pError = pError;
var pCallBackName = pCallBackName;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope;
pTweening.onError.apply(eventScope, [pTweening.scope, pError]);
//unresolved jump
var _slot1 = metaError;
printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + _slot1.getStackTrace()));
} else {
if (!Boolean(pTweening.onError)){
printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace()));
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
_currentTimeFrame = 0;
updateTime();
}
public static function removeAllTweens():Boolean{
var i:uint;
if (!Boolean(_tweenList)){
return (false);
};
var removed:Boolean;
i = 0;
while (i < _tweenList.length) {
removeTweenByIndex(i);
removed = true;
i++;
};
return (removed);
}
public static function addTween(p_scopes:Object=null, p_parameters:Object=null):Boolean{
var i:Number;
var j:Number;
var istr:String;
var rScopes:Array;
var rTransition:Function;
var nProperties:Object;
var nTween:TweenListObj;
var myT:Number;
var splitProperties:Array;
var splitProperties2:Array;
var tempModifiedProperties:Array;
var trans:String;
if (!Boolean(p_scopes)){
return (false);
};
if ((p_scopes is Array)){
rScopes = p_scopes.concat();
} else {
rScopes = [p_scopes];
};
var p_obj:Object = TweenListObj.makePropertiesChain(p_parameters);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var rTime:Number = (isNaN(p_obj.time)) ? 0 : p_obj.time;
var rDelay:Number = (isNaN(p_obj.delay)) ? 0 : p_obj.delay;
var rProperties:Array = new Array();
var restrictedWords:Object = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
var modifiedProperties:Object = new Object();
for (istr in p_obj) {
if (!restrictedWords[istr]){
if (_specialPropertySplitterList[istr]){
splitProperties = _specialPropertySplitterList[istr].splitValues(p_obj[istr], _specialPropertySplitterList[istr].parameters);
i = 0;
while (i < splitProperties.length) {
if (_specialPropertySplitterList[splitProperties[i].name]){
splitProperties2 = _specialPropertySplitterList[splitProperties[i].name].splitValues(splitProperties[i].value, _specialPropertySplitterList[splitProperties[i].name].parameters);
j = 0;
while (j < splitProperties2.length) {
rProperties[splitProperties2[j].name] = {valueStart:undefined, valueComplete:splitProperties2[j].value, arrayIndex:splitProperties2[j].arrayIndex, isSpecialProperty:false};
j++;
};
} else {
rProperties[splitProperties[i].name] = {valueStart:undefined, valueComplete:splitProperties[i].value, arrayIndex:splitProperties[i].arrayIndex, isSpecialProperty:false};
};
i++;
};
} else {
if (_specialPropertyModifierList[istr] != undefined){
tempModifiedProperties = _specialPropertyModifierList[istr].modifyValues(p_obj[istr]);
i = 0;
while (i < tempModifiedProperties.length) {
modifiedProperties[tempModifiedProperties[i].name] = {modifierParameters:tempModifiedProperties[i].parameters, modifierFunction:_specialPropertyModifierList[istr].getValue};
i++;
};
} else {
rProperties[istr] = {valueStart:undefined, valueComplete:p_obj[istr]};
};
};
};
};
for (istr in rProperties) {
if (_specialPropertyList[istr] != undefined){
rProperties[istr].isSpecialProperty = true;
} else {
if (rScopes[0][istr] == undefined){
printError((((("The property '" + istr) + "' doesn't seem to be a normal object property of ") + String(rScopes[0])) + " or a registered special property."));
};
};
};
for (istr in modifiedProperties) {
if (rProperties[istr] != undefined){
rProperties[istr].modifierParameters = modifiedProperties[istr].modifierParameters;
rProperties[istr].modifierFunction = modifiedProperties[istr].modifierFunction;
};
};
if (typeof(p_obj.transition) == "string"){
trans = p_obj.transition.toLowerCase();
rTransition = _transitionList[trans];
} else {
rTransition = p_obj.transition;
};
if (!Boolean(rTransition)){
rTransition = _transitionList["easeoutexpo"];
};
i = 0;
while (i < rScopes.length) {
nProperties = new Object();
for (istr in rProperties) {
nProperties[istr] = new PropertyInfoObj(rProperties[istr].valueStart, rProperties[istr].valueComplete, rProperties[istr].valueComplete, rProperties[istr].arrayIndex, {}, rProperties[istr].isSpecialProperty, rProperties[istr].modifierFunction, rProperties[istr].modifierParameters);
};
if (p_obj.useFrames == true){
nTween = new TweenListObj(rScopes[i], (_currentTimeFrame + (rDelay / _timeScale)), (_currentTimeFrame + ((rDelay + rTime) / _timeScale)), true, rTransition, p_obj.transitionParams);
} else {
nTween = new TweenListObj(rScopes[i], (_currentTime + ((rDelay * 1000) / _timeScale)), (_currentTime + (((rDelay * 1000) + (rTime * 1000)) / _timeScale)), false, rTransition, p_obj.transitionParams);
};
nTween.properties = nProperties;
nTween.onStart = p_obj.onStart;
nTween.onUpdate = p_obj.onUpdate;
nTween.onComplete = p_obj.onComplete;
nTween.onOverwrite = p_obj.onOverwrite;
nTween.onError = p_obj.onError;
nTween.onStartParams = p_obj.onStartParams;
nTween.onUpdateParams = p_obj.onUpdateParams;
nTween.onCompleteParams = p_obj.onCompleteParams;
nTween.onOverwriteParams = p_obj.onOverwriteParams;
nTween.onStartScope = p_obj.onStartScope;
nTween.onUpdateScope = p_obj.onUpdateScope;
nTween.onCompleteScope = p_obj.onCompleteScope;
nTween.onOverwriteScope = p_obj.onOverwriteScope;
nTween.onErrorScope = p_obj.onErrorScope;
nTween.rounded = p_obj.rounded;
nTween.skipUpdates = p_obj.skipUpdates;
removeTweensByTime(nTween.scope, nTween.properties, nTween.timeStart, nTween.timeComplete);
_tweenList.push(nTween);
if ((((rTime == 0)) && ((rDelay == 0)))){
myT = (_tweenList.length - 1);
updateTweenByIndex(myT);
removeTweenByIndex(myT);
};
i++;
};
return (true);
}
public static function registerTransition(p_name:String, p_function:Function):void{
if (!_inited){
init();
};
_transitionList[p_name] = p_function;
}
public static function printError(p_message:String):void{
trace(("## [Tweener] Error: " + p_message));
}
private static function affectTweens(p_affectFunction:Function, p_scope:Object, p_properties:Array):Boolean{
var i:uint;
var affectedProperties:Array;
var j:uint;
var objectProperties:uint;
var slicedTweenIndex:uint;
var affected:Boolean;
if (!Boolean(_tweenList)){
return (false);
};
i = 0;
while (i < _tweenList.length) {
if (((_tweenList[i]) && ((_tweenList[i].scope == p_scope)))){
if (p_properties.length == 0){
p_affectFunction(i);
affected = true;
} else {
affectedProperties = new Array();
j = 0;
while (j < p_properties.length) {
if (Boolean(_tweenList[i].properties[p_properties[j]])){
affectedProperties.push(p_properties[j]);
};
j++;
};
if (affectedProperties.length > 0){
objectProperties = AuxFunctions.getObjectLength(_tweenList[i].properties);
if (objectProperties == affectedProperties.length){
p_affectFunction(i);
affected = true;
} else {
slicedTweenIndex = splitTweens(i, affectedProperties);
p_affectFunction(slicedTweenIndex);
affected = true;
};
};
};
};
i++;
};
return (affected);
}
public static function getTweens(p_scope:Object):Array{
var i:uint;
var pName:String;
if (!Boolean(_tweenList)){
return ([]);
};
var tList:Array = new Array();
i = 0;
while (i < _tweenList.length) {
if (((Boolean(_tweenList[i])) && ((_tweenList[i].scope == p_scope)))){
for (pName in _tweenList[i].properties) {
tList.push(pName);
};
};
i++;
};
return (tList);
}
public static function isTweening(p_scope:Object):Boolean{
var i:uint;
if (!Boolean(_tweenList)){
return (false);
};
i = 0;
while (i < _tweenList.length) {
if (((Boolean(_tweenList[i])) && ((_tweenList[i].scope == p_scope)))){
return (true);
};
i++;
};
return (false);
}
public static function pauseTweenByIndex(p_tween:Number):Boolean{
var tTweening:TweenListObj = _tweenList[p_tween];
if ((((tTweening == null)) || (tTweening.isPaused))){
return (false);
};
tTweening.timePaused = getCurrentTweeningTime(tTweening);
tTweening.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(p_tweening:Object):Number{
return ((p_tweening.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(p_scope:Object):Number{
var i:uint;
if (!Boolean(_tweenList)){
return (0);
};
var c:Number = 0;
i = 0;
while (i < _tweenList.length) {
if (((Boolean(_tweenList[i])) && ((_tweenList[i].scope == p_scope)))){
c = (c + AuxFunctions.getObjectLength(_tweenList[i].properties));
};
i++;
};
return (c);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(p_scope:Object, p_properties:Object, p_timeStart:Number, p_timeComplete:Number):Boolean{
var removedLocally:Boolean;
var i:uint;
var pName:String;
var eventScope:Object;
var p_scope = p_scope;
var p_properties = p_properties;
var p_timeStart = p_timeStart;
var p_timeComplete = p_timeComplete;
var removed:Boolean;
var tl:uint = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope;
_tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams);
//unresolved jump
var _slot1 = e;
handleError(_tweenList[i], _slot1, "onOverwrite");
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(p_name:String, p_splitFunction:Function, p_parameters:Array=null):void{
if (!_inited){
init();
};
var sps:SpecialPropertySplitter = new SpecialPropertySplitter(p_splitFunction, p_parameters);
_specialPropertySplitterList[p_name] = sps;
}
public static function removeTweenByIndex(i:Number, p_finalRemoval:Boolean=false):Boolean{
_tweenList[i] = null;
if (p_finalRemoval){
_tweenList.splice(i, 1);
};
return (true);
}
public static function resumeTweens(p_scope:Object, ... _args):Boolean{
var i:uint;
var properties:Array = new Array();
i = 0;
while (i < _args.length) {
if ((((typeof(_args[i]) == "string")) && ((properties.indexOf(_args[i]) == -1)))){
properties.push(_args[i]);
};
i++;
};
return (affectTweens(resumeTweenByIndex, p_scope, properties));
}
public static function pauseTweens(p_scope:Object, ... _args):Boolean{
var i:uint;
var properties:Array = new Array();
i = 0;
while (i < _args.length) {
if ((((typeof(_args[i]) == "string")) && ((properties.indexOf(_args[i]) == -1)))){
properties.push(_args[i]);
};
i++;
};
return (affectTweens(pauseTweenByIndex, p_scope, properties));
}
}
}//package caurina.transitions
Section 11
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var hasStarted:Boolean;
public var onUpdate:Function;
public var useFrames:Boolean;
public var count:Number;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var updatesSkipped:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var isCaller:Boolean;
public var timePaused:Number;
public var transition:Function;
public var onCompleteParams:Array;
public var onError:Function;
public var timesCalled:Number;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
public function TweenListObj(p_scope:Object, p_timeStart:Number, p_timeComplete:Number, p_useFrames:Boolean, p_transition:Function, p_transitionParams:Object){
super();
scope = p_scope;
timeStart = p_timeStart;
timeComplete = p_timeComplete;
useFrames = p_useFrames;
transition = p_transition;
transitionParams = p_transitionParams;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(omitEvents:Boolean):TweenListObj{
var pName:String;
var nTween:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
nTween.properties = new Array();
for (pName in properties) {
nTween.properties[pName] = properties[pName].clone();
};
nTween.skipUpdates = skipUpdates;
nTween.updatesSkipped = updatesSkipped;
if (!omitEvents){
nTween.onStart = onStart;
nTween.onUpdate = onUpdate;
nTween.onComplete = onComplete;
nTween.onOverwrite = onOverwrite;
nTween.onError = onError;
nTween.onStartParams = onStartParams;
nTween.onUpdateParams = onUpdateParams;
nTween.onCompleteParams = onCompleteParams;
nTween.onOverwriteParams = onOverwriteParams;
nTween.onStartScope = onStartScope;
nTween.onUpdateScope = onUpdateScope;
nTween.onCompleteScope = onCompleteScope;
nTween.onOverwriteScope = onOverwriteScope;
nTween.onErrorScope = onErrorScope;
};
nTween.rounded = rounded;
nTween.isPaused = isPaused;
nTween.timePaused = timePaused;
nTween.isCaller = isCaller;
nTween.count = count;
nTween.timesCalled = timesCalled;
nTween.waitFrames = waitFrames;
nTween.hasStarted = hasStarted;
return (nTween);
}
public function toString():String{
var i:String;
var returnStr:String = "\n[TweenListObj ";
returnStr = (returnStr + ("scope:" + String(scope)));
returnStr = (returnStr + ", properties:");
var isFirst:Boolean;
for (i in properties) {
if (!isFirst){
returnStr = (returnStr + ",");
};
returnStr = (returnStr + ("[name:" + properties[i].name));
returnStr = (returnStr + (",valueStart:" + properties[i].valueStart));
returnStr = (returnStr + (",valueComplete:" + properties[i].valueComplete));
returnStr = (returnStr + "]");
isFirst = false;
};
returnStr = (returnStr + (", timeStart:" + String(timeStart)));
returnStr = (returnStr + (", timeComplete:" + String(timeComplete)));
returnStr = (returnStr + (", useFrames:" + String(useFrames)));
returnStr = (returnStr + (", transition:" + String(transition)));
returnStr = (returnStr + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
returnStr = (returnStr + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
returnStr = (returnStr + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
returnStr = (returnStr + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
returnStr = (returnStr + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
returnStr = (returnStr + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
returnStr = (returnStr + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
returnStr = (returnStr + (", onError:" + String(onError)));
};
if (onStartParams){
returnStr = (returnStr + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
returnStr = (returnStr + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
returnStr = (returnStr + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
returnStr = (returnStr + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
returnStr = (returnStr + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
returnStr = (returnStr + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
returnStr = (returnStr + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
returnStr = (returnStr + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
returnStr = (returnStr + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
returnStr = (returnStr + (", rounded:" + String(rounded)));
};
if (isPaused){
returnStr = (returnStr + (", isPaused:" + String(isPaused)));
};
if (timePaused){
returnStr = (returnStr + (", timePaused:" + String(timePaused)));
};
if (isCaller){
returnStr = (returnStr + (", isCaller:" + String(isCaller)));
};
if (count){
returnStr = (returnStr + (", count:" + String(count)));
};
if (timesCalled){
returnStr = (returnStr + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
returnStr = (returnStr + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
returnStr = (returnStr + (", hasStarted:" + String(hasStarted)));
};
returnStr = (returnStr + "]\n");
return (returnStr);
}
public static function makePropertiesChain(p_obj:Object):Object{
var chainedObject:Object;
var chain:Object;
var currChainObj:Object;
var len:Number;
var i:Number;
var k:Number;
var baseObject:Object = p_obj.base;
if (baseObject){
chainedObject = {};
if ((baseObject is Array)){
chain = [];
k = 0;
while (k < baseObject.length) {
chain.push(baseObject[k]);
k++;
};
} else {
chain = [baseObject];
};
chain.push(p_obj);
len = chain.length;
i = 0;
while (i < len) {
if (chain[i]["base"]){
currChainObj = AuxFunctions.concatObjects(makePropertiesChain(chain[i]["base"]), chain[i]);
} else {
currChainObj = chain[i];
};
chainedObject = AuxFunctions.concatObjects(chainedObject, currChainObj);
i++;
};
if (chainedObject["base"]){
delete chainedObject["base"];
};
return (chainedObject);
//unresolved jump
};
return (p_obj);
}
}
}//package caurina.transitions
Section 12
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import flash.utils.*;
import com.adobe.utils.*;
public class MD5 {
public static var digest:ByteArray;
public function MD5(){
super();
}
private static function ff(a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
return (transform(f, a, b, c, d, x, s, t));
}
private static function f(x:int, y:int, z:int):int{
return (((x & y) | (~(x) & z)));
}
private static function g(x:int, y:int, z:int):int{
return (((x & z) | (y & ~(z))));
}
private static function h(x:int, y:int, z:int):int{
return (((x ^ y) ^ z));
}
private static function i(x:int, y:int, z:int):int{
return ((y ^ (x | ~(z))));
}
private static function transform(func:Function, a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
var tmp:int = (((a + int(func(b, c, d))) + x) + t);
return ((IntUtil.rol(tmp, s) + b));
}
private static function hh(a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
return (transform(h, a, b, c, d, x, s, t));
}
public static function hash(s:String):String{
var ba:ByteArray = new ByteArray();
ba.writeUTFBytes(s);
return (hashBinary(ba));
}
private static function createBlocks(s:ByteArray):Array{
var blocks:Array = new Array();
var len:int = (s.length * 8);
var mask = 0xFF;
var i:int;
while (i < len) {
blocks[int((i >> 5))] = (blocks[int((i >> 5))] | ((s[(i / 8)] & mask) << (i % 32)));
i = (i + 8);
};
blocks[int((len >> 5))] = (blocks[int((len >> 5))] | (128 << (len % 32)));
blocks[int(((((len + 64) >>> 9) << 4) + 14))] = len;
return (blocks);
}
public static function hashBinary(s:ByteArray):String{
var aa:int;
var bb:int;
var cc:int;
var dd:int;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
var x:Array = createBlocks(s);
var len:int = x.length;
var i:int;
while (i < len) {
aa = a;
bb = b;
cc = c;
dd = d;
a = ff(a, b, c, d, x[int((i + 0))], 7, -680876936);
d = ff(d, a, b, c, x[int((i + 1))], 12, -389564586);
c = ff(c, d, a, b, x[int((i + 2))], 17, 606105819);
b = ff(b, c, d, a, x[int((i + 3))], 22, -1044525330);
a = ff(a, b, c, d, x[int((i + 4))], 7, -176418897);
d = ff(d, a, b, c, x[int((i + 5))], 12, 1200080426);
c = ff(c, d, a, b, x[int((i + 6))], 17, -1473231341);
b = ff(b, c, d, a, x[int((i + 7))], 22, -45705983);
a = ff(a, b, c, d, x[int((i + 8))], 7, 1770035416);
d = ff(d, a, b, c, x[int((i + 9))], 12, -1958414417);
c = ff(c, d, a, b, x[int((i + 10))], 17, -42063);
b = ff(b, c, d, a, x[int((i + 11))], 22, -1990404162);
a = ff(a, b, c, d, x[int((i + 12))], 7, 1804603682);
d = ff(d, a, b, c, x[int((i + 13))], 12, -40341101);
c = ff(c, d, a, b, x[int((i + 14))], 17, -1502002290);
b = ff(b, c, d, a, x[int((i + 15))], 22, 1236535329);
a = gg(a, b, c, d, x[int((i + 1))], 5, -165796510);
d = gg(d, a, b, c, x[int((i + 6))], 9, -1069501632);
c = gg(c, d, a, b, x[int((i + 11))], 14, 643717713);
b = gg(b, c, d, a, x[int((i + 0))], 20, -373897302);
a = gg(a, b, c, d, x[int((i + 5))], 5, -701558691);
d = gg(d, a, b, c, x[int((i + 10))], 9, 38016083);
c = gg(c, d, a, b, x[int((i + 15))], 14, -660478335);
b = gg(b, c, d, a, x[int((i + 4))], 20, -405537848);
a = gg(a, b, c, d, x[int((i + 9))], 5, 568446438);
d = gg(d, a, b, c, x[int((i + 14))], 9, -1019803690);
c = gg(c, d, a, b, x[int((i + 3))], 14, -187363961);
b = gg(b, c, d, a, x[int((i + 8))], 20, 1163531501);
a = gg(a, b, c, d, x[int((i + 13))], 5, -1444681467);
d = gg(d, a, b, c, x[int((i + 2))], 9, -51403784);
c = gg(c, d, a, b, x[int((i + 7))], 14, 1735328473);
b = gg(b, c, d, a, x[int((i + 12))], 20, -1926607734);
a = hh(a, b, c, d, x[int((i + 5))], 4, -378558);
d = hh(d, a, b, c, x[int((i + 8))], 11, -2022574463);
c = hh(c, d, a, b, x[int((i + 11))], 16, 1839030562);
b = hh(b, c, d, a, x[int((i + 14))], 23, -35309556);
a = hh(a, b, c, d, x[int((i + 1))], 4, -1530992060);
d = hh(d, a, b, c, x[int((i + 4))], 11, 1272893353);
c = hh(c, d, a, b, x[int((i + 7))], 16, -155497632);
b = hh(b, c, d, a, x[int((i + 10))], 23, -1094730640);
a = hh(a, b, c, d, x[int((i + 13))], 4, 681279174);
d = hh(d, a, b, c, x[int((i + 0))], 11, -358537222);
c = hh(c, d, a, b, x[int((i + 3))], 16, -722521979);
b = hh(b, c, d, a, x[int((i + 6))], 23, 76029189);
a = hh(a, b, c, d, x[int((i + 9))], 4, -640364487);
d = hh(d, a, b, c, x[int((i + 12))], 11, -421815835);
c = hh(c, d, a, b, x[int((i + 15))], 16, 530742520);
b = hh(b, c, d, a, x[int((i + 2))], 23, -995338651);
a = ii(a, b, c, d, x[int((i + 0))], 6, -198630844);
d = ii(d, a, b, c, x[int((i + 7))], 10, 1126891415);
c = ii(c, d, a, b, x[int((i + 14))], 15, -1416354905);
b = ii(b, c, d, a, x[int((i + 5))], 21, -57434055);
a = ii(a, b, c, d, x[int((i + 12))], 6, 1700485571);
d = ii(d, a, b, c, x[int((i + 3))], 10, -1894986606);
c = ii(c, d, a, b, x[int((i + 10))], 15, -1051523);
b = ii(b, c, d, a, x[int((i + 1))], 21, -2054922799);
a = ii(a, b, c, d, x[int((i + 8))], 6, 1873313359);
d = ii(d, a, b, c, x[int((i + 15))], 10, -30611744);
c = ii(c, d, a, b, x[int((i + 6))], 15, -1560198380);
b = ii(b, c, d, a, x[int((i + 13))], 21, 1309151649);
a = ii(a, b, c, d, x[int((i + 4))], 6, -145523070);
d = ii(d, a, b, c, x[int((i + 11))], 10, -1120210379);
c = ii(c, d, a, b, x[int((i + 2))], 15, 718787259);
b = ii(b, c, d, a, x[int((i + 9))], 21, -343485551);
a = (a + aa);
b = (b + bb);
c = (c + cc);
d = (d + dd);
i = (i + 16);
};
digest = new ByteArray();
digest.writeInt(a);
digest.writeInt(b);
digest.writeInt(c);
digest.writeInt(d);
digest.position = 0;
return ((((IntUtil.toHex(a) + IntUtil.toHex(b)) + IntUtil.toHex(c)) + IntUtil.toHex(d)));
}
private static function gg(a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
return (transform(g, a, b, c, d, x, s, t));
}
private static function ii(a:int, b:int, c:int, d:int, x:int, s:int, t:int):int{
return (transform(i, a, b, c, d, x, s, t));
}
public static function hashBytes(s:ByteArray):String{
return (hashBinary(s));
}
}
}//package com.adobe.crypto
Section 13
//BitString (com.adobe.images.BitString)
package com.adobe.images {
public class BitString {
public var val:int;// = 0
public var len:int;// = 0
public function BitString(){
super();
}
}
}//package com.adobe.images
Section 14
//JPGEncoder (com.adobe.images.JPGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class JPGEncoder {
private var fdtbl_UV:Array;
private var std_ac_chrominance_values:Array;
private var std_dc_chrominance_values:Array;
private var ZigZag:Array;
private var YDC_HT:Array;
private var YAC_HT:Array;
private var bytenew:int;// = 0
private var fdtbl_Y:Array;
private var std_ac_chrominance_nrcodes:Array;
private var DU:Array;
private var std_ac_luminance_values:Array;
private var std_dc_chrominance_nrcodes:Array;
private var UVTable:Array;
private var YDU:Array;
private var UDU:Array;
private var byteout:ByteArray;
private var UVAC_HT:Array;
private var UVDC_HT:Array;
private var bytepos:int;// = 7
private var VDU:Array;
private var std_ac_luminance_nrcodes:Array;
private var std_dc_luminance_values:Array;
private var YTable:Array;
private var std_dc_luminance_nrcodes:Array;
private var bitcode:Array;
private var category:Array;
public function JPGEncoder(quality:Number=50){
ZigZag = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63];
YTable = new Array(64);
UVTable = new Array(64);
fdtbl_Y = new Array(64);
fdtbl_UV = new Array(64);
std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];
std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];
std_ac_luminance_values = [1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250];
std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];
std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];
std_ac_chrominance_values = [0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250];
bitcode = new Array(0xFFFF);
category = new Array(0xFFFF);
DU = new Array(64);
YDU = new Array(64);
UDU = new Array(64);
VDU = new Array(64);
super();
if (quality <= 0){
quality = 1;
};
if (quality > 100){
quality = 100;
};
var sf:int;
if (quality < 50){
sf = int((5000 / quality));
} else {
sf = int((200 - (quality * 2)));
};
initHuffmanTbl();
initCategoryNumber();
initQuantTables(sf);
}
private function initHuffmanTbl():void{
YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);
UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);
YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);
UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);
}
private function RGB2YUV(img:BitmapData, xpos:int, ypos:int):void{
var x:int;
var P:uint;
var R:Number;
var G:Number;
var B:Number;
var pos:int;
var y:int;
while (y < 8) {
x = 0;
while (x < 8) {
P = img.getPixel32((xpos + x), (ypos + y));
R = Number(((P >> 16) & 0xFF));
G = Number(((P >> 8) & 0xFF));
B = Number((P & 0xFF));
YDU[pos] = ((((0.299 * R) + (0.587 * G)) + (0.114 * B)) - 128);
UDU[pos] = (((-0.16874 * R) + (-0.33126 * G)) + (0.5 * B));
VDU[pos] = (((0.5 * R) + (-0.41869 * G)) + (-0.08131 * B));
pos++;
x++;
};
y++;
};
}
private function writeBits(bs:BitString):void{
var value:int = bs.val;
var posval:int = (bs.len - 1);
while (posval >= 0) {
if ((value & uint((1 << posval)))){
bytenew = (bytenew | uint((1 << bytepos)));
};
posval--;
bytepos--;
if (bytepos < 0){
if (bytenew == 0xFF){
writeByte(0xFF);
writeByte(0);
} else {
writeByte(bytenew);
};
bytepos = 7;
bytenew = 0;
};
};
}
private function writeWord(value:int):void{
writeByte(((value >> 8) & 0xFF));
writeByte((value & 0xFF));
}
private function writeByte(value:int):void{
byteout.writeByte(value);
}
private function writeDHT():void{
var i:int;
writeWord(65476);
writeWord(418);
writeByte(0);
i = 0;
while (i < 16) {
writeByte(std_dc_luminance_nrcodes[(i + 1)]);
i++;
};
i = 0;
while (i <= 11) {
writeByte(std_dc_luminance_values[i]);
i++;
};
writeByte(16);
i = 0;
while (i < 16) {
writeByte(std_ac_luminance_nrcodes[(i + 1)]);
i++;
};
i = 0;
while (i <= 161) {
writeByte(std_ac_luminance_values[i]);
i++;
};
writeByte(1);
i = 0;
while (i < 16) {
writeByte(std_dc_chrominance_nrcodes[(i + 1)]);
i++;
};
i = 0;
while (i <= 11) {
writeByte(std_dc_chrominance_values[i]);
i++;
};
writeByte(17);
i = 0;
while (i < 16) {
writeByte(std_ac_chrominance_nrcodes[(i + 1)]);
i++;
};
i = 0;
while (i <= 161) {
writeByte(std_ac_chrominance_values[i]);
i++;
};
}
public function encode(image:BitmapData):ByteArray{
var xpos:int;
var fillbits:BitString;
byteout = new ByteArray();
bytenew = 0;
bytepos = 7;
writeWord(65496);
writeAPP0();
writeDQT();
writeSOF0(image.width, image.height);
writeDHT();
writeSOS();
var DCY:Number = 0;
var DCU:Number = 0;
var DCV:Number = 0;
bytenew = 0;
bytepos = 7;
var ypos:int;
while (ypos < image.height) {
xpos = 0;
while (xpos < image.width) {
RGB2YUV(image, xpos, ypos);
DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);
DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);
DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);
xpos = (xpos + 8);
};
ypos = (ypos + 8);
};
if (bytepos >= 0){
fillbits = new BitString();
fillbits.len = (bytepos + 1);
fillbits.val = ((1 << (bytepos + 1)) - 1);
writeBits(fillbits);
};
writeWord(65497);
return (byteout);
}
private function initCategoryNumber():void{
var nr:int;
var nrlower = 1;
var nrupper = 2;
var cat = 1;
while (cat <= 15) {
nr = nrlower;
while (nr < nrupper) {
category[(32767 + nr)] = cat;
bitcode[(32767 + nr)] = new BitString();
bitcode[(32767 + nr)].len = cat;
bitcode[(32767 + nr)].val = nr;
nr++;
};
nr = -((nrupper - 1));
while (nr <= -(nrlower)) {
category[(32767 + nr)] = cat;
bitcode[(32767 + nr)] = new BitString();
bitcode[(32767 + nr)].len = cat;
bitcode[(32767 + nr)].val = ((nrupper - 1) + nr);
nr++;
};
nrlower = (nrlower << 1);
nrupper = (nrupper << 1);
cat++;
};
}
private function writeDQT():void{
var i:int;
writeWord(65499);
writeWord(132);
writeByte(0);
i = 0;
while (i < 64) {
writeByte(YTable[i]);
i++;
};
writeByte(1);
i = 0;
while (i < 64) {
writeByte(UVTable[i]);
i++;
};
}
private function writeAPP0():void{
writeWord(65504);
writeWord(16);
writeByte(74);
writeByte(70);
writeByte(73);
writeByte(70);
writeByte(0);
writeByte(1);
writeByte(1);
writeByte(0);
writeWord(1);
writeWord(1);
writeByte(0);
writeByte(0);
}
private function writeSOS():void{
writeWord(65498);
writeWord(12);
writeByte(3);
writeByte(1);
writeByte(0);
writeByte(2);
writeByte(17);
writeByte(3);
writeByte(17);
writeByte(0);
writeByte(63);
writeByte(0);
}
private function processDU(CDU:Array, fdtbl:Array, DC:Number, HTDC:Array, HTAC:Array):Number{
var i:int;
var startpos:int;
var nrzeroes:int;
var nrmarker:int;
var EOB:BitString = HTAC[0];
var M16zeroes:BitString = HTAC[240];
var DU_DCT:Array = fDCTQuant(CDU, fdtbl);
i = 0;
while (i < 64) {
DU[ZigZag[i]] = DU_DCT[i];
i++;
};
var Diff:int = (DU[0] - DC);
DC = DU[0];
if (Diff == 0){
writeBits(HTDC[0]);
} else {
writeBits(HTDC[category[(32767 + Diff)]]);
writeBits(bitcode[(32767 + Diff)]);
};
var end0pos = 63;
while ((((end0pos > 0)) && ((DU[end0pos] == 0)))) {
end0pos--;
};
if (end0pos == 0){
writeBits(EOB);
return (DC);
};
i = 1;
while (i <= end0pos) {
startpos = i;
while ((((DU[i] == 0)) && ((i <= end0pos)))) {
i++;
};
nrzeroes = (i - startpos);
if (nrzeroes >= 16){
nrmarker = 1;
while (nrmarker <= (nrzeroes / 16)) {
writeBits(M16zeroes);
nrmarker++;
};
nrzeroes = int((nrzeroes & 15));
};
writeBits(HTAC[((nrzeroes * 16) + category[(32767 + DU[i])])]);
writeBits(bitcode[(32767 + DU[i])]);
i++;
};
if (end0pos != 63){
writeBits(EOB);
};
return (DC);
}
private function initQuantTables(sf:int):void{
var i:int;
var t:Number;
var col:int;
var YQT:Array = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99];
i = 0;
while (i < 64) {
t = Math.floor((((YQT[i] * sf) + 50) / 100));
if (t < 1){
t = 1;
} else {
if (t > 0xFF){
t = 0xFF;
};
};
YTable[ZigZag[i]] = t;
i++;
};
var UVQT:Array = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99];
i = 0;
while (i < 64) {
t = Math.floor((((UVQT[i] * sf) + 50) / 100));
if (t < 1){
t = 1;
} else {
if (t > 0xFF){
t = 0xFF;
};
};
UVTable[ZigZag[i]] = t;
i++;
};
var aasf:Array = [1, 1.387039845, 1.306562965, 1.175875602, 1, 0.785694958, 0.5411961, 0.275899379];
i = 0;
var row:int;
while (row < 8) {
col = 0;
while (col < 8) {
fdtbl_Y[i] = (1 / (((YTable[ZigZag[i]] * aasf[row]) * aasf[col]) * 8));
fdtbl_UV[i] = (1 / (((UVTable[ZigZag[i]] * aasf[row]) * aasf[col]) * 8));
i++;
col++;
};
row++;
};
}
private function writeSOF0(width:int, height:int):void{
writeWord(65472);
writeWord(17);
writeByte(8);
writeWord(height);
writeWord(width);
writeByte(3);
writeByte(1);
writeByte(17);
writeByte(0);
writeByte(2);
writeByte(17);
writeByte(1);
writeByte(3);
writeByte(17);
writeByte(1);
}
private function computeHuffmanTbl(nrcodes:Array, std_table:Array):Array{
var j:int;
var codevalue:int;
var pos_in_table:int;
var HT:Array = new Array();
var k = 1;
while (k <= 16) {
j = 1;
while (j <= nrcodes[k]) {
HT[std_table[pos_in_table]] = new BitString();
HT[std_table[pos_in_table]].val = codevalue;
HT[std_table[pos_in_table]].len = k;
pos_in_table++;
codevalue++;
j++;
};
codevalue = (codevalue * 2);
k++;
};
return (HT);
}
private function fDCTQuant(data:Array, fdtbl:Array):Array{
var tmp0:Number;
var tmp1:Number;
var tmp2:Number;
var tmp3:Number;
var tmp4:Number;
var tmp5:Number;
var tmp6:Number;
var tmp7:Number;
var tmp10:Number;
var tmp11:Number;
var tmp12:Number;
var tmp13:Number;
var z1:Number;
var z2:Number;
var z3:Number;
var z4:Number;
var z5:Number;
var z11:Number;
var z13:Number;
var i:int;
var dataOff:int;
i = 0;
while (i < 8) {
tmp0 = (data[(dataOff + 0)] + data[(dataOff + 7)]);
tmp7 = (data[(dataOff + 0)] - data[(dataOff + 7)]);
tmp1 = (data[(dataOff + 1)] + data[(dataOff + 6)]);
tmp6 = (data[(dataOff + 1)] - data[(dataOff + 6)]);
tmp2 = (data[(dataOff + 2)] + data[(dataOff + 5)]);
tmp5 = (data[(dataOff + 2)] - data[(dataOff + 5)]);
tmp3 = (data[(dataOff + 3)] + data[(dataOff + 4)]);
tmp4 = (data[(dataOff + 3)] - data[(dataOff + 4)]);
tmp10 = (tmp0 + tmp3);
tmp13 = (tmp0 - tmp3);
tmp11 = (tmp1 + tmp2);
tmp12 = (tmp1 - tmp2);
data[(dataOff + 0)] = (tmp10 + tmp11);
data[(dataOff + 4)] = (tmp10 - tmp11);
z1 = ((tmp12 + tmp13) * 0.707106781);
data[(dataOff + 2)] = (tmp13 + z1);
data[(dataOff + 6)] = (tmp13 - z1);
tmp10 = (tmp4 + tmp5);
tmp11 = (tmp5 + tmp6);
tmp12 = (tmp6 + tmp7);
z5 = ((tmp10 - tmp12) * 0.382683433);
z2 = ((0.5411961 * tmp10) + z5);
z4 = ((1.306562965 * tmp12) + z5);
z3 = (tmp11 * 0.707106781);
z11 = (tmp7 + z3);
z13 = (tmp7 - z3);
data[(dataOff + 5)] = (z13 + z2);
data[(dataOff + 3)] = (z13 - z2);
data[(dataOff + 1)] = (z11 + z4);
data[(dataOff + 7)] = (z11 - z4);
dataOff = (dataOff + 8);
i++;
};
dataOff = 0;
i = 0;
while (i < 8) {
tmp0 = (data[(dataOff + 0)] + data[(dataOff + 56)]);
tmp7 = (data[(dataOff + 0)] - data[(dataOff + 56)]);
tmp1 = (data[(dataOff + 8)] + data[(dataOff + 48)]);
tmp6 = (data[(dataOff + 8)] - data[(dataOff + 48)]);
tmp2 = (data[(dataOff + 16)] + data[(dataOff + 40)]);
tmp5 = (data[(dataOff + 16)] - data[(dataOff + 40)]);
tmp3 = (data[(dataOff + 24)] + data[(dataOff + 32)]);
tmp4 = (data[(dataOff + 24)] - data[(dataOff + 32)]);
tmp10 = (tmp0 + tmp3);
tmp13 = (tmp0 - tmp3);
tmp11 = (tmp1 + tmp2);
tmp12 = (tmp1 - tmp2);
data[(dataOff + 0)] = (tmp10 + tmp11);
data[(dataOff + 32)] = (tmp10 - tmp11);
z1 = ((tmp12 + tmp13) * 0.707106781);
data[(dataOff + 16)] = (tmp13 + z1);
data[(dataOff + 48)] = (tmp13 - z1);
tmp10 = (tmp4 + tmp5);
tmp11 = (tmp5 + tmp6);
tmp12 = (tmp6 + tmp7);
z5 = ((tmp10 - tmp12) * 0.382683433);
z2 = ((0.5411961 * tmp10) + z5);
z4 = ((1.306562965 * tmp12) + z5);
z3 = (tmp11 * 0.707106781);
z11 = (tmp7 + z3);
z13 = (tmp7 - z3);
data[(dataOff + 40)] = (z13 + z2);
data[(dataOff + 24)] = (z13 - z2);
data[(dataOff + 8)] = (z11 + z4);
data[(dataOff + 56)] = (z11 - z4);
dataOff++;
i++;
};
i = 0;
while (i < 64) {
data[i] = Math.round((data[i] * fdtbl[i]));
i++;
};
return (data);
}
}
}//package com.adobe.images
Section 15
//PNGEncoder (com.adobe.images.PNGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class PNGEncoder {
private static var crcTableComputed:Boolean = false;
private static var crcTable:Array;
public function PNGEncoder(){
super();
}
private static function writeChunk(png:ByteArray, type:uint, data:ByteArray):void{
var c:uint;
var n:uint;
var k:uint;
if (!crcTableComputed){
crcTableComputed = true;
crcTable = [];
n = 0;
while (n < 0x0100) {
c = n;
k = 0;
while (k < 8) {
if ((c & 1)){
c = uint((uint(3988292384) ^ uint((c >>> 1))));
} else {
c = uint((c >>> 1));
};
k++;
};
crcTable[n] = c;
n++;
};
};
var len:uint;
if (data != null){
len = data.length;
};
png.writeUnsignedInt(len);
var p:uint = png.position;
png.writeUnsignedInt(type);
if (data != null){
png.writeBytes(data);
};
var e:uint = png.position;
png.position = p;
c = 4294967295;
var i:int;
while (i < (e - p)) {
c = uint((crcTable[((c ^ png.readUnsignedByte()) & uint(0xFF))] ^ uint((c >>> 8))));
i++;
};
c = uint((c ^ uint(4294967295)));
png.position = e;
png.writeUnsignedInt(c);
}
public static function encode(img:BitmapData):ByteArray{
var p:uint;
var j:int;
var png:ByteArray = new ByteArray();
png.writeUnsignedInt(2303741511);
png.writeUnsignedInt(218765834);
var IHDR:ByteArray = new ByteArray();
IHDR.writeInt(img.width);
IHDR.writeInt(img.height);
IHDR.writeUnsignedInt(134610944);
IHDR.writeByte(0);
writeChunk(png, 1229472850, IHDR);
var IDAT:ByteArray = new ByteArray();
var i:int;
while (i < img.height) {
IDAT.writeByte(0);
if (!img.transparent){
j = 0;
while (j < img.width) {
p = img.getPixel(j, i);
IDAT.writeUnsignedInt(uint((((p & 0xFFFFFF) << 8) | 0xFF)));
j++;
};
} else {
j = 0;
while (j < img.width) {
p = img.getPixel32(j, i);
IDAT.writeUnsignedInt(uint((((p & 0xFFFFFF) << 8) | (p >>> 24))));
j++;
};
};
i++;
};
IDAT.compress();
writeChunk(png, 1229209940, IDAT);
writeChunk(png, 1229278788, null);
return (png);
}
}
}//package com.adobe.images
Section 16
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public function JSON(){
super();
}
public static function decode(s:String){
var decoder:JSONDecoder = new JSONDecoder(s);
return (decoder.getValue());
}
public static function encode(o:Object):String{
var encoder:JSONEncoder = new JSONEncoder(o);
return (encoder.getString());
}
}
}//package com.adobe.serialization.json
Section 17
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(s:String){
super();
tokenizer = new JSONTokenizer(s);
nextToken();
value = parseValue();
}
private function parseObject():Object{
var key:String;
var o:Object = new Object();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (o);
};
while (true) {
if (token.type == JSONTokenType.STRING){
key = String(token.value);
nextToken();
if (token.type == JSONTokenType.COLON){
nextToken();
o[key] = parseValue();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (o);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting } or , but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting : but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting string but found " + token.value));
};
};
return (null);
}
private function parseValue():Object{
if (token == null){
tokenizer.parseError("Unexpected end of input");
};
switch (token.type){
case JSONTokenType.LEFT_BRACE:
return (parseObject());
case JSONTokenType.LEFT_BRACKET:
return (parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (token.value);
default:
tokenizer.parseError(("Unexpected " + token.value));
};
return (null);
}
private function nextToken():JSONToken{
return ((token = tokenizer.getNextToken()));
}
public function getValue(){
return (value);
}
private function parseArray():Array{
var a:Array = new Array();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (a);
};
while (true) {
a.push(parseValue());
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (a);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting ] or , but found " + token.value));
};
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 18
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(value){
super();
jsonString = convertToString(value);
}
private function escapeString(str:String):String{
var ch:String;
var hexCode:String;
var zeroPad:String;
var s:String = "";
var len:Number = str.length;
var i:int;
while (i < len) {
ch = str.charAt(i);
switch (ch){
case "\"":
s = (s + "\\\"");
break;
case "\\":
s = (s + "\\\\");
break;
case "\b":
s = (s + "\\b");
break;
case "\f":
s = (s + "\\f");
break;
case "\n":
s = (s + "\\n");
break;
case "\r":
s = (s + "\\r");
break;
case "\t":
s = (s + "\\t");
break;
default:
if (ch < " "){
hexCode = ch.charCodeAt(0).toString(16);
zeroPad = ((hexCode.length == 2)) ? "00" : "000";
s = (s + (("\\u" + zeroPad) + hexCode));
} else {
s = (s + ch);
};
};
i++;
};
return ((("\"" + s) + "\""));
}
private function arrayToString(a:Array):String{
var s:String = "";
var i:int;
while (i < a.length) {
if (s.length > 0){
s = (s + ",");
};
s = (s + convertToString(a[i]));
i++;
};
return ((("[" + s) + "]"));
}
public function getString():String{
return (jsonString);
}
private function objectToString(o:Object):String{
var value:Object;
var key:String;
var v:XML;
var o = o;
var s = "";
var classInfo:XML = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(key) + ":") + convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
private function convertToString(value):String{
if ((value is String)){
return (escapeString((value as String)));
};
if ((value is Number)){
return ((isFinite((value as Number))) ? value.toString() : "null");
} else {
if ((value is Boolean)){
return ((value) ? "true" : "false");
} else {
if ((value is Array)){
return (arrayToString((value as Array)));
};
if ((((value is Object)) && (!((value == null))))){
return (objectToString(value));
};
};
};
return ("null");
}
}
}//package com.adobe.serialization.json
Section 19
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _location:int;
private var _text:String;
public function JSONParseError(message:String="", location:int=0, text:String=""){
super(message);
name = "JSONParseError";
_location = location;
_text = text;
}
public function get location():int{
return (_location);
}
public function get text():String{
return (_text);
}
}
}//package com.adobe.serialization.json
Section 20
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _value:Object;
private var _type:int;
public function JSONToken(type:int=-1, value:Object=null){
super();
_type = type;
_value = value;
}
public function get value():Object{
return (_value);
}
public function get type():int{
return (_type);
}
public function set type(value:int):void{
_type = value;
}
public function set value(v:Object):void{
_value = v;
}
}
}//package com.adobe.serialization.json
Section 21
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var loc:int;
private var ch:String;
private var obj:Object;
private var jsonString:String;
public function JSONTokenizer(s:String){
super();
jsonString = s;
loc = 0;
nextChar();
}
private function skipComments():void{
if (ch == "/"){
nextChar();
switch (ch){
case "/":
do {
nextChar();
} while (((!((ch == "\n"))) && (!((ch == "")))));
nextChar();
break;
case "*":
nextChar();
while (true) {
if (ch == "*"){
nextChar();
if (ch == "/"){
nextChar();
break;
};
} else {
nextChar();
};
if (ch == ""){
parseError("Multi-line comment not closed");
};
};
break;
default:
parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function isDigit(ch:String):Boolean{
return ((((ch >= "0")) && ((ch <= "9"))));
}
private function readString():JSONToken{
var _local5:String;
var i:int;
var token:JSONToken = new JSONToken();
token.type = JSONTokenType.STRING;
var string:String = "";
nextChar();
while (((!((ch == "\""))) && (!((ch == ""))))) {
if (ch == "\\"){
nextChar();
switch (ch){
case "\"":
string = (string + "\"");
break;
case "/":
string = (string + "/");
break;
case "\\":
string = (string + "\\");
break;
case "b":
string = (string + "\b");
break;
case "f":
string = (string + "\f");
break;
case "n":
string = (string + "\n");
break;
case "r":
string = (string + "\r");
break;
case "t":
string = (string + "\t");
break;
case "u":
_local5 = "";
i = 0;
while (i < 4) {
if (!isHexDigit(nextChar())){
parseError((" Excepted a hex digit, but found: " + ch));
};
_local5 = (_local5 + ch);
i++;
};
string = (string + String.fromCharCode(parseInt(_local5, 16)));
break;
default:
string = (string + ("\\" + ch));
};
} else {
string = (string + ch);
};
nextChar();
};
if (ch == ""){
parseError("Unterminated string literal");
};
nextChar();
token.value = string;
return (token);
}
private function nextChar():String{
return ((ch = jsonString.charAt(loc++)));
}
public function getNextToken():JSONToken{
var _local2:String;
var _local3:String;
var _local4:String;
var token:JSONToken = new JSONToken();
skipIgnored();
switch (ch){
case "{":
token.type = JSONTokenType.LEFT_BRACE;
token.value = "{";
nextChar();
break;
case "}":
token.type = JSONTokenType.RIGHT_BRACE;
token.value = "}";
nextChar();
break;
case "[":
token.type = JSONTokenType.LEFT_BRACKET;
token.value = "[";
nextChar();
break;
case "]":
token.type = JSONTokenType.RIGHT_BRACKET;
token.value = "]";
nextChar();
break;
case ",":
token.type = JSONTokenType.COMMA;
token.value = ",";
nextChar();
break;
case ":":
token.type = JSONTokenType.COLON;
token.value = ":";
nextChar();
break;
case "t":
_local2 = ((("t" + nextChar()) + nextChar()) + nextChar());
if (_local2 == "true"){
token.type = JSONTokenType.TRUE;
token.value = true;
nextChar();
} else {
parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar());
if (_local3 == "false"){
token.type = JSONTokenType.FALSE;
token.value = false;
nextChar();
} else {
parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + nextChar()) + nextChar()) + nextChar());
if (_local4 == "null"){
token.type = JSONTokenType.NULL;
token.value = null;
nextChar();
} else {
parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
token = readString();
break;
default:
if (((isDigit(ch)) || ((ch == "-")))){
token = readNumber();
} else {
if (ch == ""){
return (null);
};
parseError((("Unexpected " + ch) + " encountered"));
};
};
return (token);
}
private function skipWhite():void{
while (isWhiteSpace(ch)) {
nextChar();
};
}
public function parseError(message:String):void{
throw (new JSONParseError(message, loc, jsonString));
}
private function isWhiteSpace(ch:String):Boolean{
return ((((((((ch == " ")) || ((ch == "\t")))) || ((ch == "\n")))) || ((ch == "\r"))));
}
private function skipIgnored():void{
var originalLoc:int;
do {
originalLoc = loc;
skipWhite();
skipComments();
} while (originalLoc != loc);
}
private function isHexDigit(ch:String):Boolean{
var uc:String = ch.toUpperCase();
return (((isDigit(ch)) || ((((uc >= "A")) && ((uc <= "F"))))));
}
private function readNumber():JSONToken{
var token:JSONToken = new JSONToken();
token.type = JSONTokenType.NUMBER;
var input:String = "";
if (ch == "-"){
input = (input + "-");
nextChar();
};
if (!isDigit(ch)){
parseError("Expecting a digit");
};
if (ch == "0"){
input = (input + ch);
nextChar();
if (isDigit(ch)){
parseError("A digit cannot immediately follow 0");
};
} else {
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
if (ch == "."){
input = (input + ".");
nextChar();
if (!isDigit(ch)){
parseError("Expecting a digit");
};
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
if ((((ch == "e")) || ((ch == "E")))){
input = (input + "e");
nextChar();
if ((((ch == "+")) || ((ch == "-")))){
input = (input + ch);
nextChar();
};
if (!isDigit(ch)){
parseError("Scientific notation number needs exponent value");
};
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
var num:Number = Number(input);
if (((isFinite(num)) && (!(isNaN(num))))){
token.value = num;
return (token);
};
parseError((("Number " + num) + " is not valid!"));
return (null);
}
}
}//package com.adobe.serialization.json
Section 22
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const NUMBER:int = 11;
public static const FALSE:int = 8;
public static const RIGHT_BRACKET:int = 4;
public static const NULL:int = 9;
public static const TRUE:int = 7;
public static const RIGHT_BRACE:int = 2;
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACKET:int = 3;
public static const STRING:int = 10;
public static const LEFT_BRACE:int = 1;
public static const COLON:int = 6;
public function JSONTokenType(){
super();
}
}
}//package com.adobe.serialization.json
Section 23
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public function IntUtil(){
super();
}
public static function toHex(n:int, bigEndian:Boolean=false):String{
var i:int;
var x:int;
var s:String = "";
if (bigEndian){
i = 0;
while (i < 4) {
s = (s + (hexChars.charAt(((n >> (((3 - i) * 8) + 4)) & 15)) + hexChars.charAt(((n >> ((3 - i) * 8)) & 15))));
i++;
};
} else {
x = 0;
while (x < 4) {
s = (s + (hexChars.charAt(((n >> ((x * 8) + 4)) & 15)) + hexChars.charAt(((n >> (x * 8)) & 15))));
x++;
};
};
return (s);
}
public static function ror(x:int, n:int):uint{
var nn:int = (32 - n);
return (((x << nn) | (x >>> (32 - nn))));
}
public static function rol(x:int, n:int):int{
return (((x << n) | (x >>> (32 - n))));
}
}
}//package com.adobe.utils
Section 24
//MathUtils (com.cheezeworld.math.MathUtils)
package com.cheezeworld.math {
public class MathUtils {
public static const DEG_TO_RAD:Number = 0.0174532925199433;
public static const RAD_TO_DEG:Number = 57.2957795130823;
public function MathUtils(){
super();
}
public static function simplifyRadian(radian:Number):Number{
var newRadian:Number;
if ((((radian > Math.PI)) || ((radian < -(Math.PI))))){
newRadian = (radian - (int((radian / (Math.PI * 2))) * (Math.PI * 2)));
if (radian > 0){
if (newRadian < Math.PI){
return (newRadian);
};
newRadian = -(((Math.PI * 2) - newRadian));
return (newRadian);
} else {
if (newRadian > -(Math.PI)){
return (newRadian);
};
newRadian = ((Math.PI * 2) + newRadian);
return (newRadian);
};
};
return (radian);
}
public static function getSmallestRotationDirection(objectRotationRadians:Number, radianBetween:Number, errorRadians:Number=0):int{
objectRotationRadians = simplifyRadian(objectRotationRadians);
radianBetween = simplifyRadian(radianBetween);
radianBetween = (radianBetween + -(objectRotationRadians));
radianBetween = simplifyRadian(radianBetween);
objectRotationRadians = 0;
if (radianBetween < -(errorRadians)){
return (-1);
};
if (radianBetween > errorRadians){
return (1);
};
return (0);
}
public static function rand(min:int, max:int):int{
return ((min + Math.floor((Math.random() * ((max - min) + 1)))));
}
public static function calcAngle(p1:Vector2D, p2:Vector2D):Number{
var angle:Number = (Math.atan(((p2.y - p1.y) / (p2.x - p1.x))) * RAD_TO_DEG);
if ((((p2.y < p1.y)) && ((p2.x > p1.x)))){
return (angle);
};
if ((((((p2.y < p1.y)) && ((p2.x < p1.x)))) || ((((p2.y > p1.y)) && ((p2.x < p1.x)))))){
return ((angle + 180));
};
return ((angle + 360));
}
}
}//package com.cheezeworld.math
Section 25
//Vector2D (com.cheezeworld.math.Vector2D)
package com.cheezeworld.math {
import flash.geom.*;
public class Vector2D {
private var v2:Vector2D;
private var _length:Number;
private var _oldX:Number;
private var v1:Vector2D;
private var _oldY:Number;
public var x:Number;
public var y:Number;
private static const DEG_TO_RAD:Number = 0.0174532925199433;
private static const RAD_TO_DEG:Number = 57.2957795130823;
public function Vector2D(X:Number=0, Y:Number=0){
super();
x = X;
y = Y;
_length = 0;
}
public function divide(scalar:Number):void{
if (scalar == 0){
trace("Vector::dividedBy() - Illegal Divide by Zero!");
} else {
x = (x / scalar);
y = (y / scalar);
};
}
public function isZero():Boolean{
return ((((x == 0)) || ((y == 0))));
}
public function Set(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
public function sign(vector:Vector2D):int{
if ((y * vector.x) > (x * vector.y)){
return (-1);
};
return (1);
}
public function dotOf(vector:Vector2D):Number{
return (((x * vector.x) + (y * vector.y)));
}
public function dividedBy(scalar:Number):Vector2D{
if (scalar == 0){
trace("Vector::dividedBy() - Illegal Divide by Zero!");
return (new Vector2D());
};
return (new Vector2D((x / scalar), (y / scalar)));
}
public function normalize():void{
if (length != 0){
x = (x / _length);
y = (y / _length);
};
}
public function isParallelTo(vector:Vector2D):Boolean{
v1 = copy();
v1.normalize();
v2 = vector.copy();
v2.normalize();
return ((((((v1.x == v2.x)) && ((v1.y == v2.y)))) || ((((v1.x == -(v2.x))) && ((v1.y == -(v2.y)))))));
}
public function distanceTo(vector:Vector2D):Number{
var xSep:Number = (vector.x - x);
var ySep:Number = (vector.y - y);
return (Math.sqrt(((ySep * ySep) + (xSep * xSep))));
}
public function subtract(vector:Vector2D):void{
x = (x - vector.x);
y = (y - vector.y);
}
public function toPoint():Point{
return (new Point(x, y));
}
public function toRotation():Number{
var ang:Number = (Math.atan((y / x)) * RAD_TO_DEG);
if ((((y < 0)) && ((x > 0)))){
return (ang);
};
if ((((((y < 0)) && ((x < 0)))) || ((((y > 0)) && ((x < 0)))))){
return ((ang + 180));
};
return ((ang + 360));
}
public function isInsideRegion(topLeft:Vector2D, botRight:Vector2D):Boolean{
return (!((((((((x < topLeft.x)) || ((x > (topLeft.x + botRight.x))))) || ((y < topLeft.y)))) || ((y > (topLeft.y + botRight.y))))));
}
public function addedTo(vector:Vector2D):Vector2D{
return (new Vector2D((x + vector.x), (y + vector.y)));
}
public function perpDotOf(vector:Vector2D):Number{
return (getPerp().dotOf(vector));
}
public function projectionOn(vector:Vector2D):Vector2D{
v1 = vector.copy();
v1.multiply((this.dotOf(vector) / vector.dotOf(vector)));
return (v1);
}
public function distanceSqTo(vector:Vector2D):Number{
var xSep:Number = (vector.y - y);
var ySep:Number = (vector.x - x);
return (((ySep * ySep) + (xSep * xSep)));
}
public function get lengthSq():Number{
return (((x * x) + (y * y)));
}
public function get length():Number{
if (((!((_oldX == x))) || (!((_oldY == y))))){
_oldX = x;
_oldY = y;
_length = Math.sqrt(((x * x) + (y * y)));
};
return (_length);
}
public function getPerp():Vector2D{
return (new Vector2D(-(y), x));
}
public function subtractedBy(vector:Vector2D):Vector2D{
return (new Vector2D((x - vector.x), (y - vector.y)));
}
public function multiply(scalar:Number):void{
x = (x * scalar);
y = (y * scalar);
}
public function toString():String{
return ((((("(" + x) + ",") + y) + ")"));
}
public function truncate(max:Number):void{
if (lengthSq > (max * max)){
normalize();
multiply(max);
};
}
public function angleTo(vector:Vector2D):Number{
return (Math.acos((dotOf(vector) / (length * vector.length))));
}
public function multipliedBy(scalar:Number):Vector2D{
return (new Vector2D((x * scalar), (y * scalar)));
}
public function getNormalized():Vector2D{
if (length == 0){
return (new Vector2D());
};
return (new Vector2D((x / _length), (y / _length)));
}
public function copy():Vector2D{
var newVector:Vector2D = new Vector2D(x, y);
newVector._length = _length;
newVector._oldX = x;
newVector._oldY = y;
return (newVector);
}
public function wrapAround(topLeft:Vector2D, botRight:Vector2D):void{
if (x > botRight.x){
x = (topLeft.x + (x - botRight.x));
} else {
if (x < topLeft.x){
x = (botRight.x + x);
};
};
if (y < topLeft.y){
y = (botRight.y + y);
} else {
if (y > botRight.y){
y = (topLeft.y + (y - botRight.y));
};
};
}
public function getReverse():Vector2D{
return (new Vector2D(-(x), -(y)));
}
public function addTo(vector:Vector2D):void{
x = (x + vector.x);
y = (y + vector.y);
}
public function reflect(norm:Vector2D):void{
v1 = norm.getReverse();
v1.multiply((2 * dotOf(norm)));
addTo(v1);
}
public function crossOf(vector:Vector2D):Number{
return (((x * vector.y) - (y * vector.x)));
}
public static function rotToHeading(rotInDegrees:Number):Vector2D{
var rotInRad:Number = (rotInDegrees * DEG_TO_RAD);
var xPart:Number = Math.cos(rotInRad);
var yPart:Number = Math.sin(rotInRad);
return (new Vector2D(xPart, yPart));
}
public static function is2ndInFOVof1st(pos1st:Vector2D, facing1st:Vector2D, fov:Number, pos2nd:Vector2D):Boolean{
var toTarget:Vector2D = pos2nd.copy();
toTarget.subtract(pos1st);
toTarget.normalize();
return ((facing1st.dotOf(toTarget) >= Math.cos((fov / 2))));
}
public static function pointToVector(point:Point):Vector2D{
return (new Vector2D(point.x, point.y));
}
}
}//package com.cheezeworld.math
Section 26
//CreateToken (com.facebook.commands.auth.CreateToken)
package com.facebook.commands.auth {
import com.facebook.net.*;
public class CreateToken extends FacebookCall {
public static const SCHEMA:Array = [];
public static const METHOD_NAME:String = "auth.createToken";
public function CreateToken(){
super(METHOD_NAME);
}
}
}//package com.facebook.commands.auth
Section 27
//ExpireSession (com.facebook.commands.auth.ExpireSession)
package com.facebook.commands.auth {
import com.facebook.net.*;
public class ExpireSession extends FacebookCall {
public static const SCHEMA:Array = [];
public static const METHOD_NAME:String = "auth.expireSession";
public function ExpireSession(){
super(METHOD_NAME);
}
}
}//package com.facebook.commands.auth
Section 28
//GetSession (com.facebook.commands.auth.GetSession)
package com.facebook.commands.auth {
import com.facebook.net.*;
import com.facebook.*;
public class GetSession extends FacebookCall {
public var auth_token:String;
public static const SCHEMA:Array = ["auth_token"];
public static const METHOD_NAME:String = "auth.getSession";
public function GetSession(auth_token:String){
super(METHOD_NAME);
this.auth_token = auth_token;
}
override facebook_internal function initialize():void{
applySchema(SCHEMA, auth_token);
super.initialize();
}
}
}//package com.facebook.commands.auth
Section 29
//GetCookiesData (com.facebook.commands.data.GetCookiesData)
package com.facebook.commands.data {
import com.facebook.data.*;
public class GetCookiesData extends FacebookData {
public var uid:String;
public var value:String;
public var expires:Number;
public var path:String;
public var name:String;
public function GetCookiesData(){
super();
}
}
}//package com.facebook.commands.data
Section 30
//UploadPhoto (com.facebook.commands.photos.UploadPhoto)
package com.facebook.commands.photos {
import com.facebook.net.*;
import com.facebook.data.photos.*;
import com.facebook.*;
public class UploadPhoto extends FacebookCall {
public var caption:String;
public var data:Object;
public var uid:String;
public var uploadedPhoto:FacebookPhoto;
public var uploadType:String;// = "png"
public var aid:String;
public var uploadQuality:uint;// = 80
public static const SCHEMA:Array = ["data", "aid", "caption", "uid"];
public static const METHOD_NAME:String = "photos.upload";
public function UploadPhoto(data:Object=null, aid:String=null, caption:String=null, uid:String=null){
super(METHOD_NAME);
this.data = data;
this.aid = aid;
this.caption = caption;
this.uid = uid;
}
override facebook_internal function initialize():void{
applySchema(SCHEMA, data, aid, caption, uid);
super.initialize();
}
}
}//package com.facebook.commands.photos
Section 31
//UploadPhotoTypes (com.facebook.commands.photos.UploadPhotoTypes)
package com.facebook.commands.photos {
public class UploadPhotoTypes {
public static const JPEG:String = "jpeg";
public static const PNG:String = "png";
public function UploadPhotoTypes(){
super();
}
}
}//package com.facebook.commands.photos
Section 32
//GetInfo (com.facebook.commands.users.GetInfo)
package com.facebook.commands.users {
import com.facebook.net.*;
import com.facebook.utils.*;
import com.facebook.*;
public class GetInfo extends FacebookCall {
public var fields:Array;
public var uids:Array;
public static const SCHEMA:Array = ["uids", "fields"];
public static const METHOD_NAME:String = "users.getInfo";
public function GetInfo(uids:Array, fields:Array){
super(METHOD_NAME);
this.uids = uids;
this.fields = fields;
}
override facebook_internal function initialize():void{
applySchema(SCHEMA, FacebookDataUtils.toArrayString(uids), FacebookDataUtils.toArrayString(fields));
super.initialize();
}
}
}//package com.facebook.commands.users
Section 33
//GetLoggedInUser (com.facebook.commands.users.GetLoggedInUser)
package com.facebook.commands.users {
import com.facebook.net.*;
public class GetLoggedInUser extends FacebookCall {
public static const SCHEMA:Array = [];
public static const METHOD_NAME:String = "users.getLoggedInUser";
public function GetLoggedInUser(){
super(METHOD_NAME);
}
}
}//package com.facebook.commands.users
Section 34
//GetAllocationData (com.facebook.data.admin.GetAllocationData)
package com.facebook.data.admin {
import com.facebook.data.*;
import mx.events.*;
public class GetAllocationData extends FacebookData {
private var _376596805allocationLimit:Number;
public function GetAllocationData(){
super();
}
public function get allocationLimit():Number{
return (this._376596805allocationLimit);
}
public function set allocationLimit(value:Number):void{
var oldValue:Object = this._376596805allocationLimit;
if (oldValue !== value){
this._376596805allocationLimit = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "allocationLimit", oldValue, value));
};
}
}
}//package com.facebook.data.admin
Section 35
//GetAppPropertiesData (com.facebook.data.admin.GetAppPropertiesData)
package com.facebook.data.admin {
import com.facebook.data.*;
import mx.events.*;
public class GetAppPropertiesData extends FacebookData {
private var _554397236appProperties:Array;
public function GetAppPropertiesData(){
super();
}
public function set appProperties(value:Array):void{
var oldValue:Object = this._554397236appProperties;
if (oldValue !== value){
this._554397236appProperties = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "appProperties", oldValue, value));
};
}
public function get appProperties():Array{
return (this._554397236appProperties);
}
}
}//package com.facebook.data.admin
Section 36
//GetMetricsData (com.facebook.data.admin.GetMetricsData)
package com.facebook.data.admin {
import com.facebook.data.*;
import mx.events.*;
public class GetMetricsData extends FacebookData {
private var _1648653249metricsCollection:MetricsDataCollection;
public function GetMetricsData(){
super();
}
public function get metricsCollection():MetricsDataCollection{
return (this._1648653249metricsCollection);
}
public function set metricsCollection(value:MetricsDataCollection):void{
var oldValue:Object = this._1648653249metricsCollection;
if (oldValue !== value){
this._1648653249metricsCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "metricsCollection", oldValue, value));
};
}
}
}//package com.facebook.data.admin
Section 37
//MetricsData (com.facebook.data.admin.MetricsData)
package com.facebook.data.admin {
import flash.events.*;
import mx.events.*;
public class MetricsData implements IEventDispatcher {
private var _1725551537end_time:Date;
private var _1769771919active_users:Number;
private var _bindingEventDispatcher:EventDispatcher;
private var _652996091canvas_page_views:Number;
public function MetricsData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get canvas_page_views():Number{
return (this._652996091canvas_page_views);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set end_time(value:Date):void{
var oldValue:Object = this._1725551537end_time;
if (oldValue !== value){
this._1725551537end_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "end_time", oldValue, value));
};
}
public function set canvas_page_views(value:Number):void{
var oldValue:Object = this._652996091canvas_page_views;
if (oldValue !== value){
this._652996091canvas_page_views = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "canvas_page_views", oldValue, value));
};
}
public function get active_users():Number{
return (this._1769771919active_users);
}
public function get end_time():Date{
return (this._1725551537end_time);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function set active_users(value:Number):void{
var oldValue:Object = this._1769771919active_users;
if (oldValue !== value){
this._1769771919active_users = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "active_users", oldValue, value));
};
}
}
}//package com.facebook.data.admin
Section 38
//MetricsDataCollection (com.facebook.data.admin.MetricsDataCollection)
package com.facebook.data.admin {
import com.facebook.utils.*;
public class MetricsDataCollection extends FacebookArrayCollection {
public function MetricsDataCollection(){
super(null, MetricsData);
}
}
}//package com.facebook.data.admin
Section 39
//GetPublicInfoData (com.facebook.data.application.GetPublicInfoData)
package com.facebook.data.application {
import com.facebook.data.*;
import mx.events.*;
public class GetPublicInfoData extends FacebookData {
private var _737588055icon_url:String;
private var _1793855977developers:String;
private var _1615086568display_name:String;
private var _1872800494canvas_name:String;
private var _1724546052description:String;
private var _2027875547logo_url:String;
private var _171158145monthly_active_users:Number;
private var _1429880077company_name:String;
private var _650176883weekly_active_users:Number;
private var _800085318api_key:String;
private var _1411074055app_id:String;
private var _1957597173daily_active_users:Number;
public function GetPublicInfoData(){
super();
}
public function set app_id(value:String):void{
var oldValue:Object = this._1411074055app_id;
if (oldValue !== value){
this._1411074055app_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "app_id", oldValue, value));
};
}
public function set monthly_active_users(value:Number):void{
var oldValue:Object = this._171158145monthly_active_users;
if (oldValue !== value){
this._171158145monthly_active_users = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "monthly_active_users", oldValue, value));
};
}
public function set api_key(value:String):void{
var oldValue:Object = this._800085318api_key;
if (oldValue !== value){
this._800085318api_key = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "api_key", oldValue, value));
};
}
public function get monthly_active_users():Number{
return (this._171158145monthly_active_users);
}
public function get developers():String{
return (this._1793855977developers);
}
public function set display_name(value:String):void{
var oldValue:Object = this._1615086568display_name;
if (oldValue !== value){
this._1615086568display_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "display_name", oldValue, value));
};
}
public function set company_name(value:String):void{
var oldValue:Object = this._1429880077company_name;
if (oldValue !== value){
this._1429880077company_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "company_name", oldValue, value));
};
}
public function get company_name():String{
return (this._1429880077company_name);
}
public function set developers(value:String):void{
var oldValue:Object = this._1793855977developers;
if (oldValue !== value){
this._1793855977developers = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "developers", oldValue, value));
};
}
public function get logo_url():String{
return (this._2027875547logo_url);
}
public function get weekly_active_users():Number{
return (this._650176883weekly_active_users);
}
public function get description():String{
return (this._1724546052description);
}
public function set weekly_active_users(value:Number):void{
var oldValue:Object = this._650176883weekly_active_users;
if (oldValue !== value){
this._650176883weekly_active_users = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "weekly_active_users", oldValue, value));
};
}
public function get canvas_name():String{
return (this._1872800494canvas_name);
}
public function set canvas_name(value:String):void{
var oldValue:Object = this._1872800494canvas_name;
if (oldValue !== value){
this._1872800494canvas_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "canvas_name", oldValue, value));
};
}
public function set description(value:String):void{
var oldValue:Object = this._1724546052description;
if (oldValue !== value){
this._1724546052description = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, value));
};
}
public function get icon_url():String{
return (this._737588055icon_url);
}
public function set icon_url(value:String):void{
var oldValue:Object = this._737588055icon_url;
if (oldValue !== value){
this._737588055icon_url = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "icon_url", oldValue, value));
};
}
public function get display_name():String{
return (this._1615086568display_name);
}
public function set daily_active_users(value:Number):void{
var oldValue:Object = this._1957597173daily_active_users;
if (oldValue !== value){
this._1957597173daily_active_users = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "daily_active_users", oldValue, value));
};
}
public function get daily_active_users():Number{
return (this._1957597173daily_active_users);
}
public function get app_id():String{
return (this._1411074055app_id);
}
public function get api_key():String{
return (this._800085318api_key);
}
public function set logo_url(value:String):void{
var oldValue:Object = this._2027875547logo_url;
if (oldValue !== value){
this._2027875547logo_url = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "logo_url", oldValue, value));
};
}
}
}//package com.facebook.data.application
Section 40
//GetSessionData (com.facebook.data.auth.GetSessionData)
package com.facebook.data.auth {
import com.facebook.data.*;
import mx.events.*;
public class GetSessionData extends FacebookData {
private var _1309235404expires:Date;
private var _22145738session_key:String;
private var _906277200secret:String;
private var _115792uid:String;
public function GetSessionData(){
super();
}
public function set uid(value:String):void{
var oldValue:Object = this._115792uid;
if (oldValue !== value){
this._115792uid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uid", oldValue, value));
};
}
public function set expires(value:Date):void{
var oldValue:Object = this._1309235404expires;
if (oldValue !== value){
this._1309235404expires = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "expires", oldValue, value));
};
}
public function set secret(value:String):void{
var oldValue:Object = this._906277200secret;
if (oldValue !== value){
this._906277200secret = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "secret", oldValue, value));
};
}
public function get expires():Date{
return (this._1309235404expires);
}
public function get uid():String{
return (this._115792uid);
}
public function set session_key(value:String):void{
var oldValue:Object = this._22145738session_key;
if (oldValue !== value){
this._22145738session_key = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "session_key", oldValue, value));
};
}
public function get session_key():String{
return (this._22145738session_key);
}
public function get secret():String{
return (this._906277200secret);
}
}
}//package com.facebook.data.auth
Section 41
//BatchResult (com.facebook.data.batch.BatchResult)
package com.facebook.data.batch {
import com.facebook.data.*;
import mx.events.*;
public class BatchResult extends FacebookData {
private var _1097546742results:Array;
public function BatchResult(){
super();
}
public function set results(value:Array):void{
var oldValue:Object = this._1097546742results;
if (oldValue !== value){
this._1097546742results = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "results", oldValue, value));
};
}
public function get results():Array{
return (this._1097546742results);
}
}
}//package com.facebook.data.batch
Section 42
//GetObjectTypeData (com.facebook.data.data.GetObjectTypeData)
package com.facebook.data.data {
import com.facebook.data.*;
import mx.events.*;
public class GetObjectTypeData extends FacebookData {
private var _747164295index_type:Number;
private var _3373707name:String;
private var _363359569data_type:Number;
public function GetObjectTypeData(){
super();
}
public function get index_type():Number{
return (this._747164295index_type);
}
public function get name():String{
return (this._3373707name);
}
public function get data_type():Number{
return (this._363359569data_type);
}
public function set index_type(value:Number):void{
var oldValue:Object = this._747164295index_type;
if (oldValue !== value){
this._747164295index_type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "index_type", oldValue, value));
};
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function set data_type(value:Number):void{
var oldValue:Object = this._363359569data_type;
if (oldValue !== value){
this._363359569data_type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "data_type", oldValue, value));
};
}
}
}//package com.facebook.data.data
Section 43
//GetObjectTypesData (com.facebook.data.data.GetObjectTypesData)
package com.facebook.data.data {
import com.facebook.data.*;
import mx.events.*;
public class GetObjectTypesData extends FacebookData {
private var _1481977495objectTypeCollection:ObjectTypesCollection;
public function GetObjectTypesData(){
super();
}
public function set objectTypeCollection(value:ObjectTypesCollection):void{
var oldValue:Object = this._1481977495objectTypeCollection;
if (oldValue !== value){
this._1481977495objectTypeCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "objectTypeCollection", oldValue, value));
};
}
public function get objectTypeCollection():ObjectTypesCollection{
return (this._1481977495objectTypeCollection);
}
}
}//package com.facebook.data.data
Section 44
//GetUserPreferencesData (com.facebook.data.data.GetUserPreferencesData)
package com.facebook.data.data {
import com.facebook.data.*;
import mx.events.*;
public class GetUserPreferencesData extends FacebookData {
private var _1984973153perferenceCollection:PreferenceCollection;
public function GetUserPreferencesData(){
super();
}
public function set perferenceCollection(value:PreferenceCollection):void{
var oldValue:Object = this._1984973153perferenceCollection;
if (oldValue !== value){
this._1984973153perferenceCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "perferenceCollection", oldValue, value));
};
}
public function get perferenceCollection():PreferenceCollection{
return (this._1984973153perferenceCollection);
}
}
}//package com.facebook.data.data
Section 45
//ObjectTypesCollection (com.facebook.data.data.ObjectTypesCollection)
package com.facebook.data.data {
import com.facebook.utils.*;
public class ObjectTypesCollection extends FacebookArrayCollection {
public function ObjectTypesCollection(){
super(null, ObjectTypesData);
}
}
}//package com.facebook.data.data
Section 46
//ObjectTypesData (com.facebook.data.data.ObjectTypesData)
package com.facebook.data.data {
import flash.events.*;
import mx.events.*;
public class ObjectTypesData implements IEventDispatcher {
private var _3373707name:String;
private var _953875336object_class:String;
private var _bindingEventDispatcher:EventDispatcher;
public function ObjectTypesData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function set object_class(value:String):void{
var oldValue:Object = this._953875336object_class;
if (oldValue !== value){
this._953875336object_class = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "object_class", oldValue, value));
};
}
public function get object_class():String{
return (this._953875336object_class);
}
}
}//package com.facebook.data.data
Section 47
//PreferenceCollection (com.facebook.data.data.PreferenceCollection)
package com.facebook.data.data {
import com.facebook.utils.*;
public class PreferenceCollection extends FacebookArrayCollection {
public function PreferenceCollection(){
super(null, PreferenceData);
}
}
}//package com.facebook.data.data
Section 48
//PreferenceData (com.facebook.data.data.PreferenceData)
package com.facebook.data.data {
import flash.events.*;
import mx.events.*;
public class PreferenceData implements IEventDispatcher {
private var _111972721value:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _318670665pref_id:Number;
public function PreferenceData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set value(value:String):void{
var oldValue:Object = this._111972721value;
if (oldValue !== value){
this._111972721value = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "value", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set pref_id(value:Number):void{
var oldValue:Object = this._318670665pref_id;
if (oldValue !== value){
this._318670665pref_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pref_id", oldValue, value));
};
}
public function get value():String{
return (this._111972721value);
}
public function get pref_id():Number{
return (this._318670665pref_id);
}
}
}//package com.facebook.data.data
Section 49
//EventCollection (com.facebook.data.events.EventCollection)
package com.facebook.data.events {
import com.facebook.utils.*;
public class EventCollection extends FacebookArrayCollection {
public function EventCollection(){
super(null, EventData);
}
}
}//package com.facebook.data.events
Section 50
//EventData (com.facebook.data.events.EventData)
package com.facebook.data.events {
import flash.events.*;
import com.facebook.data.*;
import mx.events.*;
public class EventData implements IEventDispatcher {
private var _984376767event_type:String;
private var _3373707name:String;
private var _1725551537end_time:Date;
private var _112093807venue:FacebookLocation;
private var _1028554796creator:Number;
private var _1573145462start_time:Date;
private var _109065nid:Number;
private var _1762076142pic_small:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _3208616host:String;
private var _110986pic:String;
private var _578385717pic_big:String;
private var _1901043637location:String;
private var _573446013update_time:Date;
private var _1724546052description:String;
private var _1482814251event_subtype:String;
private var _1548283250tagline:String;
private var _100416eid:String;
public function EventData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function set eid(value:String):void{
var oldValue:Object = this._100416eid;
if (oldValue !== value){
this._100416eid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "eid", oldValue, value));
};
}
public function get update_time():Date{
return (this._573446013update_time);
}
public function set update_time(value:Date):void{
var oldValue:Object = this._573446013update_time;
if (oldValue !== value){
this._573446013update_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "update_time", oldValue, value));
};
}
public function get nid():Number{
return (this._109065nid);
}
public function get pic():String{
return (this._110986pic);
}
public function get name():String{
return (this._3373707name);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get tagline():String{
return (this._1548283250tagline);
}
public function get start_time():Date{
return (this._1573145462start_time);
}
public function set nid(value:Number):void{
var oldValue:Object = this._109065nid;
if (oldValue !== value){
this._109065nid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "nid", oldValue, value));
};
}
public function set pic(value:String):void{
var oldValue:Object = this._110986pic;
if (oldValue !== value){
this._110986pic = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic", oldValue, value));
};
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function get pic_small():String{
return (this._1762076142pic_small);
}
public function set tagline(value:String):void{
var oldValue:Object = this._1548283250tagline;
if (oldValue !== value){
this._1548283250tagline = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "tagline", oldValue, value));
};
}
public function set pic_small(value:String):void{
var oldValue:Object = this._1762076142pic_small;
if (oldValue !== value){
this._1762076142pic_small = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_small", oldValue, value));
};
}
public function set pic_big(value:String):void{
var oldValue:Object = this._578385717pic_big;
if (oldValue !== value){
this._578385717pic_big = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_big", oldValue, value));
};
}
public function set event_subtype(value:String):void{
var oldValue:Object = this._1482814251event_subtype;
if (oldValue !== value){
this._1482814251event_subtype = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "event_subtype", oldValue, value));
};
}
public function get creator():Number{
return (this._1028554796creator);
}
public function get host():String{
return (this._3208616host);
}
public function get location():String{
return (this._1901043637location);
}
public function get event_type():String{
return (this._984376767event_type);
}
public function get eid():String{
return (this._100416eid);
}
public function set start_time(value:Date):void{
var oldValue:Object = this._1573145462start_time;
if (oldValue !== value){
this._1573145462start_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "start_time", oldValue, value));
};
}
public function get end_time():Date{
return (this._1725551537end_time);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get pic_big():String{
return (this._578385717pic_big);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set host(value:String):void{
var oldValue:Object = this._3208616host;
if (oldValue !== value){
this._3208616host = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "host", oldValue, value));
};
}
public function set creator(value:Number):void{
var oldValue:Object = this._1028554796creator;
if (oldValue !== value){
this._1028554796creator = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "creator", oldValue, value));
};
}
public function get event_subtype():String{
return (this._1482814251event_subtype);
}
public function set venue(value:FacebookLocation):void{
var oldValue:Object = this._112093807venue;
if (oldValue !== value){
this._112093807venue = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "venue", oldValue, value));
};
}
public function set end_time(value:Date):void{
var oldValue:Object = this._1725551537end_time;
if (oldValue !== value){
this._1725551537end_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "end_time", oldValue, value));
};
}
public function get venue():FacebookLocation{
return (this._112093807venue);
}
public function set location(value:String):void{
var oldValue:Object = this._1901043637location;
if (oldValue !== value){
this._1901043637location = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "location", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set description(value:String):void{
var oldValue:Object = this._1724546052description;
if (oldValue !== value){
this._1724546052description = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, value));
};
}
public function get description():String{
return (this._1724546052description);
}
public function set event_type(value:String):void{
var oldValue:Object = this._984376767event_type;
if (oldValue !== value){
this._984376767event_type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "event_type", oldValue, value));
};
}
}
}//package com.facebook.data.events
Section 51
//GetEventsData (com.facebook.data.events.GetEventsData)
package com.facebook.data.events {
import com.facebook.data.*;
import mx.events.*;
public class GetEventsData extends FacebookData {
private var _2121991384eventCollection:EventCollection;
public function GetEventsData(){
super();
}
public function get eventCollection():EventCollection{
return (this._2121991384eventCollection);
}
public function set eventCollection(value:EventCollection):void{
var oldValue:Object = this._2121991384eventCollection;
if (oldValue !== value){
this._2121991384eventCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "eventCollection", oldValue, value));
};
}
}
}//package com.facebook.data.events
Section 52
//GetMembersData (com.facebook.data.events.GetMembersData)
package com.facebook.data.events {
import com.facebook.data.*;
import mx.events.*;
public class GetMembersData extends FacebookData {
private var _354428152attending:Array;
private var _568196142declined:Array;
private var _840227282unsure:Array;
private var _487874675not_replied:Array;
public function GetMembersData(){
super();
}
public function set declined(value:Array):void{
var oldValue:Object = this._568196142declined;
if (oldValue !== value){
this._568196142declined = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "declined", oldValue, value));
};
}
public function get attending():Array{
return (this._354428152attending);
}
public function set not_replied(value:Array):void{
var oldValue:Object = this._487874675not_replied;
if (oldValue !== value){
this._487874675not_replied = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "not_replied", oldValue, value));
};
}
public function get not_replied():Array{
return (this._487874675not_replied);
}
public function get unsure():Array{
return (this._840227282unsure);
}
public function set attending(value:Array):void{
var oldValue:Object = this._354428152attending;
if (oldValue !== value){
this._354428152attending = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "attending", oldValue, value));
};
}
public function set unsure(value:Array):void{
var oldValue:Object = this._840227282unsure;
if (oldValue !== value){
this._840227282unsure = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "unsure", oldValue, value));
};
}
public function get declined():Array{
return (this._568196142declined);
}
}
}//package com.facebook.data.events
Section 53
//AbstractTagData (com.facebook.data.fbml.AbstractTagData)
package com.facebook.data.fbml {
import flash.events.*;
import mx.events.*;
public class AbstractTagData implements IEventDispatcher {
private var _513384674is_public:String;
private var _1183728077header_fbml:String;
private var _3373707name:String;
private var _3575610type:String;
private var _1098131327footer_fbml:String;
private var _405645655attributes:AttributeCollection;
private var _1724546052description:String;
private var _bindingEventDispatcher:EventDispatcher;
public function AbstractTagData(name:String, header_fbml:String, footer_fbml:String, type:String, description:String="", is_public:String="", attributes:AttributeCollection=null){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
this.name = name;
this.type = type;
this.description = description;
this.is_public = is_public;
this.header_fbml = header_fbml;
this.footer_fbml = footer_fbml;
this.attributes = attributes;
}
public function set is_public(value:String):void{
var oldValue:Object = this._513384674is_public;
if (oldValue !== value){
this._513384674is_public = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "is_public", oldValue, value));
};
}
public function set footer_fbml(value:String):void{
var oldValue:Object = this._1098131327footer_fbml;
if (oldValue !== value){
this._1098131327footer_fbml = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "footer_fbml", oldValue, value));
};
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get header_fbml():String{
return (this._1183728077header_fbml);
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function get attributes():AttributeCollection{
return (this._405645655attributes);
}
public function set header_fbml(value:String):void{
var oldValue:Object = this._1183728077header_fbml;
if (oldValue !== value){
this._1183728077header_fbml = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "header_fbml", oldValue, value));
};
}
public function get is_public():String{
return (this._513384674is_public);
}
public function set attributes(value:AttributeCollection):void{
var oldValue:Object = this._405645655attributes;
if (oldValue !== value){
this._405645655attributes = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "attributes", oldValue, value));
};
}
public function set type(value:String):void{
var oldValue:Object = this._3575610type;
if (oldValue !== value){
this._3575610type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "type", oldValue, value));
};
}
public function set description(value:String):void{
var oldValue:Object = this._1724546052description;
if (oldValue !== value){
this._1724546052description = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, value));
};
}
public function get type():String{
return (this._3575610type);
}
public function get description():String{
return (this._1724546052description);
}
public function get footer_fbml():String{
return (this._1098131327footer_fbml);
}
}
}//package com.facebook.data.fbml
Section 54
//AttributeCollection (com.facebook.data.fbml.AttributeCollection)
package com.facebook.data.fbml {
import com.facebook.utils.*;
public class AttributeCollection extends FacebookArrayCollection {
public function AttributeCollection(){
super(null, AttributeData);
}
}
}//package com.facebook.data.fbml
Section 55
//AttributeData (com.facebook.data.fbml.AttributeData)
package com.facebook.data.fbml {
import flash.events.*;
import mx.events.*;
public class AttributeData implements IEventDispatcher {
private var _1318671859default_value:String;
private var _3373707name:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _1724546052description:String;
public function AttributeData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set default_value(value:String):void{
var oldValue:Object = this._1318671859default_value;
if (oldValue !== value){
this._1318671859default_value = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "default_value", oldValue, value));
};
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function set description(value:String):void{
var oldValue:Object = this._1724546052description;
if (oldValue !== value){
this._1724546052description = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, value));
};
}
public function get default_value():String{
return (this._1318671859default_value);
}
public function get description():String{
return (this._1724546052description);
}
}
}//package com.facebook.data.fbml
Section 56
//ContainerTagData (com.facebook.data.fbml.ContainerTagData)
package com.facebook.data.fbml {
import mx.events.*;
public class ContainerTagData extends AbstractTagData {
private var _1772097351close_tag_fbml:String;
private var _1445528373open_tag_fbml:String;
public function ContainerTagData(name:String, header_fbml:String, footer_fbml:String, type:String, open_tag_fbml:String, close_tag_fbml:String, description:String="", is_public:String="", attributes:AttributeCollection=null){
this.open_tag_fbml = open_tag_fbml;
this.close_tag_fbml = close_tag_fbml;
super(name, header_fbml, footer_fbml, type, description, is_public, attributes);
}
public function get open_tag_fbml():String{
return (this._1445528373open_tag_fbml);
}
public function get close_tag_fbml():String{
return (this._1772097351close_tag_fbml);
}
public function set open_tag_fbml(value:String):void{
var oldValue:Object = this._1445528373open_tag_fbml;
if (oldValue !== value){
this._1445528373open_tag_fbml = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "open_tag_fbml", oldValue, value));
};
}
public function set close_tag_fbml(value:String):void{
var oldValue:Object = this._1772097351close_tag_fbml;
if (oldValue !== value){
this._1772097351close_tag_fbml = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "close_tag_fbml", oldValue, value));
};
}
}
}//package com.facebook.data.fbml
Section 57
//GetCustomTagsData (com.facebook.data.fbml.GetCustomTagsData)
package com.facebook.data.fbml {
import com.facebook.data.*;
import mx.events.*;
public class GetCustomTagsData extends FacebookData {
private var _189132328tagCollection:TagCollection;
public function GetCustomTagsData(){
super();
}
public function set tagCollection(value:TagCollection):void{
var oldValue:Object = this._189132328tagCollection;
if (oldValue !== value){
this._189132328tagCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "tagCollection", oldValue, value));
};
}
public function get tagCollection():TagCollection{
return (this._189132328tagCollection);
}
}
}//package com.facebook.data.fbml
Section 58
//LeafTagData (com.facebook.data.fbml.LeafTagData)
package com.facebook.data.fbml {
import mx.events.*;
public class LeafTagData extends AbstractTagData {
private var _3136347fbml:String;
public function LeafTagData(name:String, fbml:String, header_fbml:String, footer_fbml:String, type:String, description:String="", is_public:String="", attributes:AttributeCollection=null){
this.fbml = fbml;
super(name, header_fbml, footer_fbml, type, description, is_public, attributes);
}
public function get fbml():String{
return (this._3136347fbml);
}
public function set fbml(value:String):void{
var oldValue:Object = this._3136347fbml;
if (oldValue !== value){
this._3136347fbml = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "fbml", oldValue, value));
};
}
}
}//package com.facebook.data.fbml
Section 59
//TagCollection (com.facebook.data.fbml.TagCollection)
package com.facebook.data.fbml {
import com.facebook.utils.*;
public class TagCollection extends FacebookArrayCollection {
public function TagCollection(){
super(null, AbstractTagData);
}
}
}//package com.facebook.data.fbml
Section 60
//GetRegisteredTemplateBundleByIDData (com.facebook.data.feed.GetRegisteredTemplateBundleByIDData)
package com.facebook.data.feed {
import com.facebook.data.*;
import mx.events.*;
public class GetRegisteredTemplateBundleByIDData extends FacebookData {
private var _858818232templateCollection:TemplateCollection;
public function GetRegisteredTemplateBundleByIDData(){
super();
}
public function get templateCollection():TemplateCollection{
return (this._858818232templateCollection);
}
public function set templateCollection(value:TemplateCollection):void{
var oldValue:Object = this._858818232templateCollection;
if (oldValue !== value){
this._858818232templateCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "templateCollection", oldValue, value));
};
}
}
}//package com.facebook.data.feed
Section 61
//GetRegisteredTemplateBundleData (com.facebook.data.feed.GetRegisteredTemplateBundleData)
package com.facebook.data.feed {
import com.facebook.data.*;
import mx.events.*;
public class GetRegisteredTemplateBundleData extends FacebookData {
private var _1345486656bundleCollection:TemplateCollection;
public function GetRegisteredTemplateBundleData(){
super();
}
public function get bundleCollection():TemplateCollection{
return (this._1345486656bundleCollection);
}
public function set bundleCollection(value:TemplateCollection):void{
var oldValue:Object = this._1345486656bundleCollection;
if (oldValue !== value){
this._1345486656bundleCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "bundleCollection", oldValue, value));
};
}
}
}//package com.facebook.data.feed
Section 62
//TemplateBundleCollection (com.facebook.data.feed.TemplateBundleCollection)
package com.facebook.data.feed {
import com.facebook.utils.*;
public class TemplateBundleCollection extends FacebookArrayCollection {
public function TemplateBundleCollection(){
super(null, TemplateData);
}
}
}//package com.facebook.data.feed
Section 63
//TemplateCollection (com.facebook.data.feed.TemplateCollection)
package com.facebook.data.feed {
import com.facebook.utils.*;
import mx.events.*;
public class TemplateCollection extends FacebookArrayCollection {
private var _630236298time_created:Date;
private var _1933135987template_bundle_id:Number;
public function TemplateCollection(){
super(null, TemplateData);
}
public function addTemplateData(templateData:TemplateData):void{
this.addItem(templateData);
}
public function set template_bundle_id(value:Number):void{
var oldValue:Object = this._1933135987template_bundle_id;
if (oldValue !== value){
this._1933135987template_bundle_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "template_bundle_id", oldValue, value));
};
}
public function get template_bundle_id():Number{
return (this._1933135987template_bundle_id);
}
public function set time_created(value:Date):void{
var oldValue:Object = this._630236298time_created;
if (oldValue !== value){
this._630236298time_created = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "time_created", oldValue, value));
};
}
public function get time_created():Date{
return (this._630236298time_created);
}
}
}//package com.facebook.data.feed
Section 64
//TemplateData (com.facebook.data.feed.TemplateData)
package com.facebook.data.feed {
import flash.events.*;
import mx.events.*;
public class TemplateData implements IEventDispatcher {
private var _1285910957template_title:String;
private var _180559289template_body:String;
private var _3575610type:String;
private var _bindingEventDispatcher:EventDispatcher;
public function TemplateData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function set template_title(value:String):void{
var oldValue:Object = this._1285910957template_title;
if (oldValue !== value){
this._1285910957template_title = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "template_title", oldValue, value));
};
}
public function get template_body():String{
return (this._180559289template_body);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get template_title():String{
return (this._1285910957template_title);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set template_body(value:String):void{
var oldValue:Object = this._180559289template_body;
if (oldValue !== value){
this._180559289template_body = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "template_body", oldValue, value));
};
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set type(value:String):void{
var oldValue:Object = this._3575610type;
if (oldValue !== value){
this._3575610type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "type", oldValue, value));
};
}
public function get type():String{
return (this._3575610type);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
}
}//package com.facebook.data.feed
Section 65
//AreFriendsData (com.facebook.data.friends.AreFriendsData)
package com.facebook.data.friends {
import com.facebook.data.*;
import mx.events.*;
public class AreFriendsData extends FacebookData {
private var _40395245friendsCollection:FriendsCollection;
public function AreFriendsData(){
super();
}
public function get friendsCollection():FriendsCollection{
return (this._40395245friendsCollection);
}
public function set friendsCollection(value:FriendsCollection):void{
var oldValue:Object = this._40395245friendsCollection;
if (oldValue !== value){
this._40395245friendsCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "friendsCollection", oldValue, value));
};
}
}
}//package com.facebook.data.friends
Section 66
//FriendsCollection (com.facebook.data.friends.FriendsCollection)
package com.facebook.data.friends {
import com.facebook.utils.*;
public class FriendsCollection extends FacebookArrayCollection {
public function FriendsCollection(){
super(null, FriendsData);
}
}
}//package com.facebook.data.friends
Section 67
//FriendsData (com.facebook.data.friends.FriendsData)
package com.facebook.data.friends {
import flash.events.*;
import mx.events.*;
public class FriendsData implements IEventDispatcher {
private var _3589601uid1:Number;
private var _455530154are_friends:Boolean;
private var _3589602uid2:Number;
private var _bindingEventDispatcher:EventDispatcher;
public function FriendsData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get uid1():Number{
return (this._3589601uid1);
}
public function set uid1(value:Number):void{
var oldValue:Object = this._3589601uid1;
if (oldValue !== value){
this._3589601uid1 = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uid1", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set uid2(value:Number):void{
var oldValue:Object = this._3589602uid2;
if (oldValue !== value){
this._3589602uid2 = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uid2", oldValue, value));
};
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get uid2():Number{
return (this._3589602uid2);
}
public function get are_friends():Boolean{
return (this._455530154are_friends);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function set are_friends(value:Boolean):void{
var oldValue:Object = this._455530154are_friends;
if (oldValue !== value){
this._455530154are_friends = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "are_friends", oldValue, value));
};
}
}
}//package com.facebook.data.friends
Section 68
//GetAppUserData (com.facebook.data.friends.GetAppUserData)
package com.facebook.data.friends {
import com.facebook.data.*;
import mx.events.*;
public class GetAppUserData extends FacebookData {
private var _3589667uids:Array;
public function GetAppUserData(){
super();
}
public function get uids():Array{
return (this._3589667uids);
}
public function set uids(value:Array):void{
var oldValue:Object = this._3589667uids;
if (oldValue !== value){
this._3589667uids = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uids", oldValue, value));
};
}
}
}//package com.facebook.data.friends
Section 69
//GetFriendsData (com.facebook.data.friends.GetFriendsData)
package com.facebook.data.friends {
import com.facebook.data.*;
import com.facebook.data.users.*;
import mx.events.*;
public class GetFriendsData extends FacebookData {
private var _600094315friends:FacebookUserCollection;
public function GetFriendsData(){
super();
}
public function set friends(value:FacebookUserCollection):void{
var oldValue:Object = this._600094315friends;
if (oldValue !== value){
this._600094315friends = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "friends", oldValue, value));
};
}
public function get friends():FacebookUserCollection{
return (this._600094315friends);
}
}
}//package com.facebook.data.friends
Section 70
//GetListsData (com.facebook.data.friends.GetListsData)
package com.facebook.data.friends {
import com.facebook.data.*;
import mx.events.*;
public class GetListsData extends FacebookData {
private var _102982549lists:Array;
public function GetListsData(){
super();
}
public function set lists(value:Array):void{
var oldValue:Object = this._102982549lists;
if (oldValue !== value){
this._102982549lists = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "lists", oldValue, value));
};
}
public function get lists():Array{
return (this._102982549lists);
}
}
}//package com.facebook.data.friends
Section 71
//ListsData (com.facebook.data.friends.ListsData)
package com.facebook.data.friends {
import flash.events.*;
import mx.events.*;
public class ListsData implements IEventDispatcher {
private var _3373707name:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _3145825flid:Number;
public function ListsData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get flid():Number{
return (this._3145825flid);
}
public function set flid(value:Number):void{
var oldValue:Object = this._3145825flid;
if (oldValue !== value){
this._3145825flid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "flid", oldValue, value));
};
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
}
}//package com.facebook.data.friends
Section 72
//GetGroupData (com.facebook.data.groups.GetGroupData)
package com.facebook.data.groups {
import com.facebook.data.*;
import mx.events.*;
public class GetGroupData extends FacebookData {
private var _1237460524groups:GroupCollection;
public function GetGroupData(){
super();
}
public function set groups(value:GroupCollection):void{
var oldValue:Object = this._1237460524groups;
if (oldValue !== value){
this._1237460524groups = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "groups", oldValue, value));
};
}
public function get groups():GroupCollection{
return (this._1237460524groups);
}
}
}//package com.facebook.data.groups
Section 73
//GetMemberData (com.facebook.data.groups.GetMemberData)
package com.facebook.data.groups {
import com.facebook.data.*;
import mx.events.*;
public class GetMemberData extends FacebookData {
private var _138904922notReplied:Array;
private var _1422235900admins:Array;
private var _948881689members:Array;
private var _765293059officers:Array;
public function GetMemberData(){
super();
}
public function get admins():Array{
return (this._1422235900admins);
}
public function get notReplied():Array{
return (this._138904922notReplied);
}
public function set admins(value:Array):void{
var oldValue:Object = this._1422235900admins;
if (oldValue !== value){
this._1422235900admins = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "admins", oldValue, value));
};
}
public function set notReplied(value:Array):void{
var oldValue:Object = this._138904922notReplied;
if (oldValue !== value){
this._138904922notReplied = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "notReplied", oldValue, value));
};
}
public function set members(value:Array):void{
var oldValue:Object = this._948881689members;
if (oldValue !== value){
this._948881689members = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "members", oldValue, value));
};
}
public function get members():Array{
return (this._948881689members);
}
public function set officers(value:Array):void{
var oldValue:Object = this._765293059officers;
if (oldValue !== value){
this._765293059officers = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "officers", oldValue, value));
};
}
public function get officers():Array{
return (this._765293059officers);
}
}
}//package com.facebook.data.groups
Section 74
//GroupCollection (com.facebook.data.groups.GroupCollection)
package com.facebook.data.groups {
import com.facebook.utils.*;
public class GroupCollection extends FacebookArrayCollection {
public function GroupCollection(){
super(null, GroupData);
}
public function addGroup(group:GroupData):void{
this.addItem(group);
}
}
}//package com.facebook.data.groups
Section 75
//GroupData (com.facebook.data.groups.GroupData)
package com.facebook.data.groups {
import flash.events.*;
import com.facebook.data.*;
import mx.events.*;
public class GroupData implements IEventDispatcher {
private var _1282509050group_type:String;
private var _1019789636office:String;
private var _3373707name:String;
private var _314498168privacy:String;
private var _102338gid:String;
private var _2022916553recent_news:String;
private var _112093807venue:FacebookLocation;
private var _1028554796creator:String;
private var _1816339526group_subtype:String;
private var _1762076142pic_small:String;
private var _1224335515website:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _109065nid:Number;
private var _110986pic:String;
private var _578385717pic_big:String;
private var _573446013update_time:Date;
private var _1724546052description:String;
public function GroupData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function set gid(value:String):void{
var oldValue:Object = this._102338gid;
if (oldValue !== value){
this._102338gid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "gid", oldValue, value));
};
}
public function get nid():Number{
return (this._109065nid);
}
public function get pic():String{
return (this._110986pic);
}
public function get name():String{
return (this._3373707name);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set update_time(value:Date):void{
var oldValue:Object = this._573446013update_time;
if (oldValue !== value){
this._573446013update_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "update_time", oldValue, value));
};
}
public function get privacy():String{
return (this._314498168privacy);
}
public function set privacy(value:String):void{
var oldValue:Object = this._314498168privacy;
if (oldValue !== value){
this._314498168privacy = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "privacy", oldValue, value));
};
}
public function set nid(value:Number):void{
var oldValue:Object = this._109065nid;
if (oldValue !== value){
this._109065nid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "nid", oldValue, value));
};
}
public function set pic(value:String):void{
var oldValue:Object = this._110986pic;
if (oldValue !== value){
this._110986pic = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic", oldValue, value));
};
}
public function set pic_big(value:String):void{
var oldValue:Object = this._578385717pic_big;
if (oldValue !== value){
this._578385717pic_big = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_big", oldValue, value));
};
}
public function get pic_small():String{
return (this._1762076142pic_small);
}
public function get update_time():Date{
return (this._573446013update_time);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function set pic_small(value:String):void{
var oldValue:Object = this._1762076142pic_small;
if (oldValue !== value){
this._1762076142pic_small = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_small", oldValue, value));
};
}
public function get creator():String{
return (this._1028554796creator);
}
public function set website(value:String):void{
var oldValue:Object = this._1224335515website;
if (oldValue !== value){
this._1224335515website = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "website", oldValue, value));
};
}
public function get recent_news():String{
return (this._2022916553recent_news);
}
public function get group_subtype():String{
return (this._1816339526group_subtype);
}
public function get website():String{
return (this._1224335515website);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get gid():String{
return (this._102338gid);
}
public function get pic_big():String{
return (this._578385717pic_big);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get office():String{
return (this._1019789636office);
}
public function set creator(value:String):void{
var oldValue:Object = this._1028554796creator;
if (oldValue !== value){
this._1028554796creator = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "creator", oldValue, value));
};
}
public function set venue(value:FacebookLocation):void{
var oldValue:Object = this._112093807venue;
if (oldValue !== value){
this._112093807venue = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "venue", oldValue, value));
};
}
public function set recent_news(value:String):void{
var oldValue:Object = this._2022916553recent_news;
if (oldValue !== value){
this._2022916553recent_news = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "recent_news", oldValue, value));
};
}
public function get venue():FacebookLocation{
return (this._112093807venue);
}
public function set group_type(value:String):void{
var oldValue:Object = this._1282509050group_type;
if (oldValue !== value){
this._1282509050group_type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "group_type", oldValue, value));
};
}
public function set description(value:String):void{
var oldValue:Object = this._1724546052description;
if (oldValue !== value){
this._1724546052description = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, value));
};
}
public function get group_type():String{
return (this._1282509050group_type);
}
public function set group_subtype(value:String):void{
var oldValue:Object = this._1816339526group_subtype;
if (oldValue !== value){
this._1816339526group_subtype = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "group_subtype", oldValue, value));
};
}
public function get description():String{
return (this._1724546052description);
}
public function set office(value:String):void{
var oldValue:Object = this._1019789636office;
if (oldValue !== value){
this._1019789636office = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "office", oldValue, value));
};
}
}
}//package com.facebook.data.groups
Section 76
//GetNotesData (com.facebook.data.notes.GetNotesData)
package com.facebook.data.notes {
import com.facebook.data.*;
import mx.events.*;
public class GetNotesData extends FacebookData {
private var _1716839361notesCollection:NotesCollection;
public function GetNotesData(){
super();
}
public function set notesCollection(value:NotesCollection):void{
var oldValue:Object = this._1716839361notesCollection;
if (oldValue !== value){
this._1716839361notesCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "notesCollection", oldValue, value));
};
}
public function get notesCollection():NotesCollection{
return (this._1716839361notesCollection);
}
}
}//package com.facebook.data.notes
Section 77
//NoteData (com.facebook.data.notes.NoteData)
package com.facebook.data.notes {
import flash.events.*;
import mx.events.*;
public class NoteData implements IEventDispatcher {
private var _2129224840note_id:String;
private var _2003148228created_time:Date;
private var _bindingEventDispatcher:EventDispatcher;
private var _115792uid:String;
private var _951530617content:String;
private var _472881199updated_time:Date;
private var _110371416title:String;
public function NoteData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get created_time():Date{
return (this._2003148228created_time);
}
public function get note_id():String{
return (this._2129224840note_id);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set created_time(value:Date):void{
var oldValue:Object = this._2003148228created_time;
if (oldValue !== value){
this._2003148228created_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "created_time", oldValue, value));
};
}
public function set note_id(value:String):void{
var oldValue:Object = this._2129224840note_id;
if (oldValue !== value){
this._2129224840note_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "note_id", oldValue, value));
};
}
public function get updated_time():Date{
return (this._472881199updated_time);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get uid():String{
return (this._115792uid);
}
public function get title():String{
return (this._110371416title);
}
public function set uid(value:String):void{
var oldValue:Object = this._115792uid;
if (oldValue !== value){
this._115792uid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uid", oldValue, value));
};
}
public function set updated_time(value:Date):void{
var oldValue:Object = this._472881199updated_time;
if (oldValue !== value){
this._472881199updated_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "updated_time", oldValue, value));
};
}
public function set title(value:String):void{
var oldValue:Object = this._110371416title;
if (oldValue !== value){
this._110371416title = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "title", oldValue, value));
};
}
public function set content(value:String):void{
var oldValue:Object = this._951530617content;
if (oldValue !== value){
this._951530617content = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "content", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get content():String{
return (this._951530617content);
}
}
}//package com.facebook.data.notes
Section 78
//NotesCollection (com.facebook.data.notes.NotesCollection)
package com.facebook.data.notes {
import com.facebook.utils.*;
public class NotesCollection extends FacebookArrayCollection {
public function NotesCollection(){
super(null, NoteData);
}
}
}//package com.facebook.data.notes
Section 79
//GetNotificationData (com.facebook.data.notifications.GetNotificationData)
package com.facebook.data.notifications {
import com.facebook.data.*;
import mx.events.*;
public class GetNotificationData extends FacebookData {
private var _2011259082group_invites:Array;
private var _757115001friendsRequests:Array;
private var _823645719notificationCollection:NotificationCollection;
private var _1950182939event_invites:Array;
public function GetNotificationData(){
super();
}
public function get event_invites():Array{
return (this._1950182939event_invites);
}
public function get notificationCollection():NotificationCollection{
return (this._823645719notificationCollection);
}
public function get group_invites():Array{
return (this._2011259082group_invites);
}
public function set event_invites(value:Array):void{
var oldValue:Object = this._1950182939event_invites;
if (oldValue !== value){
this._1950182939event_invites = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "event_invites", oldValue, value));
};
}
public function set friendsRequests(value:Array):void{
var oldValue:Object = this._757115001friendsRequests;
if (oldValue !== value){
this._757115001friendsRequests = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "friendsRequests", oldValue, value));
};
}
public function set group_invites(value:Array):void{
var oldValue:Object = this._2011259082group_invites;
if (oldValue !== value){
this._2011259082group_invites = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "group_invites", oldValue, value));
};
}
public function get friendsRequests():Array{
return (this._757115001friendsRequests);
}
public function set notificationCollection(value:NotificationCollection):void{
var oldValue:Object = this._823645719notificationCollection;
if (oldValue !== value){
this._823645719notificationCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "notificationCollection", oldValue, value));
};
}
}
}//package com.facebook.data.notifications
Section 80
//NotificationCollection (com.facebook.data.notifications.NotificationCollection)
package com.facebook.data.notifications {
import com.facebook.utils.*;
public class NotificationCollection extends FacebookArrayCollection {
public function NotificationCollection(){
super(null, null);
}
}
}//package com.facebook.data.notifications
Section 81
//NotificationMessageData (com.facebook.data.notifications.NotificationMessageData)
package com.facebook.data.notifications {
import flash.events.*;
import mx.events.*;
public class NotificationMessageData implements IEventDispatcher {
private var _1739890327most_recent:Number;
private var _840272977unread:Number;
private var _bindingEventDispatcher:EventDispatcher;
public function NotificationMessageData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set most_recent(value:Number):void{
var oldValue:Object = this._1739890327most_recent;
if (oldValue !== value){
this._1739890327most_recent = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "most_recent", oldValue, value));
};
}
public function get unread():Number{
return (this._840272977unread);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get most_recent():Number{
return (this._1739890327most_recent);
}
public function set unread(value:Number):void{
var oldValue:Object = this._840272977unread;
if (oldValue !== value){
this._840272977unread = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "unread", oldValue, value));
};
}
}
}//package com.facebook.data.notifications
Section 82
//NotificationPokeData (com.facebook.data.notifications.NotificationPokeData)
package com.facebook.data.notifications {
import flash.events.*;
import mx.events.*;
public class NotificationPokeData implements IEventDispatcher {
private var _1739890327most_recent:Number;
private var _840272977unread:Number;
private var _bindingEventDispatcher:EventDispatcher;
public function NotificationPokeData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set most_recent(value:Number):void{
var oldValue:Object = this._1739890327most_recent;
if (oldValue !== value){
this._1739890327most_recent = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "most_recent", oldValue, value));
};
}
public function get unread():Number{
return (this._840272977unread);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get most_recent():Number{
return (this._1739890327most_recent);
}
public function set unread(value:Number):void{
var oldValue:Object = this._840272977unread;
if (oldValue !== value){
this._840272977unread = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "unread", oldValue, value));
};
}
}
}//package com.facebook.data.notifications
Section 83
//NotificationShareData (com.facebook.data.notifications.NotificationShareData)
package com.facebook.data.notifications {
import flash.events.*;
import mx.events.*;
public class NotificationShareData implements IEventDispatcher {
private var _1739890327most_recent:Number;
private var _840272977unread:Number;
private var _bindingEventDispatcher:EventDispatcher;
public function NotificationShareData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set most_recent(value:Number):void{
var oldValue:Object = this._1739890327most_recent;
if (oldValue !== value){
this._1739890327most_recent = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "most_recent", oldValue, value));
};
}
public function get unread():Number{
return (this._840272977unread);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get most_recent():Number{
return (this._1739890327most_recent);
}
public function set unread(value:Number):void{
var oldValue:Object = this._840272977unread;
if (oldValue !== value){
this._840272977unread = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "unread", oldValue, value));
};
}
}
}//package com.facebook.data.notifications
Section 84
//GetPageInfoData (com.facebook.data.pages.GetPageInfoData)
package com.facebook.data.pages {
import com.facebook.data.*;
import mx.events.*;
public class GetPageInfoData extends FacebookData {
private var _1492481627pageInfoCollection:PageInfoCollection;
public function GetPageInfoData(){
super();
}
public function get pageInfoCollection():PageInfoCollection{
return (this._1492481627pageInfoCollection);
}
public function set pageInfoCollection(value:PageInfoCollection):void{
var oldValue:Object = this._1492481627pageInfoCollection;
if (oldValue !== value){
this._1492481627pageInfoCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pageInfoCollection", oldValue, value));
};
}
}
}//package com.facebook.data.pages
Section 85
//PageInfoCollection (com.facebook.data.pages.PageInfoCollection)
package com.facebook.data.pages {
import com.facebook.utils.*;
public class PageInfoCollection extends FacebookArrayCollection {
public function PageInfoCollection(){
super(null, PageInfoData);
}
public function addPageInfo(pageInfo:PageInfoData):void{
this.addItem(pageInfo);
}
}
}//package com.facebook.data.pages
Section 86
//PageInfoData (com.facebook.data.pages.PageInfoData)
package com.facebook.data.pages {
import flash.events.*;
import com.facebook.data.*;
import mx.events.*;
public class PageInfoData extends EventDispatcher {
private var _485238799hometown:String;
private var _3575610type:String;
private var _1405038154awards:String;
private var _99469071hours:String;
private var _1635870290directed_by:String;
private var _1224335515website:String;
private var _1768882106pic_large:String;
private var _2002886397has_added_app:Boolean;
private var _578385717pic_big:String;
private var _1817326876plot_outline:String;
private var _1214494066pic_square:String;
private var _697920873schedule:String;
private var _1965855514release_date:String;
private var _97544bio:String;
private var _1774829598influences:String;
private var _2116416122record_label:String;
private var _1843485230network:String;
private var _3373707name:String;
private var _1762076142pic_small:String;
private var _68251919band_members:String;
private var _1316747138starring:String;
private var _1901043637location:FacebookLocation;
private var _906335517season:String;
private var _674640991founded:String;
private var _803548981page_id:Number;
private var _915840763company_overview:String;
private var _98240899genre:String;
private var _891901482studio:String;
private var _1505017102produced_by:String;
private var _1003761308products:String;
private var _1069449612mission:String;
private var _201317249written_by:String;
public function PageInfoData(){
super();
}
public function set starring(value:String):void{
var oldValue:Object = this._1316747138starring;
if (oldValue !== value){
this._1316747138starring = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "starring", oldValue, value));
};
}
public function get season():String{
return (this._906335517season);
}
public function get bio():String{
return (this._97544bio);
}
public function set record_label(value:String):void{
var oldValue:Object = this._2116416122record_label;
if (oldValue !== value){
this._2116416122record_label = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "record_label", oldValue, value));
};
}
public function set genre(value:String):void{
var oldValue:Object = this._98240899genre;
if (oldValue !== value){
this._98240899genre = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "genre", oldValue, value));
};
}
public function get hours():String{
return (this._99469071hours);
}
public function get pic_small():String{
return (this._1762076142pic_small);
}
public function set bio(value:String):void{
var oldValue:Object = this._97544bio;
if (oldValue !== value){
this._97544bio = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "bio", oldValue, value));
};
}
public function set hours(value:String):void{
var oldValue:Object = this._99469071hours;
if (oldValue !== value){
this._99469071hours = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "hours", oldValue, value));
};
}
public function set mission(value:String):void{
var oldValue:Object = this._1069449612mission;
if (oldValue !== value){
this._1069449612mission = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "mission", oldValue, value));
};
}
public function set pic_small(value:String):void{
var oldValue:Object = this._1762076142pic_small;
if (oldValue !== value){
this._1762076142pic_small = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_small", oldValue, value));
};
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function get band_members():String{
return (this._68251919band_members);
}
public function set band_members(value:String):void{
var oldValue:Object = this._68251919band_members;
if (oldValue !== value){
this._68251919band_members = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "band_members", oldValue, value));
};
}
public function get network():String{
return (this._1843485230network);
}
public function set website(value:String):void{
var oldValue:Object = this._1224335515website;
if (oldValue !== value){
this._1224335515website = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "website", oldValue, value));
};
}
public function get type():String{
return (this._3575610type);
}
public function set influences(value:String):void{
var oldValue:Object = this._1774829598influences;
if (oldValue !== value){
this._1774829598influences = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "influences", oldValue, value));
};
}
public function set schedule(value:String):void{
var oldValue:Object = this._697920873schedule;
if (oldValue !== value){
this._697920873schedule = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "schedule", oldValue, value));
};
}
public function get influences():String{
return (this._1774829598influences);
}
public function set founded(value:String):void{
var oldValue:Object = this._674640991founded;
if (oldValue !== value){
this._674640991founded = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "founded", oldValue, value));
};
}
public function get pic_large():String{
return (this._1768882106pic_large);
}
public function set directed_by(value:String):void{
var oldValue:Object = this._1635870290directed_by;
if (oldValue !== value){
this._1635870290directed_by = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "directed_by", oldValue, value));
};
}
public function set network(value:String):void{
var oldValue:Object = this._1843485230network;
if (oldValue !== value){
this._1843485230network = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "network", oldValue, value));
};
}
public function get products():String{
return (this._1003761308products);
}
public function set location(value:FacebookLocation):void{
var oldValue:Object = this._1901043637location;
if (oldValue !== value){
this._1901043637location = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "location", oldValue, value));
};
}
public function get pic_square():String{
return (this._1214494066pic_square);
}
public function set awards(value:String):void{
var oldValue:Object = this._1405038154awards;
if (oldValue !== value){
this._1405038154awards = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "awards", oldValue, value));
};
}
public function set type(value:String):void{
var oldValue:Object = this._3575610type;
if (oldValue !== value){
this._3575610type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "type", oldValue, value));
};
}
public function get written_by():String{
return (this._201317249written_by);
}
public function get starring():String{
return (this._1316747138starring);
}
public function get genre():String{
return (this._98240899genre);
}
public function set pic_large(value:String):void{
var oldValue:Object = this._1768882106pic_large;
if (oldValue !== value){
this._1768882106pic_large = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_large", oldValue, value));
};
}
public function get mission():String{
return (this._1069449612mission);
}
public function set page_id(value:Number):void{
var oldValue:Object = this._803548981page_id;
if (oldValue !== value){
this._803548981page_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "page_id", oldValue, value));
};
}
public function get schedule():String{
return (this._697920873schedule);
}
public function get name():String{
return (this._3373707name);
}
public function get website():String{
return (this._1224335515website);
}
public function set pic_big(value:String):void{
var oldValue:Object = this._578385717pic_big;
if (oldValue !== value){
this._578385717pic_big = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_big", oldValue, value));
};
}
public function get record_label():String{
return (this._2116416122record_label);
}
public function get founded():String{
return (this._674640991founded);
}
public function get directed_by():String{
return (this._1635870290directed_by);
}
public function get location():FacebookLocation{
return (this._1901043637location);
}
public function set studio(value:String):void{
var oldValue:Object = this._891901482studio;
if (oldValue !== value){
this._891901482studio = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "studio", oldValue, value));
};
}
public function get awards():String{
return (this._1405038154awards);
}
public function set season(value:String):void{
var oldValue:Object = this._906335517season;
if (oldValue !== value){
this._906335517season = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "season", oldValue, value));
};
}
public function get page_id():Number{
return (this._803548981page_id);
}
public function set release_date(value:String):void{
var oldValue:Object = this._1965855514release_date;
if (oldValue !== value){
this._1965855514release_date = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "release_date", oldValue, value));
};
}
public function set products(value:String):void{
var oldValue:Object = this._1003761308products;
if (oldValue !== value){
this._1003761308products = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "products", oldValue, value));
};
}
public function set plot_outline(value:String):void{
var oldValue:Object = this._1817326876plot_outline;
if (oldValue !== value){
this._1817326876plot_outline = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "plot_outline", oldValue, value));
};
}
public function get studio():String{
return (this._891901482studio);
}
public function get pic_big():String{
return (this._578385717pic_big);
}
public function set pic_square(value:String):void{
var oldValue:Object = this._1214494066pic_square;
if (oldValue !== value){
this._1214494066pic_square = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_square", oldValue, value));
};
}
public function get release_date():String{
return (this._1965855514release_date);
}
public function set hometown(value:String):void{
var oldValue:Object = this._485238799hometown;
if (oldValue !== value){
this._485238799hometown = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "hometown", oldValue, value));
};
}
public function set produced_by(value:String):void{
var oldValue:Object = this._1505017102produced_by;
if (oldValue !== value){
this._1505017102produced_by = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "produced_by", oldValue, value));
};
}
public function get hometown():String{
return (this._485238799hometown);
}
public function get produced_by():String{
return (this._1505017102produced_by);
}
public function get plot_outline():String{
return (this._1817326876plot_outline);
}
public function set company_overview(value:String):void{
var oldValue:Object = this._915840763company_overview;
if (oldValue !== value){
this._915840763company_overview = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "company_overview", oldValue, value));
};
}
public function set has_added_app(value:Boolean):void{
var oldValue:Object = this._2002886397has_added_app;
if (oldValue !== value){
this._2002886397has_added_app = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "has_added_app", oldValue, value));
};
}
public function get company_overview():String{
return (this._915840763company_overview);
}
public function get has_added_app():Boolean{
return (this._2002886397has_added_app);
}
public function set written_by(value:String):void{
var oldValue:Object = this._201317249written_by;
if (oldValue !== value){
this._201317249written_by = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "written_by", oldValue, value));
};
}
}
}//package com.facebook.data.pages
Section 87
//AlbumCollection (com.facebook.data.photos.AlbumCollection)
package com.facebook.data.photos {
import com.facebook.utils.*;
public class AlbumCollection extends FacebookArrayCollection {
public function AlbumCollection(){
super(null, AlbumData);
}
public function addAlbum(albumData:AlbumData):void{
this.addItem(albumData);
}
}
}//package com.facebook.data.photos
Section 88
//AlbumData (com.facebook.data.photos.AlbumData)
package com.facebook.data.photos {
import flash.events.*;
import mx.events.*;
public class AlbumData implements IEventDispatcher {
private var _1028554472created:Date;
private var _3373707name:String;
private var _3321850link:String;
private var _466743410visible:String;
private var _96572aid:String;
private var _106164915owner:String;
private var _3530753size:Number;
private var _bindingEventDispatcher:EventDispatcher;
private var _615513399modified:Date;
private var _1980072195cover_pid:String;
private var _1901043637location:String;
private var _1724546052description:String;
public function AlbumData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function get size():Number{
return (this._3530753size);
}
public function set size(value:Number):void{
var oldValue:Object = this._3530753size;
if (oldValue !== value){
this._3530753size = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "size", oldValue, value));
};
}
public function get cover_pid():String{
return (this._1980072195cover_pid);
}
public function set cover_pid(value:String):void{
var oldValue:Object = this._1980072195cover_pid;
if (oldValue !== value){
this._1980072195cover_pid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "cover_pid", oldValue, value));
};
}
public function get name():String{
return (this._3373707name);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function set modified(value:Date):void{
var oldValue:Object = this._615513399modified;
if (oldValue !== value){
this._615513399modified = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "modified", oldValue, value));
};
}
public function get location():String{
return (this._1901043637location);
}
public function get owner():String{
return (this._106164915owner);
}
public function get aid():String{
return (this._96572aid);
}
public function get modified():Date{
return (this._615513399modified);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set created(value:Date):void{
var oldValue:Object = this._1028554472created;
if (oldValue !== value){
this._1028554472created = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "created", oldValue, value));
};
}
public function set visible(value:String):void{
var oldValue:Object = this._466743410visible;
if (oldValue !== value){
this._466743410visible = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "visible", oldValue, value));
};
}
public function set owner(value:String):void{
var oldValue:Object = this._106164915owner;
if (oldValue !== value){
this._106164915owner = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "owner", oldValue, value));
};
}
public function get created():Date{
return (this._1028554472created);
}
public function set location(value:String):void{
var oldValue:Object = this._1901043637location;
if (oldValue !== value){
this._1901043637location = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "location", oldValue, value));
};
}
public function get visible():String{
return (this._466743410visible);
}
public function set link(value:String):void{
var oldValue:Object = this._3321850link;
if (oldValue !== value){
this._3321850link = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "link", oldValue, value));
};
}
public function set description(value:String):void{
var oldValue:Object = this._1724546052description;
if (oldValue !== value){
this._1724546052description = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, value));
};
}
public function get link():String{
return (this._3321850link);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get description():String{
return (this._1724546052description);
}
public function set aid(value:String):void{
var oldValue:Object = this._96572aid;
if (oldValue !== value){
this._96572aid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "aid", oldValue, value));
};
}
}
}//package com.facebook.data.photos
Section 89
//FacebookPhoto (com.facebook.data.photos.FacebookPhoto)
package com.facebook.data.photos {
import com.facebook.data.*;
import mx.events.*;
public class FacebookPhoto extends FacebookData {
private var _1028554472created:Date;
private var _552573414caption:String;
private var _89081108src_small:String;
private var _1953179611src_big:String;
private var _3321850link:String;
private var _110987pid:String;
private var _3552281tags:Array;
private var _96572aid:String;
private var _114148src:String;
private var _106164915owner:Number;
public function FacebookPhoto(){
tags = [];
super();
}
public function get link():String{
return (this._3321850link);
}
public function get owner():Number{
return (this._106164915owner);
}
public function get src():String{
return (this._114148src);
}
public function set src_big(value:String):void{
var oldValue:Object = this._1953179611src_big;
if (oldValue !== value){
this._1953179611src_big = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "src_big", oldValue, value));
};
}
public function get pid():String{
return (this._110987pid);
}
public function set caption(value:String):void{
var oldValue:Object = this._552573414caption;
if (oldValue !== value){
this._552573414caption = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "caption", oldValue, value));
};
}
public function set pid(value:String):void{
var oldValue:Object = this._110987pid;
if (oldValue !== value){
this._110987pid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pid", oldValue, value));
};
}
public function set src(value:String):void{
var oldValue:Object = this._114148src;
if (oldValue !== value){
this._114148src = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "src", oldValue, value));
};
}
public function set src_small(value:String):void{
var oldValue:Object = this._89081108src_small;
if (oldValue !== value){
this._89081108src_small = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "src_small", oldValue, value));
};
}
public function get tags():Array{
return (this._3552281tags);
}
public function set created(value:Date):void{
var oldValue:Object = this._1028554472created;
if (oldValue !== value){
this._1028554472created = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "created", oldValue, value));
};
}
public function get src_big():String{
return (this._1953179611src_big);
}
public function get created():Date{
return (this._1028554472created);
}
public function set tags(value:Array):void{
var oldValue:Object = this._3552281tags;
if (oldValue !== value){
this._3552281tags = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "tags", oldValue, value));
};
}
public function set link(value:String):void{
var oldValue:Object = this._3321850link;
if (oldValue !== value){
this._3321850link = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "link", oldValue, value));
};
}
public function set owner(value:Number):void{
var oldValue:Object = this._106164915owner;
if (oldValue !== value){
this._106164915owner = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "owner", oldValue, value));
};
}
public function get src_small():String{
return (this._89081108src_small);
}
public function get aid():String{
return (this._96572aid);
}
public function get caption():String{
return (this._552573414caption);
}
public function set aid(value:String):void{
var oldValue:Object = this._96572aid;
if (oldValue !== value){
this._96572aid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "aid", oldValue, value));
};
}
}
}//package com.facebook.data.photos
Section 90
//GetAlbumsData (com.facebook.data.photos.GetAlbumsData)
package com.facebook.data.photos {
import com.facebook.data.*;
import mx.events.*;
public class GetAlbumsData extends FacebookData {
private var _1670051219albumCollection:AlbumCollection;
public function GetAlbumsData(){
super();
}
public function set albumCollection(value:AlbumCollection):void{
var oldValue:Object = this._1670051219albumCollection;
if (oldValue !== value){
this._1670051219albumCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "albumCollection", oldValue, value));
};
}
public function get albumCollection():AlbumCollection{
return (this._1670051219albumCollection);
}
}
}//package com.facebook.data.photos
Section 91
//GetCreateAlbumData (com.facebook.data.photos.GetCreateAlbumData)
package com.facebook.data.photos {
import com.facebook.data.*;
import mx.events.*;
public class GetCreateAlbumData extends FacebookData {
private var _248976057albumData:AlbumData;
public function GetCreateAlbumData(){
super();
}
public function get albumData():AlbumData{
return (this._248976057albumData);
}
public function set albumData(value:AlbumData):void{
var oldValue:Object = this._248976057albumData;
if (oldValue !== value){
this._248976057albumData = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "albumData", oldValue, value));
};
}
}
}//package com.facebook.data.photos
Section 92
//GetPhotosData (com.facebook.data.photos.GetPhotosData)
package com.facebook.data.photos {
import com.facebook.data.*;
import mx.events.*;
public class GetPhotosData extends FacebookData {
private var _1751633296photoCollection:PhotoCollection;
public function GetPhotosData(){
super();
}
public function get photoCollection():PhotoCollection{
return (this._1751633296photoCollection);
}
public function set photoCollection(value:PhotoCollection):void{
var oldValue:Object = this._1751633296photoCollection;
if (oldValue !== value){
this._1751633296photoCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "photoCollection", oldValue, value));
};
}
}
}//package com.facebook.data.photos
Section 93
//GetTagsData (com.facebook.data.photos.GetTagsData)
package com.facebook.data.photos {
import com.facebook.data.*;
import mx.events.*;
public class GetTagsData extends FacebookData {
private var _2107998615photoTagsCollection:PhotoTagCollection;
public function GetTagsData(){
super();
}
public function get photoTagsCollection():PhotoTagCollection{
return (this._2107998615photoTagsCollection);
}
public function set photoTagsCollection(value:PhotoTagCollection):void{
var oldValue:Object = this._2107998615photoTagsCollection;
if (oldValue !== value){
this._2107998615photoTagsCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "photoTagsCollection", oldValue, value));
};
}
}
}//package com.facebook.data.photos
Section 94
//PhotoCollection (com.facebook.data.photos.PhotoCollection)
package com.facebook.data.photos {
import com.facebook.utils.*;
public class PhotoCollection extends FacebookArrayCollection {
public function PhotoCollection(){
super(null, PhotoData);
}
public function addPhoto(photoData:PhotoData):void{
this.addItem(photoData);
}
}
}//package com.facebook.data.photos
Section 95
//PhotoData (com.facebook.data.photos.PhotoData)
package com.facebook.data.photos {
import flash.events.*;
import mx.events.*;
public class PhotoData implements IEventDispatcher {
private var _bindingEventDispatcher:EventDispatcher;
private var _1028554472created:Date;
private var _552573414caption:String;
private var _89081108src_small:String;
private var _1953179611src_big:String;
private var _3321850link:String;
private var _110987pid:String;
private var _96572aid:String;
private var _114148src:String;
private var _106164915owner:String;
public function PhotoData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get src():String{
return (this._114148src);
}
public function set src_big(value:String):void{
var oldValue:Object = this._1953179611src_big;
if (oldValue !== value){
this._1953179611src_big = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "src_big", oldValue, value));
};
}
public function get pid():String{
return (this._110987pid);
}
public function set caption(value:String):void{
var oldValue:Object = this._552573414caption;
if (oldValue !== value){
this._552573414caption = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "caption", oldValue, value));
};
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set pid(value:String):void{
var oldValue:Object = this._110987pid;
if (oldValue !== value){
this._110987pid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pid", oldValue, value));
};
}
public function set src(value:String):void{
var oldValue:Object = this._114148src;
if (oldValue !== value){
this._114148src = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "src", oldValue, value));
};
}
public function set src_small(value:String):void{
var oldValue:Object = this._89081108src_small;
if (oldValue !== value){
this._89081108src_small = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "src_small", oldValue, value));
};
}
public function set created(value:Date):void{
var oldValue:Object = this._1028554472created;
if (oldValue !== value){
this._1028554472created = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "created", oldValue, value));
};
}
public function set owner(value:String):void{
var oldValue:Object = this._106164915owner;
if (oldValue !== value){
this._106164915owner = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "owner", oldValue, value));
};
}
public function get link():String{
return (this._3321850link);
}
public function get src_big():String{
return (this._1953179611src_big);
}
public function get created():Date{
return (this._1028554472created);
}
public function get owner():String{
return (this._106164915owner);
}
public function set link(value:String):void{
var oldValue:Object = this._3321850link;
if (oldValue !== value){
this._3321850link = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "link", oldValue, value));
};
}
public function get caption():String{
return (this._552573414caption);
}
public function get src_small():String{
return (this._89081108src_small);
}
public function get aid():String{
return (this._96572aid);
}
public function set aid(value:String):void{
var oldValue:Object = this._96572aid;
if (oldValue !== value){
this._96572aid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "aid", oldValue, value));
};
}
}
}//package com.facebook.data.photos
Section 96
//PhotoTagCollection (com.facebook.data.photos.PhotoTagCollection)
package com.facebook.data.photos {
import com.facebook.utils.*;
public class PhotoTagCollection extends FacebookArrayCollection {
public function PhotoTagCollection(source:Array=null){
super(null, TagData);
}
public function addPhotoTag(tagData:TagData):void{
this.addItem(tagData);
}
}
}//package com.facebook.data.photos
Section 97
//TagData (com.facebook.data.photos.TagData)
package com.facebook.data.photos {
import flash.events.*;
import mx.events.*;
public class TagData implements IEventDispatcher {
private var _1867885268subject:String;
private var _1028554472created:Date;
protected var _actualY:Number;
protected var _actualX:Number;
private var _110987pid:String;
private var _1548659157tag_uid:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _763826510tag_text:String;
public function TagData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set y(value:Number):void{
var oldValue:Object = this.y;
if (oldValue !== value){
this._121y = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "y", oldValue, value));
};
}
public function set created(value:Date):void{
var oldValue:Object = this._1028554472created;
if (oldValue !== value){
this._1028554472created = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "created", oldValue, value));
};
}
public function set ycoord(value:Number):void{
var oldValue:Object = this.ycoord;
if (oldValue !== value){
this._735994340ycoord = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "ycoord", oldValue, value));
};
}
public function get tag_text():String{
return (this._763826510tag_text);
}
public function get pid():String{
return (this._110987pid);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
private function set _764623491xcoord(value:Number):void{
_actualX = value;
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set pid(value:String):void{
var oldValue:Object = this._110987pid;
if (oldValue !== value){
this._110987pid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pid", oldValue, value));
};
}
private function set _120x(value:Number):void{
_actualX = value;
}
public function get ycoord():Number{
return (_actualY);
}
private function set _121y(value:Number):void{
_actualY = value;
}
private function set _735994340ycoord(value:Number):void{
_actualY = value;
}
public function set subject(value:String):void{
var oldValue:Object = this._1867885268subject;
if (oldValue !== value){
this._1867885268subject = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "subject", oldValue, value));
};
}
public function get created():Date{
return (this._1028554472created);
}
public function get subject():String{
return (this._1867885268subject);
}
public function set tag_uid(value:String):void{
var oldValue:Object = this._1548659157tag_uid;
if (oldValue !== value){
this._1548659157tag_uid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "tag_uid", oldValue, value));
};
}
public function set x(value:Number):void{
var oldValue:Object = this.x;
if (oldValue !== value){
this._120x = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "x", oldValue, value));
};
}
public function get tag_uid():String{
return (this._1548659157tag_uid);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get x():Number{
return (_actualX);
}
public function get y():Number{
return (_actualY);
}
public function set xcoord(value:Number):void{
var oldValue:Object = this.xcoord;
if (oldValue !== value){
this._764623491xcoord = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "xcoord", oldValue, value));
};
}
public function set tag_text(value:String):void{
var oldValue:Object = this._763826510tag_text;
if (oldValue !== value){
this._763826510tag_text = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "tag_text", oldValue, value));
};
}
public function get xcoord():Number{
return (_actualX);
}
}
}//package com.facebook.data.photos
Section 98
//GetStatusData (com.facebook.data.status.GetStatusData)
package com.facebook.data.status {
import com.facebook.data.*;
import mx.events.*;
public class GetStatusData extends FacebookData {
private var _892481550status:Array;
public function GetStatusData(){
super();
}
public function get status():Array{
return (this._892481550status);
}
public function set status(value:Array):void{
var oldValue:Object = this._892481550status;
if (oldValue !== value){
this._892481550status = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "status", oldValue, value));
};
}
}
}//package com.facebook.data.status
Section 99
//Status (com.facebook.data.status.Status)
package com.facebook.data.status {
import flash.events.*;
import mx.events.*;
public class Status implements IEventDispatcher {
private var _954925063message:String;
private var _115792uid:String;
private var _2070199160status_id:String;
private var _3560141time:Date;
private var _bindingEventDispatcher:EventDispatcher;
private var _896505829source:String;
public function Status(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function set source(value:String):void{
var oldValue:Object = this._896505829source;
if (oldValue !== value){
this._896505829source = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "source", oldValue, value));
};
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get message():String{
return (this._954925063message);
}
public function get status_id():String{
return (this._2070199160status_id);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get time():Date{
return (this._3560141time);
}
public function set message(value:String):void{
var oldValue:Object = this._954925063message;
if (oldValue !== value){
this._954925063message = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "message", oldValue, value));
};
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get uid():String{
return (this._115792uid);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set status_id(value:String):void{
var oldValue:Object = this._2070199160status_id;
if (oldValue !== value){
this._2070199160status_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "status_id", oldValue, value));
};
}
public function set time(value:Date):void{
var oldValue:Object = this._3560141time;
if (oldValue !== value){
this._3560141time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "time", oldValue, value));
};
}
public function get source():String{
return (this._896505829source);
}
public function set uid(value:String):void{
var oldValue:Object = this._115792uid;
if (oldValue !== value){
this._115792uid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uid", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
}
}//package com.facebook.data.status
Section 100
//AttachmentData (com.facebook.data.stream.AttachmentData)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class AttachmentData implements IEventDispatcher {
private var _110371416title:String;
private var _3373707name:String;
private var _103772132media:Array;
private var _3211051href:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _102727412label:String;
private var _552573414caption:String;
private var _3029410body:String;
private var _1724546052description:String;
private var _3556653text:String;
private var _3226745icon:String;
public function AttachmentData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function get label():String{
return (this._102727412label);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get name():String{
return (this._3373707name);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function get body():String{
return (this._3029410body);
}
public function get href():String{
return (this._3211051href);
}
public function get text():String{
return (this._3556653text);
}
public function set title(value:String):void{
var oldValue:Object = this._110371416title;
if (oldValue !== value){
this._110371416title = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "title", oldValue, value));
};
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set body(value:String):void{
var oldValue:Object = this._3029410body;
if (oldValue !== value){
this._3029410body = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "body", oldValue, value));
};
}
public function set media(value:Array):void{
var oldValue:Object = this._103772132media;
if (oldValue !== value){
this._103772132media = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "media", oldValue, value));
};
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function set caption(value:String):void{
var oldValue:Object = this._552573414caption;
if (oldValue !== value){
this._552573414caption = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "caption", oldValue, value));
};
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set href(value:String):void{
var oldValue:Object = this._3211051href;
if (oldValue !== value){
this._3211051href = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "href", oldValue, value));
};
}
public function get title():String{
return (this._110371416title);
}
public function set text(value:String):void{
var oldValue:Object = this._3556653text;
if (oldValue !== value){
this._3556653text = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "text", oldValue, value));
};
}
public function get media():Array{
return (this._103772132media);
}
public function set label(value:String):void{
var oldValue:Object = this._102727412label;
if (oldValue !== value){
this._102727412label = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "label", oldValue, value));
};
}
public function get caption():String{
return (this._552573414caption);
}
public function set icon(value:String):void{
var oldValue:Object = this._3226745icon;
if (oldValue !== value){
this._3226745icon = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "icon", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set description(value:String):void{
var oldValue:Object = this._1724546052description;
if (oldValue !== value){
this._1724546052description = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, value));
};
}
public function get icon():String{
return (this._3226745icon);
}
public function get description():String{
return (this._1724546052description);
}
}
}//package com.facebook.data.stream
Section 101
//CommentsData (com.facebook.data.stream.CommentsData)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class CommentsData implements IEventDispatcher {
private var _126536785can_post:Boolean;
private var _bindingEventDispatcher:EventDispatcher;
private var _1294922797can_remove:Boolean;
private var _94851343count:uint;
private var _106855379posts:Array;
public function CommentsData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get count():uint{
return (this._94851343count);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get posts():Array{
return (this._106855379posts);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function get can_remove():Boolean{
return (this._1294922797can_remove);
}
public function set can_post(value:Boolean):void{
var oldValue:Object = this._126536785can_post;
if (oldValue !== value){
this._126536785can_post = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "can_post", oldValue, value));
};
}
public function set count(value:uint):void{
var oldValue:Object = this._94851343count;
if (oldValue !== value){
this._94851343count = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "count", oldValue, value));
};
}
public function set can_remove(value:Boolean):void{
var oldValue:Object = this._1294922797can_remove;
if (oldValue !== value){
this._1294922797can_remove = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "can_remove", oldValue, value));
};
}
public function set posts(value:Array):void{
var oldValue:Object = this._106855379posts;
if (oldValue !== value){
this._106855379posts = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "posts", oldValue, value));
};
}
public function get can_post():Boolean{
return (this._126536785can_post);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
}
}//package com.facebook.data.stream
Section 102
//GetCommentsData (com.facebook.data.stream.GetCommentsData)
package com.facebook.data.stream {
import com.facebook.data.*;
import mx.events.*;
public class GetCommentsData extends FacebookData {
private var _602415628comments:Array;
public function GetCommentsData(){
super();
}
public function set comments(value:Array):void{
var oldValue:Object = this._602415628comments;
if (oldValue !== value){
this._602415628comments = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "comments", oldValue, value));
};
}
public function get comments():Array{
return (this._602415628comments);
}
}
}//package com.facebook.data.stream
Section 103
//GetFiltersData (com.facebook.data.stream.GetFiltersData)
package com.facebook.data.stream {
import com.facebook.data.*;
import mx.events.*;
public class GetFiltersData extends FacebookData {
private var _854547461filters:StreamFilterCollection;
public function GetFiltersData(){
super();
}
public function get filters():StreamFilterCollection{
return (this._854547461filters);
}
public function set filters(value:StreamFilterCollection):void{
var oldValue:Object = this._854547461filters;
if (oldValue !== value){
this._854547461filters = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "filters", oldValue, value));
};
}
}
}//package com.facebook.data.stream
Section 104
//GetStreamData (com.facebook.data.stream.GetStreamData)
package com.facebook.data.stream {
import com.facebook.data.*;
import mx.events.*;
import com.facebook.data.photos.*;
public class GetStreamData extends FacebookData {
private var _1884266413stories:StreamStoryCollection;
private var _1415163932albums:AlbumCollection;
private var _1002263574profiles:ProfileCollection;
public function GetStreamData(){
super();
}
public function get albums():AlbumCollection{
return (this._1415163932albums);
}
public function set stories(value:StreamStoryCollection):void{
var oldValue:Object = this._1884266413stories;
if (oldValue !== value){
this._1884266413stories = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "stories", oldValue, value));
};
}
public function get profiles():ProfileCollection{
return (this._1002263574profiles);
}
public function set albums(value:AlbumCollection):void{
var oldValue:Object = this._1415163932albums;
if (oldValue !== value){
this._1415163932albums = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "albums", oldValue, value));
};
}
public function get stories():StreamStoryCollection{
return (this._1884266413stories);
}
public function set profiles(value:ProfileCollection):void{
var oldValue:Object = this._1002263574profiles;
if (oldValue !== value){
this._1002263574profiles = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "profiles", oldValue, value));
};
}
}
}//package com.facebook.data.stream
Section 105
//LikesData (com.facebook.data.stream.LikesData)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class LikesData implements IEventDispatcher {
private var _600094315friends:Array;
private var _3211051href:String;
private var _126661978can_like:Boolean;
private var _909675094sample:Array;
private var _94851343count:uint;
private var _bindingEventDispatcher:EventDispatcher;
private var _1928023624user_likes:Boolean;
public function LikesData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set can_like(value:Boolean):void{
var oldValue:Object = this._126661978can_like;
if (oldValue !== value){
this._126661978can_like = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "can_like", oldValue, value));
};
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function get count():uint{
return (this._94851343count);
}
public function set user_likes(value:Boolean):void{
var oldValue:Object = this._1928023624user_likes;
if (oldValue !== value){
this._1928023624user_likes = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "user_likes", oldValue, value));
};
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function set sample(value:Array):void{
var oldValue:Object = this._909675094sample;
if (oldValue !== value){
this._909675094sample = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "sample", oldValue, value));
};
}
public function get friends():Array{
return (this._600094315friends);
}
public function set href(value:String):void{
var oldValue:Object = this._3211051href;
if (oldValue !== value){
this._3211051href = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "href", oldValue, value));
};
}
public function get user_likes():Boolean{
return (this._1928023624user_likes);
}
public function set count(value:uint):void{
var oldValue:Object = this._94851343count;
if (oldValue !== value){
this._94851343count = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "count", oldValue, value));
};
}
public function get can_like():Boolean{
return (this._126661978can_like);
}
public function get sample():Array{
return (this._909675094sample);
}
public function set friends(value:Array):void{
var oldValue:Object = this._600094315friends;
if (oldValue !== value){
this._600094315friends = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "friends", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get href():String{
return (this._3211051href);
}
}
}//package com.facebook.data.stream
Section 106
//PhotoMedia (com.facebook.data.stream.PhotoMedia)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class PhotoMedia implements IEventDispatcher {
private var _bindingEventDispatcher:EventDispatcher;
private var _110987pid:String;
private var _100346066index:uint;
private var _96572aid:String;
private var _106164915owner:String;
public function PhotoMedia(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get pid():String{
return (this._110987pid);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get index():uint{
return (this._100346066index);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set pid(value:String):void{
var oldValue:Object = this._110987pid;
if (oldValue !== value){
this._110987pid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pid", oldValue, value));
};
}
public function set owner(value:String):void{
var oldValue:Object = this._106164915owner;
if (oldValue !== value){
this._106164915owner = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "owner", oldValue, value));
};
}
public function set index(value:uint):void{
var oldValue:Object = this._100346066index;
if (oldValue !== value){
this._100346066index = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "index", oldValue, value));
};
}
public function get owner():String{
return (this._106164915owner);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set aid(value:String):void{
var oldValue:Object = this._96572aid;
if (oldValue !== value){
this._96572aid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "aid", oldValue, value));
};
}
public function get aid():String{
return (this._96572aid);
}
}
}//package com.facebook.data.stream
Section 107
//PostCommentData (com.facebook.data.stream.PostCommentData)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class PostCommentData implements IEventDispatcher {
private var _1266097595fromid:String;
private var _3556653text:String;
private var _3560141time:Date;
private var _3355id:String;
private var _bindingEventDispatcher:EventDispatcher;
public function PostCommentData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function get fromid():String{
return (this._1266097595fromid);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set fromid(value:String):void{
var oldValue:Object = this._1266097595fromid;
if (oldValue !== value){
this._1266097595fromid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "fromid", oldValue, value));
};
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get time():Date{
return (this._3560141time);
}
public function set time(value:Date):void{
var oldValue:Object = this._3560141time;
if (oldValue !== value){
this._3560141time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "time", oldValue, value));
};
}
public function get id():String{
return (this._3355id);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set text(value:String):void{
var oldValue:Object = this._3556653text;
if (oldValue !== value){
this._3556653text = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "text", oldValue, value));
};
}
public function get text():String{
return (this._3556653text);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set id(value:String):void{
var oldValue:Object = this._3355id;
if (oldValue !== value){
this._3355id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "id", oldValue, value));
};
}
}
}//package com.facebook.data.stream
Section 108
//ProfileCollection (com.facebook.data.stream.ProfileCollection)
package com.facebook.data.stream {
import com.facebook.utils.*;
public class ProfileCollection extends FacebookArrayCollection {
public function ProfileCollection(){
super(null, ProfileData);
}
}
}//package com.facebook.data.stream
Section 109
//ProfileData (com.facebook.data.stream.ProfileData)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class ProfileData implements IEventDispatcher {
private var _bindingEventDispatcher:EventDispatcher;
private var _116079url:String;
private var _3373707name:String;
private var _1214494066pic_square:String;
private var _3355id:String;
public function ProfileData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function get id():String{
return (this._3355id);
}
public function set url(value:String):void{
var oldValue:Object = this._116079url;
if (oldValue !== value){
this._116079url = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "url", oldValue, value));
};
}
public function set pic_square(value:String):void{
var oldValue:Object = this._1214494066pic_square;
if (oldValue !== value){
this._1214494066pic_square = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_square", oldValue, value));
};
}
public function get url():String{
return (this._116079url);
}
public function get pic_square():String{
return (this._1214494066pic_square);
}
public function set id(value:String):void{
var oldValue:Object = this._3355id;
if (oldValue !== value){
this._3355id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "id", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
}
}//package com.facebook.data.stream
Section 110
//StreamFilterCollection (com.facebook.data.stream.StreamFilterCollection)
package com.facebook.data.stream {
import com.facebook.utils.*;
public class StreamFilterCollection extends FacebookArrayCollection {
public function StreamFilterCollection(){
super(null, StreamFilterData);
}
}
}//package com.facebook.data.stream
Section 111
//StreamFilterData (com.facebook.data.stream.StreamFilterData)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class StreamFilterData implements IEventDispatcher {
private var _737588055icon_url:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _3373707name:String;
private var _1967053405is_visible:Boolean;
private var _3575610type:String;
private var _115792uid:String;
private var _1552737000filter_key:String;
private var _3492908rank:uint;
private var _111972721value:String;
public function StreamFilterData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function set is_visible(value:Boolean):void{
var oldValue:Object = this._1967053405is_visible;
if (oldValue !== value){
this._1967053405is_visible = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "is_visible", oldValue, value));
};
}
public function set type(value:String):void{
var oldValue:Object = this._3575610type;
if (oldValue !== value){
this._3575610type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "type", oldValue, value));
};
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get type():String{
return (this._3575610type);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set icon_url(value:String):void{
var oldValue:Object = this._737588055icon_url;
if (oldValue !== value){
this._737588055icon_url = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "icon_url", oldValue, value));
};
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function get filter_key():String{
return (this._1552737000filter_key);
}
public function set rank(value:uint):void{
var oldValue:Object = this._3492908rank;
if (oldValue !== value){
this._3492908rank = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "rank", oldValue, value));
};
}
public function set uid(value:String):void{
var oldValue:Object = this._115792uid;
if (oldValue !== value){
this._115792uid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uid", oldValue, value));
};
}
public function set value(value:String):void{
var oldValue:Object = this._111972721value;
if (oldValue !== value){
this._111972721value = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "value", oldValue, value));
};
}
public function get is_visible():Boolean{
return (this._1967053405is_visible);
}
public function get icon_url():String{
return (this._737588055icon_url);
}
public function set filter_key(value:String):void{
var oldValue:Object = this._1552737000filter_key;
if (oldValue !== value){
this._1552737000filter_key = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "filter_key", oldValue, value));
};
}
public function get value():String{
return (this._111972721value);
}
public function get uid():String{
return (this._115792uid);
}
public function get rank():uint{
return (this._3492908rank);
}
}
}//package com.facebook.data.stream
Section 112
//StreamMediaData (com.facebook.data.stream.StreamMediaData)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class StreamMediaData implements IEventDispatcher {
private var _bindingEventDispatcher:EventDispatcher;
private var _3575610type:String;
private var _96681alt:String;
private var _3211051href:String;
private var _106642994photo:PhotoMedia;
private var _114148src:String;
private var _112202875video:VideoMedia;
public function StreamMediaData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get video():VideoMedia{
return (this._112202875video);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function toString():String{
return ([("type: " + type), ("href: " + href), ("src: " + src), ("alt: " + alt), ("photo: " + photo), ("video: " + video)].join(": "));
}
public function get src():String{
return (this._114148src);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set src(value:String):void{
var oldValue:Object = this._114148src;
if (oldValue !== value){
this._114148src = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "src", oldValue, value));
};
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function set alt(value:String):void{
var oldValue:Object = this._96681alt;
if (oldValue !== value){
this._96681alt = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "alt", oldValue, value));
};
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set href(value:String):void{
var oldValue:Object = this._3211051href;
if (oldValue !== value){
this._3211051href = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "href", oldValue, value));
};
}
public function get alt():String{
return (this._96681alt);
}
public function get href():String{
return (this._3211051href);
}
public function set type(value:String):void{
var oldValue:Object = this._3575610type;
if (oldValue !== value){
this._3575610type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "type", oldValue, value));
};
}
public function set video(value:VideoMedia):void{
var oldValue:Object = this._112202875video;
if (oldValue !== value){
this._112202875video = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "video", oldValue, value));
};
}
public function get photo():PhotoMedia{
return (this._106642994photo);
}
public function get type():String{
return (this._3575610type);
}
public function set photo(value:PhotoMedia):void{
var oldValue:Object = this._106642994photo;
if (oldValue !== value){
this._106642994photo = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "photo", oldValue, value));
};
}
}
}//package com.facebook.data.stream
Section 113
//StreamStoryCollection (com.facebook.data.stream.StreamStoryCollection)
package com.facebook.data.stream {
import com.facebook.utils.*;
public class StreamStoryCollection extends FacebookArrayCollection {
public function StreamStoryCollection(){
super(null, StreamStoryData);
}
}
}//package com.facebook.data.stream
Section 114
//StreamStoryData (com.facebook.data.stream.StreamStoryData)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class StreamStoryData implements IEventDispatcher {
private var _1650554971actor_id:String;
private var _954925063message:String;
private var _3575610type:uint;
private var _314498168privacy:String;
private var _1698410561source_id:String;
private var _bindingEventDispatcher:EventDispatcher;
private var _1963501277attachment:AttachmentData;
private var _815576439target_id:String;
private var _2003148228created_time:Date;
private var _1698418180sourceXML:XML;
private var _1411074055app_id:String;
private var _391211750post_id:String;
private var _602415628comments:CommentsData;
private var _102974396likes:LikesData;
private var _450004177metadata:Object;
private var _309882753attribution:String;
private var _472881199updated_time:Date;
private var _1552737000filter_key:String;
private var _1567543704viewer_id:String;
public function StreamStoryData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function set attribution(value:String):void{
var oldValue:Object = this._309882753attribution;
if (oldValue !== value){
this._309882753attribution = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "attribution", oldValue, value));
};
}
public function get message():String{
return (this._954925063message);
}
public function set created_time(value:Date):void{
var oldValue:Object = this._2003148228created_time;
if (oldValue !== value){
this._2003148228created_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "created_time", oldValue, value));
};
}
public function get target_id():String{
return (this._815576439target_id);
}
public function get sourceXML():XML{
return (this._1698418180sourceXML);
}
public function set message(value:String):void{
var oldValue:Object = this._954925063message;
if (oldValue !== value){
this._954925063message = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "message", oldValue, value));
};
}
public function get privacy():String{
return (this._314498168privacy);
}
public function set target_id(value:String):void{
var oldValue:Object = this._815576439target_id;
if (oldValue !== value){
this._815576439target_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "target_id", oldValue, value));
};
}
public function set privacy(value:String):void{
var oldValue:Object = this._314498168privacy;
if (oldValue !== value){
this._314498168privacy = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "privacy", oldValue, value));
};
}
public function get filter_key():String{
return (this._1552737000filter_key);
}
public function get post_id():String{
return (this._391211750post_id);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get actor_id():String{
return (this._1650554971actor_id);
}
public function get attachment():AttachmentData{
return (this._1963501277attachment);
}
public function get metadata():Object{
return (this._450004177metadata);
}
public function set filter_key(value:String):void{
var oldValue:Object = this._1552737000filter_key;
if (oldValue !== value){
this._1552737000filter_key = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "filter_key", oldValue, value));
};
}
public function set updated_time(value:Date):void{
var oldValue:Object = this._472881199updated_time;
if (oldValue !== value){
this._472881199updated_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "updated_time", oldValue, value));
};
}
public function set post_id(value:String):void{
var oldValue:Object = this._391211750post_id;
if (oldValue !== value){
this._391211750post_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "post_id", oldValue, value));
};
}
public function get type():uint{
return (this._3575610type);
}
public function get likes():LikesData{
return (this._102974396likes);
}
public function get source_id():String{
return (this._1698410561source_id);
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get created_time():Date{
return (this._2003148228created_time);
}
public function set actor_id(value:String):void{
var oldValue:Object = this._1650554971actor_id;
if (oldValue !== value){
this._1650554971actor_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "actor_id", oldValue, value));
};
}
public function set sourceXML(value:XML):void{
var oldValue:Object = this._1698418180sourceXML;
if (oldValue !== value){
this._1698418180sourceXML = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "sourceXML", oldValue, value));
};
}
public function set viewer_id(value:String):void{
var oldValue:Object = this._1567543704viewer_id;
if (oldValue !== value){
this._1567543704viewer_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "viewer_id", oldValue, value));
};
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function get updated_time():Date{
return (this._472881199updated_time);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function set attachment(value:AttachmentData):void{
var oldValue:Object = this._1963501277attachment;
if (oldValue !== value){
this._1963501277attachment = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "attachment", oldValue, value));
};
}
public function set metadata(value:Object):void{
var oldValue:Object = this._450004177metadata;
if (oldValue !== value){
this._450004177metadata = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "metadata", oldValue, value));
};
}
public function get viewer_id():String{
return (this._1567543704viewer_id);
}
public function set comments(value:CommentsData):void{
var oldValue:Object = this._602415628comments;
if (oldValue !== value){
this._602415628comments = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "comments", oldValue, value));
};
}
public function set app_id(value:String):void{
var oldValue:Object = this._1411074055app_id;
if (oldValue !== value){
this._1411074055app_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "app_id", oldValue, value));
};
}
public function set type(value:uint):void{
var oldValue:Object = this._3575610type;
if (oldValue !== value){
this._3575610type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "type", oldValue, value));
};
}
public function set likes(value:LikesData):void{
var oldValue:Object = this._102974396likes;
if (oldValue !== value){
this._102974396likes = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "likes", oldValue, value));
};
}
public function get app_id():String{
return (this._1411074055app_id);
}
public function get comments():CommentsData{
return (this._602415628comments);
}
public function set source_id(value:String):void{
var oldValue:Object = this._1698410561source_id;
if (oldValue !== value){
this._1698410561source_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "source_id", oldValue, value));
};
}
public function get attribution():String{
return (this._309882753attribution);
}
}
}//package com.facebook.data.stream
Section 115
//VideoMedia (com.facebook.data.stream.VideoMedia)
package com.facebook.data.stream {
import flash.events.*;
import mx.events.*;
public class VideoMedia implements IEventDispatcher {
private var _bindingEventDispatcher:EventDispatcher;
private var _1714674802display_url:String;
private var _1111107765source_url:String;
private var _106164915owner:String;
private var _668433131permalink:String;
public function VideoMedia(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get source_url():String{
return (this._1111107765source_url);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set source_url(value:String):void{
var oldValue:Object = this._1111107765source_url;
if (oldValue !== value){
this._1111107765source_url = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "source_url", oldValue, value));
};
}
public function set permalink(value:String):void{
var oldValue:Object = this._668433131permalink;
if (oldValue !== value){
this._668433131permalink = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "permalink", oldValue, value));
};
}
public function set display_url(value:String):void{
var oldValue:Object = this._1714674802display_url;
if (oldValue !== value){
this._1714674802display_url = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "display_url", oldValue, value));
};
}
public function set owner(value:String):void{
var oldValue:Object = this._106164915owner;
if (oldValue !== value){
this._106164915owner = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "owner", oldValue, value));
};
}
public function get permalink():String{
return (this._668433131permalink);
}
public function get display_url():String{
return (this._1714674802display_url);
}
public function get owner():String{
return (this._106164915owner);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
}
}//package com.facebook.data.stream
Section 116
//AffiliationCollection (com.facebook.data.users.AffiliationCollection)
package com.facebook.data.users {
import com.facebook.utils.*;
public class AffiliationCollection extends FacebookArrayCollection {
public function AffiliationCollection(){
super(null, AffiliationData);
}
public function addAffiliation(affiliationData:AffiliationData):void{
this.addItem(affiliationData);
}
}
}//package com.facebook.data.users
Section 117
//AffiliationData (com.facebook.data.users.AffiliationData)
package com.facebook.data.users {
import flash.events.*;
import mx.events.*;
public class AffiliationData implements IEventDispatcher {
private var _892481550status:String;
private var _3575610type:String;
private var _3373707name:String;
private var _3704893year:String;
private var _109065nid:Number;
private var _bindingEventDispatcher:EventDispatcher;
public function AffiliationData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get type():String{
return (this._3575610type);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get nid():Number{
return (this._109065nid);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set nid(value:Number):void{
var oldValue:Object = this._109065nid;
if (oldValue !== value){
this._109065nid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "nid", oldValue, value));
};
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function set status(value:String):void{
var oldValue:Object = this._892481550status;
if (oldValue !== value){
this._892481550status = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "status", oldValue, value));
};
}
public function get status():String{
return (this._892481550status);
}
public function set type(value:String):void{
var oldValue:Object = this._3575610type;
if (oldValue !== value){
this._3575610type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "type", oldValue, value));
};
}
public function set year(value:String):void{
var oldValue:Object = this._3704893year;
if (oldValue !== value){
this._3704893year = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "year", oldValue, value));
};
}
public function get year():String{
return (this._3704893year);
}
}
}//package com.facebook.data.users
Section 118
//FacebookUser (com.facebook.data.users.FacebookUser)
package com.facebook.data.users {
import com.facebook.data.*;
import mx.events.*;
public class FacebookUser extends FacebookData {
private var _160985414first_name:String;// = ""
private var _1194426210hs_info:String;
private var _1458126743pic_small_with_logo:String;
private var _113766sex:String;
private var _2076227591timezone:int;
private var _883056542meeting_sex:Array;
private var _213573361pic_with_logo:String;
private var _578385717pic_big:String;
private var _883068731meeting_for:Array;
private var _948399753quotes:String;
private var _2013122196last_name:String;// = ""
private var _1391670531education_history:Array;
private var _178029017profile_url:String;
private var _2082876945notes_count:int;
private var _1807033469affiliations:Array;
private var _1068259517movies:String;
private var _1678075120pic_big_with_logo:String;
private var _547435215religion:String;
private var _1762076142pic_small:String;
private var _1341293220hs1_name:String;
private var _432843422is_app_user:Boolean;
private var _1168278276isLoggedInUser:Boolean;
private var _1126443963current_location:FacebookLocation;
private var _1369922371hs2_name:String;
private var _776713425networkAffiliations:Array;
private var _2002886397has_added_app:Boolean;
private var _104263205music:String;
private var _2512963hometown_location:FacebookLocation;
private var _2025166887relationship_status:String;
private var _1214494066pic_square:String;
private var _1209746477hs2_id:int;
private var _1069376125birthday:String;
private var _3714tv:String;
private var _1478774426work_history:Array;
private var _1413913325profile_update_time:Date;
private var _1097462182locale:String;
private var _103846849email_hashes:Array;
private var _892481550status:StatusData;
private var _3373707name:String;// = ""
private var _1182884599pic_square_with_logo:String;
private var _115792uid:String;
private var _1209776268hs1_id:int;
private var _210452739political:String;
private var _110986pic:String;
private var _172288934proxied_email:String;
private var _1524435058grad_year:String;
private var _1332014026significant_other_id:int;
private var _2048605165activities:String;
private var _2059518005birthdayDate:Date;
private var _93921962books:String;
private var _2013968806wall_count:int;
private var _1619363722about_me:String;
private var _502611593interests:String;
public function FacebookUser():void{
super();
}
public function get timezone():int{
return (this._2076227591timezone);
}
public function set education_history(value:Array):void{
var oldValue:Object = this._1391670531education_history;
if (oldValue !== value){
this._1391670531education_history = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "education_history", oldValue, value));
};
}
public function set has_added_app(value:Boolean):void{
var oldValue:Object = this._2002886397has_added_app;
if (oldValue !== value){
this._2002886397has_added_app = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "has_added_app", oldValue, value));
};
}
public function get pic_small():String{
return (this._1762076142pic_small);
}
public function get notes_count():int{
return (this._2082876945notes_count);
}
public function set pic_big_with_logo(value:String):void{
var oldValue:Object = this._1678075120pic_big_with_logo;
if (oldValue !== value){
this._1678075120pic_big_with_logo = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_big_with_logo", oldValue, value));
};
}
public function set pic_small(value:String):void{
var oldValue:Object = this._1762076142pic_small;
if (oldValue !== value){
this._1762076142pic_small = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_small", oldValue, value));
};
}
public function get music():String{
return (this._104263205music);
}
public function set notes_count(value:int):void{
var oldValue:Object = this._2082876945notes_count;
if (oldValue !== value){
this._2082876945notes_count = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "notes_count", oldValue, value));
};
}
public function set pic_with_logo(value:String):void{
var oldValue:Object = this._213573361pic_with_logo;
if (oldValue !== value){
this._213573361pic_with_logo = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_with_logo", oldValue, value));
};
}
public function get significant_other_id():int{
return (this._1332014026significant_other_id);
}
public function get email_hashes():Array{
return (this._103846849email_hashes);
}
public function get hometown_location():FacebookLocation{
return (this._2512963hometown_location);
}
public function set music(value:String):void{
var oldValue:Object = this._104263205music;
if (oldValue !== value){
this._104263205music = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "music", oldValue, value));
};
}
public function get uid():String{
return (this._115792uid);
}
public function get wall_count():int{
return (this._2013968806wall_count);
}
public function get proxied_email():String{
return (this._172288934proxied_email);
}
public function set religion(value:String):void{
var oldValue:Object = this._547435215religion;
if (oldValue !== value){
this._547435215religion = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "religion", oldValue, value));
};
}
public function get sex():String{
return (this._113766sex);
}
public function set significant_other_id(value:int):void{
var oldValue:Object = this._1332014026significant_other_id;
if (oldValue !== value){
this._1332014026significant_other_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "significant_other_id", oldValue, value));
};
}
public function get meeting_sex():Array{
return (this._883056542meeting_sex);
}
public function get locale():String{
return (this._1097462182locale);
}
public function get birthday():String{
return (this._1069376125birthday);
}
public function get tv():String{
return (this._3714tv);
}
public function set email_hashes(value:Array):void{
var oldValue:Object = this._103846849email_hashes;
if (oldValue !== value){
this._103846849email_hashes = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "email_hashes", oldValue, value));
};
}
public function get interests():String{
return (this._502611593interests);
}
public function get name():String{
return (this._3373707name);
}
public function set movies(value:String):void{
var oldValue:Object = this._1068259517movies;
if (oldValue !== value){
this._1068259517movies = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "movies", oldValue, value));
};
}
public function get last_name():String{
return (this._2013122196last_name);
}
public function get is_app_user():Boolean{
return (this._432843422is_app_user);
}
public function get hs1_name():String{
return (this._1341293220hs1_name);
}
public function set uid(value:String):void{
var oldValue:Object = this._115792uid;
if (oldValue !== value){
this._115792uid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uid", oldValue, value));
};
}
public function set hometown_location(value:FacebookLocation):void{
var oldValue:Object = this._2512963hometown_location;
if (oldValue !== value){
this._2512963hometown_location = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "hometown_location", oldValue, value));
};
}
public function set hs2_name(value:String):void{
var oldValue:Object = this._1369922371hs2_name;
if (oldValue !== value){
this._1369922371hs2_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "hs2_name", oldValue, value));
};
}
public function set wall_count(value:int):void{
var oldValue:Object = this._2013968806wall_count;
if (oldValue !== value){
this._2013968806wall_count = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "wall_count", oldValue, value));
};
}
public function get books():String{
return (this._93921962books);
}
public function get first_name():String{
return (this._160985414first_name);
}
public function set proxied_email(value:String):void{
var oldValue:Object = this._172288934proxied_email;
if (oldValue !== value){
this._172288934proxied_email = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "proxied_email", oldValue, value));
};
}
public function set locale(value:String):void{
var oldValue:Object = this._1097462182locale;
if (oldValue !== value){
this._1097462182locale = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "locale", oldValue, value));
};
}
public function set meeting_sex(value:Array):void{
var oldValue:Object = this._883056542meeting_sex;
if (oldValue !== value){
this._883056542meeting_sex = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "meeting_sex", oldValue, value));
};
}
public function get meeting_for():Array{
return (this._883068731meeting_for);
}
public function get pic_big():String{
return (this._578385717pic_big);
}
public function set work_history(value:Array):void{
var oldValue:Object = this._1478774426work_history;
if (oldValue !== value){
this._1478774426work_history = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "work_history", oldValue, value));
};
}
public function get networkAffiliations():Array{
return (this._776713425networkAffiliations);
}
public function set sex(value:String):void{
var oldValue:Object = this._113766sex;
if (oldValue !== value){
this._113766sex = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "sex", oldValue, value));
};
}
public function set pic_square(value:String):void{
var oldValue:Object = this._1214494066pic_square;
if (oldValue !== value){
this._1214494066pic_square = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_square", oldValue, value));
};
}
public function set hs_info(value:String):void{
var oldValue:Object = this._1194426210hs_info;
if (oldValue !== value){
this._1194426210hs_info = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "hs_info", oldValue, value));
};
}
public function set hs1_id(value:int):void{
var oldValue:Object = this._1209776268hs1_id;
if (oldValue !== value){
this._1209776268hs1_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "hs1_id", oldValue, value));
};
}
public function get profile_update_time():Date{
return (this._1413913325profile_update_time);
}
public function set quotes(value:String):void{
var oldValue:Object = this._948399753quotes;
if (oldValue !== value){
this._948399753quotes = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "quotes", oldValue, value));
};
}
public function get pic_square_with_logo():String{
return (this._1182884599pic_square_with_logo);
}
public function set birthday(value:String):void{
var oldValue:Object = this._1069376125birthday;
if (oldValue !== value){
this._1069376125birthday = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "birthday", oldValue, value));
};
}
public function get isLoggedInUser():Boolean{
return (this._1168278276isLoggedInUser);
}
public function get political():String{
return (this._210452739political);
}
public function set tv(value:String):void{
var oldValue:Object = this._3714tv;
if (oldValue !== value){
this._3714tv = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "tv", oldValue, value));
};
}
public function set affiliations(value:Array):void{
var oldValue:Object = this._1807033469affiliations;
if (oldValue !== value){
this._1807033469affiliations = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "affiliations", oldValue, value));
};
}
public function get education_history():Array{
return (this._1391670531education_history);
}
public function get pic_with_logo():String{
return (this._213573361pic_with_logo);
}
public function set interests(value:String):void{
var oldValue:Object = this._502611593interests;
if (oldValue !== value){
this._502611593interests = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "interests", oldValue, value));
};
}
public function get has_added_app():Boolean{
return (this._2002886397has_added_app);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function get pic_big_with_logo():String{
return (this._1678075120pic_big_with_logo);
}
public function set pic(value:String):void{
var oldValue:Object = this._110986pic;
if (oldValue !== value){
this._110986pic = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic", oldValue, value));
};
}
public function set last_name(value:String):void{
var oldValue:Object = this._2013122196last_name;
if (oldValue !== value){
this._2013122196last_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "last_name", oldValue, value));
};
}
public function set grad_year(value:String):void{
var oldValue:Object = this._1524435058grad_year;
if (oldValue !== value){
this._1524435058grad_year = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "grad_year", oldValue, value));
};
}
public function set pic_small_with_logo(value:String):void{
var oldValue:Object = this._1458126743pic_small_with_logo;
if (oldValue !== value){
this._1458126743pic_small_with_logo = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_small_with_logo", oldValue, value));
};
}
public function get religion():String{
return (this._547435215religion);
}
public function set is_app_user(value:Boolean):void{
var oldValue:Object = this._432843422is_app_user;
if (oldValue !== value){
this._432843422is_app_user = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "is_app_user", oldValue, value));
};
}
public function set about_me(value:String):void{
var oldValue:Object = this._1619363722about_me;
if (oldValue !== value){
this._1619363722about_me = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "about_me", oldValue, value));
};
}
public function set hs1_name(value:String):void{
var oldValue:Object = this._1341293220hs1_name;
if (oldValue !== value){
this._1341293220hs1_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "hs1_name", oldValue, value));
};
}
public function get movies():String{
return (this._1068259517movies);
}
public function get hs2_name():String{
return (this._1369922371hs2_name);
}
public function set books(value:String):void{
var oldValue:Object = this._93921962books;
if (oldValue !== value){
this._93921962books = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "books", oldValue, value));
};
}
public function get work_history():Array{
return (this._1478774426work_history);
}
public function get hs_info():String{
return (this._1194426210hs_info);
}
public function get pic_square():String{
return (this._1214494066pic_square);
}
public function set first_name(value:String):void{
var oldValue:Object = this._160985414first_name;
if (oldValue !== value){
this._160985414first_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "first_name", oldValue, value));
};
}
public function set current_location(value:FacebookLocation):void{
var oldValue:Object = this._1126443963current_location;
if (oldValue !== value){
this._1126443963current_location = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "current_location", oldValue, value));
};
}
public function get hs1_id():int{
return (this._1209776268hs1_id);
}
public function get affiliations():Array{
return (this._1807033469affiliations);
}
public function get quotes():String{
return (this._948399753quotes);
}
public function get grad_year():String{
return (this._1524435058grad_year);
}
public function get pic_small_with_logo():String{
return (this._1458126743pic_small_with_logo);
}
public function get pic():String{
return (this._110986pic);
}
public function set pic_big(value:String):void{
var oldValue:Object = this._578385717pic_big;
if (oldValue !== value){
this._578385717pic_big = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_big", oldValue, value));
};
}
public function set networkAffiliations(value:Array):void{
var oldValue:Object = this._776713425networkAffiliations;
if (oldValue !== value){
this._776713425networkAffiliations = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "networkAffiliations", oldValue, value));
};
}
public function set birthdayDate(value:Date):void{
var oldValue:Object = this._2059518005birthdayDate;
if (oldValue !== value){
this._2059518005birthdayDate = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "birthdayDate", oldValue, value));
};
}
public function set hs2_id(value:int):void{
var oldValue:Object = this._1209746477hs2_id;
if (oldValue !== value){
this._1209746477hs2_id = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "hs2_id", oldValue, value));
};
}
public function get about_me():String{
return (this._1619363722about_me);
}
public function set relationship_status(value:String):void{
var oldValue:Object = this._2025166887relationship_status;
if (oldValue !== value){
this._2025166887relationship_status = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "relationship_status", oldValue, value));
};
}
public function set meeting_for(value:Array):void{
var oldValue:Object = this._883068731meeting_for;
if (oldValue !== value){
this._883068731meeting_for = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "meeting_for", oldValue, value));
};
}
public function set profile_url(value:String):void{
var oldValue:Object = this._178029017profile_url;
if (oldValue !== value){
this._178029017profile_url = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "profile_url", oldValue, value));
};
}
public function get current_location():FacebookLocation{
return (this._1126443963current_location);
}
public function get birthdayDate():Date{
return (this._2059518005birthdayDate);
}
public function get hs2_id():int{
return (this._1209746477hs2_id);
}
public function get relationship_status():String{
return (this._2025166887relationship_status);
}
public function set profile_update_time(value:Date):void{
var oldValue:Object = this._1413913325profile_update_time;
if (oldValue !== value){
this._1413913325profile_update_time = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "profile_update_time", oldValue, value));
};
}
public function get profile_url():String{
return (this._178029017profile_url);
}
public function set activities(value:String):void{
var oldValue:Object = this._2048605165activities;
if (oldValue !== value){
this._2048605165activities = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "activities", oldValue, value));
};
}
public function set status(value:StatusData):void{
var oldValue:Object = this._892481550status;
if (oldValue !== value){
this._892481550status = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "status", oldValue, value));
};
}
public function get activities():String{
return (this._2048605165activities);
}
public function set pic_square_with_logo(value:String):void{
var oldValue:Object = this._1182884599pic_square_with_logo;
if (oldValue !== value){
this._1182884599pic_square_with_logo = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "pic_square_with_logo", oldValue, value));
};
}
public function set timezone(value:int):void{
var oldValue:Object = this._2076227591timezone;
if (oldValue !== value){
this._2076227591timezone = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "timezone", oldValue, value));
};
}
public function set isLoggedInUser(value:Boolean):void{
var oldValue:Object = this._1168278276isLoggedInUser;
if (oldValue !== value){
this._1168278276isLoggedInUser = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "isLoggedInUser", oldValue, value));
};
}
public function get status():StatusData{
return (this._892481550status);
}
public function set political(value:String):void{
var oldValue:Object = this._210452739political;
if (oldValue !== value){
this._210452739political = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "political", oldValue, value));
};
}
}
}//package com.facebook.data.users
Section 119
//FacebookUserCollection (com.facebook.data.users.FacebookUserCollection)
package com.facebook.data.users {
import com.facebook.utils.*;
public class FacebookUserCollection extends FacebookArrayCollection {
public function FacebookUserCollection(){
super(null, FacebookUser);
}
public function getUserById(uid:int):FacebookUser{
return ((findItemByProperty("uid", uid) as FacebookUser));
}
public function addUser(user:FacebookUser):void{
addItem(user);
}
}
}//package com.facebook.data.users
Section 120
//GetInfoData (com.facebook.data.users.GetInfoData)
package com.facebook.data.users {
import com.facebook.data.*;
import mx.events.*;
public class GetInfoData extends FacebookData {
private var _986811191userCollection:FacebookUserCollection;
public function GetInfoData(){
super();
}
public function get userCollection():FacebookUserCollection{
return (this._986811191userCollection);
}
public function set userCollection(value:FacebookUserCollection):void{
var oldValue:Object = this._986811191userCollection;
if (oldValue !== value){
this._986811191userCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "userCollection", oldValue, value));
};
}
}
}//package com.facebook.data.users
Section 121
//GetStandardInfoData (com.facebook.data.users.GetStandardInfoData)
package com.facebook.data.users {
import com.facebook.data.*;
import mx.events.*;
public class GetStandardInfoData extends FacebookData {
private var _986811191userCollection:UserCollection;
public function GetStandardInfoData(){
super();
}
public function get userCollection():UserCollection{
return (this._986811191userCollection);
}
public function set userCollection(value:UserCollection):void{
var oldValue:Object = this._986811191userCollection;
if (oldValue !== value){
this._986811191userCollection = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "userCollection", oldValue, value));
};
}
}
}//package com.facebook.data.users
Section 122
//StatusData (com.facebook.data.users.StatusData)
package com.facebook.data.users {
public class StatusData {
public var time:Date;
public var message:String;
public function StatusData(){
super();
}
}
}//package com.facebook.data.users
Section 123
//UserCollection (com.facebook.data.users.UserCollection)
package com.facebook.data.users {
import com.facebook.utils.*;
public class UserCollection extends FacebookArrayCollection {
public function UserCollection(source:Array=null){
super(null, UserData);
}
}
}//package com.facebook.data.users
Section 124
//UserData (com.facebook.data.users.UserData)
package com.facebook.data.users {
import flash.events.*;
import mx.events.*;
public class UserData implements IEventDispatcher {
private var _bindingEventDispatcher:EventDispatcher;
private var _160985414first_name:String;
private var _3373707name:String;
private var _2013122196last_name:String;
private var _2076227591timezone:Number;
private var _115792uid:String;
private var _1700293062affiations:AffiliationCollection;
public function UserData(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function set timezone(value:Number):void{
var oldValue:Object = this._2076227591timezone;
if (oldValue !== value){
this._2076227591timezone = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "timezone", oldValue, value));
};
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get affiations():AffiliationCollection{
return (this._1700293062affiations);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function set affiations(value:AffiliationCollection):void{
var oldValue:Object = this._1700293062affiations;
if (oldValue !== value){
this._1700293062affiations = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "affiations", oldValue, value));
};
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function get uid():String{
return (this._115792uid);
}
public function get last_name():String{
return (this._2013122196last_name);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set uid(value:String):void{
var oldValue:Object = this._115792uid;
if (oldValue !== value){
this._115792uid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "uid", oldValue, value));
};
}
public function set last_name(value:String):void{
var oldValue:Object = this._2013122196last_name;
if (oldValue !== value){
this._2013122196last_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "last_name", oldValue, value));
};
}
public function set first_name(value:String):void{
var oldValue:Object = this._160985414first_name;
if (oldValue !== value){
this._160985414first_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "first_name", oldValue, value));
};
}
public function get timezone():Number{
return (this._2076227591timezone);
}
public function get first_name():String{
return (this._160985414first_name);
}
public function toString():String{
return ((((((((((((("[ UserData uid: " + uid) + " affiation:") + affiations) + " first_name:") + first_name) + " last_name:") + last_name) + " name:") + name) + " timezone: ") + timezone) + "]"));
}
}
}//package com.facebook.data.users
Section 125
//ArrayResultData (com.facebook.data.ArrayResultData)
package com.facebook.data {
import mx.events.*;
public class ArrayResultData extends FacebookData {
private var _682377174arrayResult:Array;
public function ArrayResultData(){
super();
}
public function set arrayResult(value:Array):void{
var oldValue:Object = this._682377174arrayResult;
if (oldValue !== value){
this._682377174arrayResult = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "arrayResult", oldValue, value));
};
}
public function get arrayResult():Array{
return (this._682377174arrayResult);
}
}
}//package com.facebook.data
Section 126
//BooleanResultData (com.facebook.data.BooleanResultData)
package com.facebook.data {
import mx.events.*;
public class BooleanResultData extends FacebookData {
private var _111972721value:Boolean;
public function BooleanResultData(){
super();
}
public function get value():Boolean{
return (this._111972721value);
}
public function set value(value:Boolean):void{
var oldValue:Object = this._111972721value;
if (oldValue !== value){
this._111972721value = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "value", oldValue, value));
};
}
}
}//package com.facebook.data
Section 127
//FacebookData (com.facebook.data.FacebookData)
package com.facebook.data {
import flash.events.*;
public class FacebookData extends EventDispatcher {
public var rawResult:String;
public function FacebookData(){
super();
}
}
}//package com.facebook.data
Section 128
//FacebookEducationInfo (com.facebook.data.FacebookEducationInfo)
package com.facebook.data {
import flash.events.*;
import mx.events.*;
public class FacebookEducationInfo implements IEventDispatcher {
private var _3373707name:String;
private var _1335595316degree:String;
private var _3704893year:String;
private var _157624742concentrations:Array;
private var _bindingEventDispatcher:EventDispatcher;
public function FacebookEducationInfo(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
concentrations = [];
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function set concentrations(value:Array):void{
var oldValue:Object = this._157624742concentrations;
if (oldValue !== value){
this._157624742concentrations = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "concentrations", oldValue, value));
};
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function get degree():String{
return (this._1335595316degree);
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function set degree(value:String):void{
var oldValue:Object = this._1335595316degree;
if (oldValue !== value){
this._1335595316degree = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "degree", oldValue, value));
};
}
public function get concentrations():Array{
return (this._157624742concentrations);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function set year(value:String):void{
var oldValue:Object = this._3704893year;
if (oldValue !== value){
this._3704893year = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "year", oldValue, value));
};
}
public function get year():String{
return (this._3704893year);
}
}
}//package com.facebook.data
Section 129
//FacebookErrorCodes (com.facebook.data.FacebookErrorCodes)
package com.facebook.data {
import flash.events.*;
public class FacebookErrorCodes implements IEventDispatcher {
private var _bindingEventDispatcher:EventDispatcher;
public static const API_EC_VERSION:Number = 12;
public static const API_EC_PERMISSION_DENIED:Number = 10;
public static const API_EC_HOST_UP:Number = 7;
public static const API_EC_SERVICE:Number = 2;
public static const API_EC_RATE:Number = 9;
public static const API_EC_METHOD:Number = 3;
public static const API_EC_HOST_API:Number = 6;
public static const API_EC_SUCCESS:Number = 0;
public static const SERVER_ERROR:Number = -1;
public static const API_EC_UNKNOWN:Number = 1;
public static const API_EC_DEPRECATED:Number = 11;
public static const API_EC_SECURE:Number = 8;
public static const API_EC_TOO_MANY_CALLS:Number = 4;
public static const API_EC_BAD_IP:Number = 5;
public function FacebookErrorCodes(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
}
}//package com.facebook.data
Section 130
//FacebookErrorReason (com.facebook.data.FacebookErrorReason)
package com.facebook.data {
import flash.events.*;
public class FacebookErrorReason implements IEventDispatcher {
private var _bindingEventDispatcher:EventDispatcher;
public static const CONNECT_TIMEOUT:String = "connectTimeout";
public static const LOAD_TIMEOUT:String = "loadTimeout";
public function FacebookErrorReason(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
}
}//package com.facebook.data
Section 131
//FacebookLocation (com.facebook.data.FacebookLocation)
package com.facebook.data {
import mx.events.*;
public class FacebookLocation extends FacebookData {
private var _957831062country:String;
private var _3053931city:String;
private var _120609zip:String;
private var _891990013street:String;
private var _109757585state:String;
public function FacebookLocation(){
super();
}
public function get zip():String{
return (this._120609zip);
}
public function set state(value:String):void{
var oldValue:Object = this._109757585state;
if (oldValue !== value){
this._109757585state = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "state", oldValue, value));
};
}
public function get street():String{
return (this._891990013street);
}
public function set city(value:String):void{
var oldValue:Object = this._3053931city;
if (oldValue !== value){
this._3053931city = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "city", oldValue, value));
};
}
public function set street(value:String):void{
var oldValue:Object = this._891990013street;
if (oldValue !== value){
this._891990013street = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "street", oldValue, value));
};
}
public function set zip(value:String):void{
var oldValue:Object = this._120609zip;
if (oldValue !== value){
this._120609zip = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "zip", oldValue, value));
};
}
public function get city():String{
return (this._3053931city);
}
public function get country():String{
return (this._957831062country);
}
public function get state():String{
return (this._109757585state);
}
public function set country(value:String):void{
var oldValue:Object = this._957831062country;
if (oldValue !== value){
this._957831062country = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "country", oldValue, value));
};
}
}
}//package com.facebook.data
Section 132
//FacebookNetwork (com.facebook.data.FacebookNetwork)
package com.facebook.data {
import flash.events.*;
import mx.events.*;
public class FacebookNetwork implements IEventDispatcher {
private var _892481550status:String;
private var _3575610type:String;
private var _3373707name:String;
private var _3704893year:String;
private var _109065nid:int;
private var _bindingEventDispatcher:EventDispatcher;
public function FacebookNetwork(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function get type():String{
return (this._3575610type);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function get nid():int{
return (this._109065nid);
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get name():String{
return (this._3373707name);
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function set nid(value:int):void{
var oldValue:Object = this._109065nid;
if (oldValue !== value){
this._109065nid = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "nid", oldValue, value));
};
}
public function set name(value:String):void{
var oldValue:Object = this._3373707name;
if (oldValue !== value){
this._3373707name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, value));
};
}
public function set status(value:String):void{
var oldValue:Object = this._892481550status;
if (oldValue !== value){
this._892481550status = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "status", oldValue, value));
};
}
public function get status():String{
return (this._892481550status);
}
public function set type(value:String):void{
var oldValue:Object = this._3575610type;
if (oldValue !== value){
this._3575610type = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "type", oldValue, value));
};
}
public function set year(value:String):void{
var oldValue:Object = this._3704893year;
if (oldValue !== value){
this._3704893year = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "year", oldValue, value));
};
}
public function get year():String{
return (this._3704893year);
}
}
}//package com.facebook.data
Section 133
//FacebookWorkInfo (com.facebook.data.FacebookWorkInfo)
package com.facebook.data {
import flash.events.*;
import mx.events.*;
public class FacebookWorkInfo implements IEventDispatcher {
private var _1901043637location:FacebookLocation;
private var _1725067410end_date:Date;
private var _1724546052description:String;
private var _1573629589start_date:Date;
private var _747804969position:String;
private var _1429880077company_name:String;
private var _bindingEventDispatcher:EventDispatcher;
public function FacebookWorkInfo(){
_bindingEventDispatcher = new EventDispatcher(IEventDispatcher(this));
super();
}
public function dispatchEvent(event:Event):Boolean{
return (_bindingEventDispatcher.dispatchEvent(event));
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void{
_bindingEventDispatcher.removeEventListener(type, listener, useCapture);
}
public function get company_name():String{
return (this._1429880077company_name);
}
public function set end_date(value:Date):void{
var oldValue:Object = this._1725067410end_date;
if (oldValue !== value){
this._1725067410end_date = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "end_date", oldValue, value));
};
}
public function set position(value:String):void{
var oldValue:Object = this._747804969position;
if (oldValue !== value){
this._747804969position = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "position", oldValue, value));
};
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, weakRef:Boolean=false):void{
_bindingEventDispatcher.addEventListener(type, listener, useCapture, priority, weakRef);
}
public function willTrigger(type:String):Boolean{
return (_bindingEventDispatcher.willTrigger(type));
}
public function set start_date(value:Date):void{
var oldValue:Object = this._1573629589start_date;
if (oldValue !== value){
this._1573629589start_date = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "start_date", oldValue, value));
};
}
public function get end_date():Date{
return (this._1725067410end_date);
}
public function set company_name(value:String):void{
var oldValue:Object = this._1429880077company_name;
if (oldValue !== value){
this._1429880077company_name = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "company_name", oldValue, value));
};
}
public function get position():String{
return (this._747804969position);
}
public function set location(value:FacebookLocation):void{
var oldValue:Object = this._1901043637location;
if (oldValue !== value){
this._1901043637location = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "location", oldValue, value));
};
}
public function get start_date():Date{
return (this._1573629589start_date);
}
public function hasEventListener(type:String):Boolean{
return (_bindingEventDispatcher.hasEventListener(type));
}
public function get location():FacebookLocation{
return (this._1901043637location);
}
public function set description(value:String):void{
var oldValue:Object = this._1724546052description;
if (oldValue !== value){
this._1724546052description = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "description", oldValue, value));
};
}
public function get description():String{
return (this._1724546052description);
}
}
}//package com.facebook.data
Section 134
//JSONResultData (com.facebook.data.JSONResultData)
package com.facebook.data {
import mx.events.*;
public class JSONResultData extends FacebookData {
private var _934426595result:Object;
public function JSONResultData(){
super();
}
public function set result(value:Object):void{
var oldValue:Object = this._934426595result;
if (oldValue !== value){
this._934426595result = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "result", oldValue, value));
};
}
public function get result():Object{
return (this._934426595result);
}
}
}//package com.facebook.data
Section 135
//NumberResultData (com.facebook.data.NumberResultData)
package com.facebook.data {
import mx.events.*;
public class NumberResultData extends FacebookData {
private var _111972721value:Number;
public function NumberResultData(){
super();
}
public function get value():Number{
return (this._111972721value);
}
public function set value(value:Number):void{
var oldValue:Object = this._111972721value;
if (oldValue !== value){
this._111972721value = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "value", oldValue, value));
};
}
}
}//package com.facebook.data
Section 136
//StringResultData (com.facebook.data.StringResultData)
package com.facebook.data {
import mx.events.*;
public class StringResultData extends FacebookData {
private var _111972721value:String;
public function StringResultData(){
super();
}
public function get value():String{
return (this._111972721value);
}
public function set value(value:String):void{
var oldValue:Object = this._111972721value;
if (oldValue !== value){
this._111972721value = value;
this.dispatchEvent(PropertyChangeEvent.createUpdateEvent(this, "value", oldValue, value));
};
}
}
}//package com.facebook.data
Section 137
//XMLDataParser (com.facebook.data.XMLDataParser)
package com.facebook.data {
import flash.events.*;
import com.facebook.errors.*;
import com.facebook.data.users.*;
import com.facebook.utils.*;
import com.adobe.serialization.json.*;
import com.facebook.data.status.*;
import com.facebook.data.fbml.*;
import com.facebook.data.data.*;
import com.facebook.data.notes.*;
import com.facebook.commands.data.*;
import com.facebook.data.application.*;
import com.facebook.data.feed.*;
import com.facebook.data.admin.*;
import com.facebook.data.events.*;
import com.facebook.data.friends.*;
import com.facebook.data.photos.*;
import com.facebook.data.pages.*;
import com.facebook.data.notifications.*;
import com.facebook.data.groups.*;
import com.facebook.data.auth.*;
import com.facebook.data.batch.*;
public class XMLDataParser implements IFacebookResultParser {
protected var fb_namespace:Namespace;
public function XMLDataParser(){
super();
fb_namespace = new Namespace("http://api.facebook.com/1.0/");
}
protected function parseSendEmail(xml:XML):ArrayResultData{
var arr:ArrayResultData = new ArrayResultData();
arr.arrayResult = FacebookXMLParserUtils.toArray(xml);
return (arr);
}
protected function parseGetPhotos(xml:XML):GetPhotosData{
var photo:*;
var photoData:PhotoData;
var getPhotosData:GetPhotosData = new GetPhotosData();
var photoCollection:PhotoCollection = new PhotoCollection();
for each (photo in xml..fb_namespace::photo) {
photoData = new PhotoData();
photoData.pid = photo.fb_namespace::pid;
photoData.aid = photo.fb_namespace::aid;
photoData.owner = photo.fb_namespace::owner;
photoData.src = photo.fb_namespace::src;
photoData.src_big = photo.fb_namespace::src_big;
photoData.src_small = photo.fb_namespace::src_small;
photoData.caption = photo.fb_namespace::caption;
photoData.created = FacebookXMLParserUtils.toDate(photo.fb_namespace::created);
photoCollection.addPhoto(photoData);
};
getPhotosData.photoCollection = photoCollection;
return (getPhotosData);
}
protected function parseGetNotifications(xml:XML):GetNotificationData{
var message:*;
var poke:*;
var share:*;
var messageData:NotificationMessageData;
var pokesData:NotificationPokeData;
var shareData:NotificationShareData;
var getNotificationData:GetNotificationData = new GetNotificationData();
var notificationCollection:NotificationCollection = new NotificationCollection();
for each (message in xml.fb_namespace::messages) {
messageData = new NotificationMessageData();
messageData.unread = message.fb_namespace::unread;
messageData.most_recent = message.fb_namespace::most_recent;
notificationCollection.addItem(messageData);
};
for each (poke in xml.fb_namespace::pokes) {
pokesData = new NotificationPokeData();
pokesData.unread = poke.fb_namespace::unread;
pokesData.most_recent = poke.fb_namespace::most_recent;
notificationCollection.addItem(pokesData);
};
for each (share in xml.fb_namespace::shares) {
shareData = new NotificationShareData();
shareData.unread = share.fb_namespace::unread;
shareData.most_recent = share.fb_namespace::most_recent;
notificationCollection.addItem(shareData);
};
getNotificationData.friendsRequests = FacebookXMLParserUtils.toUIDArray(xml.fb_namespace::friend_requests[0]);
getNotificationData.group_invites = FacebookXMLParserUtils.toUIDArray(xml.fb_namespace::group_invites[0]);
getNotificationData.event_invites = FacebookXMLParserUtils.toUIDArray(xml.fb_namespace::event_invites[0]);
getNotificationData.notificationCollection = notificationCollection;
return (getNotificationData);
}
public function createFacebookError(p_error:Object, p_result:String):FacebookError{
var error:FacebookError = new FacebookError();
error.rawResult = p_result;
error.errorCode = FacebookErrorCodes.SERVER_ERROR;
if ((p_error is Error)){
error.error = (p_error as Error);
} else {
error.errorEvent = (p_error as ErrorEvent);
};
return (error);
}
protected function getAffiliation(xml:XML):AffiliationCollection{
var aff:*;
var ad:AffiliationData;
var arr:AffiliationCollection = new AffiliationCollection();
for each (aff in xml..fb_namespace::afflication) {
ad = new AffiliationData();
ad.nid = aff.fb_namespace::nid;
ad.name = aff.fb_namespace::name;
ad.type = aff.fb_namespace::type;
ad.status = aff.fb_namespace::status;
ad.year = aff.fb_namespace::year;
arr.addAffiliation(ad);
};
return (arr);
}
protected function parseGetUserPreferences(xml:XML):GetUserPreferencesData{
var pref:*;
var pd:PreferenceData;
var getUserPreferenceData:GetUserPreferencesData = new GetUserPreferencesData();
var preferenceCollection:PreferenceCollection = new PreferenceCollection();
for each (pref in xml..fb_namespace::preference) {
pd = new PreferenceData();
pd.pref_id = pref.fb_namespace::pref_id;
pd.value = pref.fb_namespace::value;
preferenceCollection.addItem(pd);
};
getUserPreferenceData.perferenceCollection = preferenceCollection;
return (getUserPreferenceData);
}
public function parse(data:String, methodName:String):FacebookData{
var result:FacebookData;
var xml:XML = new XML(data);
switch (methodName){
case "application.getPublicInfo":
result = parseGetPublicInfo(xml);
break;
case "data.getCookies":
result = parseGetCookies(xml);
break;
case "admin.getAllocation":
result = parseGetAllocation(xml);
break;
case "admin.getAppProperties":
result = parseGetAppProperties(xml);
break;
case "admin.getMetrics":
result = parseGetMetrics(xml);
break;
case "auth.getSession":
result = new GetSessionData();
(result as GetSessionData).expires = FacebookXMLParserUtils.toDate(xml.fb_namespace::expires);
(result as GetSessionData).uid = FacebookXMLParserUtils.toStringValue(xml.fb_namespace::uid[0]);
(result as GetSessionData).session_key = xml.fb_namespace::session_key.toString();
(result as GetSessionData).secret = String(xml.fb_namespace::secret);
break;
case "feed.getRegisteredTemplateBundles":
result = parseGetRegisteredTemplateBundles(xml);
break;
case "friends.areFriends":
result = parseAreFriends(xml);
break;
case "notes.get":
result = parseGetNotes(xml);
break;
case "friends.get":
result = parseGetFriends(xml);
break;
case "friends.getAppUsers":
result = parseGetAppUsersData(xml);
break;
case "friends.getLists":
result = parseGetLists(xml);
break;
case "groups.get":
result = parseGetGroups(xml);
break;
case "data.getAssociationDefinitions":
result = new FacebookData();
break;
case "data.getAssociationDefinition":
result = new FacebookData();
break;
case "data.getObject":
case "data.getObjects":
result = new FacebookData();
break;
case "groups.getMembers":
result = parseGetGroupMembers(xml);
break;
case "users.getInfo":
result = parseGetInfo(xml);
break;
case "data.createObject":
case "data.setHashValue":
case "connect.getUnconnectedFriendsCount":
case "feed.registerTemplateBundle":
result = new NumberResultData();
(result as NumberResultData).value = FacebookXMLParserUtils.toNumber(xml);
break;
case "notifications.get":
result = parseGetNotifications(xml);
break;
case "feed.getRegisteredTemplateBundleByID":
result = parseGetRegisteredTemplateBundleByID(xml);
break;
case "users.getStandardInfo":
result = parseGetStandardInfo(xml);
break;
case "feed.getRegisteredTemplateBundles":
result = parseGetRegisteredTemplateBundles(xml);
break;
case "data.getUserPreferences":
result = parseGetUserPreferences(xml);
break;
case "users.isAppUser":
case "users.hasAppPermission":
case "users.setStatus":
case "pages.isFan":
case "pages.isAppAdded":
case "pages.isAdmin":
case "admin.setAppProperties":
case "auth.expireSession":
case "auth.revokeAuthorization":
case "events.cancel":
case "events.edit":
case "events.rsvp":
case "liveMessage.send":
case "data.undefineAssociation":
case "data.defineAssociation":
case "data.removeHashKeys":
case "data.removeHashKey":
case "data.incHashValue":
case "data.updateObject":
case "data.deleteObject":
case "data.deleteObjects":
case "data.renameAssociation":
case "data.setObjectProperty":
case "profile.setInfo":
case "profile.setInfoOptions":
case "feed.deactivateTemplateBundleByID":
case "feed.publishTemplatizedAction":
case "admin.setRestrictionInfo":
case "data.setCookie":
case "data.createObjectType":
case "notes.delete":
case "notes.edit":
case "data.setUserPreference":
case "data.dropObjectType":
case "data.renameObjectType":
case "fbml.registerCustomTags":
case "fbml.deleteCustomTags":
case "fbml.refreshRefUrl":
case "fbml.refreshImgSrc":
case "fbml.setRefHandle":
case "data.setUserPreferences":
case "data.defineObjectProperty":
case "photos.addTag":
case "stream.addLike":
case "stream.removeLike":
case "stream.removeComment":
result = new BooleanResultData();
(result as BooleanResultData).value = FacebookXMLParserUtils.toBoolean(xml);
break;
case "feed.publishUserAction":
result = new BooleanResultData();
(result as BooleanResultData).value = FacebookXMLParserUtils.toBoolean(xml.children()[0]);
break;
case "notifications.sendEmail":
result = parseSendEmail(xml);
break;
case "data.getObjectTypes":
result = parseGetObjectTypes(xml);
break;
case "users.getStandardInfo":
result = parseGetStandardInfo(xml);
break;
case "data.getObjectType":
result = parseGetObjectType(xml);
break;
case "events.get":
result = parseGetEvent(xml);
break;
case "events.getMembers":
result = parseGetMembers(xml);
break;
case "fql.query":
result = new FacebookData();
break;
case "photos.createAlbum":
result = parseCreateAlbum(xml);
break;
case "photos.get":
result = parseGetPhotos(xml);
break;
case "photos.getTags":
result = parseGetTags(xml);
break;
case "photos.getAlbums":
result = parseGetAlbums(xml);
break;
case "photos.upload":
result = parseFacebookPhoto(xml);
break;
case "pages.getInfo":
result = parsePageGetInfo(xml);
break;
case "batch.run":
result = parseBatchRun(xml);
break;
case "fbml.getCustomTags":
result = parseGetCustomTags(xml);
break;
case "connect.unregisterUsers":
case "connect.registerUsers":
result = new ArrayResultData();
(result as ArrayResultData).arrayResult = FacebookXMLParserUtils.toArray(xml);
break;
case "status.get":
result = parseGetStatus(xml);
break;
case "stream.get":
result = FacebookStreamXMLParser.createStream(xml, fb_namespace);
break;
case "stream.getComments":
result = FacebookStreamXMLParser.createGetCommentsData(xml, fb_namespace);
break;
case "stream.getFilters":
result = FacebookStreamXMLParser.createStreamFilterCollection(xml, fb_namespace);
break;
case "auth.createToken":
case "events.create":
case "links.post":
case "auth.promoteSession":
case "admin.getRestrictionInfo":
case "data.getObjectProperty":
case "notifications.send":
case "notes.create":
case "data.getUserPreference":
case "profile.setFBML":
case "users.getLoggedInUser":
case "stream.addComment":
default:
result = new StringResultData();
(result as StringResultData).value = FacebookXMLParserUtils.toStringValue(xml);
break;
};
result.rawResult = data;
return (result);
}
protected function parseGetStandardInfo(xml:XML):GetStandardInfoData{
var user:*;
var userData:UserData;
var getStandardData:GetStandardInfoData = new GetStandardInfoData();
var userCollection:UserCollection = new UserCollection();
for each (user in xml..fb_namespace::user) {
userData = new UserData();
userData.uid = user.fb_namespace::uid;
userData.affiations = getAffiliation(user.fb_namespace::affiliations);
userData.first_name = user.fb_namespace::first_name;
userData.last_name = user.fb_namespace::last_name;
userData.name = user.fb_namespace::name;
userData.timezone = user.fb_namespace::timezone;
userCollection.addItem(userData);
};
getStandardData.userCollection = userCollection;
return (getStandardData);
}
protected function parseGetAppProperties(xml:XML):GetAppPropertiesData{
var data:GetAppPropertiesData = new GetAppPropertiesData();
data.appProperties = JSON.decode(xml.toString());
return (data);
}
protected function parseGetRegisteredTemplateBundles(xml:XML):GetRegisteredTemplateBundleData{
var tempBundle:*;
var bundleData:GetRegisteredTemplateBundleData = new GetRegisteredTemplateBundleData();
var bundleCollection:TemplateBundleCollection = new TemplateBundleCollection();
var templateCollection:TemplateCollection = new TemplateCollection();
for each (tempBundle in xml..fb_namespace::template_bundle) {
getTemplate(tempBundle.fb_namespace::one_line_story_template, templateCollection);
getTemplate(tempBundle.fb_namespace::short_story_templates, templateCollection);
getTemplate(tempBundle.fb_namespace::full_story_template, templateCollection);
templateCollection.template_bundle_id = tempBundle.fb_namespace::template_bundle_id;
templateCollection.time_created = FacebookXMLParserUtils.toDate(tempBundle.fb_namespace::time_created);
};
bundleData.bundleCollection = templateCollection;
return (bundleData);
}
protected function parseGetRegisteredTemplateBundleByID(xml:XML):GetRegisteredTemplateBundleByIDData{
var getTemplateData:GetRegisteredTemplateBundleByIDData = new GetRegisteredTemplateBundleByIDData();
var templateCollection:TemplateCollection = new TemplateCollection();
getTemplate(xml.fb_namespace::one_line_story_template, templateCollection);
getTemplate(xml.fb_namespace::short_story_templates, templateCollection);
getTemplate(xml.fb_namespace::full_story_template, templateCollection);
templateCollection.template_bundle_id = xml.fb_namespace::template_bundle_id;
templateCollection.time_created = FacebookXMLParserUtils.toDate(xml.fb_namespace::time_created);
getTemplateData.templateCollection = templateCollection;
return (getTemplateData);
}
protected function responseNodeNameToMethodName(name:String):String{
var peices:Array = name.split("_");
peices.pop();
return (peices.join("."));
}
protected function parseGetObjectTypes(xml:XML):GetObjectTypesData{
var info:*;
var objectTypeData:ObjectTypesData;
var getObjectTypesData:GetObjectTypesData = new GetObjectTypesData();
var objectTypeCollection:ObjectTypesCollection = new ObjectTypesCollection();
for each (info in xml..fb_namespace::object_type_info) {
objectTypeData = new ObjectTypesData();
objectTypeData.name = info.fb_namespace::name;
objectTypeData.object_class = info.fb_namespace::object_class;
objectTypeCollection.addItem(objectTypeData);
};
getObjectTypesData.objectTypeCollection = objectTypeCollection;
return (getObjectTypesData);
}
protected function parseFacebookPhoto(xml:XML):FacebookPhoto{
var fbPhoto:FacebookPhoto = new FacebookPhoto();
fbPhoto.pid = FacebookXMLParserUtils.toStringValue(xml.fb_namespace::pid[0]);
fbPhoto.aid = FacebookXMLParserUtils.toStringValue(xml.fb_namespace::aid[0]);
fbPhoto.owner = FacebookXMLParserUtils.toNumber(xml.fb_namespace::owner[0]);
fbPhoto.src = FacebookXMLParserUtils.toStringValue(xml.fb_namespace::src[0]);
fbPhoto.src_big = FacebookXMLParserUtils.toStringValue(xml.fb_namespace::src_big[0]);
fbPhoto.src_small = FacebookXMLParserUtils.toStringValue(xml.fb_namespace::src_small[0]);
fbPhoto.link = FacebookXMLParserUtils.toStringValue(xml.fb_namespace::link[0]);
fbPhoto.caption = FacebookXMLParserUtils.toStringValue(xml.fb_namespace::caption[0]);
return (fbPhoto);
}
protected function parseGetObjectType(xml:XML):GetObjectTypeData{
var getObjectTypeData:GetObjectTypeData = new GetObjectTypeData();
getObjectTypeData.name = xml.fb_namespace::name;
getObjectTypeData.data_type = xml.fb_namespace::data_type;
getObjectTypeData.index_type = xml.fb_namespace::index_type;
return (getObjectTypeData);
}
protected function createTagObject(xml:XML, propList:Array){
var tagData:AbstractTagData;
var value:Object;
var l:Number = xml.children().length();
var type:String = xml.children()[0].toLowerCase();
if (type == "leaf"){
tagData = new LeafTagData(null, null, null, null, null);
(tagData as LeafTagData).fbml = xml.children()[9];
} else {
tagData = new ContainerTagData(null, null, null, null, null, null, null);
(tagData as ContainerTagData).open_tag_fbml = xml.children()[2];
(tagData as ContainerTagData).close_tag_fbml = xml.children()[4];
};
var i:Number = 0;
while (i < l) {
value = xml.children()[i];
switch (propList[i]){
case "name":
case "type":
case "description":
case "is_public":
case "header_fbml":
case "footer_fbml":
tagData[propList[i]] = value.text();
break;
case "attributes":
if ((value.children() is XMLList)){
if (value.children().length() == 0){
tagData[propList[i]] = null;
};
};
break;
};
i++;
};
return (tagData);
}
protected function parseGetNotes(xml:XML):GetNotesData{
var note:*;
var noteData:NoteData;
var getNotesData:GetNotesData = new GetNotesData();
var notesCollection:NotesCollection = new NotesCollection();
for each (note in xml..fb_namespace::note) {
noteData = new NoteData();
noteData.note_id = note.fb_namespace::note_id;
noteData.title = note.fb_namespace::title;
noteData.content = note.fb_namespace::content;
noteData.created_time = FacebookXMLParserUtils.toDate(note.fb_namespace::created_time);
noteData.updated_time = FacebookXMLParserUtils.toDate(note.fb_namespace::updated_time);
noteData.uid = note.fb_namespace::uid;
notesCollection.addItem(noteData);
};
getNotesData.notesCollection = notesCollection;
return (getNotesData);
}
protected function parseGetMetrics(xml:XML):GetMetricsData{
var metrix:*;
var metrixData:MetricsData;
var getMetricsData:GetMetricsData = new GetMetricsData();
var metrixCollection:MetricsDataCollection = new MetricsDataCollection();
for each (metrix in xml..fb_namespace::metrics) {
metrixData = new MetricsData();
metrixData.end_time = FacebookXMLParserUtils.toDate(metrix.fb_namespace::end_time);
metrixData.active_users = metrix.fb_namespace::active_users;
metrixData.canvas_page_views = metrix.fb_namespace::canvas_page_views;
metrixCollection.addItem(metrixData);
};
getMetricsData.metricsCollection = metrixCollection;
return (getMetricsData);
}
protected function parsePageGetInfo(xml:XML):GetPageInfoData{
var page:*;
var pageInfoData:PageInfoData;
var getPageInfoData:GetPageInfoData = new GetPageInfoData();
var pageInfoCollection:PageInfoCollection = new PageInfoCollection();
for each (page in xml.fb_namespace::page) {
pageInfoData = new PageInfoData();
pageInfoData.page_id = page.fb_namespace::page_id;
pageInfoData.name = page.fb_namespace::name;
pageInfoData.pic_small = page.fb_namespace::pic_small;
pageInfoData.pic_big = page.fb_namespace::pic_big;
pageInfoData.pic_square = page.fb_namespace::pic_square;
pageInfoData.pic_large = page.fb_namespace::pic_large;
pageInfoData.type = page.fb_namespace::type;
pageInfoData.website = page.fb_namespace::website;
pageInfoData.location = FacebookXMLParserUtils.createLocation(page.fb_namespace::location[0], fb_namespace);
pageInfoData.hours = page.fb_namespace::hours;
pageInfoData.band_members = page.fb_namespace::band_members;
pageInfoData.bio = page.fb_namespace::bio;
pageInfoData.hometown = page.fb_namespace::hometown;
pageInfoData.genre = FacebookXMLParserUtils.toStringValue(page.fb_namespace::genre[0]);
pageInfoData.record_label = page.fb_namespace::record_label;
pageInfoData.influences = page.fb_namespace::influences;
pageInfoData.has_added_app = FacebookXMLParserUtils.toBoolean(page.fb_namespace::has_added_app[0]);
pageInfoData.founded = page.fb_namespace::founded;
pageInfoData.company_overview = page.fb_namespace::company_overview;
pageInfoData.mission = page.fb_namespace::mission;
pageInfoData.products = page.fb_namespace::products;
pageInfoData.release_date = page.fb_namespace::release_date;
pageInfoData.starring = page.fb_namespace::starring;
pageInfoData.written_by = page.fb_namespace::written_by;
pageInfoData.directed_by = page.fb_namespace::directed_by;
pageInfoData.produced_by = page.fb_namespace::produced_by;
pageInfoData.studio = page.fb_namespace::studio;
pageInfoData.awards = page.fb_namespace::awards;
pageInfoData.plot_outline = page.fb_namespace::plot_outline;
pageInfoData.network = page.fb_namespace::network;
pageInfoData.season = page.fb_namespace::season;
pageInfoData.schedule = page.fb_namespace::schedule;
pageInfoCollection.addPageInfo(pageInfoData);
};
getPageInfoData.pageInfoCollection = pageInfoCollection;
return (getPageInfoData);
}
protected function parseGetTags(xml:XML):GetTagsData{
var photoTag:*;
var tagData:TagData;
var getTagsData:GetTagsData = new GetTagsData();
var photoTagCollection:PhotoTagCollection = new PhotoTagCollection();
for each (photoTag in xml..fb_namespace::photo_tag) {
tagData = new TagData();
tagData.pid = photoTag.fb_namespace::pid;
tagData.subject = photoTag.fb_namespace::subject;
tagData.xcoord = photoTag.fb_namespace::xcoord;
tagData.ycoord = photoTag.fb_namespace::ycoord;
tagData.created = FacebookXMLParserUtils.toDate(photoTag.fb_namespace::created);
photoTagCollection.addPhotoTag(tagData);
};
getTagsData.photoTagsCollection = photoTagCollection;
return (getTagsData);
}
protected function parseGetGroupMembers(xml:XML):GetMemberData{
var getMembersData:GetMemberData = new GetMemberData();
getMembersData.members = FacebookXMLParserUtils.toUIDArray(xml.fb_namespace::members[0]);
getMembersData.admins = FacebookXMLParserUtils.toUIDArray(xml.fb_namespace::admins[0]);
getMembersData.officers = FacebookXMLParserUtils.toUIDArray(xml.fb_namespace::officers[0]);
getMembersData.notReplied = FacebookXMLParserUtils.toUIDArray(xml.fb_namespace::not_replied[0]);
return (getMembersData);
}
protected function parseGetGroups(xml:XML):GetGroupData{
var group:*;
var groupDataVO:GroupData;
var getGroupData:GetGroupData = new GetGroupData();
var groupCollection:GroupCollection = new GroupCollection();
for each (group in xml..fb_namespace::group) {
groupDataVO = new GroupData();
groupDataVO.gid = group.fb_namespace::gid;
groupDataVO.name = group.fb_namespace::name;
groupDataVO.nid = group.fb_namespace::nid;
groupDataVO.description = group.fb_namespace::description;
groupDataVO.group_type = group.fb_namespace::group_type;
groupDataVO.group_subtype = group.fb_namespace::group_subtype;
groupDataVO.recent_news = group.fb_namespace::recent_news;
groupDataVO.pic = group.fb_namespace::pic;
groupDataVO.pic_big = group.fb_namespace::pic_big;
groupDataVO.pic_small = group.fb_namespace::pic_small;
groupDataVO.creator = group.fb_namespace::creator;
groupDataVO.update_time = FacebookXMLParserUtils.toDate(group.fb_namespace::update_time);
groupDataVO.office = group.fb_namespace::office;
groupDataVO.website = group.fb_namespace::website;
groupDataVO.venue = FacebookXMLParserUtils.createLocation(group.fb_namespace::venue[0], fb_namespace);
groupDataVO.privacy = group.fb_namespace::privacy;
groupCollection.addGroup(groupDataVO);
};
getGroupData.groups = groupCollection;
return (getGroupData);
}
protected function parseCreateAlbum(xml:XML):GetCreateAlbumData{
var getCreateAlbum:GetCreateAlbumData = new GetCreateAlbumData();
var ad:AlbumData = new AlbumData();
ad.aid = xml.fb_namespace::aid;
ad.cover_pid = xml.fb_namespace::cover_pid;
ad.owner = xml.fb_namespace::owner;
ad.name = xml.fb_namespace::name;
ad.created = FacebookXMLParserUtils.toDate(xml.fb_namespace::created);
ad.modified = FacebookXMLParserUtils.toDate(xml.fb_namespace::modified);
ad.description = xml.fb_namespace::description;
ad.location = xml.fb_namespace::location;
ad.link = xml.fb_namespace::link;
ad.size = xml.fb_namespace::size;
ad.visible = xml.fb_namespace::visible;
getCreateAlbum.albumData = ad;
return (getCreateAlbum);
}
protected function parseGetAllocation(result:XML):GetAllocationData{
var data:GetAllocationData = new GetAllocationData();
data.allocationLimit = Number(result.toString());
return (data);
}
protected function parseGetCookies(xml:XML):GetCookiesData{
var getCookiesData:GetCookiesData = new GetCookiesData();
getCookiesData.uid = xml.fb_namespace::uid;
getCookiesData.name = xml.fb_namespace::name;
getCookiesData.value = xml.fb_namespace::value;
getCookiesData.expires = xml.fb_namespace::expires;
getCookiesData.path = xml.fb_namespace::path;
return (getCookiesData);
}
protected function parseGetCustomTags(xml:XML):GetCustomTagsData{
var tag:*;
var propList:Array = ["type", "name", "open_tag_fbml", "description", "close_tag_fbml", "is_public", "attributes", "header_fbml", "footer_fbml", "fbml"];
var getCustomTagsData:GetCustomTagsData = new GetCustomTagsData();
var tagCollection:TagCollection = new TagCollection();
for each (tag in xml..fb_namespace::custom_tag) {
tagCollection.addItem(createTagObject(tag, propList));
};
getCustomTagsData.tagCollection = tagCollection;
return (getCustomTagsData);
}
protected function parseGetAlbums(xml:XML):GetAlbumsData{
var getAlbumsData:GetAlbumsData = new GetAlbumsData();
getAlbumsData.albumCollection = FacebookXMLParserUtils.createAlbumCollection(xml, fb_namespace);
return (getAlbumsData);
}
protected function parseGetInfo(xml:XML):GetInfoData{
var user:FacebookUser;
var collection:FacebookUserCollection = new FacebookUserCollection();
var users:XMLList = xml..fb_namespace::user;
var l:uint = users.length();
var i:uint;
while (i < l) {
user = FacebookUserXMLParser.createFacebookUser(users[i], fb_namespace);
collection.addItem(user);
i++;
};
var data:GetInfoData = new GetInfoData();
data.userCollection = collection;
return (data);
}
protected function parseGetLists(xml:XML):GetListsData{
var list:*;
var listData:ListsData;
var getListData:GetListsData = new GetListsData();
var friendsLists:Array = [];
for each (list in xml..fb_namespace::friendlist) {
listData = new ListsData();
listData.flid = list.fb_namespace::flid;
listData.name = list.fb_namespace::name;
friendsLists.push(listData);
};
getListData.lists = friendsLists;
return (getListData);
}
protected function parseGetAppUsersData(xml:XML):GetAppUserData{
var uids:Array = FacebookXMLParserUtils.toUIDArray(xml);
var appUserData:GetAppUserData = new GetAppUserData();
appUserData.uids = uids;
return (appUserData);
}
protected function parseGetStatus(xml:XML):GetStatusData{
var nodes:XMLList;
var stausNode:Status;
var gsd:GetStatusData = new GetStatusData();
var status:Array = [];
var children:XMLList = xml.children();
var l:uint = children.length();
var i:uint;
while (i < l) {
nodes = children[i].children();
stausNode = new Status();
stausNode.uid = FacebookXMLParserUtils.toStringValue(nodes[0]);
stausNode.status_id = FacebookXMLParserUtils.toStringValue(nodes[1]);
stausNode.time = FacebookXMLParserUtils.toDate(nodes[2]);
stausNode.source = FacebookXMLParserUtils.toStringValue(nodes[3]);
stausNode.message = FacebookXMLParserUtils.toStringValue(nodes[4]);
status.push(stausNode);
i++;
};
gsd.status = status;
return (gsd);
}
protected function parseGetMembers(xml:XML):GetMembersData{
var getMembersData:GetMembersData = new GetMembersData();
getMembersData.attending = FacebookXMLParserUtils.toUIDArray(xml..fb_namespace::attending[0]);
getMembersData.unsure = FacebookXMLParserUtils.toUIDArray(xml..fb_namespace::unsure[0]);
getMembersData.declined = FacebookXMLParserUtils.toUIDArray(xml..fb_namespace::declined[0]);
getMembersData.not_replied = FacebookXMLParserUtils.toUIDArray(xml..fb_namespace::not_replied[0]);
return (getMembersData);
}
protected function parseGetEvent(xml:XML):GetEventsData{
var event:*;
var eventData:EventData;
var getEventsData:GetEventsData = new GetEventsData();
var eventCollection:EventCollection = new EventCollection();
for each (event in xml..fb_namespace::event) {
eventData = new EventData();
eventData.eid = event.fb_namespace::eid;
eventData.name = event.fb_namespace::name;
eventData.tagline = event.fb_namespace::tagline;
eventData.nid = event.fb_namespace::nid;
eventData.pic = event.fb_namespace::pic;
eventData.pic_big = event.fb_namespace::pic_big;
eventData.pic_small = event.fb_namespace::pic_small;
eventData.host = event.fb_namespace::host;
eventData.description = event.fb_namespace::description;
eventData.event_type = event.fb_namespace::event_type;
eventData.event_subtype = event.fb_namespace::event_subtype;
eventData.start_time = FacebookXMLParserUtils.toDate(event.fb_namespace::start_time);
eventData.end_time = FacebookXMLParserUtils.toDate(event.fb_namespace::end_time);
eventData.creator = event.fb_namespace::end_time;
eventData.update_time = FacebookXMLParserUtils.toDate(event.fb_namespace::update_time);
eventData.location = event.fb_namespace::location;
eventData.venue = FacebookXMLParserUtils.createLocation(event.fb_namespace::venue[0], fb_namespace);
eventCollection.addItem(eventData);
};
getEventsData.eventCollection = eventCollection;
return (getEventsData);
}
protected function parseGetFriends(xml:XML):GetFriendsData{
var friend:*;
var fd:FacebookUser;
var getFriendsData:GetFriendsData = new GetFriendsData();
var myFriends:FacebookUserCollection = new FacebookUserCollection();
for each (friend in xml..fb_namespace::uid) {
fd = new FacebookUser();
fd.uid = friend;
myFriends.addItem(fd);
};
getFriendsData.friends = myFriends;
return (getFriendsData);
}
protected function parseGetPublicInfo(xml:XML):GetPublicInfoData{
var getPageInfoData:GetPublicInfoData = new GetPublicInfoData();
getPageInfoData.app_id = xml.fb_namespace::app_id;
getPageInfoData.api_key = xml.fb_namespace::api_key;
getPageInfoData.canvas_name = xml.fb_namespace::canvas_name;
getPageInfoData.display_name = xml.fb_namespace::display_name;
getPageInfoData.icon_url = xml.fb_namespace::icon_url;
getPageInfoData.logo_url = xml.fb_namespace::logo_url;
getPageInfoData.developers = xml.fb_namespace::developers;
getPageInfoData.company_name = xml.fb_namespace::company_name;
getPageInfoData.developers = xml.fb_namespace::developers;
getPageInfoData.daily_active_users = xml.fb_namespace::daily_active_users;
getPageInfoData.weekly_active_users = xml.fb_namespace::weekly_active_users;
getPageInfoData.monthly_active_users = xml.fb_namespace::monthly_active_users;
return (getPageInfoData);
}
protected function parseAreFriends(xml:XML):AreFriendsData{
var friend:*;
var friendData:FriendsData;
var areFriendsData:AreFriendsData = new AreFriendsData();
var friendsCollection:FriendsCollection = new FriendsCollection();
for each (friend in xml..fb_namespace::friend_info) {
friendData = new FriendsData();
friendData.uid1 = friend.fb_namespace::uid1;
friendData.uid2 = friend.fb_namespace::uid2;
friendData.are_friends = FacebookXMLParserUtils.toBoolean(friend.fb_namespace::are_friends);
friendsCollection.addItem(friendData);
};
areFriendsData.friendsCollection = friendsCollection;
return (areFriendsData);
}
public function validateFacebookResponce(result:String):FacebookError{
var xml:XML;
var xmlError:Error;
var result = result;
var error:FacebookError;
var hasXMLError:Boolean;
xml = new XML(result);
//unresolved jump
var _slot1 = e;
xmlError = _slot1;
hasXMLError = true;
if (hasXMLError == false){
if (xml.localName() == "error_response"){
error = new FacebookError();
error.rawResult = result;
error.errorCode = Number(xml.fb_namespace::error_code);
error.errorMsg = xml.fb_namespace::error_msg;
error.requestArgs = FacebookXMLParserUtils.xmlToUrlVariables(xml..arg);
};
return (error);
};
if (hasXMLError == true){
error = new FacebookError();
error.error = xmlError;
error.errorCode = -1;
};
return (error);
}
protected function parseBatchRun(xml:XML):FacebookData{
var resultString:String;
var resultXML:XML;
var error:FacebookError;
var methodName:String;
var data:FacebookData;
var results:XMLList = xml..fb_namespace::batch_run_response_elt;
var l:uint = results.length();
var parsedResults:Array = [];
var i:uint;
while (i < l) {
resultString = results[i].toString();
resultXML = new XML(resultString);
error = validateFacebookResponce(resultString);
if (error === null){
methodName = responseNodeNameToMethodName(resultXML.localName().toString());
data = parse(resultString, methodName);
parsedResults.push(data);
} else {
parsedResults.push(error);
};
i++;
};
var br:BatchResult = new BatchResult();
br.results = parsedResults;
return (br);
}
protected function getTemplate(xml:XMLList, templateCollection:TemplateCollection):void{
var temp:*;
var tmpData:TemplateData;
for each (temp in xml) {
tmpData = new TemplateData();
tmpData.type = temp.localName();
tmpData.template_body = temp.fb_namespace::template_body;
tmpData.template_title = temp.fb_namespace::template_title;
templateCollection.addTemplateData(tmpData);
};
}
}
}//package com.facebook.data
Section 138
//DesktopDelegate (com.facebook.delegates.DesktopDelegate)
package com.facebook.delegates {
import com.facebook.session.*;
import com.facebook.net.*;
public class DesktopDelegate extends WebDelegate {
public function DesktopDelegate(call:FacebookCall, session:DesktopSession){
super(call, session);
}
override protected function addOptionalArguments():void{
}
}
}//package com.facebook.delegates
Section 139
//IFacebookCallDelegate (com.facebook.delegates.IFacebookCallDelegate)
package com.facebook.delegates {
import flash.events.*;
import com.facebook.session.*;
import com.facebook.net.*;
public interface IFacebookCallDelegate extends IEventDispatcher {
function get session():IFacebookSession;
function close():void;
function set call(:FacebookCall):void;
function set session(:IFacebookSession):void;
function get call():FacebookCall;
}
}//package com.facebook.delegates
Section 140
//JSDelegate (com.facebook.delegates.JSDelegate)
package com.facebook.delegates {
import flash.events.*;
import com.facebook.data.*;
import com.facebook.errors.*;
import com.facebook.session.*;
import com.facebook.net.*;
import com.facebook.utils.*;
import com.adobe.serialization.json.*;
import com.facebook.*;
import flash.external.*;
public class JSDelegate extends EventDispatcher implements IFacebookCallDelegate {
protected var _call:FacebookCall;
protected var _session:JSSession;
protected static var externalInterfaceCalls:Object = {};
protected static var externalInterfaceCallId:Number = 0;
public function JSDelegate(call:FacebookCall, session:JSSession){
super();
this.call = call;
this.session = session;
execute();
}
public function set call(newVal:FacebookCall):void{
this._call = newVal;
}
protected function onReceiveError(event:ErrorEvent):void{
var fbError:FacebookError = new FacebookError();
fbError.errorEvent = event;
var _local3 = call;
_local3.facebook_internal::handleError(fbError);
}
public function get call():FacebookCall{
return (_call);
}
protected function postBridgeAsyncReply(result:Object, exception:Object, exCallId:uint):void{
var data:JSONResultData;
var error:FacebookError;
var call:FacebookCall = externalInterfaceCalls[exCallId];
if (result){
data = new JSONResultData();
data.result = result;
var _local7 = call;
_local7.facebook_internal::handleResult(data);
} else {
error = new FacebookError();
error.rawResult = JSON.encode(exception);
_local7 = call;
_local7.facebook_internal::handleError(error);
};
delete externalInterfaceCalls[exCallId];
}
protected function buildCall():String{
var n:String;
var jsCall:String;
var bridgeCallFunctionName:String = ("bridgeFacebookCall_" + externalInterfaceCallId);
RequestHelper.formatRequest(call);
var objectArgs:Object = {};
for (n in call.args) {
objectArgs[n] = call.args[n];
};
jsCall = (((((((((((((((("function " + bridgeCallFunctionName) + "() { ") + "FB.Facebook.apiClient.callMethod(\"") + call.method) + "\", ") + JavascriptRequestHelper.formatURLVariables(call.args)) + ", ") + "function(result, exception) {") + "document.") + (_session as JSSession).as_swf_name) + ".bridgeFacebookReply(result, exception, ") + externalInterfaceCallId) + ")") + "}") + ");") + "}");
return (jsCall);
}
protected function execute():void{
var o:Object;
var jsCall:String;
var a:Array = [];
for each (o in call.args) {
a.push(o);
};
var _local4 = ++externalInterfaceCallId;
externalInterfaceCalls[_local4] = call;
jsCall = buildCall();
ExternalInterface.addCallback("bridgeFacebookReply", postBridgeAsyncReply);
ExternalInterface.call(jsCall);
}
protected function onReceiveStatus(event:StatusEvent):void{
var _local2:FacebookError;
switch ((event.level == "error")){
case "error":
_local2 = new FacebookError();
_local2.rawResult = event.level;
var _local3 = call;
_local3.facebook_internal::handleError(_local2);
break;
case "warning":
case "status":
break;
};
}
public function set session(newVal:IFacebookSession):void{
this._session = (newVal as JSSession);
}
public function get session():IFacebookSession{
return (_session);
}
public function close():void{
}
}
}//package com.facebook.delegates
Section 141
//RequestHelper (com.facebook.delegates.RequestHelper)
package com.facebook.delegates {
import flash.net.*;
import flash.display.*;
import com.facebook.session.*;
import com.facebook.net.*;
import flash.utils.*;
import com.adobe.crypto.*;
public class RequestHelper {
protected static var callID:int = 0;
public function RequestHelper(){
super();
}
public static function formatRequest(call:FacebookCall):void{
var session:IFacebookSession = call.session;
call.setRequestArgument("v", session.api_version);
if (session.api_key != null){
call.setRequestArgument("api_key", session.api_key);
};
if (((!((session.session_key == null))) && (call.useSession))){
call.setRequestArgument("session_key", session.session_key);
};
var call_id:String = (new Date().time.toString() + callID++.toString());
call.setRequestArgument("call_id", call_id);
call.setRequestArgument("method", call.method);
call.setRequestArgument("sig", formatSig(call));
}
public static function formatSig(call:FacebookCall):String{
var p:String;
var s:String;
var arg:*;
var session:IFacebookSession = call.session;
var a:Array = [];
for (p in call.args) {
arg = call.args[p];
if (((((((((!((p === "sig"))) && (!((arg is ByteArray))))) && (!((arg is FileReference))))) && (!((arg is BitmapData))))) && (!((arg is Bitmap))))){
a.push(((p + "=") + arg.toString()));
};
};
a.sort();
s = a.join("");
if (session.secret != null){
s = (s + session.secret);
};
return (MD5.hash(s));
}
}
}//package com.facebook.delegates
Section 142
//WebDelegate (com.facebook.delegates.WebDelegate)
package com.facebook.delegates {
import com.facebook.events.*;
import flash.events.*;
import flash.net.*;
import com.facebook.data.*;
import com.facebook.errors.*;
import com.facebook.session.*;
import com.facebook.net.*;
import flash.utils.*;
public class WebDelegate extends EventDispatcher implements IFacebookCallDelegate {
protected var connectTimer:Timer;
protected var loader:URLLoader;
protected var _session:WebSession;
protected var parser:XMLDataParser;
protected var fileRef:FileReference;
protected var _call:FacebookCall;
protected var loadTimer:Timer;
public function WebDelegate(call:FacebookCall, session:WebSession){
super();
this.call = call;
this.session = session;
parser = new XMLDataParser();
connectTimer = new Timer(call.connectTimeout, 1);
connectTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onConnectTimeout, false, 0, true);
loadTimer = new Timer(call.loadTimeout, 1);
loadTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onLoadTimeOut, false, 0, true);
execute();
}
public function set call(newVal:FacebookCall):void{
_call = newVal;
}
protected function execute():void{
if (call == null){
throw (new Error("No call defined."));
};
post();
}
protected function createURLLoader():void{
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onDataComplete);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
loader.addEventListener(IOErrorEvent.IO_ERROR, onError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
loader.addEventListener(Event.OPEN, onOpen);
}
protected function onOpen(p_event:Event):void{
connectTimer.stop();
loadTimer.start();
}
protected function addOptionalArguments():void{
call.setRequestArgument("ss", true);
}
protected function onConnectTimeout(p_event:TimerEvent):void{
var fbError:FacebookError = new FacebookError();
fbError.errorCode = FacebookErrorCodes.SERVER_ERROR;
fbError.reason = FacebookErrorReason.CONNECT_TIMEOUT;
_call.handleError(fbError);
dispatchEvent(new FacebookEvent(FacebookEvent.COMPLETE, false, false, false, null, fbError));
loadTimer.stop();
close();
}
protected function clean():void{
connectTimer.stop();
loadTimer.stop();
if (loader == null){
return;
};
loader.removeEventListener(Event.COMPLETE, onDataComplete);
loader.removeEventListener(IOErrorEvent.IO_ERROR, onError);
loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
loader.removeEventListener(Event.OPEN, onOpen);
}
protected function onDataComplete(p_event:Event):void{
handleResult((p_event.target.data as String));
}
protected function onLoadTimeOut(p_event:TimerEvent):void{
connectTimer.stop();
close();
var fbError:FacebookError = new FacebookError();
fbError.errorCode = FacebookErrorCodes.SERVER_ERROR;
fbError.reason = FacebookErrorReason.LOAD_TIMEOUT;
_call.handleError(fbError);
dispatchEvent(new FacebookEvent(FacebookEvent.COMPLETE, false, false, false, null, fbError));
}
public function get session():IFacebookSession{
return (_session);
}
protected function post():void{
addOptionalArguments();
RequestHelper.formatRequest(call);
sendRequest();
connectTimer.start();
}
public function get call():FacebookCall{
return (_call);
}
protected function sendRequest():void{
createURLLoader();
var req:URLRequest = new URLRequest(_session.rest_url);
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = call.args;
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.load(req);
}
protected function onError(p_event:ErrorEvent):void{
clean();
var fbError:FacebookError = parser.createFacebookError(p_event, loader.data);
call.handleError(fbError);
dispatchEvent(new FacebookEvent(FacebookEvent.COMPLETE, false, false, false, null, fbError));
}
protected function handleResult(result:String):void{
var fbData:FacebookData;
clean();
var error:FacebookError = parser.validateFacebookResponce(result);
if (error == null){
fbData = parser.parse(result, call.method);
call.handleResult(fbData);
} else {
call.handleError(error);
};
}
public function close():void{
loader.close();
//unresolved jump
var _slot1 = e;
connectTimer.stop();
loadTimer.stop();
}
protected function onHTTPStatus(p_event:HTTPStatusEvent):void{
}
public function set session(newVal:IFacebookSession):void{
_session = (newVal as WebSession);
}
}
}//package com.facebook.delegates
Section 143
//WebImageUploadDelegate (com.facebook.delegates.WebImageUploadDelegate)
package com.facebook.delegates {
import flash.events.*;
import flash.net.*;
import com.facebook.errors.*;
import flash.display.*;
import com.facebook.session.*;
import com.facebook.net.*;
import com.facebook.utils.*;
import flash.utils.*;
import com.adobe.images.*;
import com.facebook.commands.photos.*;
public class WebImageUploadDelegate extends WebDelegate {
protected var ba:ByteArray;
protected var count:Number;// = 0
public function WebImageUploadDelegate(call:FacebookCall, session:WebSession){
ba = new ByteArray();
super(call, session);
}
protected function uploadByteArray(bytes:ByteArray):void{
var argIndexName:String;
var ext:String;
var postReq:PostRequest = new PostRequest();
for (argIndexName in call.args) {
if (argIndexName != "data"){
postReq.writePostData(argIndexName, call.args[argIndexName]);
};
};
ext = (((call as UploadPhoto).uploadType == UploadPhotoTypes.JPEG)) ? "jpeg" : "png";
postReq.writeFileData(((("fn" + call.args["call_id"]) + ".") + ext), bytes);
postReq.close();
var urlreq:URLRequest = new URLRequest();
urlreq.method = URLRequestMethod.POST;
urlreq.contentType = ("multipart/form-data; boundary=" + postReq.boundary);
urlreq.data = postReq.getPostData();
urlreq.url = _session.rest_url;
createURLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.load(urlreq);
connectTimer.start();
}
protected function onImageLoaded(p_event:Event):void{
fileRef = (call.args.data as FileReference);
uploadByteArray(fileRef["data"]);
}
override protected function onDataComplete(p_event:Event):void{
var error:FacebookError;
var result:String;
var ba:ByteArray = (p_event.target.data as ByteArray);
if (ba == null){
error = new FacebookError();
call.handleError(error);
clean();
} else {
result = ba.readUTFBytes(ba.length);
ba.length = 0;
ba = null;
handleResult(result);
};
}
override protected function sendRequest():void{
var data:ByteArray;
var _local4:JPGEncoder;
var urlReq:URLRequest = new URLRequest(_session.rest_url);
var imageData:Object = call.args.data;
if ((((PlayerUtils.majorVersion == 9)) && ((imageData is FileReference)))){
throw (new TypeError("Uploading FileReference with Player 9 is unsupported. Use either an BitmapData or ByteArray."));
};
if ((imageData is Bitmap)){
imageData = (imageData as Bitmap).bitmapData;
};
if ((((PlayerUtils.majorVersion == 10)) && ((imageData is FileReference)))){
data = (imageData as FileReference)["load"]();
fileRef = (imageData as FileReference);
fileRef.addEventListener(Event.COMPLETE, onImageLoaded);
} else {
if ((imageData is ByteArray)){
uploadByteArray((imageData as ByteArray));
} else {
if ((imageData is BitmapData)){
switch ((call as UploadPhoto).uploadType){
case UploadPhotoTypes.JPEG:
_local4 = new JPGEncoder((call as UploadPhoto).uploadQuality);
ba = _local4.encode((imageData as BitmapData));
break;
case UploadPhotoTypes.PNG:
ba = PNGEncoder.encode((imageData as BitmapData));
break;
};
uploadByteArray(ba);
} else {
throw (new Error((("Error data type " + call.args.data) + " is not supported. Please use one of the following types: FileReference, ByteArray, BitmapData or Bitmap.")));
};
};
};
}
}
}//package com.facebook.delegates
Section 144
//FacebookError (com.facebook.errors.FacebookError)
package com.facebook.errors {
import flash.events.*;
import flash.net.*;
import com.facebook.data.*;
public class FacebookError extends FacebookData {
public var errorMsg:String;
public var reason:String;
public var error:Error;
public var requestArgs:URLVariables;
public var errorCode:Number;
public var errorEvent:ErrorEvent;
public function FacebookError(){
super();
}
}
}//package com.facebook.errors
Section 145
//FacebookEvent (com.facebook.events.FacebookEvent)
package com.facebook.events {
import flash.events.*;
import com.facebook.data.*;
import com.facebook.errors.*;
public class FacebookEvent extends Event {
public var success:Boolean;
public var error:FacebookError;
public var hasPermission:Boolean;
public var data:FacebookData;
public var permission:String;
public static const PERMISSIONS_LOADED:String = "permissionsLoaded";
public static const LOGOUT:String = "logout";
public static const CONNECT:String = "connect";
public static const VERIFYING_SESSION:String = "verifyingSession";
public static const WAITING_FOR_LOGIN:String = "waitingForLogin";
public static const PERMISSION_CHANGE:String = "permissionChanged";
public static const PERMISSION_STATUS:String = "permissionStatus";
public static const LOGIN_SUCCESS:String = "loginSuccess";
public static const ERROR:String = "facebookEventError";
public static const PERMISSIONS_WINDOW_SHOW:String = "permissionsWindowShow";
public static const LOGIN_FAILURE:String = "loginFailure";
public static const LOGIN_WINDOW_SHOW:String = "loginWindoShow";
public static const COMPLETE:String = "complete";
public function FacebookEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, success:Boolean=false, data:FacebookData=null, error:FacebookError=null, permission:String="", hasPermission:Boolean=false){
this.success = success;
this.data = data;
this.error = error;
this.permission = permission;
this.hasPermission = hasPermission;
super(type, bubbles, cancelable);
}
override public function toString():String{
return (formatToString("FacebookEvent", "type", "success", "data", "error"));
}
override public function clone():Event{
return (new FacebookEvent(type, bubbles, cancelable, success, data, error));
}
}
}//package com.facebook.events
Section 146
//FacebookCall (com.facebook.net.FacebookCall)
package com.facebook.net {
import com.facebook.events.*;
import flash.events.*;
import flash.net.*;
import com.facebook.data.*;
import com.facebook.errors.*;
import com.facebook.session.*;
import com.facebook.delegates.*;
import com.facebook.*;
public class FacebookCall extends EventDispatcher {
public var success:Boolean;// = false
public var delegate:IFacebookCallDelegate;
public var error:FacebookError;
public var useSession:Boolean;// = true
public var session:IFacebookSession;
public var connectTimeout:uint;// = 8000
public var loadTimeout:uint;// = 30000
public var args:URLVariables;
public var method:String;
public var result:FacebookData;
public function FacebookCall(method:String="no_method_required", args:URLVariables=null){
super();
this.method = method;
this.args = ((args)!=null) ? args : new URLVariables();
}
facebook_internal function handleError(error:FacebookError):void{
this.error = error;
success = false;
dispatchEvent(new FacebookEvent(FacebookEvent.COMPLETE, false, false, false, null, error));
}
facebook_internal function initialize():void{
}
facebook_internal function handleResult(result:FacebookData):void{
this.result = result;
success = true;
dispatchEvent(new FacebookEvent(FacebookEvent.COMPLETE, false, false, true, result));
}
facebook_internal function setRequestArgument(name:String, value:Object):void{
if ((((value is Number)) && (isNaN((value as Number))))){
return;
};
if (((((name) && (!((value == null))))) && ((String(value).length > 0)))){
this.args[name] = value;
};
}
protected function applySchema(p_shema:Array, ... _args):void{
var l:uint = p_shema.length;
var i:uint;
while (i < l) {
setRequestArgument(p_shema[i], _args[i]);
i++;
};
}
facebook_internal function clearRequestArguments():void{
this.args = new URLVariables();
}
}
}//package com.facebook.net
Section 147
//DesktopSession (com.facebook.session.DesktopSession)
package com.facebook.session {
import com.facebook.events.*;
import flash.net.*;
import com.facebook.data.*;
import com.facebook.errors.*;
import com.facebook.net.*;
import com.facebook.delegates.*;
import com.facebook.commands.users.*;
import com.facebook.*;
import com.facebook.commands.auth.*;
import com.facebook.commands.photos.*;
import com.facebook.data.auth.*;
public class DesktopSession extends WebSession implements IFacebookSession {
protected var _auth_token:String;
protected var loginRequest:IFacebookCallDelegate;
protected var _waiting_for_login:Boolean;// = false
protected var _offline_access:Boolean;// = false
public function DesktopSession(api_key:String, secret:String=null, session_key:String=null){
super(api_key, null);
this._is_connected = false;
this._secret = secret;
if (session_key){
this._session_key = session_key;
};
}
override public function post(call:FacebookCall):IFacebookCallDelegate{
if (call.method == UploadPhoto.METHOD_NAME){
return (new WebImageUploadDelegate(call, this));
};
return (new DesktopDelegate(call, this));
}
override public function get waiting_for_login():Boolean{
return (_waiting_for_login);
}
protected function onLogin(p_event:FacebookEvent):void{
var request:URLRequest;
var loginParams:String;
p_event.target.removeEventListener(FacebookEvent.COMPLETE, onLogin);
if (p_event.success){
_auth_token = (p_event.data as StringResultData).value;
request = new URLRequest();
loginParams = "?";
if (_offline_access){
loginParams = (loginParams + "ext_perm=offline_access&");
};
request.url = (((((((login_url + loginParams) + "api_key=") + api_key) + "&v=") + api_version) + "&auth_token=") + _auth_token);
navigateToURL(request, "_blank");
_waiting_for_login = true;
dispatchEvent(new FacebookEvent(FacebookEvent.WAITING_FOR_LOGIN));
} else {
onConnectionError(p_event.error);
};
}
protected function onConnectionError(error:FacebookError):void{
_is_connected = false;
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, false, null, error));
}
protected function tokenCreated():void{
navigateToURL(new URLRequest(login_url));
}
override public function login(offline_access:Boolean):void{
_offline_access = offline_access;
_session_key = null;
var getSession:FacebookCall = new CreateToken();
getSession.session = this;
var _local3 = getSession;
_local3.facebook_internal::initialize();
getSession.addEventListener(FacebookEvent.COMPLETE, onLogin);
post(getSession);
}
protected function onVerifyLogin(event:FacebookEvent):void{
var successEvent:FacebookEvent;
successEvent = new FacebookEvent(FacebookEvent.CONNECT);
successEvent.success = event.success;
if (event.success){
facebook_internal::_uid = (event.data as StringResultData).value;
successEvent.data = event.data;
_is_connected = true;
} else {
successEvent.error = event.error;
_is_connected = false;
};
dispatchEvent(successEvent);
}
override public function verifySession():void{
var call:FacebookCall;
if (_session_key){
call = new GetLoggedInUser();
call.session = this;
var _local2 = call;
_local2.facebook_internal::initialize();
call.addEventListener(FacebookEvent.COMPLETE, onVerifyLogin, false, 0, true);
post(call);
dispatchEvent(new FacebookEvent(FacebookEvent.VERIFYING_SESSION));
} else {
_is_connected = false;
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT));
};
}
protected function validateSessionReply(event:FacebookEvent):void{
var result:GetSessionData;
if (event.success){
result = (event.data as GetSessionData);
facebook_internal::_uid = result.uid;
this._session_key = result.session_key;
this._expires = result.expires;
this._secret = ((((result.secret == null)) || ((result.secret == "")))) ? this._secret : result.secret;
_is_connected = true;
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true, result));
} else {
onConnectionError(event.error);
};
}
override public function refreshSession():void{
_waiting_for_login = false;
var call:GetSession = new GetSession(_auth_token);
call.session = this;
var _local2 = call;
_local2.facebook_internal::initialize();
call.addEventListener(FacebookEvent.COMPLETE, validateSessionReply);
post(call);
}
}
}//package com.facebook.session
Section 148
//IFacebookSession (com.facebook.session.IFacebookSession)
package com.facebook.session {
import flash.events.*;
import com.facebook.net.*;
import com.facebook.delegates.*;
public interface IFacebookSession extends IEventDispatcher {
function set secret(com.facebook.session:IFacebookSession/com.facebook.session:IFacebookSession:is_connected/get:String):void;
function get waiting_for_login():Boolean;
function refreshSession():void;
function get rest_url():String;
function post(com.facebook.session:IFacebookSession/com.facebook.session:IFacebookSession:waiting_for_login/get:FacebookCall):IFacebookCallDelegate;
function set rest_url(com.facebook.session:IFacebookSession/com.facebook.session:IFacebookSession:is_connected/get:String):void;
function login(com.facebook.session:IFacebookSession/com.facebook.session:IFacebookSession:is_connected/get:Boolean):void;
function set session_key(com.facebook.session:IFacebookSession/com.facebook.session:IFacebookSession:is_connected/get:String):void;
function get secret():String;
function get api_version():String;
function get expires():Date;
function get session_key():String;
function get uid():String;
function get api_key():String;
function get is_connected():Boolean;
function verifySession():void;
}
}//package com.facebook.session
Section 149
//JSSession (com.facebook.session.JSSession)
package com.facebook.session {
import com.facebook.events.*;
import flash.events.*;
import com.facebook.net.*;
import com.facebook.delegates.*;
import com.facebook.commands.users.*;
import com.facebook.*;
public class JSSession extends EventDispatcher implements IFacebookSession {
public var _api_key:String;
public var as_swf_name:String;
protected var _session_key:String;
public function JSSession(api_key:String, as_swf_name:String){
super();
this._api_key = api_key;
this.as_swf_name = as_swf_name;
}
public function get waiting_for_login():Boolean{
return (true);
}
public function get expires():Date{
return (null);
}
public function get rest_url():String{
return (null);
}
public function get session_key():String{
return (_session_key);
}
public function set rest_url(value:String):void{
}
public function refreshSession():void{
}
protected function onVerifyLogin(event:FacebookEvent):void{
if (event.success){
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true));
} else {
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, false));
};
}
public function get uid():String{
return (null);
}
public function get is_sessionless():Boolean{
return (true);
}
public function verifySession():void{
var call:FacebookCall = new GetLoggedInUser();
call.addEventListener(FacebookEvent.COMPLETE, onVerifyLogin);
call.session = this;
var _local2 = call;
_local2.facebook_internal::initialize();
post(call);
}
public function set secret(value:String):void{
}
public function login(offline_access:Boolean):void{
}
public function set session_key(p_key:String):void{
_session_key = p_key;
}
public function post(call:FacebookCall):IFacebookCallDelegate{
return (new JSDelegate(call, this));
}
public function get secret():String{
return (null);
}
public function get api_version():String{
return ("1.0");
}
public function get api_key():String{
return (_api_key);
}
public function get is_connected():Boolean{
return (true);
}
}
}//package com.facebook.session
Section 150
//WebSession (com.facebook.session.WebSession)
package com.facebook.session {
import com.facebook.events.*;
import flash.events.*;
import com.facebook.net.*;
import com.facebook.delegates.*;
import com.facebook.*;
import com.facebook.commands.photos.*;
public class WebSession extends EventDispatcher implements IFacebookSession {
facebook_internal var _uid:String;
protected var _is_connected:Boolean;// = false
public var login_url:String;// = "http://www.facebook.com/login.php"
protected var _secret:String;
protected var _rest_url:String;// = "http://api.facebook.com/restserver.php"
protected var _api_version:String;// = "1.0"
protected var _expires:Date;
protected var _session_key:String;
protected var _api_key:String;
public function WebSession(api_key:String, ss:String, session_key:String=null){
super();
this._api_key = api_key;
this._session_key = session_key;
this.secret = ss;
}
public function get waiting_for_login():Boolean{
return (false);
}
public function get rest_url():String{
return (_rest_url);
}
public function set rest_url(value:String):void{
_rest_url = value;
}
public function post(call:FacebookCall):IFacebookCallDelegate{
if (call.method == UploadPhoto.METHOD_NAME){
return (new WebImageUploadDelegate(call, this));
};
return (new WebDelegate(call, this));
}
public function get secret():String{
return (_secret);
}
public function get expires():Date{
return (_expires);
}
public function get api_key():String{
return (_api_key);
}
public function refreshSession():void{
}
public function get session_key():String{
return (_session_key);
}
public function get uid():String{
return (facebook_internal::_uid);
}
public function get api_version():String{
return (this._api_version);
}
public function get is_connected():Boolean{
return (_is_connected);
}
public function set secret(value:String):void{
_secret = value;
}
public function verifySession():void{
if (_session_key){
_is_connected = true;
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true));
} else {
_is_connected = false;
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, false));
};
}
public function set api_version(newVal:String):void{
this._api_version = newVal;
}
public function login(offline_access:Boolean):void{
}
public function set session_key(p_key:String):void{
_session_key = p_key;
}
}
}//package com.facebook.session
Section 151
//FacebookArrayCollection (com.facebook.utils.FacebookArrayCollection)
package com.facebook.utils {
import flash.events.*;
import flash.utils.*;
public class FacebookArrayCollection extends EventDispatcher {
protected var _source:Array;
protected var hash:Dictionary;
protected var _type:Class;
public function FacebookArrayCollection(source:Array=null, type:Class=null){
super();
reset();
_type = type;
initilizeSource(source);
}
protected function verifyIndex(index:uint):void{
if (_source.length < index){
throw (new RangeError((("Index: " + index) + ", is out of range.")));
};
}
public function addItem(item:Object):void{
addItemAt(item, length);
}
public function get length():int{
return (_source.length);
}
public function addItemAt(item:Object, index:uint):void{
if (hash[item] != null){
throw (new Error("Item already exists."));
};
if (((!((_type === null))) && (!((item is _type))))){
throw (new TypeError((("This collection requires " + _type) + " as the type.")));
};
hash[item] = true;
_source.splice(index, 0, item);
}
public function indexOf(item:Object):int{
return (_source.indexOf(item));
}
public function removeItemAt(index:uint):void{
verifyIndex(index);
var item:Object = _source[index];
delete hash[item];
_source.splice(index, 1);
}
public function getItemAt(index:uint):Object{
verifyIndex(index);
return (_source[index]);
}
override public function toString():String{
return (_source.join(", "));
}
public function reset():void{
hash = new Dictionary(true);
_source = [];
}
protected function initilizeSource(source:Array):void{
_source = [];
if (source == null){
return;
};
var l:uint = source.length;
var i:uint;
while (i < l) {
addItem(source[i]);
i++;
};
}
public function findItemByProperty(prop:String, value:Object, strict:Boolean=false):Object{
var obj:Object;
for (obj in hash) {
if (((((strict) && ((prop in obj)))) && ((obj[prop] === value)))){
return (obj);
};
if (((((!(strict)) && ((prop in obj)))) && ((obj[prop] == value)))){
return (obj);
};
};
return (null);
}
public function get type():Class{
return (_type);
}
public function get source():Array{
return (_source);
}
public function toArray():Array{
var newArr:Array = [];
var l:uint = length;
var i:uint;
while (i < l) {
newArr.push(getItemAt(i));
i++;
};
return (newArr);
}
public function contains(value:Object):Boolean{
return ((hash[value] === true));
}
}
}//package com.facebook.utils
Section 152
//FacebookDataUtils (com.facebook.utils.FacebookDataUtils)
package com.facebook.utils {
import com.adobe.serialization.json.*;
public class FacebookDataUtils {
public function FacebookDataUtils(){
super();
}
public static function toJSONValuesArray(array:Array):String{
if (array == null){
return (null);
};
var newArray:Array = [];
var l:Number = array.length;
var i:Number = 0;
while (i < l) {
newArray.push(JSON.encode(array[i]));
i++;
};
return (newArray.join(","));
}
public static function formatDate(string:String):Date{
var dateParts:Array;
var timeParts:Array;
if ((((string == "")) || ((string == null)))){
return (null);
};
var date:Date = new Date();
var parts:Array = string.split(" ");
if (parts.length == 2){
dateParts = parts[0].split("-");
timeParts = parts[1].split(":");
date.setFullYear(dateParts[0]);
date.setMonth((dateParts[1] - 1));
date.setDate(dateParts[2]);
date.setHours(timeParts[0]);
date.setMinutes(timeParts[1]);
date.setSeconds(timeParts[2]);
} else {
date.setTime((parseInt(string) * 1000));
};
return (date);
}
public static function facebookCollectionToJSONArray(value:FacebookArrayCollection):String{
if (value == null){
return (null);
};
return (JSON.encode(value.toArray()));
}
public static function toDateString(date:Date):String{
if (date == null){
return (null);
};
date.setDate((date.date + 1));
return (((date == null)) ? null : date.getTime().toString().slice(0, 10));
}
public static function supplantString(string:String, replaceObj:Object):String{
var n:String;
var str:String = string;
for (n in replaceObj) {
str = str.replace(new RegExp((("\\{" + n) + "\\}"), "g"), replaceObj[n]);
};
return (str);
}
public static function toArrayString(array:Array):String{
return (((array == null)) ? null : array.join(","));
}
}
}//package com.facebook.utils
Section 153
//FacebookSessionUtil (com.facebook.utils.FacebookSessionUtil)
package com.facebook.utils {
import com.facebook.events.*;
import flash.events.*;
import flash.net.*;
import flash.display.*;
import com.facebook.session.*;
import com.facebook.*;
import flash.system.*;
public class FacebookSessionUtil extends EventDispatcher {
protected var loaderInfo:LoaderInfo;
public var facebook:Facebook;
protected var secret:String;
protected var _activeSession:IFacebookSession;
protected var session_key:String;
protected var api_key:String;
public function FacebookSessionUtil(api_key:String, secret:String, loaderInfo:LoaderInfo){
super();
this.secret = ((secret == null)) ? loaderInfo.parameters.fb_sig_ss : secret;
this.api_key = api_key;
this.loaderInfo = loaderInfo;
var savedCreds:SharedObject = getStoredSession();
if (savedCreds.data.session_key){
session_key = savedCreds.data.session_key;
};
var flashVars:Object = ((loaderInfo)!=null) ? loaderInfo.parameters : {};
if (flashVars.fb_sig_session_key != null){
session_key = flashVars.fb_sig_session_key;
};
if ((((loaderInfo.url.slice(0, 5) == "file:")) || ((Capabilities.playerType == "Desktop")))){
_activeSession = new DesktopSession(api_key, this.secret);
} else {
if (((((flashVars.fb_sig_ss) && (flashVars.fb_sig_api_key))) && (flashVars.fb_sig_session_key))){
_activeSession = new WebSession(flashVars.fb_sig_api_key, flashVars.fb_sig_ss, flashVars.fb_sig_session_key);
(_activeSession as WebSession).facebook_internal::_uid = flashVars.fb_sig_user;
} else {
if (flashVars.as_app_name){
_activeSession = new JSSession(api_key, flashVars.as_app_name);
} else {
_activeSession = new DesktopSession(api_key, secret);
};
};
};
_activeSession.session_key = session_key;
_activeSession.addEventListener(FacebookEvent.VERIFYING_SESSION, onVerifyingSession);
facebook = new Facebook();
facebook.addEventListener(FacebookEvent.WAITING_FOR_LOGIN, handleWaitingForLogin);
facebook.addEventListener(FacebookEvent.CONNECT, onFacebookReady);
facebook.startSession(_activeSession);
}
protected function getStoredSession():SharedObject{
return (SharedObject.getLocal((api_key + "_stored_session")));
}
protected function handleWaitingForLogin(event:FacebookEvent):void{
dispatchEvent(event);
}
public function logout():void{
getStoredSession().clear();
getStoredSession().flush();
facebook.logout();
}
protected function onFacebookReady(event:FacebookEvent):void{
var storedSession:SharedObject;
if (facebook.session_key){
storedSession = getStoredSession();
storedSession.data.session_key = facebook.session_key;
storedSession.data.stored_secret = facebook.secret;
storedSession.flush(3000);
};
if (event){
dispatchEvent(event);
};
}
protected function onWaitingForLogin(event:FacebookEvent):void{
dispatchEvent(event);
}
public function validateLogin():void{
facebook.refreshSession();
}
public function get activeSession():IFacebookSession{
return (_activeSession);
}
public function login(offline_access:Boolean=true):void{
facebook.login(offline_access);
}
public function onVerifyingSession(event:FacebookEvent):void{
dispatchEvent(event);
}
public function verifySession():void{
_activeSession.verifySession();
}
protected function onVerifyLogin(event:FacebookEvent):void{
_activeSession.removeEventListener(FacebookEvent.CONNECT, onVerifyLogin);
if (event.success){
onFacebookReady(null);
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true));
} else {
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, false));
};
}
}
}//package com.facebook.utils
Section 154
//FacebookStreamXMLParser (com.facebook.utils.FacebookStreamXMLParser)
package com.facebook.utils {
import com.facebook.data.stream.*;
public class FacebookStreamXMLParser {
public function FacebookStreamXMLParser(){
super();
}
public static function createCommentsArray(source:XMLList, ns:Namespace):Array{
var c:XML;
var comment:PostCommentData;
var posts:Array = [];
var l:uint = source.length();
var i:uint;
while (i < l) {
c = source[i];
comment = new PostCommentData();
comment.fromid = FacebookXMLParserUtils.toStringValue(c.ns::fromid[0]);
comment.id = FacebookXMLParserUtils.toStringValue(c.ns::id[0]);
comment.text = FacebookXMLParserUtils.toStringValue(c.ns::text[0]);
comment.time = FacebookXMLParserUtils.toDate(c.ns::time[0]);
posts.push(comment);
i++;
};
return (posts);
}
protected static function createMediaArray(value:XML, ns:Namespace):Array{
var mediaXML:XML;
var smd:StreamMediaData;
if (value == null){
return (null);
};
var arr:Array = [];
var media:XMLList = value.children();
var l:uint = media.length();
var i:uint;
while (i < l) {
mediaXML = media[i];
smd = new StreamMediaData();
smd.type = FacebookXMLParserUtils.toStringValue(mediaXML.ns::type[0]);
smd.alt = FacebookXMLParserUtils.toStringValue(mediaXML.ns::alt[0]);
smd.href = FacebookXMLParserUtils.toStringValue(mediaXML.ns::href[0]);
smd.src = FacebookXMLParserUtils.toStringValue(mediaXML.ns::src[0]);
smd.video = createVideoMedia(mediaXML.ns::video[0], ns);
smd.photo = createPhotoMedia(mediaXML.ns::photo[0], ns);
arr.push(smd);
i++;
};
return (arr);
}
public static function createStreamFilterCollection(xml:XML, ns:Namespace):GetFiltersData{
var filter:XML;
var fd:StreamFilterData;
var gfd:GetFiltersData = new GetFiltersData();
var ssc:StreamFilterCollection = new StreamFilterCollection();
var filters:XMLList = xml..ns::stream_filter;
var l:uint = filters.length();
var i:uint;
while (i < l) {
filter = filters[i];
fd = new StreamFilterData();
fd.filter_key = FacebookXMLParserUtils.toStringValue(filter.ns::filter_key[0]);
fd.icon_url = FacebookXMLParserUtils.toStringValue(filter.ns::icon_url[0]);
fd.is_visible = FacebookXMLParserUtils.toBoolean(filter.ns::is_visible[0]);
fd.name = FacebookXMLParserUtils.toStringValue(filter.ns::name[0]);
fd.rank = FacebookXMLParserUtils.toNumber(filter.ns::rank[0]);
fd.type = FacebookXMLParserUtils.toStringValue(filter.ns::type[0]);
fd.uid = FacebookXMLParserUtils.toStringValue(filter.ns::uid[0]);
fd.value = FacebookXMLParserUtils.toStringValue(filter.ns::value[0]);
ssc.addItem(fd);
i++;
};
gfd.filters = ssc;
return (gfd);
}
protected static function createVideoMedia(value:XML, ns:Namespace):VideoMedia{
if (value == null){
return (null);
};
var vm:VideoMedia = new VideoMedia();
vm.display_url = FacebookXMLParserUtils.toStringValue(value.ns::display_url[0]);
vm.owner = FacebookXMLParserUtils.toStringValue(value.ns::owner[0]);
vm.permalink = FacebookXMLParserUtils.toStringValue(value.ns::permalink[0]);
vm.source_url = FacebookXMLParserUtils.toStringValue(value.ns::source_url[0]);
return (vm);
}
protected static function createComments(source:XML, ns:Namespace):CommentsData{
var comments:CommentsData = new CommentsData();
comments.can_remove = FacebookXMLParserUtils.toBoolean(source.ns::can_remove[0]);
comments.can_post = FacebookXMLParserUtils.toBoolean(source.ns::can_post[0]);
comments.count = FacebookXMLParserUtils.toNumber(source.ns::count[0]);
var postsXML:XMLList = source.ns::posts.children();
comments.posts = createCommentsArray(postsXML, ns);
return (comments);
}
public static function createGetCommentsData(source:XML, ns:Namespace):GetCommentsData{
var postsXML:XMLList = source..ns::comment;
var gcd:GetCommentsData = new GetCommentsData();
gcd.comments = createCommentsArray(postsXML, ns);
return (gcd);
}
public static function createStream(source:XML, ns:Namespace):GetStreamData{
var l:uint;
var i:uint;
var ssx:XML;
var ss:StreamStoryData;
var attachmentXML:XML;
var attachment:AttachmentData;
var likesData:LikesData;
var likesXML:XML;
var privacy:XML;
var profile:ProfileData;
var profXml:XML;
var gsd:GetStreamData = new GetStreamData();
var streamStories:StreamStoryCollection = new StreamStoryCollection();
var profiles:ProfileCollection = new ProfileCollection();
gsd.stories = streamStories;
gsd.profiles = profiles;
var storyStreams:XMLList = source.ns::posts.children();
l = storyStreams.length();
i = 0;
while (i < l) {
ssx = storyStreams[i];
ss = new StreamStoryData();
ss.sourceXML = ssx;
attachmentXML = ssx.ns::attachment[0];
attachment = new AttachmentData();
attachment.name = FacebookXMLParserUtils.toStringValue(attachmentXML.ns::name[0]);
attachment.text = FacebookXMLParserUtils.toStringValue(attachmentXML.ns::text[0]);
attachment.body = FacebookXMLParserUtils.toStringValue(attachmentXML.ns::body[0]);
attachment.icon = FacebookXMLParserUtils.toStringValue(attachmentXML.ns::icon[0]);
attachment.label = FacebookXMLParserUtils.toStringValue(attachmentXML.ns::label[0]);
attachment.media = createMediaArray(attachmentXML.ns::media[0], ns);
attachment.title = FacebookXMLParserUtils.toStringValue(attachmentXML.ns::title[0]);
attachment.href = FacebookXMLParserUtils.toStringValue(attachmentXML.ns::href[0]);
attachment.caption = FacebookXMLParserUtils.toStringValue(attachmentXML.ns::caption[0]);
ss.attachment = attachment;
ss.actor_id = FacebookXMLParserUtils.toStringValue(ssx.ns::actor_id[0]);
ss.comments = createComments(ssx.ns::comments[0], ns);
likesData = new LikesData();
likesXML = ssx.ns::likes[0];
likesData.can_like = FacebookXMLParserUtils.toBoolean(likesXML.ns::can_like[0]);
likesData.user_likes = FacebookXMLParserUtils.toBoolean(likesXML.ns::user_likes[0]);
likesData.count = FacebookXMLParserUtils.toNumber(likesXML.ns::count[0]);
likesData.friends = FacebookXMLParserUtils.toUIDArray(likesXML.ns::friends[0]);
likesData.sample = FacebookXMLParserUtils.toUIDArray(likesXML.ns::sample[0]);
likesData.href = FacebookXMLParserUtils.toStringValue(likesXML.ns::href[0]);
ss.likes = likesData;
ss.attribution = FacebookXMLParserUtils.toStringValue(ssx.attribution[0]);
ss.app_id = FacebookXMLParserUtils.toStringValue(ssx.app_id[0]);
ss.metadata = FacebookXMLParserUtils.nodeToObject(ssx.ns::metadata);
ss.message = FacebookXMLParserUtils.toStringValue(ssx.ns::message[0]);
ss.source_id = FacebookXMLParserUtils.toStringValue(ssx.ns::source_id[0]);
ss.target_id = FacebookXMLParserUtils.toStringValue(ssx.ns::target_id[0]);
ss.post_id = FacebookXMLParserUtils.toStringValue(ssx.ns::post_id[0]);
ss.updated_time = FacebookXMLParserUtils.toDate(ssx.ns::updated_time[0]);
ss.created_time = FacebookXMLParserUtils.toDate(ssx.ns::created_time[0]);
ss.type = FacebookXMLParserUtils.toNumber(ssx.ns::type[0]);
ss.viewer_id = FacebookXMLParserUtils.toStringValue(ssx.ns::viewer_id[0]);
privacy = ssx.ns::privacy[0];
ss.privacy = FacebookXMLParserUtils.toStringValue(privacy.ns::value[0]);
ss.filter_key = FacebookXMLParserUtils.toStringValue(ssx.ns::filter_key[0]);
streamStories.addItem(ss);
i++;
};
var profilesXml:XMLList = source.ns::profiles.children();
l = profilesXml.length();
i = 0;
while (i < l) {
profile = new ProfileData();
profXml = profilesXml[i];
profile.id = FacebookXMLParserUtils.toStringValue(profXml.ns::id[0]);
profile.name = FacebookXMLParserUtils.toStringValue(profXml.ns::name[0]);
profile.pic_square = FacebookXMLParserUtils.toStringValue(profXml.ns::pic_square[0]);
profile.url = FacebookXMLParserUtils.toStringValue(profXml.ns::url[0]);
profiles.addItem(profile);
i++;
};
gsd.albums = FacebookXMLParserUtils.createAlbumCollection(source.ns::albums[0], ns);
return (gsd);
}
protected static function createPhotoMedia(value:XML, ns:Namespace):PhotoMedia{
if (value == null){
return (null);
};
var pm:PhotoMedia = new PhotoMedia();
pm.aid = FacebookXMLParserUtils.toStringValue(value.ns::aid[0]);
pm.index = FacebookXMLParserUtils.toNumber(value.ns::index[0]);
pm.owner = FacebookXMLParserUtils.toStringValue(value.ns::owner[0]);
pm.pid = FacebookXMLParserUtils.toStringValue(value.ns::pid[0]);
return (pm);
}
}
}//package com.facebook.utils
Section 155
//FacebookUserXMLParser (com.facebook.utils.FacebookUserXMLParser)
package com.facebook.utils {
import com.facebook.data.*;
import com.facebook.data.users.*;
public class FacebookUserXMLParser {
public function FacebookUserXMLParser(){
super();
}
protected static function parseWorkHistory(xml:XML, ns:Namespace):Array{
var xWorkInfo:Object;
var workInfo:FacebookWorkInfo;
var work_history:Array = [];
for each (xWorkInfo in xml) {
workInfo = new FacebookWorkInfo();
workInfo.location = FacebookXMLParserUtils.createLocation(xWorkInfo.ns::location[0], ns);
workInfo.company_name = String(xWorkInfo.ns::company_name);
workInfo.description = String(xWorkInfo.ns::description);
workInfo.position = String(xWorkInfo.ns::position);
workInfo.start_date = FacebookDataUtils.formatDate(xWorkInfo.ns::start_date);
workInfo.end_date = FacebookDataUtils.formatDate(xWorkInfo.ns::end_date);
work_history.push(workInfo);
};
return (work_history);
}
protected static function createStatus(status:XML, ns:Namespace):StatusData{
var statusData:StatusData = new StatusData();
statusData.message = String(status.ns::message);
statusData.time = FacebookDataUtils.formatDate(String(status.ns::time));
return (statusData);
}
protected static function parseEducationHistory(xml:XML, ns:Namespace):Array{
var e:Object;
var educationInfo:FacebookEducationInfo;
var c:XML;
var education_history:Array = [];
var xList:XMLList = xml.children();
for each (e in xList) {
educationInfo = new FacebookEducationInfo();
educationInfo.name = String(e.ns::name);
educationInfo.year = String(e.ns::year);
educationInfo.degree = String(e.ns::degree);
educationInfo.concentrations = [];
for each (c in e.concentration) {
educationInfo.concentrations.push(c);
};
education_history.push(educationInfo);
};
return (education_history);
}
public static function createFacebookUser(userProperties:XML, ns:Namespace):FacebookUser{
var userNode:XML;
var localName:String;
var fbUser:FacebookUser = new FacebookUser();
var props:XMLList = userProperties.children();
var l:uint = props.length();
var i:uint;
while (i < l) {
userNode = props[i];
localName = userNode.localName().toString();
switch (localName){
case "status":
fbUser[localName] = createStatus(userNode, ns);
break;
case "affiliations":
fbUser[localName] = createAffiliations(userNode.children(), ns);
break;
case "hometown_location":
case "current_location":
fbUser[localName] = FacebookXMLParserUtils.createLocation(userNode, ns);
break;
case "profile_update_time":
fbUser[localName] = FacebookDataUtils.formatDate(userNode.toString());
break;
case "hs_info":
fbUser.hs1_id = parseInt(userNode.ns::hs1_id);
fbUser.hs1_name = String(userNode.ns::hs1_name);
fbUser.hs2_id = parseInt(userNode.ns::hs2_id);
fbUser.hs2_name = String(userNode.ns::hs2_name);
fbUser.grad_year = String(userNode.ns::grad_year);
break;
case "education_history":
fbUser[localName] = parseEducationHistory(userNode, ns);
break;
case "work_history":
fbUser[localName] = parseWorkHistory(userNode, ns);
break;
case "timezone":
case "notes_count":
case "wall_count":
fbUser[localName] = Number(userNode.toString());
break;
case "has_added_app":
case "is_app_user":
fbUser[localName] = FacebookXMLParserUtils.toBoolean(userNode);
break;
case "meeting_sex":
case "meeting_for":
case "email_hashes":
fbUser[localName] = toArray(userNode, ns);
break;
default:
if ((localName in fbUser)){
fbUser[localName] = String(userNode);
};
};
i++;
};
return (fbUser);
}
protected static function toArray(xml:XML, ns:Namespace):Array{
var arr:Array = [];
var children:XMLList = xml.children();
var l:uint = children.length();
var i:uint;
while (i < l) {
arr.push(children[i].toString());
i++;
};
return (arr);
}
protected static function createAffiliations(affilications:XMLList, ns:Namespace):Array{
var xNetwork:*;
var fbNetwork:FacebookNetwork;
var arr:Array = [];
for each (xNetwork in affilications) {
fbNetwork = new FacebookNetwork();
fbNetwork.nid = parseInt(xNetwork.ns::nid);
fbNetwork.name = String(xNetwork.ns::name);
fbNetwork.type = String(xNetwork.ns::type);
fbNetwork.status = String(xNetwork.ns::status);
fbNetwork.year = String(xNetwork.ns::year);
arr.push(fbNetwork);
};
return (arr);
}
}
}//package com.facebook.utils
Section 156
//FacebookXMLParserUtils (com.facebook.utils.FacebookXMLParserUtils)
package com.facebook.utils {
import flash.net.*;
import com.facebook.data.*;
import com.facebook.data.photos.*;
public class FacebookXMLParserUtils {
public function FacebookXMLParserUtils(){
super();
}
public static function createLocation(xml:XML, ns:Namespace):FacebookLocation{
var location:FacebookLocation = new FacebookLocation();
if (xml == null){
return (location);
};
location.city = String(xml.ns::city);
location.state = String(xml.ns::state);
location.country = String(xml.ns::country);
location.zip = String(xml.ns::zip);
return (location);
}
public static function toNumber(value:XML):Number{
if (value == null){
return (NaN);
};
return (Number(value.toString()));
}
public static function toStringValue(value:XML):String{
if (value == null){
return (null);
};
return (value.toString());
}
public static function createAlbumCollection(xml:XML, ns:Namespace):AlbumCollection{
var singleAlbum:*;
var albumData:AlbumData;
var albumCollection:AlbumCollection = new AlbumCollection();
for each (singleAlbum in xml..ns::album) {
albumData = new AlbumData();
albumData.aid = FacebookXMLParserUtils.toStringValue(singleAlbum.ns::aid[0]);
albumData.cover_pid = FacebookXMLParserUtils.toStringValue(singleAlbum.ns::cover_pid[0]);
albumData.owner = singleAlbum.ns::owner;
albumData.name = singleAlbum.ns::name;
albumData.created = FacebookXMLParserUtils.toDate(singleAlbum.ns::created);
albumData.modified = FacebookXMLParserUtils.toDate(singleAlbum.ns::modified);
albumData.description = singleAlbum.ns::description;
albumData.location = singleAlbum.ns::location;
albumData.link = singleAlbum.ns::link;
albumData.size = singleAlbum.ns::size;
albumData.visible = singleAlbum.ns::visible;
albumCollection.addAlbum(albumData);
};
return (albumCollection);
}
public static function toDate(value:String):Date{
if (value == null){
return (null);
};
var startDate:String = value;
while (startDate.length < 13) {
startDate = (startDate + "0");
};
var newDate:Date = new Date(Number(startDate));
return (newDate);
}
public static function xmlToUrlVariables(p_xml:XMLList):URLVariables{
var xml:XML;
var vars:URLVariables = new URLVariables();
for each (xml in p_xml) {
vars[xml.key.valueOf()] = xml.value.valueOf();
};
return (vars);
}
public static function toUIDArray(xml:XML):Array{
var arr:Array = [];
if (xml == null){
return (arr);
};
var uids:XMLList = xml.children();
var l:uint = uids.length();
var i:uint;
while (i < l) {
arr.push(toNumber(uids[i]));
i++;
};
return (arr);
}
public static function nodeToObject(p_xml:XMLList):Object{
var xml:XML;
var vars:Object = {};
for each (xml in p_xml) {
vars[xml.key.valueOf()] = xml.value.valueOf();
};
return (vars);
}
public static function toBoolean(value:XML):Boolean{
if (value == null){
return (false);
};
return ((value.toString() == "1"));
}
public static function toArray(value:XML):Array{
if (value == null){
return (null);
};
return (value.toString().split(","));
}
}
}//package com.facebook.utils
Section 157
//IFacebookResultParser (com.facebook.utils.IFacebookResultParser)
package com.facebook.utils {
import com.facebook.data.*;
import com.facebook.errors.*;
public interface IFacebookResultParser {
function parse(_arg1:String, _arg2:String):FacebookData;
function validateFacebookResponce(result:String):FacebookError;
}
}//package com.facebook.utils
Section 158
//JavascriptRequestHelper (com.facebook.utils.JavascriptRequestHelper)
package com.facebook.utils {
import flash.net.*;
import flash.utils.*;
public class JavascriptRequestHelper {
public function JavascriptRequestHelper(){
super();
}
public static function objectToString(obj:Object):String{
var n:String;
var arr:Array = [];
for (n in obj) {
arr.push((((n + ": ") + quote(obj[n])) + ""));
};
return ((("{" + arr.join(", ")) + " }"));
}
public static function quote(p_string:String):String{
var regx:RegExp = /[\\"\r\n]/g;
return ((("\"" + p_string.replace(regx, _quote)) + "\""));
}
public static function formatParams(params:Array):String{
var value:Object;
var qualifiedClassName:String;
var newParams:Array = [];
var l:uint = params.length;
var i:uint;
while (i < l) {
value = params[i];
qualifiedClassName = getQualifiedClassName(value);
switch (qualifiedClassName){
case "Array":
value = (("[" + value.join(", ")) + "]");
break;
case "Object":
value = objectToString(value);
break;
case "String":
default:
value = (("\"" + value) + "\"");
break;
};
newParams.push(value);
i++;
};
return (newParams.join(", "));
}
protected static function _quote(p_string:String, ... _args):String{
switch (p_string){
case "\\":
return ("\\\\");
case "\r":
return ("\\r");
case "\n":
return ("\\n");
case "\"":
return ("\\\"");
};
return (null);
}
public static function formatURLVariables(urlVars:URLVariables):String{
var n:String;
var filter:Object = {method:true, sig:true, api_key:true, call_id:true};
var hasParams:Boolean;
var obj:Object = {};
for (n in urlVars) {
if (filter[n]){
} else {
hasParams = true;
obj[n] = urlVars[n];
};
};
return ((hasParams) ? objectToString(obj) : "null");
}
}
}//package com.facebook.utils
Section 159
//PlayerUtils (com.facebook.utils.PlayerUtils)
package com.facebook.utils {
import flash.system.*;
public class PlayerUtils {
protected static var versionObj:Object;
public function PlayerUtils(){
super();
}
public static function get internalBuildNumber():Number{
return (parseVersionString().internalBuildNumber);
}
public static function get platform():String{
return (parseVersionString().platform);
}
public static function get buildNumber():Number{
return (parseVersionString().buildNumber);
}
public static function get minorVersion():Number{
return (parseVersionString().minorVersion);
}
public static function parseVersionString():Object{
if (versionObj != null){
return (versionObj);
};
var version:String = Capabilities.version;
versionObj = {};
var peices1:Array = version.split(" ");
versionObj.platform = peices1[0];
peices1.shift();
peices1 = peices1[0].split(",");
versionObj.majorVersion = Number(peices1[0]);
versionObj.minorVersion = Number(peices1[1]);
versionObj.buildNumber = Number(peices1[2]);
versionObj.internalBuildNumber = Number(peices1[3]);
return (versionObj);
}
public static function get majorVersion():Number{
return (parseVersionString().majorVersion);
}
}
}//package com.facebook.utils
Section 160
//PostRequest (com.facebook.utils.PostRequest)
package com.facebook.utils {
import flash.utils.*;
public class PostRequest {
protected var _boundary:String;// = "-----"
protected var postData:ByteArray;
public function PostRequest(){
super();
createPostData();
}
public function getPostData():ByteArray{
postData.position = 0;
return (postData);
}
protected function writeBoundary():void{
writeDoubleDash();
var i:Number = 0;
while (i < boundary.length) {
postData.writeByte(boundary.charCodeAt(i));
i++;
};
}
protected function writeDoubleDash():void{
postData.writeShort(0x2D2D);
}
public function writeFileData(filename:String, fileData:ByteArray):void{
var bytes:String;
writeBoundary();
writeLineBreak();
bytes = "Content-Disposition: form-data; filename=\"";
var i:Number = 0;
while (i < bytes.length) {
postData.writeByte(bytes.charCodeAt(i));
i++;
};
postData.writeUTFBytes(filename);
writeQuotationMark();
writeLineBreak();
bytes = "Content-Type: image/jpg";
i = 0;
while (i < bytes.length) {
postData.writeByte(bytes.charCodeAt(i));
i++;
};
writeLineBreak();
writeLineBreak();
fileData.position = 0;
postData.writeBytes(fileData, 0, fileData.length);
writeLineBreak();
}
public function createPostData():void{
postData = new ByteArray();
postData.endian = Endian.BIG_ENDIAN;
}
public function writePostData(name:String, value:String):void{
var bytes:String;
writeBoundary();
writeLineBreak();
bytes = (("Content-Disposition: form-data; name=\"" + name) + "\"");
var l:uint = bytes.length;
var i:Number = 0;
while (i < l) {
postData.writeByte(bytes.charCodeAt(i));
i++;
};
writeLineBreak();
writeLineBreak();
postData.writeUTFBytes(value);
writeLineBreak();
}
public function get boundary():String{
return (_boundary);
}
protected function writeLineBreak():void{
postData.writeShort(3338);
}
public function close():void{
writeBoundary();
writeDoubleDash();
}
protected function writeQuotationMark():void{
postData.writeByte(34);
}
public function set boundary(value:String):void{
_boundary = value;
}
}
}//package com.facebook.utils
Section 161
//Facebook (com.facebook.Facebook)
package com.facebook {
import com.facebook.events.*;
import flash.events.*;
import flash.net.*;
import com.facebook.session.*;
import com.facebook.net.*;
import com.facebook.delegates.*;
import com.facebook.commands.auth.*;
public class Facebook extends EventDispatcher {
public var waiting_for_login:Boolean;
protected var _currentSession:IFacebookSession;
public var connectionErrorMessage:String;
public function Facebook():void{
super();
}
public function post(call:FacebookCall):FacebookCall{
var delegate:IFacebookCallDelegate;
if (_currentSession){
call.session = _currentSession;
call.initialize();
delegate = _currentSession.post(call);
call.delegate = delegate;
} else {
throw (new Error("Cannot post a call; no session has been set."));
};
return (call);
}
public function startSession(session:IFacebookSession):void{
_currentSession = session;
if (_currentSession.is_connected){
dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true));
} else {
_currentSession.addEventListener(FacebookEvent.CONNECT, onSessionConnected);
_currentSession.addEventListener(FacebookEvent.WAITING_FOR_LOGIN, onWaitingForLogin);
};
}
public function grantExtendedPermission(perm:String):void{
navigateToURL(new URLRequest(((((("http://www.facebook.com/authorize.php?api_key=" + api_key) + "&v=") + api_version) + "&ext_perm=") + perm)), "_blank");
}
public function refreshSession():void{
_currentSession.refreshSession();
}
public function logout():void{
var call:ExpireSession = new ExpireSession();
call.addEventListener(FacebookEvent.COMPLETE, onLoggedOut, false, 0, true);
post(call);
}
public function get api_version():String{
return ((_currentSession) ? this._currentSession.api_version : null);
}
protected function onLoggedOut(event:FacebookEvent):void{
if (event.success == true){
_currentSession.session_key = null;
};
dispatchEvent(new FacebookEvent(FacebookEvent.LOGOUT, false, false, event.success, event.data, event.error));
}
protected function onWaitingForLogin(event:FacebookEvent):void{
waiting_for_login = true;
dispatchEvent(new FacebookEvent(FacebookEvent.WAITING_FOR_LOGIN));
}
public function login(offline_access:Boolean):void{
_currentSession.login(offline_access);
}
public function get secret():String{
return ((_currentSession) ? this._currentSession.secret : null);
}
public function grantPermission(return_session:Boolean):void{
var authUrl:String = ((("http://www.facebook.com/login.php?return_session=" + (return_session) ? 1 : 0) + "&api_key=") + api_key);
navigateToURL(new URLRequest(authUrl), "_blank");
}
public function get is_connected():Boolean{
return ((_currentSession) ? this._currentSession.is_connected : false);
}
public function get session_key():String{
return ((_currentSession) ? this._currentSession.session_key : null);
}
public function get uid():String{
return ((_currentSession) ? this._currentSession.uid : null);
}
protected function onSessionConnected(event:FacebookEvent):void{
var session:IFacebookSession = (event.target as IFacebookSession);
dispatchEvent(event);
}
public function get api_key():String{
return ((_currentSession) ? this._currentSession.api_key : null);
}
public function get expires():Date{
return ((_currentSession) ? this._currentSession.expires : new Date());
}
}
}//package com.facebook
Section 162
//facebook_internal (com.facebook.facebook_internal)
package com.facebook {
public namespace facebook_internal = "http://api.facebook.com/1.0/";
}//package com.facebook
Section 163
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent)
package com.kongregate.as3.client.events {
import flash.events.*;
public class KongregateEvent extends Event {
public static const COMPLETE:String = "component_api_available";
public function KongregateEvent(_arg1:String){
super(_arg1);
}
}
}//package com.kongregate.as3.client.events
Section 164
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService)
package com.kongregate.as3.client.services {
import flash.events.*;
public class AbstractShadowService extends EventDispatcher {
protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{
trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4));
}
}
}//package com.kongregate.as3.client.services
Section 165
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow)
package com.kongregate.as3.client.services {
public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices {
private var mode:String;
public function HighScoreServiceShadow(){
mode = "";
}
public function submit(_arg1:Number, _arg2:String=null):void{
alert("IHighScoreServices", "submit", arguments);
}
public function connect():Boolean{
alert("IKongregateServices", "connect");
return (true);
}
public function requestList(_arg1:Function):void{
alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]"));
_arg1({success:false});
}
public function setMode(_arg1:String):void{
alert("IHighScoreServices", "setMode", arguments);
this.mode = _arg1;
}
}
}//package com.kongregate.as3.client.services
Section 166
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices)
package com.kongregate.as3.client.services {
public interface IHighScoreServices {
function setMode(_arg1:String):void;
function submit(_arg1:Number, _arg2:String=null):void;
function requestList(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 167
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices)
package com.kongregate.as3.client.services {
import flash.events.*;
public interface IKongregateServices extends IEventDispatcher {
function getPlayerInfo(_arg1:Function):void;
function connect(_arg1:Number=-1):Boolean;
}
}//package com.kongregate.as3.client.services
Section 168
//IStatServices (com.kongregate.as3.client.services.IStatServices)
package com.kongregate.as3.client.services {
public interface IStatServices {
function submitArray(_arg1:Array):void;
function submit(_arg1:String, _arg2:Number):void;
}
}//package com.kongregate.as3.client.services
Section 169
//IUserServices (com.kongregate.as3.client.services.IUserServices)
package com.kongregate.as3.client.services {
public interface IUserServices {
function getName():String;
function getPlayerInfo(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 170
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow)
package com.kongregate.as3.client.services {
public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices {
public function getName():String{
alert("IKongregateServices", "getName");
return ("Guest");
}
public function connect(_arg1:Number=-1):Boolean{
alert("IKongregateServices", "connect", arguments);
return (true);
}
public function getPlayerInfo(_arg1:Function):void{
alert("IKongregateServices", "getPlayerInfo");
_arg1(new Object());
}
}
}//package com.kongregate.as3.client.services
Section 171
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow)
package com.kongregate.as3.client.services {
public class StatServiceShadow extends AbstractShadowService implements IStatServices {
public function submitArray(_arg1:Array):void{
alert("IStatServices", "submitArray", arguments);
}
public function submit(_arg1:String, _arg2:Number):void{
alert("IStatServices", "submitStat", arguments);
}
}
}//package com.kongregate.as3.client.services
Section 172
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow)
package com.kongregate.as3.client.services {
public class UserServiceShadow extends AbstractShadowService implements IUserServices {
public function getName():String{
alert("UserService", "getName");
return ("Guest");
}
public function getPlayerInfo(_arg1:Function):void{
alert("UserService", "getPlayerInfo");
_arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""});
}
}
}//package com.kongregate.as3.client.services
Section 173
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
public interface IAPIBootstrap {
function init(_arg1:Event=null, _arg2:Stage=null):void;
function hideLog():void;
function showLog(_arg1:int=0):void;
}
}//package com.kongregate.as3.client
Section 174
//KongregateAPI (com.kongregate.as3.client.KongregateAPI)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
import com.kongregate.as3.client.services.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import com.kongregate.as3.client.events.*;
import flash.errors.*;
public class KongregateAPI extends Sprite {
private const VERSION:Number = 1;
private var loader:Loader;
private var loadedDomain:ApplicationDomain;
private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices";
private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices";
private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices";
private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices";
private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf";
private static var _connected:Boolean;
private static var kUser:IUserServices;
private static var _loaded:Boolean;
private static var kServices:IKongregateServices;
private static var kScores:IHighScoreServices;
private static var mInstance:KongregateAPI;
private static var kStats:IStatServices;
private static var kAPI:IAPIBootstrap;
public function KongregateAPI(){
if (mInstance != null){
throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access."));
};
mInstance = this;
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
}
public function get loaded():Boolean{
return (_loaded);
}
public function get connected():Boolean{
return (_connected);
}
private function alertConnected(_arg1:TimerEvent=null):void{
var _local2:KongregateEvent;
var _local3:Boolean;
_local2 = new KongregateEvent(KongregateEvent.COMPLETE);
_local3 = this.dispatchEvent(_local2);
}
private function init(_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:LoaderContext;
this.removeEventListener(Event.ADDED_TO_STAGE, init);
_loaded = false;
_connected = false;
_local2 = LoaderInfo(root.loaderInfo).parameters;
_local3 = _local2.api_path;
if (_local3 == null){
trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded.");
createShadowServices();
return;
};
Security.allowDomain("*.kongregate.com");
Security.allowDomain("kongregatetrunk.com");
_local4 = new URLRequest(_local3);
_local5 = new LoaderContext(false);
_local5.applicationDomain = ApplicationDomain.currentDomain;
_local5.securityDomain = SecurityDomain.currentDomain;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.load(_local4, _local5);
}
public function get api():IAPIBootstrap{
return (kAPI);
}
private function loadComplete(_arg1:Event):void{
getServices();
}
public function get scores():IHighScoreServices{
return (kScores);
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
throw (new IOError(("API file not found. " + _arg1)));
}
public function get services():IKongregateServices{
return (kServices);
}
public function get stats():IStatServices{
return (kStats);
}
private function createShadowServices():void{
var _local1:Timer;
trace(">>> Kongregate Shadow Services instantiated for local development..");
kServices = new KongregateServiceShadow();
kScores = new HighScoreServiceShadow();
kStats = new StatServiceShadow();
kUser = new UserServiceShadow();
_local1 = new Timer(200, 1);
_local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected);
_local1.start();
_connected = true;
}
public function get user():IUserServices{
return (kUser);
}
private function getServices():void{
var _local1:ApplicationDomain;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = ApplicationDomain.currentDomain;
kAPI = IAPIBootstrap(loader.getChildAt(0));
this.addChild(loader);
_local2 = _local1.getDefinition(CLASS_SERVICES);
trace(_local2);
kServices = _local2.getInstance();
_local3 = _local1.getDefinition(CLASS_SCORES);
kScores = _local3.getInstance();
_local4 = _local1.getDefinition(CLASS_STATS);
kStats = _local4.getInstance();
_local5 = _local1.getDefinition(CLASS_USER);
kUser = _local5.getInstance();
kServices.connect(VERSION);
_loaded = true;
_connected = true;
alertConnected();
}
public static function getInstance():KongregateAPI{
if (!mInstance){
throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it."));
};
return (mInstance);
}
}
}//package com.kongregate.as3.client
Section 175
//SoundManager (com.melesta.sound.SoundManager)
package com.melesta.sound {
import flash.media.*;
public class SoundManager {
private static var channel:SoundChannel;
public static var _mute:Boolean = false;
private static var map:Object = {};
public function SoundManager(){
super();
throw (new Error(""));
}
public static function play(assetName:String, loops:int=0, transform:SoundTransform=null):SoundChannel{
var cls:Class = (map[assetName] as Class);
var instance:Sound = (new (cls) as Sound);
if (_mute){
transform = new SoundTransform();
transform.volume = 0;
};
return ((instance) ? instance.play(0, loops, transform) : null);
}
public static function resume():void{
_mute = false;
}
public static function mute():void{
_mute = true;
}
public static function registerSoundAsset(assetName:String, cls:Class):void{
if ((((assetName == null)) || ((assetName.split(" ").join("").length == 0)))){
return;
};
if (!map.hasOwnProperty(assetName)){
map[assetName] = cls;
};
}
public static function unregisterSoundAsset(assetName:String):void{
delete map[assetName];
}
}
}//package com.melesta.sound
Section 176
//Direction (com.melesta.utils.math.Direction)
package com.melesta.utils.math {
import flash.geom.*;
public class Direction {
public static const DEG_TO_RAD:Number = 0.0174532925199433;
public static const RAD_TO_DEG:Number = 57.2957795130823;
private static var directionList:Array = new Array("left", "left_down", "left_up", "up", "right", "right_up", "right_down");
public function Direction(){
super();
}
public static function getDirection(p1:Point, p2:Point):Object{
var object:Object = new Object();
object.direction = "down";
var direction:String = "down";
object.right = false;
var angle:Number = (Math.atan(((p2.y - p1.y) / (p2.x - p1.x))) * RAD_TO_DEG);
if (p2.x > p1.x){
object.right = true;
angle = -(angle);
};
if (angle > -60){
direction = "down_left";
};
if (angle > -30){
direction = "left";
};
if (angle > 30){
direction = "left_up";
};
if (angle > 60){
direction = "up";
};
if (angle == 90){
direction = "down";
};
if (angle == -90){
direction = "up";
};
object.direction = direction;
return (object);
}
}
}//package com.melesta.utils.math
Section 177
//TimeDecoder (com.melesta.utils.time.TimeDecoder)
package com.melesta.utils.time {
public class TimeDecoder {
public function TimeDecoder(){
super();
}
public static function decodeTime(time:Number):String{
var minutes:Number = Math.floor((time / 60));
var seconds:Number = Math.floor((time - (minutes * 60)));
var minutess:String = ((minutes < 10)) ? ("0" + String(minutes)) : String(minutes);
var secondss:String = ((seconds < 10)) ? ("0" + String(seconds)) : String(seconds);
return (((minutess + ":") + secondss));
}
}
}//package com.melesta.utils.time
Section 178
//AlertWindow (facebook.ui.AlertWindow)
package facebook.ui {
import flash.events.*;
import caurina.transitions.*;
import utils.*;
public class AlertWindow extends QuitDialogTemplate {
public static var instance:AlertWindow;
public function AlertWindow(){
super();
instance = this;
yesBtn.visible = false;
noBtn.x = 250;
noBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
this.alpha = 0;
this.visible = false;
noBtn.caption.mouseEnabled = false;
Fonts.applyDefaultFont(noBtn.caption);
noBtn.caption.text = Config.currentLanguage.ok;
Fonts.applyDefaultFont(caption);
caption.text = "Press ok after login";
noBtn.addEventListener(MouseEvent.MOUSE_OVER, noOver, false, 0, true);
}
public function hide(event:MouseEvent=null):void{
var event = event;
Tweener.addTween(this, {alpha:0, time:0.2, transition:"easeInBack", y:-100, onComplete:function ():void{
this.visible = false;
Farm2.instance.closeFBAlert();
}});
}
private function noOver(event:MouseEvent=null):void{
event.stopPropagation();
}
public function show():void{
this.visible = true;
this.alpha = 0;
y = -100;
Tweener.addTween(this, {alpha:1, time:0.2});
Tweener.addTween(this, {time:0.3, y:0, transition:"easeOutBack"});
}
}
}//package facebook.ui
Section 179
//FBLeaderboard (facebook.ui.FBLeaderboard)
package facebook.ui {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import caurina.transitions.*;
public class FBLeaderboard extends VLeaderboardTemplate {
private var _itemsContainer:MovieClip;
private var dragging:Boolean;// = false
private var scrollTimer:Timer;
public static var instance:FBLeaderboard;
public function FBLeaderboard(){
super();
_itemsContainer = new MovieClip();
addChild(_itemsContainer);
alpha = 0;
visible = false;
_itemsContainer.mask = _mask;
closeBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
sliderBtn.buttonMode = true;
sliderBtn.addEventListener(MouseEvent.MOUSE_DOWN, startScroll, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, true);
scrollTimer = new Timer(10);
preloader.visible = false;
instance = this;
}
private function hide(event:MouseEvent=null):void{
var event = event;
Tweener.addTween(this, {alpha:0, time:0.5, onComplete:function ():void{
this.visible = false;
clearList();
}});
}
private function clearList():void{
var j:int = _itemsContainer.numChildren;
while (j--) {
_itemsContainer.removeChildAt(j);
};
}
private function mouseUp(event:MouseEvent):void{
if (dragging){
dragging = false;
sliderBtn.stopDrag();
scrollTimer.stop();
scrollTimer.removeEventListener(TimerEvent.TIMER, scroll, true);
};
}
public function getLeaderBoard():void{
var rpath:String = "http://en.facebook.promo.services.alawar.com/scores.php";
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, createList);
loader.load(new URLRequest(rpath));
}
private function scroll(event:TimerEvent=null):void{
_itemsContainer.cacheAsBitmap = true;
var scrollPercent:int = ((100 / 236) * (sliderBtn.y - 68));
var acty:Number = Number(_itemsContainer);
var endy:Number = Number(((((_mask.height - 10) - _itemsContainer.height) / 100) * scrollPercent));
Tweener.addTween(_itemsContainer, {y:endy, time:0, transition:"linear"});
}
private function startScroll(event:MouseEvent):void{
if (_mask.height < _itemsContainer.height){
sliderBtn.startDrag(false, new Rectangle(534, 68, 0, 236));
dragging = true;
scrollTimer.addEventListener(TimerEvent.TIMER, scroll, false, 0, true);
scrollTimer.start();
};
}
private function createList(event:Event):void{
var item:FBLeaderboardItem;
event.stopPropagation();
preloader.visible = false;
var scoreList:XML = XML(event.target.data);
clearList();
var i:int;
while (i < scoreList.children().length()) {
item = new FBLeaderboardItem(scoreList.user[i], (i + 1));
item.x = 27;
item.y = (70 + (55 * i));
item.alpha = 0;
_itemsContainer.addChild(item);
Tweener.addTween(item, {alpha:1, time:0.5, delay:(0.05 * i)});
i++;
};
}
public function show():void{
visible = true;
Tweener.addTween(this, {alpha:1, time:0.5});
preloader.visible = true;
getLeaderBoard();
}
}
}//package facebook.ui
Section 180
//FBLeaderboardItem (facebook.ui.FBLeaderboardItem)
package facebook.ui {
import flash.events.*;
import flash.display.*;
import com.facebook.events.*;
import flash.utils.*;
import flash.net.*;
import utils.*;
import flash.system.*;
import caurina.transitions.properties.*;
import caurina.transitions.*;
import com.facebook.commands.users.*;
import com.facebook.net.*;
import com.facebook.data.users.*;
public class FBLeaderboardItem extends LeaderboardItemTemplate {
private var _imagePath:String;// = ""
private var _delay:Number;// = 0
private var _loader:URLLoader;
private var _id:String;
public function FBLeaderboardItem(data:XML, pl:Number){
super();
ColorShortcuts.init();
this.score.text = data.score;
Fonts.applyDefaultFont(score);
this.title.text = "";
this.place.text = String(pl);
_delay = pl;
this.score.mouseEnabled = (this.title.mouseEnabled = (this.place.mouseEnabled = false));
this.place.text = String(pl);
Fonts.applyDefaultFont(place);
getInfo(data.id);
_id = data.id;
this.addEventListener(MouseEvent.CLICK, gotoUserPage, false, 0, true);
this.buttonMode = true;
this.addEventListener(MouseEvent.MOUSE_OVER, over, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
}
private function handle_getInfoComplete(event:FacebookEvent):void{
var getInfoData:GetInfoData = GetInfoData(event.data);
var user:FacebookUser = FacebookUser(getInfoData.userCollection.getItemAt(0));
_imagePath = user.pic_square;
_id = user.uid;
this.title.text = user.name;
Fonts.applyDefaultFont(title);
setTimeout(loadImage, Math.ceil(((1200 / 3) * _delay)));
}
private function out(event:MouseEvent):void{
Tweener.addTween(this, {_brightness:0, time:0.3});
}
private function loadImage():void{
var photoLoader:Loader = new Loader();
photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, photoLoaded);
photoLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, unableToLoadPhoto);
var loaderContext:LoaderContext = new LoaderContext(true);
photoLoader.load(new URLRequest(_imagePath), loaderContext);
}
private function photoLoaded(event:Event):void{
event.stopPropagation();
var photo:Bitmap = Bitmap(event.target.content);
this.image.avatar.addChild(photo);
}
private function over(event:MouseEvent):void{
Tweener.addTween(this, {_brightness:0.5, time:0.3});
}
public function getInfo(uid:String):void{
var call:FacebookCall = Farm2.facebookSession.facebook.post(new GetInfo([uid], ["name", "pic_square"]));
call.addEventListener(FacebookEvent.COMPLETE, handle_getInfoComplete, false, 0, true);
}
private function gotoUserPage(event:MouseEvent):void{
navigateToURL(new URLRequest(("http://www.facebook.com/profile.php?id=" + _id)), "_blank");
}
private function unableToLoadPhoto(event:IOErrorEvent):void{
}
}
}//package facebook.ui
Section 181
//__preloader_138 (Farm3Africa_fla.__preloader_138)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
public dynamic class __preloader_138 extends MovieClip {
public var rotor:MovieClip;
public function __preloader_138(){
super();
addFrameScript(0, frame1);
}
public function rotate(event:Event=null):void{
rotor.rotation = (rotor.rotation + 10);
}
function frame1(){
rotor.addEventListener(Event.ENTER_FRAME, rotate, false, 0, true);
rotor.cacheAsBitmap = true;
}
}
}//package Farm3Africa_fla
Section 182
//_line__71 (Farm3Africa_fla._line__71)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class _line__71 extends MovieClip {
public var _mask:MovieClip;
public function _line__71(){
super();
}
}
}//package Farm3Africa_fla
Section 183
//_line_100 (Farm3Africa_fla._line_100)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class _line_100 extends MovieClip {
public function _line_100(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 184
//_progress_99 (Farm3Africa_fla._progress_99)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class _progress_99 extends MovieClip {
public var line:MovieClip;
public function _progress_99(){
super();
}
}
}//package Farm3Africa_fla
Section 185
//aim_btn_5 (Farm3Africa_fla.aim_btn_5)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
public dynamic class aim_btn_5 extends MovieClip {
public function aim_btn_5(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent):void{
this.gotoAndStop(1);
}
function frame1(){
stop();
this.addEventListener(MouseEvent.MOUSE_OVER, over, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_DOWN, down, false, 0, true);
}
public function down(event:MouseEvent):void{
this.gotoAndStop(3);
}
public function over(event:MouseEvent):void{
this.gotoAndStop(2);
}
}
}//package Farm3Africa_fla
Section 186
//alawar_94 (Farm3Africa_fla.alawar_94)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class alawar_94 extends MovieClip {
public function alawar_94(){
super();
addFrameScript(0, frame1, 3, frame4);
}
function frame1(){
stop();
}
function frame4(){
stop();
}
}
}//package Farm3Africa_fla
Section 187
//bg_13 (Farm3Africa_fla.bg_13)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class bg_13 extends MovieClip {
public function bg_13(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 188
//big_btn_48 (Farm3Africa_fla.big_btn_48)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public dynamic class big_btn_48 extends MovieClip {
public var caption:TextField;
public function big_btn_48(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent){
this.gotoAndStop(1);
}
function frame1(){
addEventListener(MouseEvent.MOUSE_OVER, over);
addEventListener(MouseEvent.MOUSE_OUT, out);
addEventListener(MouseEvent.MOUSE_DOWN, down);
stop();
}
public function down(event:MouseEvent){
this.gotoAndStop(3);
}
public function over(event:MouseEvent){
this.gotoAndStop(2);
}
}
}//package Farm3Africa_fla
Section 189
//body_127 (Farm3Africa_fla.body_127)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class body_127 extends MovieClip {
public function body_127(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 190
//body_144 (Farm3Africa_fla.body_144)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class body_144 extends MovieClip {
public function body_144(){
super();
addFrameScript(23, frame24, 47, frame48, 71, frame72, 95, frame96, 119, frame120);
}
function frame72(){
gotoAndPlay("left_up");
}
function frame24(){
gotoAndPlay("down");
}
function frame96(){
gotoAndPlay("up");
}
function frame120(){
gotoAndPlay("down_left");
}
function frame48(){
gotoAndPlay("left");
}
}
}//package Farm3Africa_fla
Section 191
//body_152 (Farm3Africa_fla.body_152)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class body_152 extends MovieClip {
public function body_152(){
super();
addFrameScript(23, frame24, 47, frame48, 71, frame72, 95, frame96, 119, frame120, 143, frame144, 176, frame177);
}
function frame144(){
gotoAndPlay("down");
}
function frame72(){
gotoAndPlay("down_left");
}
function frame177(){
gotoAndPlay("eat");
}
function frame24(){
stop();
}
function frame96(){
gotoAndPlay("up");
}
function frame120(){
gotoAndPlay("left_up");
}
function frame48(){
gotoAndPlay("left");
}
}
}//package Farm3Africa_fla
Section 192
//body_46 (Farm3Africa_fla.body_46)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class body_46 extends MovieClip {
public function body_46(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 193
//bodyGrass_84 (Farm3Africa_fla.bodyGrass_84)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class bodyGrass_84 extends MovieClip {
public function bodyGrass_84(){
super();
addFrameScript(16, frame17);
}
function frame17(){
stop();
}
}
}//package Farm3Africa_fla
Section 194
//bottomPanel_120 (Farm3Africa_fla.bottomPanel_120)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class bottomPanel_120 extends MovieClip {
public var menuBtn:MovieClip;
public var shopBtn:MovieClip;
public function bottomPanel_120(){
super();
}
}
}//package Farm3Africa_fla
Section 195
//boxlineExpor_78 (Farm3Africa_fla.boxlineExpor_78)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class boxlineExpor_78 extends MovieClip {
public function boxlineExpor_78(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 196
//buildCage_146 (Farm3Africa_fla.buildCage_146)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class buildCage_146 extends MovieClip {
public function buildCage_146(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 197
//buyBtn_89 (Farm3Africa_fla.buyBtn_89)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public dynamic class buyBtn_89 extends MovieClip {
public var caption:TextField;
public function buyBtn_89(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent){
this.gotoAndStop(1);
}
function frame1(){
addEventListener(MouseEvent.MOUSE_OVER, over);
addEventListener(MouseEvent.MOUSE_OUT, out);
addEventListener(MouseEvent.MOUSE_DOWN, down);
stop();
caption.mouseEnabled = false;
}
public function down(event:MouseEvent){
this.gotoAndStop(3);
}
public function over(event:MouseEvent){
this.gotoAndStop(2);
}
}
}//package Farm3Africa_fla
Section 198
//buyButton_14 (Farm3Africa_fla.buyButton_14)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class buyButton_14 extends MovieClip {
public var price:TextField;
public function buyButton_14(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
price.mouseEnabled = false;
}
}
}//package Farm3Africa_fla
Section 199
//buyButton_86 (Farm3Africa_fla.buyButton_86)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class buyButton_86 extends MovieClip {
public var price:TextField;
public function buyButton_86(){
super();
}
}
}//package Farm3Africa_fla
Section 200
//cage_18 (Farm3Africa_fla.cage_18)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class cage_18 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function cage_18(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 201
//Cake_20 (Farm3Africa_fla.Cake_20)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Cake_20 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function Cake_20(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 202
//cake_body_34 (Farm3Africa_fla.cake_body_34)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class cake_body_34 extends MovieClip {
public function cake_body_34(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 203
//car0_69 (Farm3Africa_fla.car0_69)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class car0_69 extends MovieClip {
public function car0_69(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 204
//carOnTheRoad_62 (Farm3Africa_fla.carOnTheRoad_62)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class carOnTheRoad_62 extends MovieClip {
public var body:MovieClip;
public var money:TextField;
public function carOnTheRoad_62(){
super();
}
}
}//package Farm3Africa_fla
Section 205
//cars_63 (Farm3Africa_fla.cars_63)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class cars_63 extends MovieClip {
public function cars_63(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 206
//carShop_16 (Farm3Africa_fla.carShop_16)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class carShop_16 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function carShop_16(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 207
//chickenIcon_mc_142 (Farm3Africa_fla.chickenIcon_mc_142)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
public dynamic class chickenIcon_mc_142 extends MovieClip {
public var active:Boolean;
public function chickenIcon_mc_142(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent=null):void{
if (active){
gotoAndStop("active");
};
}
function frame1(){
stop();
active = false;
addEventListener(MouseEvent.MOUSE_OVER, over, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, down, false, 0, true);
stop();
}
public function down(event:MouseEvent=null):void{
if (active){
gotoAndStop("press");
};
}
public function over(event:MouseEvent=null):void{
if (active){
gotoAndStop("over");
};
}
}
}//package Farm3Africa_fla
Section 208
//depot_15 (Farm3Africa_fla.depot_15)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class depot_15 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function depot_15(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 209
//dried_19 (Farm3Africa_fla.dried_19)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class dried_19 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function dried_19(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 210
//DriedEggs_body_36 (Farm3Africa_fla.DriedEggs_body_36)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class DriedEggs_body_36 extends MovieClip {
public function DriedEggs_body_36(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 211
//floury_cake_21 (Farm3Africa_fla.floury_cake_21)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class floury_cake_21 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function floury_cake_21(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 212
//FlouryCake_body_32 (Farm3Africa_fla.FlouryCake_body_32)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class FlouryCake_body_32 extends MovieClip {
public function FlouryCake_body_32(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 213
//goalItem_49 (Farm3Africa_fla.goalItem_49)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class goalItem_49 extends MovieClip {
public var count:TextField;
public var body:MovieClip;
public function goalItem_49(){
super();
}
}
}//package Farm3Africa_fla
Section 214
//gold_113 (Farm3Africa_fla.gold_113)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class gold_113 extends MovieClip {
public function gold_113(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 215
//helpBlockToolTip_104 (Farm3Africa_fla.helpBlockToolTip_104)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class helpBlockToolTip_104 extends MovieClip {
public var okBtn:MovieClip;
public var caption:TextField;
public function helpBlockToolTip_104(){
super();
}
}
}//package Farm3Africa_fla
Section 216
//hungryProgress_149 (Farm3Africa_fla.hungryProgress_149)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class hungryProgress_149 extends MovieClip {
public var _mask:MovieClip;
public function hungryProgress_149(){
super();
}
}
}//package Farm3Africa_fla
Section 217
//hungryProgress_153 (Farm3Africa_fla.hungryProgress_153)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class hungryProgress_153 extends MovieClip {
public var _mask:MovieClip;
public function hungryProgress_153(){
super();
}
}
}//package Farm3Africa_fla
Section 218
//incubator_22 (Farm3Africa_fla.incubator_22)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class incubator_22 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function incubator_22(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 219
//incubator_body_30 (Farm3Africa_fla.incubator_body_30)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class incubator_body_30 extends MovieClip {
public function incubator_body_30(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 220
//items_110 (Farm3Africa_fla.items_110)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class items_110 extends MovieClip {
public var arrow:MovieClip;
public var outCount:TextField;
public var caption:TextField;
public var inCount:TextField;
public function items_110(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
caption.mouseEnabled = false;
}
}
}//package Farm3Africa_fla
Section 221
//kubok_53 (Farm3Africa_fla.kubok_53)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class kubok_53 extends MovieClip {
public function kubok_53(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 222
//logo_mc_91 (Farm3Africa_fla.logo_mc_91)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class logo_mc_91 extends MovieClip {
public function logo_mc_91(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 223
//middleBtn_121 (Farm3Africa_fla.middleBtn_121)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public dynamic class middleBtn_121 extends MovieClip {
public var caption:TextField;
public function middleBtn_121(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent){
this.gotoAndStop(1);
}
function frame1(){
addEventListener(MouseEvent.MOUSE_OVER, over);
addEventListener(MouseEvent.MOUSE_OUT, out);
addEventListener(MouseEvent.MOUSE_DOWN, down);
stop();
}
public function down(event:MouseEvent){
this.gotoAndStop(3);
}
public function over(event:MouseEvent){
this.gotoAndStop(2);
}
}
}//package Farm3Africa_fla
Section 224
//middleButton_7 (Farm3Africa_fla.middleButton_7)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public dynamic class middleButton_7 extends MovieClip {
public var caption:TextField;
public function middleButton_7(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent){
this.gotoAndStop(1);
}
function frame1(){
addEventListener(MouseEvent.MOUSE_OVER, over);
addEventListener(MouseEvent.MOUSE_OUT, out);
addEventListener(MouseEvent.MOUSE_DOWN, down);
stop();
}
public function down(event:MouseEvent){
this.gotoAndStop(3);
}
public function over(event:MouseEvent){
this.gotoAndStop(2);
}
}
}//package Farm3Africa_fla
Section 225
//money_43 (Farm3Africa_fla.money_43)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class money_43 extends MovieClip {
public var caption:TextField;
public function money_43(){
super();
}
}
}//package Farm3Africa_fla
Section 226
//new_114 (Farm3Africa_fla.new_114)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class new_114 extends MovieClip {
public function new_114(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 227
//none_115 (Farm3Africa_fla.none_115)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class none_115 extends MovieClip {
public function none_115(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 228
//normal_116 (Farm3Africa_fla.normal_116)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class normal_116 extends MovieClip {
public function normal_116(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 229
//okBtn_97 (Farm3Africa_fla.okBtn_97)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public dynamic class okBtn_97 extends MovieClip {
public var caption:TextField;
public function okBtn_97(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent){
this.gotoAndStop(1);
}
function frame1(){
stop();
addEventListener(MouseEvent.MOUSE_OVER, over);
addEventListener(MouseEvent.MOUSE_OUT, out);
addEventListener(MouseEvent.MOUSE_DOWN, down);
}
public function down(event:MouseEvent){
this.gotoAndStop(3);
}
public function over(event:MouseEvent){
this.gotoAndStop(2);
}
}
}//package Farm3Africa_fla
Section 230
//okButton_105 (Farm3Africa_fla.okButton_105)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public dynamic class okButton_105 extends MovieClip {
public var caption:TextField;
public function okButton_105(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent){
this.gotoAndStop(1);
}
function frame1(){
addEventListener(MouseEvent.MOUSE_OVER, over);
addEventListener(MouseEvent.MOUSE_OUT, out);
stop();
}
public function over(event:MouseEvent){
this.gotoAndStop(2);
}
}
}//package Farm3Africa_fla
Section 231
//photo_132 (Farm3Africa_fla.photo_132)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class photo_132 extends MovieClip {
public var avatar:MovieClip;
public function photo_132(){
super();
}
}
}//package Farm3Africa_fla
Section 232
//pig_82 (Farm3Africa_fla.pig_82)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class pig_82 extends MovieClip {
public function pig_82(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 233
//pigIcon_mc_141 (Farm3Africa_fla.pigIcon_mc_141)
package Farm3Africa_fla {
import flash.events.*;
import flash.display.*;
public dynamic class pigIcon_mc_141 extends MovieClip {
public var active:Boolean;
public function pigIcon_mc_141(){
super();
addFrameScript(0, frame1);
}
public function out(event:MouseEvent=null):void{
if (active){
gotoAndStop("active");
};
}
function frame1(){
stop();
active = false;
addEventListener(MouseEvent.MOUSE_OVER, over, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, down, false, 0, true);
}
public function down(event:MouseEvent=null):void{
if (active){
gotoAndStop("press");
};
}
public function over(event:MouseEvent=null):void{
if (active){
gotoAndStop("over");
};
}
}
}//package Farm3Africa_fla
Section 234
//plane_17 (Farm3Africa_fla.plane_17)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class plane_17 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function plane_17(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 235
//plane_77 (Farm3Africa_fla.plane_77)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class plane_77 extends MovieClip {
public function plane_77(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 236
//plane_body_27 (Farm3Africa_fla.plane_body_27)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class plane_body_27 extends MovieClip {
public function plane_body_27(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 237
//planeInTheSky_56 (Farm3Africa_fla.planeInTheSky_56)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class planeInTheSky_56 extends MovieClip {
public var body:MovieClip;
public var money:TextField;
public function planeInTheSky_56(){
super();
}
}
}//package Farm3Africa_fla
Section 238
//planes_57 (Farm3Africa_fla.planes_57)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class planes_57 extends MovieClip {
public function planes_57(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 239
//playerPanel_96 (Farm3Africa_fla.playerPanel_96)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class playerPanel_96 extends MovieClip {
public var playerName:TextField;
public var welcome:TextField;
public var editBtn:MovieClip;
public function playerPanel_96(){
super();
}
}
}//package Farm3Africa_fla
Section 240
//productionbody_20_10 (Farm3Africa_fla.productionbody_20_10)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class productionbody_20_10 extends MovieClip {
public function productionbody_20_10(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 241
//productionbody_24 (Farm3Africa_fla.productionbody_24)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class productionbody_24 extends MovieClip {
public function productionbody_24(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 242
//purposesItem_51 (Farm3Africa_fla.purposesItem_51)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class purposesItem_51 extends MovieClip {
public var type_txt:TextField;
public var count_txt:TextField;
public var tick:MovieClip;
public var body:MovieClip;
public function purposesItem_51(){
super();
}
}
}//package Farm3Africa_fla
Section 243
//purposesItem_8 (Farm3Africa_fla.purposesItem_8)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class purposesItem_8 extends MovieClip {
public var actual:TextField;
public var tick:MovieClip;
public var required:TextField;
public var body:MovieClip;
public function purposesItem_8(){
super();
}
}
}//package Farm3Africa_fla
Section 244
//purposesRibbon_6 (Farm3Africa_fla.purposesRibbon_6)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class purposesRibbon_6 extends MovieClip {
public var time_txt:TextField;
public function purposesRibbon_6(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 245
//silver_117 (Farm3Africa_fla.silver_117)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class silver_117 extends MovieClip {
public function silver_117(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 246
//sklads_38 (Farm3Africa_fla.sklads_38)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class sklads_38 extends MovieClip {
public function sklads_38(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 247
//smalButton_74 (Farm3Africa_fla.smalButton_74)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class smalButton_74 extends MovieClip {
public var caption:TextField;
public function smalButton_74(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 248
//SnaresPenguinBody_148 (Farm3Africa_fla.SnaresPenguinBody_148)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class SnaresPenguinBody_148 extends MovieClip {
public function SnaresPenguinBody_148(){
super();
addFrameScript(23, frame24, 47, frame48, 83, frame84, 107, frame108, 131, frame132, 155, frame156, 179, frame180);
}
function frame156(){
gotoAndPlay("left");
}
function frame84(){
gotoAndPlay("eat");
}
function frame180(){
stop();
}
function frame24(){
gotoAndPlay("down");
}
function frame108(){
gotoAndPlay("up");
}
function frame48(){
gotoAndPlay("down_left");
}
function frame132(){
gotoAndPlay("left_up");
}
}
}//package Farm3Africa_fla
Section 249
//soundControl_92 (Farm3Africa_fla.soundControl_92)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class soundControl_92 extends MovieClip {
public var caption:TextField;
public function soundControl_92(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 250
//waterline_mc_41 (Farm3Africa_fla.waterline_mc_41)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class waterline_mc_41 extends MovieClip {
public var progressMask:MovieClip;
public function waterline_mc_41(){
super();
}
}
}//package Farm3Africa_fla
Section 251
//wellcopy_40 (Farm3Africa_fla.wellcopy_40)
package Farm3Africa_fla {
import flash.display.*;
public dynamic class wellcopy_40 extends MovieClip {
public function wellcopy_40(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 252
//wellShop_12 (Farm3Africa_fla.wellShop_12)
package Farm3Africa_fla {
import flash.display.*;
import flash.text.*;
public dynamic class wellShop_12 extends MovieClip {
public var bg:MovieClip;
public var title:TextField;
public var tick:MovieClip;
public var buyBtn:MovieClip;
public function wellShop_12(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Farm3Africa_fla
Section 253
//Field (game.assets.Field)
package game.assets {
public class Field extends FieldTemplate {
public function Field(){
super();
}
}
}//package game.assets
Section 254
//FieldTemplate (game.assets.FieldTemplate)
package game.assets {
import flash.display.*;
public dynamic class FieldTemplate extends MovieClip {
public function FieldTemplate(){
super();
}
}
}//package game.assets
Section 255
//Grass (game.assets.Grass)
package game.assets {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import game.*;
import com.melesta.sound.*;
public class Grass extends GrassTemplate {
private var gameController:GameController;
private var _deathTimer:Timer;
private var _capacity:Number;// = 160
public var index:Number;// = 0
private var _stageInstance:DisplayObjectContainer;
public var distance:Number;// = 0
private var _destroyed:Boolean;// = false
private var _life:Number;// = 16
public static var grassList:Array = new Array();
public static var count:Number = 0;
public function Grass(posx:Number, posy:Number, stageInstance:DisplayObjectContainer=null){
super();
this.mouseChildren = false;
this.mouseEnabled = false;
gameController = GameController.instance;
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
SoundManager.play("action_watering");
_stageInstance = stageInstance;
this.x = posx;
this.y = posy;
this.body.gotoAndPlay(2);
if ((Math.random() * 100) > 40){
body.addEventListener(Event.ENTER_FRAME, grow, false, 0, true);
};
_deathTimer = new Timer(60000, 10);
_stageInstance.addChild(this);
_deathTimer.addEventListener(TimerEvent.TIMER, death, false, 0, true);
_deathTimer.start();
index = Grass.count;
Grass.grassList.push(this);
Grass.count++;
}
public function destroy(event:Event=null):void{
if (!_destroyed){
gameController.removeEventListener(GameController.LEVEL_COMPLETED, remove);
_destroyed = true;
Grass.grassList.splice(index, 1);
Grass.remove();
_deathTimer.stop();
_deathTimer.removeEventListener(TimerEvent.TIMER, death);
_stageInstance.removeChild(this);
};
}
private function grow(event:Event=null):void{
event.stopPropagation();
if (event.target.currentFrame == 13){
body.removeEventListener(Event.ENTER_FRAME, grow, false);
this.body.stop();
};
}
public function getGrass():Number{
if ((_capacity - 10) >= 0){
_capacity = (_capacity - 10);
trace(_capacity);
this.body.gotoAndStop((Math.ceil((_capacity / 10)) + 1));
return (_capacity);
};
return (_capacity);
}
public function hasGrass():Number{
return (_capacity);
}
private function death(event:TimerEvent=null):void{
event.stopPropagation();
_capacity = (_capacity - 10);
if (!_capacity){
destroy();
return;
};
this.body.gotoAndStop(((_capacity / 10) + 1));
}
public static function refreshIndexes():void{
var i:int;
while (i < Grass.grassList.length) {
Grass.grassList[i].index = i;
i++;
};
}
public static function remove():void{
Grass.count--;
Grass.refreshIndexes();
}
public static function getNear(petX:Number, petY:Number):Grass{
var distanceList:Array = new Array();
var i:int;
while (i < Grass.grassList.length) {
distanceList.push(Math.sqrt((((petX - Grass.grassList[i].x) * (petX - Grass.grassList[i].x)) + ((petY - Grass.grassList[i].y) * (petY - Grass.grassList[i].y)))));
Grass.grassList[i].distance = distanceList[i];
i++;
};
Grass.grassList.sortOn("distance", Array.NUMERIC);
Grass.refreshIndexes();
return (Grass.grassList[0]);
}
}
}//package game.assets
Section 256
//GrassTemplate (game.assets.GrassTemplate)
package game.assets {
import flash.display.*;
public dynamic class GrassTemplate extends MovieClip {
public var body:MovieClip;
public function GrassTemplate(){
super();
}
}
}//package game.assets
Section 257
//PlayGround (game.assets.PlayGround)
package game.assets {
public class PlayGround extends BackgroundTemplate {
public static var instance:PlayGround;
public function PlayGround(){
super();
instance = this;
}
}
}//package game.assets
Section 258
//GameController (game.GameController)
package game {
import flash.events.*;
import flash.display.*;
import utils.*;
import com.melesta.sound.*;
public class GameController extends MovieClip {
public static var RESUME_GAME:String = "resume_game";
public static var START_GAME:String = "start_game";
public static var LEVEL_COMPLETED:String = "level_completed";
public static var CHANGE_MONEY:String = "shange_money";
public static var instance:GameController;
public static var DESTROY_GAME:String = "destroy_game";
public static var PAUSE_GAME:String = "pause_game";
public function GameController(){
super();
instance = this;
}
public function changeMoney():void{
dispatchEvent(new Event(GameController.CHANGE_MONEY));
}
public function start():void{
dispatchEvent(new Event(GameController.START_GAME));
}
public function pause():void{
dispatchEvent(new Event(PAUSE_GAME));
}
public function levelCompleted():void{
dispatchEvent(new Event(GameController.LEVEL_COMPLETED));
}
public function destroy():void{
dispatchEvent(new Event(DESTROY_GAME));
if (!SoundsList.muteMusic){
if (SoundsList.gameMusicSound){
SoundsList.gameMusicChannel.stop();
};
if (SoundsList.menuMusicSound){
SoundsList.menuMusicChannel.stop();
};
};
SoundsList.mute = true;
SoundManager.mute();
}
public function resume():void{
dispatchEvent(new Event(RESUME_GAME));
}
}
}//package game
Section 259
//LevelBuilder (game.LevelBuilder)
package game {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import houses.*;
import ui.*;
import market.road.*;
import pets.*;
import utils.*;
import com.melesta.sound.*;
public class LevelBuilder extends MovieClip {
public var houseContainer:HouseContainer;
private var _container:MovieClip;
public var tooltip:Tooltip;
public var goals:GoalsWindow;
private var _gameController:GameController;
private var _bearList:Array;
public var purposes:PurposesWindow;
public var bottomPanel:BottomPanel;
public var road:Road;
private var _bearTime:Number;// = 0
public var petsContainer:PetsContainer;
private var _bearTimer:Timer;
public var waterTooltip:WaterTooltip;
public var petShop:PetShop;
public var results:ResultsWindow;
private var houseTypes:Array;
public static var maxLevel:Number = 1;
public static var instance:LevelBuilder;
public static var currentLevel:Number = 1;
public static var currentLevelXML:XML;
public function LevelBuilder(){
houseTypes = new Array("DRIED_EGGS", "CAKE", "FLOURY_CAKE", "INCUBATOR");
super();
instance = this;
}
public function pause(event:Event=null):void{
_bearTimer.stop();
}
public function get container():MovieClip{
return (_container);
}
private function carCame(event:Event=null):void{
SoundManager.play("car_came");
updateView();
}
public function updateView(event:Event=null):void{
PetShop.instance.update();
BottomPanel.instance.update();
}
public function addBear(event:TimerEvent=null):void{
var currentBear:Array;
_bearTime++;
if (_bearList.length > 0){
currentBear = _bearList[0].split(",");
if (_bearTime >= Number(currentBear[1])){
PetsContainer.instance.addPet(currentBear[0], 0);
_bearList.shift();
};
} else {
_bearTime = 0;
_bearTimer.stop();
};
}
public function addHouses():void{
addPets();
_bearTimer.start();
BottomPanel.instance.startTime();
var housesLength:Number = currentLevelXML.child("Houses").child("h").length();
var houseType:Number = 0;
var houseUpgrade:Number = 0;
var posIndex:Number = 0;
var housesList:Array = new Array();
var i:int;
while (i < housesLength) {
houseType = Number(currentLevelXML.child("Houses").h[i].@Type);
houseUpgrade = Number(currentLevelXML.child("Houses").h[i].@Upgrade);
posIndex = Number(currentLevelXML.child("Houses").h[i].@PosIndex);
HouseContainer.instance.addHouse(houseTypes[houseType], posIndex, houseUpgrade, (i * 0.2));
i++;
};
HouseContainer.instance.addHouse("WELL", 2, 0, (housesLength * 0.2));
if (Config.currentLevel > 3){
HouseContainer.instance.addHouse("PLANE", 2, 0, ((housesLength * 0.2) + 0.2));
};
HouseContainer.instance.addHouse("DEPOT", 2, 0, ((housesLength * 0.2) + 0.8));
if (Config.currentLevel > 1){
HouseContainer.instance.addHouse("CAR", 2, 0, ((housesLength * 0.2) + 0.6));
};
}
public function addMoney(event:MouseEvent=null):void{
Road.instance.addMoney(10000);
}
private function gold(event:MouseEvent=null):void{
ResultsWindow.instance.show();
}
public function createLevel(level:Number=1):void{
var goalType:Number;
var bearType:String;
var bearTime:String;
var purpose:String;
currentLevel = level;
Config.currentLevel = level;
currentLevelXML = Config.getLevel(level);
var goalsLength:Number = currentLevelXML.child("Goals").child("g").length();
LevelStatistics.accessProduct = new Array();
var p:int;
while (p < currentLevelXML.child("AccessProduct").child("c").length()) {
LevelStatistics.accessProduct.push(Number(currentLevelXML.child("AccessProduct").c[p].@Product));
p++;
};
LevelStatistics.goals = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
LevelStatistics.purposes = new Array();
var i:int;
while (i < goalsLength) {
goalType = Number(currentLevelXML.child("Goals").g[i].@Type);
purpose = ((ProductTypes.numberToType(goalType) + ",") + Number(currentLevelXML.child("Goals").g[i].@Val));
LevelStatistics.purposes.push(purpose);
i++;
};
_bearTime = 0;
_bearList = new Array();
var bearLength:Number = currentLevelXML.child("BearTimes").child("t").length();
var j:int;
while (j < bearLength) {
bearType = ((currentLevelXML.child("BearTimes").t[j].@Type == "0")) ? "POLAR_BEAR" : "BROWN";
bearTime = currentLevelXML.child("BearTimes").t[j].@Time;
_bearList.push(((bearType + ",") + bearTime));
j++;
};
goals.show();
LevelStatistics.updateStatistics();
Road.instance.setMoney(Number(currentLevelXML.@StartMoney));
bottomPanel.init();
bottomPanel.animate();
updateView();
}
public function set container(value:MovieClip):void{
_container = value;
}
public function resume(event:Event=null):void{
_bearTimer.start();
}
public function addPets():void{
Penguin.count = 0;
Penguin.penguinList = new Array();
KingPenguin.count = 0;
KingPenguin.penguinList = new Array();
var petsLength:Number = currentLevelXML.child("StartPets").child("p").length();
var petType:Number = 0;
var petsList:Array = new Array();
var i:int;
while (i < petsLength) {
petType = Number(currentLevelXML.child("StartPets").p[i].@Type);
if (petType){
PetsContainer.instance.addPet("KING_PENGUIN", (0.2 * i));
} else {
PetsContainer.instance.addPet("PENGUIN", (0.2 * i));
};
i++;
};
PetShop.instance.update();
}
public function prepareAllAssets():void{
_gameController = GameController.instance;
_gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
_gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
petShop = new PetShop();
container.addChild(petShop);
road = new Road();
if (Config.use_cheats){
road.addEventListener(MouseEvent.CLICK, addMoney, false, 0, true);
road.addEventListener(MouseEvent.MOUSE_WHEEL, gold, false, 0, true);
};
container.addChild(road);
road.x = 350;
road.addEventListener(Road.CAR_CAME, carCame, false, 0, true);
road.addEventListener(Road.UPDATE_MONEY, updateView, false, 0, true);
bottomPanel = new BottomPanel();
BottomPanel.effectContainer = container;
bottomPanel.createEffect();
container.addChild(bottomPanel);
houseContainer = new HouseContainer(container);
petsContainer = new PetsContainer(container.parent);
purposes = new PurposesWindow(container.parent);
results = new ResultsWindow(container.parent);
goals = new GoalsWindow(container.parent);
tooltip = new Tooltip();
container.parent.addChild(tooltip);
waterTooltip = new WaterTooltip();
container.parent.addChild(waterTooltip);
_bearTimer = new Timer(1000);
_bearTimer.addEventListener(TimerEvent.TIMER, addBear, false, 0, true);
}
}
}//package game
Section 260
//CakeHouse (houses.CakeHouse)
package houses {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import ui.*;
import shop.*;
import game.*;
import market.road.*;
import pets.*;
import flash.media.*;
import utils.*;
import production.*;
import caurina.transitions.properties.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class CakeHouse extends CakeHouseTemplate {
private var posX:Number;
private var posY:Number;
private var left:Number;// = 1
private var madedProduction:Number;// = 0
private var _progress:WorkLine;
private var _countAnimation:Number;// = 15
private var _upgrade:Number;// = 1
private var gameController:GameController;
private var _upgradeButton:UpgradeButton;
private var _working:Boolean;// = false
private var _stageInstance:DisplayObjectContainer;
public static var output:String = "CAKE";
public static var upgradeCost:Array = new Array(200, 300, 400, 500, 600);
public static var input:Array = new Array("DRIED_EGGS");
public static var firstShow:Boolean = true;
public function CakeHouse(stageInstance:DisplayObjectContainer, upgrd:Number, position:Array, delay:Number){
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
stageInstance.addChild(this);
_progress = new WorkLine();
addChild(_progress);
_stageInstance = stageInstance;
var point:Point = new Point(position[0], position[1]);
show(point, delay);
activeArea.addEventListener(MouseEvent.ROLL_OVER, dropShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.ROLL_OUT, removeShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.MOUSE_DOWN, onClick, false, 0, true);
_upgrade = upgrd;
_upgradeButton = new UpgradeButton();
_upgradeButton.x = -20;
_upgradeButton.y = -50;
_upgradeButton.target = this;
addChild(_upgradeButton);
upgrade(upgrd);
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
FilterShortcuts.init();
body.mouseChildren = (body.mouseEnabled = false);
}
public function destroy(event:Event=null):void{
Tweener.removeTweens(body);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.PAUSE_GAME, pause);
gameController.removeEventListener(GameController.RESUME_GAME, resume);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
_stageInstance.removeChild(this);
}
private function remove():void{
_stageInstance.removeChild(this);
activeArea.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
}
public function removeShadow(event:MouseEvent=null):void{
Tooltip.instance.hide();
var mtx:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
}
private function makeProduction():void{
var ypos:Number;
_working = false;
while (madedProduction > 0) {
ypos = 0;
if (y > 400){
ypos = ((this.y - 40) - (Math.random() * 20));
} else {
ypos = ((this.y - 20) - (Math.random() * 20));
};
PetsContainer.instance.addProduct(output, ((this.x - (left * 80)) - ((left * Math.random()) * 20)), ypos);
madedProduction--;
_progress.setProgress(0);
};
}
private function landing():void{
left = ((this.x)<300) ? -1 : 1;
_progress.x = (-(left) * 50);
_progress.y = -20;
_upgradeButton.x = (left * 40);
_upgradeButton.y = -30;
SoundManager.play("house_landing", 1, new SoundTransform(1, left));
updateMoney();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.bakery);
};
}
public function animate():void{
_countAnimation--;
_progress.setProgress(((37 * (15 - _countAnimation)) / 15));
if (_countAnimation > 0){
Tweener.removeTweens(this.body);
Tweener.addTween(this.body, {scaleX:0.8, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1.1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleX:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleY:0.8, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleX:1.1, time:0.2, delay:0.4, transition:"linear", onComplete:animate});
} else {
Tweener.addTween(this.body, {scaleX:1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1, time:0.2, delay:0, transition:"linear", onComplete:makeProduction});
};
Road.instance.addMoney(0);
}
public function upgrade(level:Number):void{
this.body.gotoAndStop(level);
if (_upgrade <= (ShopWindow.availableUpgrades[6] - 1)){
_upgradeButton.caption.text = upgradeCost[(_upgrade - 1)];
Fonts.applyDefaultFont(_upgradeButton.caption);
};
if (_upgrade > (ShopWindow.availableUpgrades[6] - 1)){
_upgradeButton.destroy();
};
}
public function onClick(event:MouseEvent=null):void{
var i:int;
var movingProduction:MovingProduction;
if (!_working){
_countAnimation = 15;
madedProduction = Depot.instance.getProduction(input, _upgrade);
if (madedProduction > 0){
i = 0;
while (i < madedProduction) {
movingProduction = new MovingProduction("DRIED_EGGS", this.x, (this.y - 15), (i / 7));
i++;
};
_working = true;
animate();
SoundManager.play("house_click", 1);
};
};
}
public function resume(event:Event=null):void{
Tweener.resumeTweens(this);
Tweener.resumeTweens(this.body);
}
public function nextUpgrade():void{
Road.instance.addMoney(-(Number(upgradeCost[(_upgrade - 1)])));
_upgrade++;
upgrade(_upgrade);
SoundManager.play("action_upgrade", 1);
}
public function dropShadow(event:MouseEvent=null):void{
Tooltip.instance.show(x, y, output, _upgrade, Config.currentLanguage.bakery);
var mtx:Array = [2, 0, 0, 0, -63.5, 0, 2, 0, 0, -63.5, 0, 0, 2, 0, -63.5, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
}
public function pause(event:Event=null):void{
Tweener.pauseTweens(this.body);
Tweener.pauseTweens(this);
}
public function show(position:Point, delay:Number):void{
this.x = position.x;
this.y = -50;
Tweener.addTween(this, {y:(position.y + 15), time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
}
public function updateMoney(event:Event=null):void{
if (_upgradeButton){
if (upgradeCost[(_upgrade - 1)] <= Road.currentMoney){
_upgradeButton.disabled(true);
} else {
_upgradeButton.disabled(false);
};
};
}
}
}//package houses
Section 261
//Depot (houses.Depot)
package houses {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import ui.*;
import shop.*;
import game.*;
import market.road.*;
import utils.*;
import market.*;
import vehicles.*;
import production.*;
import caurina.transitions.properties.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Depot extends DepotTemplate {
private var _container:MovieClip;
private var _pruductionList:Array;
private var _productionPrice:Array;
private var _capacityList:Array;
private var startTooltip:Boolean;// = false
private var _importProduction:ExportWindow;
private var _posX:Number;// = 0
private var _posY:Number;// = 0
private var _upgradePosition:Array;
private var _productionDepotSize:Array;
private var _currentItem:Number;// = 0
private var _upgradeButton:UpgradeButton;
private var _stageInstance:DisplayObjectContainer;
private var gameController:GameController;
private var _productionCarSize:Array;
public static var instance:Depot;
public static var upgradeLevel:Number = 0;
public static var upgradeCost:Array = new Array(150, 500, 1000, 10000);
public static var _production:Array = new Array(0, 0, 0, 0, 0, 0, 0);
public function Depot(stageInstance:DisplayObjectContainer, level:Number, delay:Number){
var depotProduct:DepotProduct;
_upgradePosition = new Array(0, -8);
_capacityList = new Array(50, 150, 300, 600);
_productionDepotSize = new Array(1, 2, 4, 5, 6, 1.5, 20);
_productionPrice = new Array(10, 100, 50, 100, 200, 10, 100, 50, 500);
_productionCarSize = new Array(10, 10, 5, 5, 5, 5, 1, 5, 2);
super();
instance = this;
gameController = GameController.instance;
_stageInstance = stageInstance;
_container = new MovieClip();
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
_stageInstance.addChild(_container);
_container.addChild(this);
upgradeLevel = level;
SoundManager.registerSoundAsset("house_landing", house_landing);
_pruductionList = new Array();
var point:Point = new Point(277, 430);
show(point, delay);
this.mouseEnabled = false;
body.addEventListener(MouseEvent.MOUSE_OVER, dropShadow, false, 0, true);
body.addEventListener(MouseEvent.MOUSE_OUT, removeShadow, false, 0, true);
body.addEventListener(MouseEvent.MOUSE_DOWN, showMarket, false, 0, true);
var i:int;
var j:int;
var productionContainer:Sprite = new Sprite();
addChild(productionContainer);
i = 0;
while (j <= 7) {
i = 0;
while (i < 5) {
depotProduct = new DepotProduct();
productionContainer.addChild(depotProduct);
depotProduct.y = (-35 - (i * 9.4));
depotProduct.x = (-42 + (j * 9.4));
_pruductionList.push(depotProduct);
i++;
};
j++;
};
productionContainer.mouseEnabled = false;
productionContainer.mouseChildren = false;
this.cacheAsBitmap = true;
_importProduction = new ExportWindow(this, stageInstance);
_upgradeButton = new UpgradeButton();
_upgradeButton.x = _upgradePosition[0];
_upgradeButton.y = _upgradePosition[1];
_upgradeButton.target = this;
addChild(_upgradeButton);
upgrade(upgradeLevel);
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
FilterShortcuts.init();
}
public function destroy(event:Event=null):void{
body.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
body.removeEventListener(MouseEvent.ROLL_OUT, hideTooltip);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
_production = new Array(0, 0, 0, 0, 0, 0, 0);
_container.removeChild(this);
_stageInstance.removeChild(_container);
}
public function animate():void{
}
private function remove():void{
body.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
body.removeEventListener(MouseEvent.ROLL_OUT, hideTooltip);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
}
public function addProduct(type:String):Boolean{
var product:Number = ProductTypes.typeToNumber(type);
if ((((freeSpace() - _productionDepotSize[product]))>=0) ? true : false){
putProduct(product);
return (true);
};
FArrow.instance.show((this.x + 50), (this.y - 100));
return (false);
}
public function updateMoney(event:Event=null):void{
if (_upgradeButton){
if (Depot.upgradeCost[upgradeLevel] <= Road.currentMoney){
_upgradeButton.disabled(true);
} else {
_upgradeButton.disabled(false);
};
};
}
private function freeSpace():Number{
var space:Number = 0;
var i:Number = 0;
while (i < _production.length) {
space = (space + (_production[i] * _productionDepotSize[i]));
i++;
};
return ((_capacityList[upgradeLevel] - space));
}
public function removeShadow(event:MouseEvent=null):void{
event.stopPropagation();
var mtx:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
Tooltip.instance.hide();
}
public function show(position:Point, delay:Number):void{
this.x = position.x;
this.y = -50;
Tweener.addTween(this, {y:position.y, time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
}
private function hideTooltip(event:MouseEvent=null):void{
Tooltip.instance.hide();
}
private function putProduct(type:Number):void{
var _local2 = _production;
var _local3 = type;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
_local2 = LevelStatistics.goals;
_local3 = type;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
LevelStatistics.updateStatistics();
updateDepotView();
}
public function onClick(event:MouseEvent=null):void{
}
public function upgrade(level:Number):void{
this.body.gotoAndStop((level + 1));
updateDepotView();
if (upgradeLevel <= (ShopWindow.availableUpgrades[2] - 1)){
_upgradeButton.caption.text = Depot.upgradeCost[upgradeLevel];
Fonts.applyDefaultFont(_upgradeButton.caption);
};
if (upgradeLevel > (ShopWindow.availableUpgrades[2] - 1)){
_upgradeButton.destroy();
};
Road.instance.addMoney(0);
}
public function nextUpgrade():void{
Road.instance.addMoney(-(Number(Depot.upgradeCost[upgradeLevel])));
upgradeLevel++;
upgrade(upgradeLevel);
SoundManager.play("action_upgrade", 1);
}
public function showMarket(event:MouseEvent=null):void{
if (Car.instance){
if (Car.instance.visible){
SoundManager.play("house_click", 1);
_importProduction.show();
};
};
}
public function productionSize(type:Number):Number{
var capacity:Number = _productionDepotSize[type];
return (((40 / _capacityList[upgradeLevel]) * capacity));
}
public function dropShadow(event:MouseEvent=null):void{
event.stopPropagation();
var mtx:Array = [2, 0, 0, 0, -63.5, 0, 2, 0, 0, -63.5, 0, 0, 2, 0, -63.5, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
Tooltip.instance.show(x, (y - 50), "DEPOT", upgradeLevel, "Склад");
}
public function updateDepotView():void{
var j:int;
var k:int;
while (k < 40) {
_pruductionList[k].hide();
k++;
};
var item:Number = 0;
var i:int;
while (i < _production.length) {
j = 0;
while (j < Math.ceil((_production[i] * productionSize(i)))) {
_pruductionList[item].show(i);
if (item < 39){
item++;
} else {
break;
};
j++;
};
i++;
};
}
private function landing():void{
SoundManager.play("house_landing", 1);
updateMoney();
}
public function getProduction(type:Array, count:Number):Number{
var product:Number;
var products:Array = new Array();
var i:int;
while (i < type.length) {
product = _production[ProductTypes.typeToNumber(type[i])];
products.push(product);
i++;
};
products.sort(Array.NUMERIC);
var delta:Number = count;
if (count > products[0]){
delta = products[0];
};
var j:int;
while (j < type.length) {
_production[ProductTypes.typeToNumber(type[j])] = (_production[ProductTypes.typeToNumber(type[j])] - delta);
j++;
};
updateDepotView();
return (delta);
}
}
}//package houses
Section 262
//DepotTemplate (houses.DepotTemplate)
package houses {
import flash.display.*;
public dynamic class DepotTemplate extends MovieClip {
public var body:MovieClip;
public function DepotTemplate(){
super();
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package houses
Section 263
//DriedEggsHouse (houses.DriedEggsHouse)
package houses {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import ui.*;
import shop.*;
import game.*;
import market.road.*;
import pets.*;
import flash.media.*;
import utils.*;
import production.*;
import caurina.transitions.properties.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class DriedEggsHouse extends PowderedHouseTemplate {
private var posX:Number;
private var posY:Number;
private var left:Number;// = 1
private var madedProduction:Number;// = 0
private var _progress:WorkLine;
private var _countAnimation:Number;// = 15
private var _upgrade:Number;// = 1
private var gameController:GameController;
private var _upgradeButton:UpgradeButton;
private var _working:Boolean;// = false
private var _stageInstance:DisplayObjectContainer;
public static var output:String = "DRIED_EGGS";
public static var upgradeCost:Array = new Array(150, 200, 250, 300, 350);
public static var input:Array = new Array("EGG");
public static var firstShow:Boolean = true;
public function DriedEggsHouse(stageInstance:DisplayObjectContainer, upgrd:Number, position:Array, delay:Number){
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
stageInstance.addChild(this);
_progress = new WorkLine();
addChild(_progress);
_stageInstance = stageInstance;
var point:Point = new Point(position[0], position[1]);
show(point, delay);
activeArea.addEventListener(MouseEvent.ROLL_OVER, dropShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.ROLL_OUT, removeShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.MOUSE_DOWN, onClick, false, 0, true);
_upgrade = upgrd;
_upgradeButton = new UpgradeButton();
_upgradeButton.x = -20;
_upgradeButton.y = -50;
_upgradeButton.target = this;
addChild(_upgradeButton);
upgrade(upgrd);
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
FilterShortcuts.init();
body.mouseChildren = (body.mouseEnabled = false);
}
public function destroy(event:Event=null):void{
Tweener.removeTweens(body);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.PAUSE_GAME, pause);
gameController.removeEventListener(GameController.RESUME_GAME, resume);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
_stageInstance.removeChild(this);
}
private function remove():void{
_stageInstance.removeChild(this);
activeArea.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
}
public function removeShadow(event:MouseEvent=null):void{
Tooltip.instance.hide();
var mtx:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
}
private function makeProduction():void{
var ypos:Number;
_working = false;
while (madedProduction > 0) {
ypos = 0;
if (y > 400){
ypos = ((this.y - 40) - (Math.random() * 20));
} else {
ypos = ((this.y - 20) - (Math.random() * 20));
};
PetsContainer.instance.addProduct(output, ((this.x - (left * 80)) - ((left * Math.random()) * 20)), ypos);
madedProduction--;
_progress.setProgress(0);
};
}
private function landing():void{
left = ((this.x)<300) ? -1 : 1;
_progress.x = (-(left) * 50);
_progress.y = -20;
_upgradeButton.x = (left * 40);
_upgradeButton.y = -30;
SoundManager.play("house_landing", 1, new SoundTransform(1, left));
updateMoney();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.powdered);
};
}
public function animate():void{
_countAnimation--;
_progress.setProgress(((37 * (15 - _countAnimation)) / 15));
if (_countAnimation > 0){
Tweener.removeTweens(this.body);
Tweener.addTween(this.body, {scaleX:0.8, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1.1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleX:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleY:0.8, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleX:1.1, time:0.2, delay:0.4, transition:"linear", onComplete:animate});
} else {
Tweener.addTween(this.body, {scaleX:1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1, time:0.2, delay:0, transition:"linear", onComplete:makeProduction});
};
Road.instance.addMoney(0);
}
public function upgrade(level:Number):void{
this.body.gotoAndStop(level);
if (_upgrade <= (ShopWindow.availableUpgrades[5] - 1)){
_upgradeButton.caption.text = upgradeCost[(_upgrade - 1)];
Fonts.applyDefaultFont(_upgradeButton.caption);
};
if (_upgrade > (ShopWindow.availableUpgrades[5] - 1)){
_upgradeButton.destroy();
};
}
public function onClick(event:MouseEvent=null):void{
var i:int;
var movingProduction:MovingProduction;
if (!_working){
_countAnimation = 15;
madedProduction = Depot.instance.getProduction(input, _upgrade);
if (madedProduction > 0){
i = 0;
while (i < madedProduction) {
movingProduction = new MovingProduction("EGG", this.x, (this.y - 15), (i / 7));
i++;
};
_working = true;
animate();
SoundManager.play("house_click", 1);
};
};
}
public function resume(event:Event=null):void{
Tweener.resumeTweens(this);
Tweener.resumeTweens(this.body);
}
public function nextUpgrade():void{
Road.instance.addMoney(-(Number(upgradeCost[(_upgrade - 1)])));
_upgrade++;
upgrade(_upgrade);
SoundManager.play("action_upgrade", 1);
}
public function dropShadow(event:MouseEvent=null):void{
Tooltip.instance.show(x, y, output, _upgrade, Config.currentLanguage.powdered);
var mtx:Array = [2, 0, 0, 0, -63.5, 0, 2, 0, 0, -63.5, 0, 0, 2, 0, -63.5, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
}
public function pause(event:Event=null):void{
Tweener.pauseTweens(this.body);
Tweener.pauseTweens(this);
}
public function show(position:Point, delay:Number):void{
this.x = position.x;
this.y = -50;
Tweener.addTween(this, {y:(position.y + 15), time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
}
public function updateMoney(event:Event=null):void{
if (_upgradeButton){
if (upgradeCost[(_upgrade - 1)] <= Road.currentMoney){
_upgradeButton.disabled(true);
} else {
_upgradeButton.disabled(false);
};
};
}
}
}//package houses
Section 264
//FlouryCakeHouse (houses.FlouryCakeHouse)
package houses {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import ui.*;
import shop.*;
import game.*;
import market.road.*;
import pets.*;
import flash.media.*;
import utils.*;
import production.*;
import caurina.transitions.properties.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class FlouryCakeHouse extends FlouryCakeHouseTemplate {
private var posX:Number;
private var posY:Number;
private var left:Number;// = 1
private var madedProduction:Number;// = 0
private var _progress:WorkLine;
private var _countAnimation:Number;// = 15
private var _upgrade:Number;// = 1
private var gameController:GameController;
private var _upgradeButton:UpgradeButton;
private var _working:Boolean;// = false
private var _stageInstance:DisplayObjectContainer;
public static var output:String = "FLOURY_CAKE";
public static var upgradeCost:Array = new Array(300, 400, 500, 600, 700);
public static var input:Array = new Array("CAKE", "FLOUR");
public static var firstShow:Boolean = true;
public function FlouryCakeHouse(stageInstance:DisplayObjectContainer, upgrd:Number, position:Array, delay:Number){
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
stageInstance.addChild(this);
_progress = new WorkLine();
addChild(_progress);
_stageInstance = stageInstance;
var point:Point = new Point(position[0], position[1]);
show(point, delay);
activeArea.addEventListener(MouseEvent.ROLL_OVER, dropShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.ROLL_OUT, removeShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.MOUSE_DOWN, onClick, false, 0, true);
_upgrade = upgrd;
_upgradeButton = new UpgradeButton();
_upgradeButton.x = -20;
_upgradeButton.y = -50;
_upgradeButton.target = this;
addChild(_upgradeButton);
upgrade(upgrd);
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
FilterShortcuts.init();
body.mouseChildren = (body.mouseEnabled = false);
}
public function destroy(event:Event=null):void{
Tweener.removeTweens(body);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.PAUSE_GAME, pause);
gameController.removeEventListener(GameController.RESUME_GAME, resume);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
_stageInstance.removeChild(this);
}
private function remove():void{
_stageInstance.removeChild(this);
activeArea.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
}
public function removeShadow(event:MouseEvent=null):void{
Tooltip.instance.hide();
var mtx:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
}
private function makeProduction():void{
var ypos:Number;
_working = false;
while (madedProduction > 0) {
ypos = 0;
if (y > 400){
ypos = ((this.y - 40) - (Math.random() * 20));
} else {
ypos = ((this.y - 20) - (Math.random() * 20));
};
PetsContainer.instance.addProduct(output, ((this.x - (left * 80)) - ((left * Math.random()) * 20)), ypos);
madedProduction--;
_progress.setProgress(0);
};
}
private function landing():void{
left = ((this.x)<300) ? -1 : 1;
_progress.x = (-(left) * 50);
_progress.y = -20;
_upgradeButton.x = (left * 40);
_upgradeButton.y = -30;
SoundManager.play("house_landing", 1, new SoundTransform(1, left));
updateMoney();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.confectionery);
};
}
public function animate():void{
_countAnimation--;
_progress.setProgress(((37 * (15 - _countAnimation)) / 15));
if (_countAnimation > 0){
Tweener.removeTweens(this.body);
Tweener.addTween(this.body, {scaleX:0.8, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1.1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleX:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleY:0.8, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleX:1.1, time:0.2, delay:0.4, transition:"linear", onComplete:animate});
} else {
Tweener.addTween(this.body, {scaleX:1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1, time:0.2, delay:0, transition:"linear", onComplete:makeProduction});
};
Road.instance.addMoney(0);
}
public function upgrade(level:Number):void{
this.body.gotoAndStop(level);
if (_upgrade <= (ShopWindow.availableUpgrades[7] - 1)){
_upgradeButton.caption.text = upgradeCost[(_upgrade - 1)];
Fonts.applyDefaultFont(_upgradeButton.caption);
};
if (_upgrade > (ShopWindow.availableUpgrades[7] - 1)){
_upgradeButton.destroy();
};
}
public function onClick(event:MouseEvent=null):void{
var i:int;
var movingProduction:MovingProduction;
var movingProduction2:MovingProduction;
if (!_working){
_countAnimation = 15;
madedProduction = Depot.instance.getProduction(input, _upgrade);
if (madedProduction > 0){
i = 0;
while (i < madedProduction) {
movingProduction = new MovingProduction("FLOUR", this.x, (this.y - 15), (i / 7));
movingProduction2 = new MovingProduction("CAKE", this.x, (this.y - 15), (i / 7), true);
i++;
};
_working = true;
animate();
SoundManager.play("house_click", 1);
};
};
}
public function resume(event:Event=null):void{
Tweener.resumeTweens(this);
Tweener.resumeTweens(this.body);
}
public function nextUpgrade():void{
Road.instance.addMoney(-(Number(upgradeCost[(_upgrade - 1)])));
_upgrade++;
upgrade(_upgrade);
SoundManager.play("action_upgrade", 1);
}
public function dropShadow(event:MouseEvent=null):void{
Tooltip.instance.show(x, y, output, _upgrade, Config.currentLanguage.confectionery);
var mtx:Array = [2, 0, 0, 0, -63.5, 0, 2, 0, 0, -63.5, 0, 0, 2, 0, -63.5, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
}
public function pause(event:Event=null):void{
Tweener.pauseTweens(this.body);
Tweener.pauseTweens(this);
}
public function show(position:Point, delay:Number):void{
this.x = position.x;
this.y = -50;
Tweener.addTween(this, {y:(position.y + 15), time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
}
public function updateMoney(event:Event=null):void{
if (_upgradeButton){
if (upgradeCost[(_upgrade - 1)] <= Road.currentMoney){
_upgradeButton.disabled(true);
} else {
_upgradeButton.disabled(false);
};
};
}
}
}//package houses
Section 265
//HouseContainer (houses.HouseContainer)
package houses {
import flash.display.*;
import flash.geom.*;
import vehicles.*;
public class HouseContainer {
private var _stageInstance:DisplayObjectContainer;
public static var instance:HouseContainer;
public static var positionList:Array = new Array("100,160", "70,246", "80,340", "455,158", "487,240", "487,340", "490,360");
public function HouseContainer(stageInstance:DisplayObjectContainer=null):void{
super();
instance = this;
_stageInstance = stageInstance;
}
public function addHouse(type:String, posIndex:Number, upgrade:Number=0, delay:Number=0):void{
var housePlate:HousePlate;
var pos:Array;
var _local7:*;
var _local8:*;
var _local9:DriedEggsHouse;
var _local10:*;
var _local11:Depot;
var _local12:Well;
var _local13:Car;
var _local14:Plane;
if (((((((((!(upgrade)) && (!((type == "DEPOT"))))) && (!((type == "CAR"))))) && (!((type == "WELL"))))) && (!((type == "PLANE"))))){
housePlate = new HousePlate(_stageInstance, type, posIndex, delay);
} else {
pos = positionList[posIndex].split(",");
switch (type){
case "CAKE":
_local7 = new CakeHouse(_stageInstance, upgrade, pos, delay);
break;
case "INCUBATOR":
_local8 = new Incubator(_stageInstance, upgrade, pos, delay);
break;
case "DRIED_EGGS":
_local9 = new DriedEggsHouse(_stageInstance, upgrade, pos, delay);
break;
case "FLOURY_CAKE":
_local10 = new FlouryCakeHouse(_stageInstance, upgrade, pos, delay);
break;
case "DEPOT":
_local11 = new Depot(_stageInstance, upgrade, delay);
break;
case "WELL":
_local12 = new Well(_stageInstance, upgrade, delay);
break;
case "CAR":
_local13 = new Car(_stageInstance, upgrade, delay);
break;
case "PLANE":
_local14 = new Plane(_stageInstance, upgrade, delay);
break;
};
};
}
}
}//package houses
Section 266
//HousePlate (houses.HousePlate)
package houses {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import ui.*;
import game.*;
import market.road.*;
import flash.media.*;
import utils.*;
import production.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class HousePlate extends HousePlateTemplate {
private var posX:Number;
private var posY:Number;
private var active:Boolean;// = false
private var left:Number;// = 1
private var _icon:ViewProduction;
private var _type:String;
private var _upgrade:Number;// = 0
private var positionIndex:Number;// = 0
private var gameController:GameController;
private var _stageInstance:DisplayObjectContainer;
public static var firstShow:Boolean = true;
public static var types:Array = new Array("DRIED_EGGS", "CAKE", "FLOURY_CAKE", "INCUBATOR");
public static var cost:Array = new Array(150, 200, 300, 270);
public function HousePlate(stageInstance:DisplayObjectContainer, type:String, posIndex:Number, delay:Number){
super();
stageInstance.addChild(this);
gameController = GameController.instance;
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
_stageInstance = stageInstance;
positionIndex = posIndex;
_icon = new ViewProduction(type);
_type = type;
_icon.y = -53;
addChild(_icon);
_icon.scaleX = (_icon.scaleY = 0.6);
show(delay);
buyButton.price.text = cost[getHouseIndex(_type)];
Fonts.applyDefaultFont(buyButton.price);
buyButton.addEventListener(MouseEvent.ROLL_OVER, over, false, 0, true);
buyButton.addEventListener(MouseEvent.ROLL_OUT, out, false, 0, true);
buyButton.addEventListener(MouseEvent.CLICK, click, false, 0, true);
buyButton.addEventListener(MouseEvent.MOUSE_DOWN, press, false, 0, true);
buyButton.gotoAndStop("disable");
}
public function destroy(event:Event=null):void{
buyButton.removeEventListener(MouseEvent.ROLL_OVER, over, false);
buyButton.removeEventListener(MouseEvent.ROLL_OUT, out, false);
buyButton.removeEventListener(MouseEvent.CLICK, click, false);
buyButton.removeEventListener(MouseEvent.MOUSE_DOWN, press);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
_stageInstance.removeChild(this);
}
private function press(event:MouseEvent):void{
if (active){
this.buyButton.gotoAndStop("press");
};
}
private function remove():void{
_stageInstance.removeChild(this);
buyButton.removeEventListener(MouseEvent.ROLL_OVER, over, false);
buyButton.removeEventListener(MouseEvent.ROLL_OUT, out, false);
buyButton.removeEventListener(MouseEvent.CLICK, click, false);
buyButton.removeEventListener(MouseEvent.MOUSE_DOWN, press);
}
private function out(event:MouseEvent):void{
if (active){
this.buyButton.gotoAndStop("active");
};
}
private function click(event:MouseEvent):void{
if (active){
SoundManager.play("action_upgrade", 1);
buyButton.removeEventListener(MouseEvent.CLICK, click, false);
HouseContainer.instance.addHouse(_type, positionIndex, 1, 0);
Road.instance.addMoney(-(Number(cost[getHouseIndex(_type)])));
Tweener.addTween(this, {y:-50, time:0.4, onComplete:destroy, delay:0.2});
};
}
private function over(event:MouseEvent):void{
if (active){
this.buyButton.gotoAndStop("over");
};
}
private function landing():void{
left = ((this.x)<300) ? -1 : 1;
SoundManager.play("house_board_landing", 1, new SoundTransform(1, left));
updateMoney();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.house_plate);
};
}
public function updateMoney(event:Event=null):void{
if (Road.currentMoney >= Number(cost[getHouseIndex(_type)])){
this.active = true;
this.buyButton.gotoAndStop("active");
} else {
buyButton.gotoAndStop("disable");
this.active = false;
};
}
public function show(delay:Number):void{
var position:Array = HouseContainer.positionList[positionIndex].split(",");
this.x = position[0];
this.y = -50;
Tweener.addTween(this, {y:position[1], time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
updateMoney();
}
public static function getHouseIndex(house:String):Number{
switch (house){
case "DRIED_EGGS":
return (0);
case "CAKE":
return (1);
case "FLOURY_CAKE":
return (2);
case "INCUBATOR":
return (3);
};
return (0);
}
}
}//package houses
Section 267
//HousePlateTemplate (houses.HousePlateTemplate)
package houses {
import flash.display.*;
public dynamic class HousePlateTemplate extends MovieClip {
public var buyButton:MovieClip;
public function HousePlateTemplate(){
super();
}
}
}//package houses
Section 268
//Incubator (houses.Incubator)
package houses {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import ui.*;
import shop.*;
import game.*;
import market.road.*;
import pets.*;
import flash.media.*;
import utils.*;
import production.*;
import caurina.transitions.properties.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Incubator extends IncubatorTemplate {
private var posX:Number;
private var posY:Number;
private var left:Number;// = 1
private var madedProduction:Number;// = 0
private var _progress:WorkLine;
private var _countAnimation:Number;// = 15
private var _upgrade:Number;// = 1
private var gameController:GameController;
private var _upgradeButton:UpgradeButton;
private var _working:Boolean;// = false
private var _stageInstance:DisplayObjectContainer;
public static var output:String = "PENGUIN";
public static var upgradeCost:Array = new Array(270, 320, 370, 420, 470);
public static var input:Array = new Array("EGG");
public static var firstShow:Boolean = true;
public function Incubator(stageInstance:DisplayObjectContainer, upgrd:Number, position:Array, delay:Number){
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
stageInstance.addChild(this);
_progress = new WorkLine();
addChild(_progress);
_stageInstance = stageInstance;
var point:Point = new Point(position[0], position[1]);
show(point, delay);
activeArea.addEventListener(MouseEvent.ROLL_OVER, dropShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.ROLL_OUT, removeShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.MOUSE_DOWN, onClick, false, 0, true);
_upgrade = upgrd;
_upgradeButton = new UpgradeButton();
_upgradeButton.x = -20;
_upgradeButton.y = -50;
_upgradeButton.target = this;
addChild(_upgradeButton);
upgrade(upgrd);
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
FilterShortcuts.init();
body.mouseChildren = (body.mouseEnabled = false);
}
public function destroy(event:Event=null):void{
Tweener.removeTweens(body);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.PAUSE_GAME, pause);
gameController.removeEventListener(GameController.RESUME_GAME, resume);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
_stageInstance.removeChild(this);
}
private function remove():void{
_stageInstance.removeChild(this);
activeArea.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
}
public function removeShadow(event:MouseEvent=null):void{
Tooltip.instance.hide();
var mtx:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
}
private function makeProduction():void{
var ypos:Number;
_working = false;
while (madedProduction > 0) {
ypos = 0;
if (y > 400){
ypos = ((this.y - 40) - (Math.random() * 20));
} else {
ypos = ((this.y - 20) - (Math.random() * 20));
};
PetsContainer.instance.makePet(output, ((this.x - (left * 80)) - ((left * Math.random()) * 20)), ypos);
madedProduction--;
_progress.setProgress(0);
};
}
private function landing():void{
left = ((this.x)<300) ? -1 : 1;
_progress.x = (-(left) * 50);
_progress.y = -20;
_upgradeButton.x = (left * 40);
_upgradeButton.y = -30;
SoundManager.play("house_landing", 1, new SoundTransform(1, left));
updateMoney();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.incubator);
};
}
public function animate():void{
_countAnimation--;
_progress.setProgress(((37 * (15 - _countAnimation)) / 15));
if (_countAnimation > 0){
Tweener.removeTweens(this.body);
Tweener.addTween(this.body, {scaleX:0.8, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1.1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleX:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleY:0.8, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(this.body, {scaleX:1.1, time:0.2, delay:0.4, transition:"linear", onComplete:animate});
} else {
Tweener.addTween(this.body, {scaleX:1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(this.body, {scaleY:1, time:0.2, delay:0, transition:"linear", onComplete:makeProduction});
};
Road.instance.addMoney(0);
}
public function upgrade(level:Number):void{
this.body.gotoAndStop(level);
if (_upgrade <= (ShopWindow.availableUpgrades[8] - 1)){
_upgradeButton.caption.text = upgradeCost[(_upgrade - 1)];
Fonts.applyDefaultFont(_upgradeButton.caption);
};
if (_upgrade > (ShopWindow.availableUpgrades[8] - 1)){
_upgradeButton.destroy();
};
}
public function onClick(event:MouseEvent=null):void{
var i:int;
var movingProduction:MovingProduction;
if (!_working){
_countAnimation = 15;
madedProduction = Depot.instance.getProduction(input, _upgrade);
if (madedProduction > 0){
i = 0;
while (i < madedProduction) {
movingProduction = new MovingProduction("EGG", this.x, (this.y - 15), (i / 7));
i++;
};
_working = true;
animate();
SoundManager.play("house_click", 1);
};
};
}
public function resume(event:Event=null):void{
Tweener.resumeTweens(this);
Tweener.resumeTweens(this.body);
}
public function nextUpgrade():void{
Road.instance.addMoney(-(Number(upgradeCost[(_upgrade - 1)])));
_upgrade++;
upgrade(_upgrade);
SoundManager.play("action_upgrade", 1);
}
public function dropShadow(event:MouseEvent=null):void{
Tooltip.instance.show(x, y, "INCUBATOR", _upgrade, Config.currentLanguage.incubator);
var mtx:Array = [2, 0, 0, 0, -63.5, 0, 2, 0, 0, -63.5, 0, 0, 2, 0, -63.5, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
}
public function pause(event:Event=null):void{
Tweener.pauseTweens(this.body);
Tweener.pauseTweens(this);
}
public function show(position:Point, delay:Number):void{
this.x = position.x;
this.y = -50;
Tweener.addTween(this, {y:(position.y + 15), time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
}
public function updateMoney(event:Event=null):void{
if (_upgradeButton){
if (upgradeCost[(_upgrade - 1)] <= Road.currentMoney){
_upgradeButton.disabled(true);
} else {
_upgradeButton.disabled(false);
};
};
}
}
}//package houses
Section 269
//UpgradeButton (houses.UpgradeButton)
package houses {
import flash.events.*;
import flash.display.*;
public class UpgradeButton extends UpgradeButtonTemplate {
private var active:Boolean;// = true
private var _target:MovieClip;
public function UpgradeButton(){
super();
addEventListener(MouseEvent.MOUSE_OVER, over, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, click, false, 0, true);
addEventListener(MouseEvent.CLICK, upgrade, false, 0, true);
this.gotoAndStop("active");
}
public function set target(target:MovieClip):void{
_target = target;
}
public function disabled(value:Boolean):void{
if (value){
this.active = true;
this.gotoAndStop("active");
} else {
this.active = false;
this.gotoAndStop("disable");
};
}
public function click(event:MouseEvent):void{
if (active){
this.gotoAndStop("press");
};
}
public function out(event:MouseEvent):void{
if (active){
this.gotoAndStop("active");
};
}
public function get target():MovieClip{
return (_target);
}
public function over(event:MouseEvent):void{
if (active){
this.gotoAndStop("over");
};
}
public function destroy():void{
removeEventListener(MouseEvent.MOUSE_OVER, over, false);
removeEventListener(MouseEvent.MOUSE_OUT, out, false);
removeEventListener(MouseEvent.MOUSE_DOWN, click, false);
removeEventListener(MouseEvent.CLICK, upgrade, false);
_target.removeChild(this);
}
private function upgrade(event:MouseEvent=null):void{
if (this.active){
target.nextUpgrade();
};
}
}
}//package houses
Section 270
//UpgradeButtonTemplate (houses.UpgradeButtonTemplate)
package houses {
import flash.display.*;
import flash.text.*;
public dynamic class UpgradeButtonTemplate extends MovieClip {
public var caption:TextField;
public function UpgradeButtonTemplate(){
super();
addFrameScript(0, frame1, 6, frame7);
}
function frame7(){
stop();
}
function frame1(){
stop();
}
}
}//package houses
Section 271
//Well (houses.Well)
package houses {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.utils.*;
import ui.*;
import shop.*;
import game.*;
import market.road.*;
import flash.media.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Well extends MovieClip {
private var startTooltip:Boolean;// = false
private var posX:Number;
private var posY:Number;
private var tooltipTimer:Timer;
private var container:MovieClip;
private var _watering:SoundChannel;
private var _countAnimation:Number;// = 0
private var well:WellTest;
private var _size:Number;// = 100
private var _deltaWater:Array;
private var _upgradePosition:Array;
private var _upgradeLevel:Number;// = 0
private var gameController:GameController;
private var _stageInstance:DisplayObjectContainer;
private var _upgradeButton:UpgradeButton;
private var _countSteps:Number;// = 0
public static var waterPrice:Array = new Array(19, 17, 10, 7);
public static var instance:Well;
public static var state:String = "full";
public static var upgradeCost:Array = new Array(250, 500, 1500, 5000);
public static var firstShow:Boolean = true;
public function Well(stageInstance:DisplayObjectContainer, level:Number, delay:Number){
_upgradePosition = new Array(-50, -30);
_deltaWater = new Array(20, 15, 10, 1);
super();
instance = this;
state = "full";
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
_upgradeLevel = level;
_watering = new SoundChannel();
_stageInstance = (stageInstance as Sprite);
stageInstance.addChild(this);
SoundManager.registerSoundAsset("house_landing", house_landing);
var point:Point = new Point(267, 135);
show(point, delay);
container = new MovieClip();
addChild(container);
well = new WellTest();
well.activeArea.addEventListener(MouseEvent.MOUSE_DOWN, onClick, false, 0, true);
container.addChild(well);
well.body.mouseChildren = (well.body.mouseEnabled = false);
_upgradeButton = new UpgradeButton();
_upgradeButton.x = _upgradePosition[0];
_upgradeButton.y = _upgradePosition[1];
_upgradeButton.target = this;
addChild(_upgradeButton);
upgrade(_upgradeLevel);
}
private function remove():void{
well.activeArea.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
well.removeListeners();
}
private function landing():void{
SoundManager.play("house_landing", 1);
updateMoney();
}
public function show(position:Point, delay:Number):void{
this.x = position.x;
this.y = -50;
Tweener.addTween(this, {y:position.y, time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
}
private function hideTooltip(event:MouseEvent=null):void{
Tooltip.instance.hide();
}
public function setWater():void{
well.waterline.progressMask.height = (50 - ((45 * (10 - _countAnimation)) / 10));
}
public function onClick(event:MouseEvent=null):void{
if ((((Road.levelMoney > Well.waterPrice[_upgradeLevel])) && ((Well.state == "empty")))){
Road.instance.addMoney(-(Well.waterPrice[_upgradeLevel]));
Well.state = "working";
_watering = SoundManager.play("action_well", 1);
_countAnimation = 0;
animate();
};
if ((((Road.levelMoney < Well.waterPrice[_upgradeLevel])) && ((Well.state == "empty")))){
FArrow.instance.show((this.x + 150), (this.y - 100));
SoundManager.play("fool_action", 1);
};
}
public function upgrade(level:Number):void{
well.body.gotoAndStop((level + 1));
if (_upgradeLevel <= (ShopWindow.availableUpgrades[1] - 1)){
_upgradeButton.caption.text = Well.upgradeCost[_upgradeLevel];
Fonts.applyDefaultFont(_upgradeButton.caption);
};
if (_upgradeLevel > (ShopWindow.availableUpgrades[1] - 1)){
_upgradeButton.destroy();
};
well.money.caption.text = String(Well.waterPrice[_upgradeLevel]);
Fonts.applyDefaultFont(well.money.caption);
Road.instance.addMoney(0);
}
public function resume(event:Event):void{
Tweener.resumeTweens(well.body);
if (Well.state == "working"){
_watering = SoundManager.play("action_well", 1);
};
}
public function animate():void{
_countAnimation++;
if (_countAnimation < 10){
setWater();
Tweener.removeTweens(well.body);
Tweener.addTween(well.body, {scaleX:0.8, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(well.body, {scaleY:1.1, time:0.2, delay:0, transition:"linear"});
Tweener.addTween(well.body, {scaleY:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(well.body, {scaleX:1, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(well.body, {scaleY:0.8, time:0.2, delay:0.2, transition:"linear"});
Tweener.addTween(well.body, {scaleX:1.1, time:0.2, delay:0.2, transition:"linear", onComplete:animate});
} else {
Tweener.addTween(well.body, {scaleY:1, time:0.2, transition:"linear"});
Tweener.addTween(well.body, {scaleX:1, time:0.2, transition:"linear"});
Well.state = "full";
_watering.stop();
};
}
public function nextUpgrade():void{
Road.instance.addMoney(-(Number(Well.upgradeCost[_upgradeLevel])));
_upgradeLevel++;
upgrade(_upgradeLevel);
SoundManager.play("action_upgrade", 1);
}
public function getWater():Boolean{
if (Well.state == "full"){
well.money.visible = false;
_countSteps++;
if (Math.ceil((100 / _deltaWater[_upgradeLevel])) > _countSteps){
well.waterline.progressMask.height = ((40 * (100 - (_deltaWater[_upgradeLevel] * _countSteps))) / 100);
return (true);
};
if (Math.ceil((100 / _deltaWater[_upgradeLevel])) == _countSteps){
FArrow.instance.show((this.x + 10), (this.y - 60));
well.waterline.progressMask.height = 0;
Well.state = "empty";
well.money.visible = true;
if (firstShow){
firstShow = false;
Tooltip.instance.show(this.x, this.y, "WELL_EMPTY", 0, Config.currentLanguage.tooltips.well_empty);
};
_countSteps = 0;
return (true);
};
};
FArrow.instance.show((this.x + 10), (this.y - 60));
SoundManager.play("fool_action", 1);
return (false);
}
public function destroy(event:Event=null):void{
_watering.stop();
well.activeArea.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
well.activeArea.removeEventListener(MouseEvent.ROLL_OUT, hideTooltip);
well.removeListeners();
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
gameController.removeEventListener(GameController.RESUME_GAME, resume);
gameController.removeEventListener(GameController.PAUSE_GAME, pause);
container.removeChild(well);
removeChild(container);
_stageInstance.removeChild(this);
}
public function pause(event:Event):void{
Tweener.pauseTweens(well.body);
_watering.stop();
}
public function updateMoney(event:Event=null):void{
if (_upgradeButton){
if (Well.upgradeCost[_upgradeLevel] <= Road.currentMoney){
_upgradeButton.disabled(true);
} else {
_upgradeButton.disabled(false);
};
};
}
}
}//package houses
Section 272
//WellTemplate (houses.WellTemplate)
package houses {
import flash.display.*;
public dynamic class WellTemplate extends MovieClip {
public var waterline:MovieClip;
public var body:MovieClip;
public var activeArea:MovieClip;
public var money:MovieClip;
public function WellTemplate(){
super();
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package houses
Section 273
//WellTest (houses.WellTest)
package houses {
import flash.events.*;
import flash.filters.*;
import flash.utils.*;
import ui.*;
import caurina.transitions.properties.*;
import caurina.transitions.*;
public class WellTest extends WellTemplate {
private var startTooltip:Boolean;// = false
private var timer:Timer;
public function WellTest(){
super();
activeArea.addEventListener(MouseEvent.ROLL_OVER, dropShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.ROLL_OUT, removeShadow, false, 0, true);
money.visible = false;
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
body.mouseChildren = (body.mouseChildren = false);
body.enabled = false;
FilterShortcuts.init();
}
public function removeShadow(event:MouseEvent=null):void{
event.stopPropagation();
var mtx:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
Tooltip.instance.hide();
}
public function removeListeners():void{
activeArea.removeEventListener(MouseEvent.MOUSE_OVER, dropShadow);
activeArea.removeEventListener(MouseEvent.MOUSE_OUT, removeShadow);
}
public function dropShadow(event:MouseEvent=null):void{
event.stopPropagation();
var mtx:Array = [2, 0, 0, 0, -63.5, 0, 2, 0, 0, -63.5, 0, 0, 2, 0, -63.5, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
Tooltip.instance.show(270, 150, "WELL", 0, "WELL");
}
}
}//package houses
Section 274
//MapNode (map.MapNode)
package map {
import flash.events.*;
import flash.display.*;
import ui.*;
import shop.*;
import utils.*;
import com.melesta.sound.*;
public class MapNode extends MapNodeTemplate {
public var states:Array;
public var _state:String;// = "inaccessible"
public var level:Number;
private var _positions:Array;
private var _currentView:MovieClip;
public static var nodeList:Array = new Array();
public static var inaccessibleShow:Boolean = true;
public static var firstShow:Boolean = true;
public function MapNode(index:Number, stateIndex:Number){
_positions = new Array("92,85", "112, 104", "131, 124", "103,141", "73,160", "47,180", "66,202", "89,223", "111,245", "78,268", "46,289", "14,312", "40,340", "63,364", "87,389", "118,371", "149,347", "186,319", "208,339");
states = new Array("inaccessible", "none", "novel", "normal", "silver", "gold");
super();
this.x = _positions[index].split(",")[0];
this.y = _positions[index].split(",")[1];
this.level = (index + 1);
this.state = states[stateIndex];
MapNode.nodeList.push(this);
update();
addEventListener(MouseEvent.MOUSE_DOWN, press, false, 0, true);
addEventListener(MouseEvent.MOUSE_OVER, over, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
addEventListener(MouseEvent.CLICK, gotoLevel, false, 0, true);
}
public function gotoLevel(event:MouseEvent=null):void{
if (state != "none"){
MapWindow.instance.hide(level);
} else {
ShopWindow.instance.show();
};
}
public function set state(value:String):void{
_state = value;
}
public function press(event:MouseEvent=null):void{
_currentView.gotoAndStop(3);
MapTooltip.instance.hide();
}
public function out(event:MouseEvent=null):void{
_currentView.gotoAndStop(1);
MapTooltip.instance.hide();
}
public function update():void{
var i:int = this.numChildren;
while (i--) {
this.getChildAt(i).visible = false;
};
if (state != "inaccessible"){
this.getChildByName(state).visible = true;
_currentView = (this.getChildByName(state) as MovieClip);
};
if ((((((((state == "novel")) && (firstShow))) && (inaccessibleShow))) && ((this.level == 1)))){
firstShow = false;
if (!Config.skiped){
MapTooltip.instance.showHelp(this.x, (this.y - 10), Config.currentLanguage.tooltips.level_icon);
};
} else {
if ((((((state == "none")) && (inaccessibleShow))) && (!(firstShow)))){
inaccessibleShow = false;
MapTooltip.instance.showHelp(this.x, (this.y - 10), Config.currentLanguage.tooltips.level_inaccessible);
};
};
}
public function get state():String{
return (_state);
}
public function over(event:MouseEvent=null):void{
_currentView.gotoAndStop(2);
MapTooltip.instance.show(this.x, (this.y - 15), level);
SoundManager.play("ui_button_hover");
}
public static function updateViews():void{
var i:int;
while (i < MapNode.nodeList.length) {
MapNode.nodeList[i].update();
i++;
};
}
}
}//package map
Section 275
//MapWindow (map.MapWindow)
package map {
import flash.events.*;
import flash.display.*;
import ui.*;
import shop.*;
import flash.net.*;
import game.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class MapWindow extends MapTemplate {
private var menuBtn:MovieClip;
private var shopBtn:MovieClip;
public static var needIndex:Number = -1;
public static var instance:MapWindow;
public function MapWindow(){
super();
instance = this;
shopBtn = bottomPanel.shopBtn;
menuBtn = bottomPanel.menuBtn;
shopBtn.caption.text = Config.currentLanguage.shop;
Fonts.applyDefaultFont(shopBtn.caption);
menuBtn.caption.text = Config.currentLanguage.menu;
Fonts.applyDefaultFont(menuBtn.caption);
menuBtn.caption.mouseEnabled = (shopBtn.caption.mouseEnabled = false);
shopBtn.addEventListener(MouseEvent.CLICK, showShop, false, 0, true);
menuBtn.addEventListener(MouseEvent.CLICK, showMenu, false, 0, true);
menuBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
shopBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
var i:int;
while (i < 19) {
addChild(new MapNode(i, 0));
i++;
};
this.visible = false;
buyBtn.caption.mouseEnabled = false;
buyBtn.stop();
buyBtn.caption.htmlText = Config.currentLanguage.download_full_version;
buyBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
buyBtn.visible = false;
_shadow.visible = false;
if (Config.downloadable){
_shadow.visible = true;
buyBtn.addEventListener(MouseEvent.CLICK, buy, false, 0, true);
buyBtn.caption.htmlText = Config.currentLanguage.download_full_version;
buyBtn.visible = true;
};
if (Farm2.portal == "kongregeat"){
buyBtn.visible = false;
_shadow.visible = false;
};
}
public function hide(level:Number=1):void{
var level = level;
MapTooltip.instance.hide();
Tweener.addTween(this, {alpha:0, time:0.5, transition:"linear", onComplete:function ():void{
this.visible = false;
LevelBuilder.instance.createLevel(level);
}});
}
public function updateViews():void{
var xml:XML;
var accessLength:Number;
var accessList:Array;
var accessType:String;
var accessValue:String;
var i:int;
if (LevelBuilder.maxLevel != 20){
MapNode.nodeList[(LevelBuilder.maxLevel - 1)].state = "novel";
xml = Config.getLevel(LevelBuilder.maxLevel);
accessLength = xml.child("Accessibility").child("c").length();
accessList = new Array();
i = 0;
while (i < accessLength) {
accessType = xml.child("Accessibility").c[i].@CritID;
accessValue = xml.child("Accessibility").c[i].@Value;
accessList.push(((accessType + ",") + accessValue));
i++;
};
needIndex = -1;
if (!ShopWindow.isAvailable(accessList)){
MapNode.nodeList[(LevelBuilder.maxLevel - 1)].state = "none";
needIndex = (Number(accessList[0].split(",")[0]) + 5);
};
MapNode.updateViews();
} else {
if (!EndScreen.instance.showed){
EndScreen.instance.show();
};
};
}
public function skipEducation():void{
Config.skiped = true;
LevelBuilder.maxLevel = 12;
MapNode.nodeList[11].state = "novel";
var i:int;
while (i < 11) {
MapNode.nodeList[i].state = "normal";
Config.nodes[i] = "normal";
i++;
};
ShopWindow.availableUpgrades = new Array(0, 0, 0, 0, 0, 50, 5, 5, 5);
Config.upgrades = new Array(0, 0, 0, 0, 0, 5, 5, 5, 5);
ShopWindow.instance.updateUpgradesViews();
MapNode.updateViews();
hide(12);
}
private function showShop(event:MouseEvent=null):void{
MapTooltip.instance.hide();
ShopWindow.instance.show();
}
private function buy(event:MouseEvent=null):void{
var request:URLRequest = new URLRequest(Config.downloadLink);
navigateToURL(request, "_blank");
}
private function btnOver(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("ui_button_hover");
}
public function startGame():void{
this.visible = true;
this.alpha = 1;
MapNode.nodeList[0].state = "novel";
MapNode.updateViews();
var skipDialog:SkipEducationDialog = new SkipEducationDialog();
addChild(skipDialog);
skipDialog.show();
StartScreen.instance.musicBtn.container = "map";
addChild(StartScreen.instance.musicBtn);
addChild(StartScreen.instance.soundBtn);
}
public function startFirstLevel():void{
hide(1);
}
private function showMenu(event:MouseEvent=null):void{
MapTooltip.instance.hide();
StartScreen.instance.show();
}
public function show():void{
bottomPanel.y = 480;
Tweener.addTween(bottomPanel, {y:430, time:0.4});
StartScreen.instance.musicBtn.container = "map";
addChild(StartScreen.instance.musicBtn);
addChild(StartScreen.instance.soundBtn);
updateViews();
MapNode.updateViews();
this.visible = true;
this.alpha = 1;
if (!Config.played){
Config.played = true;
shopBtn.gotoAndStop(4);
shopBtn.mouseEnabled = false;
} else {
shopBtn.mouseEnabled = true;
shopBtn.gotoAndStop(1);
};
}
public function resumeGame():void{
this.visible = true;
this.alpha = 1;
Config.skiped = true;
LevelBuilder.maxLevel = Config.level;
var i:int;
while (i < (Config.level - 1)) {
MapNode.nodeList[i].state = Config.nodes[i];
MapNode.nodeList[i].update();
i++;
};
ShopWindow.availableUpgrades = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
var j:int;
while (j < 10) {
ShopWindow.availableUpgrades[j] = Config.upgrades[j];
j++;
};
ShopWindow.instance.updateUpgradesViews();
MapNode.updateViews();
updateViews();
}
}
}//package map
Section 276
//Road (market.road.Road)
package market.road {
import flash.events.*;
import game.*;
import pets.*;
import utils.*;
import market.*;
import vehicles.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Road extends RoadTemlate {
private var upgradeForces:Array;
private var _planeUpgrade:Number;// = 0
private var _carUpgrade:Number;// = 0
private var gameController:GameController;
public static var CAR_CAME:String = "car_came";
public static var currentMoney:Number = 0;
public static var UPDATE_MONEY:String = "update_money";
public static var instance:Road = null;
public static var PLANE_CAME:String = "plane_came";
public static var levelMoney:Number = 0;
public function Road(){
upgradeForces = new Array(20, 15, 10, 5);
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, levelCompleted, false, 0, true);
instance = this;
car.visible = false;
plane.visible = false;
setMoney(0);
if (Farm2.portal == "mail.ru"){
this.coins.gotoAndStop(4);
};
}
public function setMoney(value:Number=0):void{
levelMoney = value;
currentMoney = value;
money.text = String(levelMoney);
Fonts.applyDefaultFont(money);
dispatchEvent(new Event(Road.UPDATE_MONEY));
GameController.instance.changeMoney();
}
public function levelCompleted(event:Event=null):void{
setMoney(0);
plane.x = 100;
car.visible = (plane.visible = false);
car.x = 100;
Tweener.removeTweens(this.car);
Tweener.removeTweens(this.plane);
}
public function goCar(moneyValue:Number, upgrade:Number):void{
Car.instance.visible = false;
_carUpgrade = upgrade;
car.body.gotoAndStop((upgrade + 1));
car.body.scaleX = -1;
car.money.text = String(moneyValue);
Fonts.applyDefaultFont(car.money);
car.visible = true;
car.x = 100;
Tweener.addTween(car, {x:205, time:(upgradeForces[_carUpgrade] / 2), transition:"linear", onComplete:backCar});
}
public function resume(event:Event):void{
Tweener.resumeTweens(plane);
Tweener.resumeTweens(car);
coins.play();
if (Farm2.portal == "mail.ru"){
this.coins.gotoAndStop(4);
};
}
private function backCar():void{
car.body.scaleX = 1;
Tweener.addTween(car, {x:100, time:(upgradeForces[_carUpgrade] / 2), transition:"linear", onComplete:function ():void{
car.visible = false;
dispatchEvent(new Event(Road.CAR_CAME));
addMoney(Number(car.money.text));
Car.instance.visible = true;
Car.instance.checkMoney();
}});
}
public function pause(event:Event):void{
Tweener.pauseTweens(plane);
Tweener.pauseTweens(car);
coins.stop();
}
private function backPlane():void{
plane.body.scaleX = 1;
Tweener.addTween(plane, {x:100, time:(upgradeForces[_planeUpgrade] / 2), transition:"linear", onComplete:function ():void{
var product:*;
plane.visible = false;
dispatchEvent(new Event(Road.PLANE_CAME));
Plane.instance.visible = true;
SoundManager.play("airplane_flyin");
var i:* = 0;
while (i < ImportWindow.importProductionList.length) {
product = ImportWindow.importProductionList[i].split(",");
PetsContainer.instance.addFlyProduct(product[0], product[1]);
i++;
};
}});
}
public function goPlane(moneyValue:Number, upgrade:Number):void{
_planeUpgrade = upgrade;
dispatchEvent(new Event(Road.UPDATE_MONEY));
plane.body.gotoAndStop((upgrade + 1));
Plane.instance.visible = false;
plane.body.scaleX = -1;
plane.money.text = String(moneyValue);
Fonts.applyDefaultFont(plane.money);
plane.visible = true;
plane.x = 100;
addMoney(-(Number(plane.money.text)));
Tweener.addTween(plane, {x:205, time:(upgradeForces[_planeUpgrade] / 2), transition:"linear", onComplete:backPlane});
}
public function addMoney(value:Number=0):void{
levelMoney = (levelMoney + value);
money.text = String(levelMoney);
Fonts.applyDefaultFont(money);
currentMoney = (currentMoney + value);
dispatchEvent(new Event(Road.UPDATE_MONEY));
GameController.instance.changeMoney();
}
}
}//package market.road
Section 277
//RoadTemlate (market.road.RoadTemlate)
package market.road {
import flash.display.*;
import flash.text.*;
public dynamic class RoadTemlate extends MovieClip {
public var coins:MovieClip;
public var plane:MovieClip;
public var money:TextField;
public var car:MovieClip;
public function RoadTemlate(){
super();
}
}
}//package market.road
Section 278
//Box (market.Box)
package market {
import utils.*;
public class Box extends BoxTemplate {
public var type:Number;
public var count:Number;// = 0
private static var sizeList:Array = new Array(10, 10, 5, 5, 5, 5, 1, 5, 2);
public function Box(){
super();
body.stop();
this.visible = false;
this.type = -1;
this.count = 0;
}
public function addProduct(typeS:String, countN:Number):Number{
var delta:Number;
if (!count){
this.visible = true;
this.body.gotoAndStop(typeS);
type = ProductTypes.typeToNumber(typeS);
};
if ((((count > 0)) && (!((type == ProductTypes.typeToNumber(typeS)))))){
return (0);
};
if (count == sizeList[type]){
return (-1);
};
if ((countN + count) <= sizeList[type]){
count = (count + countN);
this.progress._mask.width = ((20 * count) / sizeList[type]);
return (countN);
};
if ((countN + count) > sizeList[type]){
delta = (sizeList[type] - count);
count = (count + delta);
this.progress._mask.width = ((20 * count) / sizeList[type]);
return (delta);
};
return (countN);
}
}
}//package market
Section 279
//BoxTemplate (market.BoxTemplate)
package market {
import flash.display.*;
public dynamic class BoxTemplate extends MovieClip {
public var progress:MovieClip;
public var body:MovieClip;
public function BoxTemplate(){
super();
}
}
}//package market
Section 280
//ExportItem (market.ExportItem)
package market {
import flash.events.*;
import flash.display.*;
import ui.*;
import utils.*;
import com.melesta.sound.*;
public class ExportItem extends ExportItemTemplate {
public var type:String;
public static var CHOOSE_ALL:String = "choose_all";
public static var CHOOSE_ONE:String = "choose_one";
public function ExportItem(_type:String, _count:Number, _cost:String){
super();
this.product.gotoAndStop(_type);
this.count.text = String(_count);
Fonts.applyDefaultFont(count);
this.cost.text = _cost;
Fonts.applyDefaultFont(cost);
type = _type;
one.caption.text = Config.currentLanguage.one;
Fonts.applyDefaultFont(one.caption);
all.caption.text = Config.currentLanguage.all;
Fonts.applyDefaultFont(all.caption);
one.gotoAndStop(1);
all.gotoAndStop(1);
one.addEventListener(MouseEvent.CLICK, chooseOne, false, 0, true);
all.addEventListener(MouseEvent.CLICK, chooseAll, false, 0, true);
all.addEventListener(MouseEvent.MOUSE_OVER, overA, false, 0, true);
one.addEventListener(MouseEvent.MOUSE_OVER, overO, false, 0, true);
all.addEventListener(MouseEvent.MOUSE_OUT, outA, false, 0, true);
one.addEventListener(MouseEvent.MOUSE_OUT, outO, false, 0, true);
}
private function outO(event:MouseEvent=null):void{
one.gotoAndStop(1);
}
private function outA(event:MouseEvent=null):void{
all.gotoAndStop(1);
}
private function chooseAll(event:MouseEvent=null):void{
event.stopPropagation();
all.gotoAndStop(3);
SoundManager.play("item_add", 1);
dispatchEvent(new Event(ExportItem.CHOOSE_ALL));
}
private function overO(event:MouseEvent=null):void{
event.stopPropagation();
one.gotoAndStop(2);
}
private function overA(event:MouseEvent=null):void{
event.stopPropagation();
all.gotoAndStop(2);
}
private function chooseOne(event:MouseEvent=null):void{
event.stopPropagation();
one.gotoAndStop(3);
dispatchEvent(new Event(ExportItem.CHOOSE_ONE));
SoundManager.play("item_add", 1);
}
}
}//package market
Section 281
//ExportItemTemplate (market.ExportItemTemplate)
package market {
import flash.display.*;
import flash.text.*;
public dynamic class ExportItemTemplate extends MovieClip {
public var count:TextField;
public var one:MovieClip;
public var all:MovieClip;
public var cost:TextField;
public var product:MovieClip;
public function ExportItemTemplate(){
super();
}
}
}//package market
Section 282
//ExportWindow (market.ExportWindow)
package market {
import flash.events.*;
import flash.display.*;
import houses.*;
import ui.*;
import game.*;
import market.road.*;
import pets.*;
import utils.*;
import vehicles.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class ExportWindow extends ExportWindowTemplate {
private var _money:Number;// = 0
private var _productionCarSize:Array;
private var _boxList:Array;
private var _boxContainer:Sprite;
private var _typeList:Array;
private var _productionPrice:Array;
private var _carCapacity:Array;
private var _marketProductionList:Array;
private var _depot:Depot;
private var itemContainer:Sprite;
private var _boxPositions:Array;
public static var firstShow:Boolean = true;
public function ExportWindow(depot:Depot, stageInstance:DisplayObjectContainer){
_productionPrice = new Array(10, 100, 50, 100, 200, 10, 100, 50, 500);
_typeList = new Array("EGG", "PLUME", "DRIED_EGGS", "CAKE", "FLOURY_CAKE", "FLOUR", "POLAR_BEAR", "PENGUIN", "KING_PENGUIN");
_boxPositions = new Array("409,268|433,268", "415,248|436,248|426,224", "416,276|439,276|462,276|427,253|450,253", "415,267|438,267|461,267|415,245|438,245|461,245|438,223");
_boxContainer = new Sprite();
_carCapacity = new Array(2, 3, 5, 7);
_productionCarSize = new Array(10, 10, 5, 5, 5, 5, 1, 5, 2);
super();
_depot = depot;
itemContainer = new Sprite();
addChild(itemContainer);
stageInstance.parent.parent.addChild(this);
var simpleTooltip:SimpleTooltip = new SimpleTooltip();
stageInstance.parent.parent.addChild(simpleTooltip);
title.text = Config.currentLanguage.ship_products;
cancelBtn.caption.text = Config.currentLanguage.cancel;
okBtn.caption.text = Config.currentLanguage.ship;
this.visible = false;
okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
cancelBtn.addEventListener(MouseEvent.CLICK, cancel, false, 0, true);
addChild(_boxContainer);
}
public function updateItemsView():void{
var item:Number;
var productItem:ExportItem;
var penguinItem:ExportItem;
var kingItem:ExportItem;
var k:Number = 0;
while (itemContainer.numChildren > 0) {
itemContainer.removeChildAt((itemContainer.numChildren - 1));
};
var i:int;
while (i < 7) {
item = _marketProductionList[i];
if (item > 0){
productItem = new ExportItem(_typeList[i], item, _productionPrice[i]);
itemContainer.addChild(productItem);
productItem.y = (73 + (k * 22));
productItem.x = 35;
k++;
productItem.addEventListener(ExportItem.CHOOSE_ONE, chooseOne, false, 0, true);
productItem.addEventListener(ExportItem.CHOOSE_ALL, chooseAll, false, 0, true);
};
i++;
};
var pet:Number = 0;
if (_marketProductionList[7] > 0){
penguinItem = new ExportItem(_typeList[7], _marketProductionList[7], _productionPrice[7]);
itemContainer.addChild(penguinItem);
penguinItem.y = (73 + (pet * 22));
penguinItem.x = 404;
pet++;
penguinItem.addEventListener(ExportItem.CHOOSE_ONE, chooseOne, false, 0, true);
penguinItem.addEventListener(ExportItem.CHOOSE_ALL, chooseAll, false, 0, true);
};
if (_marketProductionList[8] > 0){
kingItem = new ExportItem(_typeList[8], _marketProductionList[8], _productionPrice[8]);
itemContainer.addChild(kingItem);
kingItem.y = (73 + (pet * 22));
kingItem.x = 404;
kingItem.addEventListener(ExportItem.CHOOSE_ONE, chooseOne, false, 0, true);
kingItem.addEventListener(ExportItem.CHOOSE_ALL, chooseAll, false, 0, true);
};
}
public function hide(event:MouseEvent=null):void{
var event = event;
var p:int;
while (p < 7) {
Depot._production[p] = _marketProductionList[p];
p = (p + 1);
};
Depot.instance.updateDepotView();
Tweener.addTween(this, {alpha:0, time:0.3, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
if (_money > 0){
Road.instance.goCar(_money, Car.upgradeLevel);
};
SoundManager.play("action_sell_buy");
Penguin.remove((Penguin.count - _marketProductionList[7]));
KingPenguin.remove((KingPenguin.count - _marketProductionList[8]));
GameController.instance.resume();
}
public function show():void{
var box:Box;
GameController.instance.pause();
okBtn.visible = false;
_money = 0;
money.text = "0";
this.visible = true;
car.gotoAndStop((Car.upgradeLevel + 1));
this.alpha = 0;
_marketProductionList = new Array();
var p:int;
while (p < Depot._production.length) {
_marketProductionList[p] = Depot._production[p];
p++;
};
_marketProductionList[7] = Penguin.count;
_marketProductionList[8] = KingPenguin.count;
Tweener.addTween(this, {alpha:1, time:0.5});
updateItemsView();
while (_boxContainer.numChildren > 0) {
_boxContainer.removeChildAt((_boxContainer.numChildren - 1));
};
_boxList = new Array();
var boxes:Array = getBoxPositions();
var b:int;
while (b < boxes.length) {
box = new Box();
box.x = (boxes[b].split(",")[0] - 3);
box.y = (boxes[b].split(",")[1] - 7);
_boxContainer.addChild(box);
_boxList.push(box);
b++;
};
if (((firstShow) && (!(Config.skiped)))){
SimpleTooltip.instance.show(Config.currentLanguage.tooltips.warehouse);
firstShow = false;
};
}
private function chooseOne(event:Event=null):void{
event.stopPropagation();
var deltaProduction:Number = addProductToCar(event.target.type, 1);
_marketProductionList[ProductTypes.typeToNumber(event.target.type)] = (_marketProductionList[ProductTypes.typeToNumber(event.target.type)] - deltaProduction);
updateItemsView();
addMoney((deltaProduction * Number(event.target.cost.text)));
}
private function chooseAll(event:Event=null):void{
event.stopPropagation();
var deltaProduction:Number = addProductToCar(event.target.type, Number(event.target.count.text));
_marketProductionList[ProductTypes.typeToNumber(event.target.type)] = (_marketProductionList[ProductTypes.typeToNumber(event.target.type)] - deltaProduction);
addMoney((deltaProduction * Number(event.target.cost.text)));
updateItemsView();
}
public function cancel(event:MouseEvent=null):void{
var event = event;
if (_money > 0){
SoundManager.play("item_cancel");
};
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.3, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
GameController.instance.resume();
}
private function addMoney(cost:Number):void{
_money = (_money + cost);
okBtn.visible = true;
money.text = String(_money);
}
public function upgrade(level:Number=0):void{
car.gotoAndStop((Car.upgradeLevel + 1));
}
private function addProductToCar(type:String, count:Number):Number{
var delta:Number = 0;
var tempDelta:Number = 0;
var i:int;
while (i < _boxList.length) {
tempDelta = _boxList[i].addProduct(type, count);
if (tempDelta > 0){
delta = (delta + tempDelta);
count = (count - tempDelta);
if (count <= 0){
return (delta);
};
};
i++;
};
return (delta);
}
private function getBoxPositions():Array{
return (_boxPositions[Car.upgradeLevel].split("|"));
}
}
}//package market
Section 283
//ExportWindowTemplate (market.ExportWindowTemplate)
package market {
import flash.display.*;
import flash.text.*;
public dynamic class ExportWindowTemplate extends MovieClip {
public var title:TextField;
public var cancelBtn:MovieClip;
public var car:MovieClip;
public var okBtn:MovieClip;
public var money:TextField;
public function ExportWindowTemplate(){
super();
}
}
}//package market
Section 284
//ImportItem (market.ImportItem)
package market {
import flash.events.*;
import flash.display.*;
import ui.*;
import market.road.*;
import utils.*;
import com.melesta.sound.*;
public class ImportItem extends ImportItemTemplate {
public var type:String;
public static var CHOOSE_TEN:String = "choose_ten";
public static var CHOOSE_FIVE:String = "choose_five";
public static var CHOOSE_ONE:String = "choose_one";
public function ImportItem(_type:String, _count:Number, _cost:String){
super();
this.product.gotoAndStop(_type);
this.cost.text = _cost;
Fonts.applyDefaultFont(cost);
type = _type;
one.caption.text = "1";
Fonts.applyDefaultFont(one.caption);
five.caption.text = "5";
Fonts.applyDefaultFont(five.caption);
ten.caption.text = "10";
Fonts.applyDefaultFont(ten.caption);
one.caption.mouseEnabled = (five.caption.mouseEnabled = (ten.caption.mouseEnabled = false));
one.gotoAndStop(1);
five.gotoAndStop(1);
ten.gotoAndStop(1);
one.addEventListener(MouseEvent.CLICK, chooseOne, false, 0, true);
five.addEventListener(MouseEvent.CLICK, chooseFive, false, 0, true);
ten.addEventListener(MouseEvent.CLICK, chooseTen, false, 0, true);
one.addEventListener(MouseEvent.MOUSE_DOWN, down, false, 0, true);
five.addEventListener(MouseEvent.MOUSE_DOWN, down, false, 0, true);
ten.addEventListener(MouseEvent.MOUSE_DOWN, down, false, 0, true);
ten.addEventListener(MouseEvent.MOUSE_OVER, overT, false, 0, true);
one.addEventListener(MouseEvent.MOUSE_OVER, overO, false, 0, true);
five.addEventListener(MouseEvent.MOUSE_OVER, overF, false, 0, true);
ten.addEventListener(MouseEvent.MOUSE_OUT, outT, false, 0, true);
one.addEventListener(MouseEvent.MOUSE_OUT, outO, false, 0, true);
five.addEventListener(MouseEvent.MOUSE_OUT, outF, false, 0, true);
if (Road.currentMoney < (10 * Number(cost.text))){
ten.visible = false;
};
if (Road.currentMoney < (5 * Number(cost.text))){
five.visible = false;
};
if (Road.currentMoney < Number(cost.text)){
one.visible = false;
};
}
private function overT(event:MouseEvent=null):void{
event.stopPropagation();
ten.gotoAndStop(2);
}
private function outO(event:MouseEvent=null):void{
one.gotoAndStop(1);
}
public function down(event:MouseEvent=null):void{
event.stopPropagation();
event.target.gotoAndStop(3);
}
private function outT(event:MouseEvent=null):void{
ten.gotoAndStop(1);
}
private function chooseFive(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("item_add", 1);
dispatchEvent(new Event(ImportItem.CHOOSE_FIVE));
}
private function chooseTen(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("item_add", 1);
dispatchEvent(new Event(ImportItem.CHOOSE_TEN));
}
public function updateView(deltaMoney:Number=0):void{
if ((Road.currentMoney - deltaMoney) < (10 * Number(cost.text))){
ten.visible = false;
};
if ((Road.currentMoney - deltaMoney) < (5 * Number(cost.text))){
five.visible = false;
};
if ((Road.currentMoney - deltaMoney) < Number(cost.text)){
one.visible = false;
};
}
private function chooseOne(event:MouseEvent=null):void{
event.stopPropagation();
dispatchEvent(new Event(ImportItem.CHOOSE_ONE));
SoundManager.play("item_add", 1);
}
private function overF(event:MouseEvent=null):void{
event.stopPropagation();
five.gotoAndStop(2);
}
private function outF(event:MouseEvent=null):void{
five.gotoAndStop(1);
}
private function overO(event:MouseEvent=null):void{
event.stopPropagation();
one.gotoAndStop(2);
}
}
}//package market
Section 285
//ImportItemTemplate (market.ImportItemTemplate)
package market {
import flash.display.*;
import flash.text.*;
public dynamic class ImportItemTemplate extends MovieClip {
public var ten:MovieClip;
public var one:MovieClip;
public var five:MovieClip;
public var cost:TextField;
public var product:MovieClip;
public function ImportItemTemplate(){
super();
}
}
}//package market
Section 286
//ImportWindow (market.ImportWindow)
package market {
import flash.events.*;
import flash.display.*;
import ui.*;
import game.*;
import market.road.*;
import pets.*;
import utils.*;
import vehicles.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class ImportWindow extends ImportWindowTemplate {
private var _money:Number;// = 0
private var _productionPlaneSize:Array;
private var _productionPrice:Array;
private var _boxContainer:Sprite;
private var _typeList:Array;
private var _boxList:Array;
private var _productItemList:Array;
private var _carCapacity:Array;
private var itemContainer:Sprite;
private var _boxPositions:Array;
public static var importProductionList:Array;
public static var firstShow:Boolean = true;
public function ImportWindow(stageInstance:DisplayObjectContainer){
_productionPrice = new Array(30, 200, 100, 200, 400, 20, 100, 1000);
_typeList = new Array("EGG", "PLUME", "DRIED_EGGS", "CAKE", "FLOURY_CAKE", "FLOUR", "POLAR_BEAR", "PENGUIN", "KING_PENGUIN");
_boxPositions = new Array("101,281|127,281", "89,281|115,281|141,281", "64,281|90,281|116,281|143,281|169,281", "38,281|64,281|90,281|116,281|142,281|168,281|194,281");
_boxContainer = new Sprite();
_carCapacity = new Array(2, 3, 5, 7);
_productionPlaneSize = new Array(10, 10, 5, 5, 5, 5, 5, 2);
super();
itemContainer = new Sprite();
addChild(itemContainer);
stageInstance.parent.parent.addChild(this);
cancelBtn.caption.text = Config.currentLanguage.cancel;
Fonts.applyDefaultFont(cancelBtn.caption);
okBtn.caption.text = Config.currentLanguage.order;
Fonts.applyDefaultFont(okBtn.caption);
title.text = Config.currentLanguage.order_products;
Fonts.applyDefaultFont(title);
this.visible = false;
okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
cancelBtn.addEventListener(MouseEvent.CLICK, cancel, false, 0, true);
addChild(_boxContainer);
}
public function updateItemsView():void{
var productItem:ImportItem;
var k:Number = 0;
while (itemContainer.numChildren > 0) {
itemContainer.removeChildAt((itemContainer.numChildren - 1));
};
_productItemList = new Array();
var i:int;
while (i < LevelStatistics.accessProduct.length) {
productItem = new ImportItem(_typeList[LevelStatistics.accessProduct[i]], 1000, _productionPrice[LevelStatistics.accessProduct[i]]);
itemContainer.addChild(productItem);
productItem.y = (83 + (k * 24));
productItem.x = 35;
k++;
productItem.addEventListener(ImportItem.CHOOSE_ONE, chooseOne, false, 0, true);
productItem.addEventListener(ImportItem.CHOOSE_TEN, chooseTen, false, 0, true);
productItem.addEventListener(ImportItem.CHOOSE_FIVE, chooseFive, false, 0, true);
_productItemList.push(productItem);
i++;
};
addMoney(0);
}
private function chooseTen(event:Event=null):void{
event.stopPropagation();
var deltaProduction:Number = addProductToPlane(event.target.type, 10);
if (!deltaProduction){
};
addMoney((deltaProduction * Number(event.target.cost.text)));
updateImportList(event.target.type, deltaProduction);
}
private function addProductToPlane(type:String, count:Number):Number{
var delta:Number = 0;
var tempDelta:Number = 0;
var i:int;
while (i < _boxList.length) {
tempDelta = _boxList[i].addProduct(type, count);
if (tempDelta > 0){
delta = (delta + tempDelta);
count = (count - tempDelta);
if (count <= 0){
return (delta);
};
};
i++;
};
return (delta);
}
private function updateImportList(type:String, count:Number=0):Number{
var product:Array;
var i:int;
while (i < importProductionList.length) {
product = importProductionList[i].split(",");
if (product[0] == type){
product[1] = (Number(product[1]) + count);
importProductionList[i] = product.join(",");
return (0);
};
i++;
};
return (0);
}
private function chooseOne(event:Event=null):void{
event.stopPropagation();
var deltaProduction:Number = addProductToPlane(event.target.type, 1);
if (!deltaProduction){
};
addMoney((deltaProduction * Number(event.target.cost.text)));
updateImportList(event.target.type, deltaProduction);
}
public function hide(event:MouseEvent=null):void{
var event = event;
Tweener.addTween(this, {alpha:0, time:0.3, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
if (_money > 0){
Road.instance.goPlane(_money, Plane.upgradeLevel);
};
SoundManager.play("action_sell_buy");
GameController.instance.resume();
}
private function addMoney(cost:Number):void{
_money = (_money + cost);
if (cost > 0){
okBtn.visible = true;
};
money.text = String(_money);
Fonts.applyDefaultFont(money);
var i:int;
while (i < _productItemList.length) {
if (_productItemList[i]){
_productItemList[i].updateView(_money);
};
i++;
};
}
public function upgrade(level:Number=0):void{
plane.gotoAndStop((Plane.upgradeLevel + 1));
boxline.gotoAndStop((Plane.upgradeLevel + 1));
}
private function getBoxPositions():Array{
return (_boxPositions[Plane.upgradeLevel].split("|"));
}
private function chooseFive(event:Event=null):void{
event.stopPropagation();
var deltaProduction:Number = addProductToPlane(event.target.type, 5);
if (!deltaProduction){
};
addMoney((deltaProduction * Number(event.target.cost.text)));
updateImportList(event.target.type, deltaProduction);
}
public function cancel(event:MouseEvent=null):void{
var event = event;
if (_money > 0){
SoundManager.play("item_cancel");
};
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.3, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
GameController.instance.resume();
}
public function show():void{
var item:String;
var box:PlaneBox;
GameController.instance.pause();
okBtn.visible = false;
_money = 0;
money.text = "0";
Fonts.applyDefaultFont(money);
this.visible = true;
plane.gotoAndStop((Plane.upgradeLevel + 1));
boxline.gotoAndStop((Plane.upgradeLevel + 1));
this.alpha = 0;
importProductionList = new Array();
var i:int;
while (i < LevelStatistics.accessProduct.length) {
item = (_typeList[LevelStatistics.accessProduct[i]] + ",0");
importProductionList.push(item);
i++;
};
Tweener.addTween(this, {alpha:1, time:0.5});
updateItemsView();
while (_boxContainer.numChildren > 0) {
_boxContainer.removeChildAt((_boxContainer.numChildren - 1));
};
_boxList = new Array();
var boxes:Array = getBoxPositions();
var b:int;
while (b < boxes.length) {
box = new PlaneBox();
box.x = boxes[b].split(",")[0];
box.y = boxes[b].split(",")[1];
_boxContainer.addChild(box);
_boxList.push(box);
b++;
};
if (((firstShow) && (!(Config.skiped)))){
SimpleTooltip.instance.show(Config.currentLanguage.tooltips.plane);
firstShow = false;
};
}
}
}//package market
Section 287
//ImportWindowTemplate (market.ImportWindowTemplate)
package market {
import flash.display.*;
import flash.text.*;
public dynamic class ImportWindowTemplate extends MovieClip {
public var boxline:MovieClip;
public var title:TextField;
public var plane:MovieClip;
public var cancelBtn:MovieClip;
public var okBtn:MovieClip;
public var money:TextField;
public function ImportWindowTemplate(){
super();
}
}
}//package market
Section 288
//PlaneBox (market.PlaneBox)
package market {
import utils.*;
public class PlaneBox extends BoxTemplate {
public var type:Number;
public var count:Number;// = 0
private static var sizeList:Array = new Array(10, 10, 5, 5, 5, 5, 5, 2);
public function PlaneBox(){
super();
body.stop();
this.visible = false;
this.type = -1;
this.count = 0;
}
public function addProduct(typeS:String, countN:Number):Number{
var delta:Number;
if (!count){
this.visible = true;
this.body.gotoAndStop(typeS);
type = ProductTypes.typeToNumber(typeS);
};
if ((((count > 0)) && (!((type == ProductTypes.typeToNumber(typeS)))))){
return (0);
};
if (count == sizeList[type]){
return (-1);
};
if ((countN + count) <= sizeList[type]){
count = (count + countN);
this.progress._mask.width = ((20 * count) / sizeList[type]);
return (countN);
};
if ((countN + count) > sizeList[type]){
delta = (sizeList[type] - count);
count = (count + delta);
this.progress._mask.width = ((20 * count) / sizeList[type]);
return (delta);
};
return (countN);
}
}
}//package market
Section 289
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
public class MochiAd {
public function MochiAd(){
super();
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showClickAwayAd(options:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = options;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (width:Number, height: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;
var ad_timeout:Number = 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();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = 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 (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
var sendHostProgress:Boolean;
mc.regContLC = function (lc_name:String):void{
mc._containerLCName = lc_name;
};
chk["onEnterFrame"] = function ():void{
var total:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var ad_clip:Object = this.parent._mochiad_ctr;
var elapsed:Number = (getTimer() - this.started);
var finished:Boolean;
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
finished = true;
chk.started = getTimer();
} else {
if (elapsed > chk.ad_timeout){
options.ad_failed();
finished = true;
};
};
};
if (this.root == null){
finished = true;
};
if (finished){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(server:String):String{
var hostname:String = server.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (hostname);
};
Security.allowDomain("*");
Security.allowDomain(hostname);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(hostname);
return (hostname);
}
public static function unload(clip:Object):Boolean{
if (((clip.clip) && (clip.clip._mochiad))){
clip = clip.clip;
};
if (clip.origFrameRate != undefined){
clip.stage.frameRate = clip.origFrameRate;
};
if (!clip._mochiad){
return (false);
};
if (clip._mochiad._containerLCName != undefined){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"});
};
if (clip._mochiad.onUnload){
clip._mochiad.onUnload();
};
delete clip._mochiad_loaded;
delete clip._mochiad;
return (true);
}
public static function showInterLevelAd(options:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = options;
var DEFAULTS:Object = {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 (width:Number, height: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;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = 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();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = 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{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var p:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (p > 0){
this.parent.alpha = (p * 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 (msec:Number):void{
var _chk:Object = mc._mochiad_wait;
_chk.server_control = true;
_chk.showing = true;
_chk.started = getTimer();
_chk.ad_msec = (msec - 250);
};
mc.rpc = function (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
chk["onEnterFrame"] = function ():void{
var total:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var ad_clip:Object = this.parent._mochiad_ctr;
var elapsed:Number = (getTimer() - this.started);
var finished:Boolean;
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (elapsed > chk.ad_timeout){
options.ad_failed();
finished = true;
};
};
};
if (elapsed > chk.ad_msec){
finished = true;
};
if (finished){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(options:Object, defaults:Object):Object{
var k:String;
var pairs:Array;
var i:Number;
var kv:Array;
var optcopy:Object = {};
for (k in defaults) {
optcopy[k] = defaults[k];
};
if (options){
for (k in options) {
optcopy[k] = options[k];
};
};
if (optcopy.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."));
};
options = optcopy.clip.loaderInfo.parameters.mochiad_options;
if (options){
pairs = options.split("&");
i = 0;
while (i < pairs.length) {
kv = pairs[i].split("=");
optcopy[unescape(kv[0])] = unescape(kv[1]);
i++;
};
};
if (optcopy.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (optcopy);
}
public static function _cleanup(mc:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = mc;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
lc.client = null;
lc.close();
//unresolved jump
var _slot1 = e;
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(options:Object):MovieClip{
var clip:Object;
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 = options;
var DEFAULTS:Object = {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);
};
if (clip._mochiad_loaded){
return (null);
};
//unresolved jump
var _slot1 = e;
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."));
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = 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;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
var lv:URLVariables = 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 (ev:Object):void{
ev.target.removeEventListener(ev.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (io:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(base:Object, methodName:String, argsArray:Array):Object{
var nameArray:Array = methodName.split(".");
var i:Number = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return (undefined);
};
base = base[nameArray[i]];
i++;
};
if (typeof(base[nameArray[i]]) == "function"){
return (base[nameArray[i]].apply(base, argsArray));
};
return (undefined);
}
public static function createEmptyMovieClip(parent:Object, name:String, depth:Number):MovieClip{
var mc:MovieClip = new MovieClip();
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
parent[name] = mc;
mc["_name"] = name;
return (mc);
}
public static function _getRes(options:Object, clip:Object):Array{
var xy:Array;
var b:Object = clip.getBounds(clip.root);
var w:Number = 0;
var h:Number = 0;
if (typeof(options.res) != "undefined"){
xy = options.res.split("x");
w = parseFloat(xy[0]);
h = parseFloat(xy[1]);
} else {
w = (b.xMax - b.xMin);
h = (b.yMax - b.yMin);
};
if ((((w == 0)) || ((h == 0)))){
w = clip.stage.stageWidth;
h = clip.stage.stageHeight;
};
return ([w, h]);
}
public static function adShowing(mc:Object):void{
mc.origFrameRate = mc.stage.frameRate;
mc.stage.frameRate = 30;
}
public static function getValue(base:Object, objectName:String):Object{
var nameArray:Array = objectName.split(".");
var i:Number = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return (undefined);
};
base = base[nameArray[i]];
i++;
};
return (base[nameArray[i]]);
}
public static function rpc(clip:Object, callbackID:Number, arg:Object):void{
var _local4:Object;
var _local5:Object;
switch (arg.id){
case "setValue":
MochiAd.setValue(clip, arg.objectName, arg.value);
break;
case "getValue":
_local4 = MochiAd.getValue(clip, arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(clip, arg.method, arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + arg.id));
};
}
public static function setValue(base:Object, objectName:String, value:Object):void{
var nameArray:Array = objectName.split(".");
var i:Number = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return;
};
base = base[nameArray[i]];
i++;
};
base[nameArray[i]] = value;
}
public static function showPreGameAd(options:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = options;
var DEFAULTS:Object = {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 (width:Number, height: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 (percent:Number):void{
}, bar_offset:0};
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;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = 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);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = 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);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = (10 + options.bar_offset);
bar.y = (h - 20);
};
var bar_w:Number = (w - 20);
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo(bar_w, 0);
backing.lineTo(bar_w, 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo(bar_w, 0);
inside.lineTo(bar_w, 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo(bar_w, 0);
outline.lineTo(bar_w, 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 p:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (p > 0){
this.parent.alpha = (p * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var f:Function = function (ev:Event):void{
ev.target.removeEventListener(ev.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){
complete = true;
} else {
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (msec:Number):void{
var _chk:Object = mc._mochiad_wait;
_chk.server_control = true;
_chk.showing = true;
_chk.started = getTimer();
_chk.ad_msec = msec;
};
mc.rpc = function (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s:String):Object{
trace(("[MOCHIAD rpcTestFn] " + s));
return (s);
};
mc.regContLC = function (lc_name:String):void{
mc._containerLCName = lc_name;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (lc_name:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var total:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _clip:Object = this.parent.parent.root;
var ad_clip:Object = this.parent._mochiad_ctr;
var elapsed:Number = (getTimer() - this.started);
var finished:Boolean;
var clip_total:Number = _clip.loaderInfo.bytesTotal;
var clip_loaded:Number = _clip.loaderInfo.bytesLoaded;
if (complete){
clip_loaded = Math.max(1, clip_loaded);
clip_total = clip_loaded;
};
var clip_pcnt:Number = ((100 * clip_loaded) / clip_total);
var ad_pcnt:Number = ((100 * elapsed) / chk.ad_msec);
var _inside:Object = this._mochiad_bar._inside;
var pcnt:Number = Math.min(100, Math.min(((clip_pcnt) || (0)), ad_pcnt));
pcnt = Math.max(this.last_pcnt, pcnt);
this.last_pcnt = pcnt;
_inside.scaleX = (pcnt * 0.01);
options.ad_progress(pcnt);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:clip_pcnt});
if (clip_pcnt >= 100){
sendHostProgress = false;
};
};
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((elapsed > chk.ad_timeout)) && ((clip_pcnt == 100)))){
options.ad_failed();
finished = true;
};
};
};
if (elapsed > chk.ad_msec){
finished = true;
};
if (((complete) && (finished))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(options:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(options);
}
public static function showTimedAd(options:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(options);
}
public static function doOnEnterFrame(mc:MovieClip):void{
var mc = mc;
var f:Function = function (ev:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
ev.target.removeEventListener(ev.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 290
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_HIDE:String = "StoreHide";
public static const LOGGED_IN:String = "LoggedIn";
public static const STORE_ITEMS:String = "StoreItems";
public static const NO_USER:String = "NoUser";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
public static const ITEM_NEW:String = "ItemNew";
public static const USER_INFO:String = "UserInfo";
public static const IO_ERROR:String = "IOError";
public static const ITEM_OWNED:String = "ItemOwned";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const ERROR:String = "Error";
public static const LOGGED_OUT:String = "LoggedOut";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOW:String = "LoginShow";
public static const STORE_SHOW:String = "StoreShow";
public static const PROFILE_HIDE:String = "ProfileHide";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiCoins(){
super();
}
public static function showItem(options:Object=null):void{
if (((!(options)) || (!((typeof(options.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:options}, null, null);
}
public static function saveUserProperties(properties:Object):void{
MochiServices.send("coins_saveUserProperties", properties);
}
public static function triggerEvent(eventType:String, args:Object):void{
_dispatcher.triggerEvent(eventType, args);
}
public static function showLoginWidget(options:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showLoginWidget", {options:options});
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showStore(options:Object=null):void{
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:options}, null, null);
}
public static function addEventListener(eventType:String, delegate:Function):void{
_dispatcher.addEventListener(eventType, delegate);
}
public static function getUserInfo():void{
MochiServices.send("coins_getUserInfo");
}
public static function hideLoginWidget():void{
MochiServices.send("coins_hideLoginWidget");
}
public static function removeEventListener(eventType:String, delegate:Function):void{
_dispatcher.removeEventListener(eventType, delegate);
}
public static function showVideo(options:Object=null):void{
if (((!(options)) || (!((typeof(options.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:options}, null, null);
}
}
}//package mochi.as3
Section 291
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Sibling:MochiDigits;
private var Fragment:Number;
private var Encoder:Number;
public function MochiDigits(digit:Number=0, index:uint=0):void{
super();
Encoder = 0;
setValue(digit, index);
}
public function reencode():void{
var newEncode:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (newEncode ^ Encoder));
Encoder = newEncode;
}
public function set value(v:Number):void{
setValue(v);
}
public function toString():String{
var s:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
s = (s + Sibling.toString());
};
return (s);
}
public function setValue(digit:Number=0, index:uint=0):void{
var s:String = digit.toString();
var _temp1 = index;
index = (index + 1);
Fragment = (s.charCodeAt(_temp1) ^ Encoder);
if (index < s.length){
Sibling = new MochiDigits(digit, index);
} else {
Sibling = null;
};
reencode();
}
public function get value():Number{
return (Number(this.toString()));
}
public function addValue(inc:Number):void{
value = (value + inc);
}
}
}//package mochi.as3
Section 292
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
super();
eventTable = {};
}
public function triggerEvent(event:String, args:Object):void{
var i:Object;
if (eventTable[event] == undefined){
return;
};
for (i in eventTable[event]) {
var _local6 = eventTable[event];
_local6[i](args);
};
}
public function removeEventListener(event:String, delegate:Function):void{
var s:Object;
if (eventTable[event] == undefined){
eventTable[event] = [];
return;
};
for (s in eventTable[event]) {
if (eventTable[event][s] != delegate){
} else {
eventTable[event].splice(Number(s), 1);
};
};
}
public function addEventListener(event:String, delegate:Function):void{
removeEventListener(event, delegate);
eventTable[event].push(delegate);
}
}
}//package mochi.as3
Section 293
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const FORMAT_LONG:String = "LongForm";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const FORMAT_SHORT:String = "ShortForm";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_CENTER:String = "ALIGN_C";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var gameStart:Number;
private static var levelStart:Number;
public function MochiEvents(){
super();
}
public static function addEventListener(eventType:String, delegate:Function):void{
_dispatcher.addEventListener(eventType, delegate);
}
public static function removeEventListener(eventType:String, delegate:Function):void{
_dispatcher.removeEventListener(eventType, delegate);
}
public static function startSession(achievementID:String):void{
MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null);
}
public static function triggerEvent(eventType:String, args:Object):void{
_dispatcher.triggerEvent(eventType, args);
}
public static function setNotifications(clip:MovieClip, style:Object):void{
var s:Object;
var args:Object = {};
for (s in style) {
args[s] = style[s];
};
args.clip = clip;
MochiServices.send("events_setNotifications", args, null, null);
}
public static function endGame():void{
var delta:Number = (new Date().time - gameStart);
trigger("end_game", {time:delta});
}
public static function startGame():void{
gameStart = new Date().time;
trigger("start_game");
}
public static function trigger(kind:String, obj:Object=null):void{
if (obj == null){
obj = {};
} else {
if (obj["kind"] != undefined){
trace("WARNING: optional arguements package contains key 'id', it will be overwritten");
obj["kind"] = kind;
};
};
MochiServices.send("events_triggerEvent", {eventObject:obj}, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startLevel():void{
levelStart = new Date().time;
trigger("start_level");
}
public static function endLevel():void{
var delta:Number = (new Date().time - levelStart);
trigger("end_level", {time:delta});
}
}
}//package mochi.as3
Section 294
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public function MochiScores(){
super();
}
public static function showLeaderboard(options:Object=null):void{
var n:Number;
var options = options;
if (options != null){
delete options.clip;
MochiServices.setContainer();
MochiServices.bringToTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
} else {
if ((options.score is MochiDigits)){
options.score = options.score.value;
};
};
n = Number(options.score);
if (isNaN(n)){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(n) != n){
trace((("WARNING: Submitted score '" + options.score) + "' will be truncated"));
};
options.score = n;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(callbackObj:Object, callbackMethod:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
public static function requestList(callbackObj:Object, callbackMethod:Object=null):void{
MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
public static function scoresArrayToObjects(scores:Object):Object{
var i:Number;
var j:Number;
var o:Object;
var row_obj:Object;
var item:String;
var param:String;
var so:Object = {};
for (item in scores) {
if (typeof(scores[item]) == "object"){
if (((!((scores[item].cols == null))) && (!((scores[item].rows == null))))){
so[item] = [];
o = scores[item];
j = 0;
while (j < o.rows.length) {
row_obj = {};
i = 0;
while (i < o.cols.length) {
row_obj[o.cols[i]] = o.rows[j][i];
i++;
};
so[item].push(row_obj);
j++;
};
} else {
so[item] = {};
for (param in scores[item]) {
so[item][param] = scores[item][param];
};
};
} else {
so[item] = scores[item];
};
};
return (so);
}
public static function submit(score:Number, name:String, callbackObj:Object=null, callbackMethod:Object=null):void{
score = Number(score);
if (isNaN(score)){
trace((("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((score == Number.NEGATIVE_INFINITY)) || ((score == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(score) != score){
trace((("WARNING: Submitted score '" + String(score)) + "' will be truncated"));
};
score = Number(score);
};
};
MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
public static function onClose(args:Object=null):void{
if (((((args) && ((args.error == true)))) && (onErrorHandler))){
if (args.errorCode == null){
args.errorCode = "IOError";
};
onErrorHandler(args.errorCode);
MochiServices.doClose();
return;
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(boardID:String):void{
MochiServices.warnID(boardID, true);
MochiScores.boardID = boardID;
MochiServices.send("scores_setBoardID", {boardID:boardID});
}
}
}//package mochi.as3
Section 295
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _preserved:Object;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
public static var servicesSync:MochiSync = new MochiSync();
private static var _clip:MovieClip;
private static var _id:String;
private static var _services:String = "services.swf";
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _loader:Loader;
private static var _connecting:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
public static var netup:Boolean = true;
private static var _mochiLC:String = "MochiLC.swf";
public function MochiServices(){
super();
}
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function onReceive(pkg:Object):void{
var methodName:String;
var pkg = pkg;
var cb:String = pkg.callbackID;
var cblst:Object = _clip._callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
method.apply(obj, pkg.args);
//unresolved jump
var _slot1 = error;
trace(((("Error invoking callback method '" + methodName) + "': ") + _slot1.toString()));
} else {
if (obj != null){
obj(pkg.args);
//unresolved jump
var _slot1 = error;
trace(("Error invoking method on object: " + _slot1.toString()));
};
};
delete _clip._callbacks[cb];
}
public static function get childClip():Object{
return (_clip);
}
public static function send(methodName:String, args:Object=null, callbackObject:Object=null, callbackMethod:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName));
handleError(args, callbackObject, callbackMethod);
flush(true);
return;
};
_clip._queue.push({methodName:methodName, args:args, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_clip._nextcallbackID++;
};
};
}
private static function init(id:String, clip:Object):void{
_id = id;
if (clip != null){
_container = clip;
loadCommunicator(id, _container);
};
}
private static function clickMovie(url:String, cb:Function):MovieClip{
var b:int;
var loader:Loader;
var avm1_bytecode:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var header:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var footer:Array = [0, 64, 0, 0, 0];
var mc:MovieClip = new MovieClip();
var lc:LocalConnection = new LocalConnection();
var lc_name:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
lc = new LocalConnection();
mc.lc = lc;
mc.click = cb;
lc.client = mc;
lc.connect(lc_name);
var ba:ByteArray = new ByteArray();
var cpool:ByteArray = new ByteArray();
cpool.endian = Endian.LITTLE_ENDIAN;
cpool.writeShort(1);
cpool.writeUTFBytes(((url + " ") + lc_name));
cpool.writeByte(0);
var actionLength:uint = ((avm1_bytecode.length + cpool.length) + 4);
var fileLength:uint = (actionLength + 35);
ba.endian = Endian.LITTLE_ENDIAN;
ba.writeUTFBytes("FWS");
ba.writeByte(8);
ba.writeUnsignedInt(fileLength);
for each (b in header) {
ba.writeByte(b);
};
ba.writeUnsignedInt(actionLength);
ba.writeByte(136);
ba.writeShort(cpool.length);
ba.writeBytes(cpool);
for each (b in avm1_bytecode) {
ba.writeByte(b);
};
for each (b in footer) {
ba.writeByte(b);
};
loader = new Loader();
loader.loadBytes(ba);
mc.addChild(loader);
return (mc);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(url:String, burl:String, btn:DisplayObjectContainer, onClick:Function=null):void{
var avm1Click:DisplayObject;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = url;
var burl = burl;
var btn = btn;
var onClick = onClick;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
var s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (url:String):void{
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(url, onClick);
var rect:Rectangle = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = rect.x;
avm1Click.y = rect.y;
avm1Click.scaleX = (0.01 * rect.width);
avm1Click.scaleY = (0.01 * rect.height);
};
err = function (ev:Object):void{
netup = false;
ev.target.removeEventListener(ev.type, arguments.callee);
setURL(burl);
};
complete = function (ev:Object):void{
ev.target.removeEventListener(ev.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function warnID(bid:String, leaderboard:Boolean):void{
bid = bid.toLowerCase();
if (bid.length != 16){
trace((("WARNING: " + (leaderboard) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (bid == "1e113c7239048b3f"){
if (leaderboard){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (bid == "84993a1de4031cd8"){
if (leaderboard){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var i:Number = 0;
while (i < bid.length) {
switch (bid.charAt(i)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + bid));
return;
};
i++;
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
_mochiLocalConnection.close();
//unresolved jump
var _slot1 = error;
};
if (_timer != null){
_timer.stop();
//unresolved jump
var _slot1 = error;
};
}
public static function allowDomains(server:String):String{
var hostname:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (server.indexOf("http://") != -1){
hostname = server.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(hostname);
Security.allowInsecureDomain(hostname);
};
};
return (hostname);
}
public static function getVersion():String{
return ("3.2 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
private static function flush(error:Boolean):void{
var request:Object;
var callback:Object;
if (((_clip) && (_clip._queue))){
while (_clip._queue.length > 0) {
request = _clip._queue.shift();
callback = null;
if (request != null){
if (request.callbackID != null){
callback = _clip._callbacks[request.callbackID];
};
delete _clip._callbacks[request.callbackID];
if (((error) && (!((callback == null))))){
handleError(request.args, callback.callbackObject, callback.callbackMethod);
};
};
};
};
}
public static function get id():String{
return (_id);
}
private static function onEvent(pkg:Object):void{
var target:String = pkg.target;
var event:String = pkg.event;
switch (target){
case "events":
MochiEvents.triggerEvent(pkg.event, pkg.args);
break;
case "coins":
MochiCoins.triggerEvent(pkg.event, pkg.args);
break;
case "sync":
servicesSync.triggerEvent(pkg.event, pkg.args);
break;
};
}
private static function urlOptions(clip:Object):Object{
var pairs:Array;
var i:Number;
var kv:Array;
var opts:Object = {};
var options:String = clip.loaderInfo.parameters.mochiad_options;
if (options){
pairs = options.split("&");
i = 0;
while (i < pairs.length) {
kv = pairs[i].split("=");
opts[unescape(kv[0])] = unescape(kv[1]);
i++;
};
};
return (opts);
}
public static function setContainer(container:Object=null, doAdd:Boolean=true):void{
if (container != null){
if ((container is Sprite)){
_container = container;
};
};
if (doAdd){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function handleError(args:Object, callbackObject:Object, callbackMethod:Object):void{
var args = args;
var callbackObject = callbackObject;
var callbackMethod = callbackMethod;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
var _local5 = callbackObject;
_local5[callbackMethod](args);
//unresolved jump
var _slot1 = error;
} else {
if (callbackMethod != null){
callbackMethod.apply(args);
//unresolved jump
var _slot1 = error;
};
};
};
}
private static function loadError(ev:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_clip._queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function loadLCBridge(clip:Object):void{
var loader:Loader;
var clip = clip;
loader = new Loader();
var mochiLCURL:String = (_servURL + _mochiLC);
var req:URLRequest = new URLRequest(mochiLCURL);
var complete:Function = function (ev:Object):void{
_mochiLocalConnection = MovieClip(loader.content);
listen();
};
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
loader.load(req);
clip.addChild(loader);
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (args:Object):void{
MochiServices.comChannelName = args.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(val:String):void{
if (val != null){
if (val.length > 3){
_sendChannelName = (val + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(id:String, clip:Object):MovieClip{
var clipname:String = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(clip).servURL){
_servURL = urlOptions(clip).servURL;
};
var servicesURL:String = (_servURL + _services);
if (urlOptions(clip).servicesURL){
servicesURL = urlOptions(clip).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(servicesURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var req:URLRequest = new URLRequest(servicesURL);
var vars:URLVariables = new URLVariables();
vars.listenLC = _listenChannelName;
vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options;
vars.api_version = getVersion();
if (widget){
vars.widget = true;
};
req.data = vars;
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_clip._nextcallbackID = 0;
_clip._callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function connect(id:String, clip:Object, onError:Object=null):void{
var id = id;
var clip = clip;
var onError = onError;
warnID(id, false);
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (errorCode:String):void{
trace(errorCode);
};
};
};
}
public static function createEmptyMovieClip(parent:Object, name:String, depth:Number, doAdd:Boolean=true):MovieClip{
var parent = parent;
var name = name;
var depth = depth;
var doAdd = doAdd;
var mc:MovieClip = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
parent[name] = mc;
//unresolved jump
var _slot1 = e;
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
mc["_name"] = name;
return (mc);
}
public static function bringToTop(e:Event=null):void{
var e = e;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
//unresolved jump
var _slot1 = errorObject;
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
}
public static function connectWait(e:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
}
}
}//package mochi.as3
Section 296
//MochiSync (mochi.as3.MochiSync)
package mochi.as3 {
import flash.utils.*;
public dynamic class MochiSync extends Proxy {
private var _syncContainer:Object;
public static var SYNC_PROPERTY:String = "UpdateProperty";
public static var SYNC_REQUEST:String = "SyncRequest";
public function MochiSync():void{
super();
_syncContainer = {};
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(name, value):void{
if (_syncContainer[name] == value){
return;
};
var n:String = name.toString();
_syncContainer[n] = value;
MochiServices.send("sync_propUpdate", {name:n, value:value});
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(name){
return (_syncContainer[name]);
}
public function triggerEvent(eventType:String, args:Object):void{
switch (eventType){
case SYNC_REQUEST:
MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY:
_syncContainer[args.name] = args.value;
break;
};
}
}
}//package mochi.as3
Section 297
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.3.0.4852";
public function FontAsset(){
super();
}
}
}//package mx.core
Section 298
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 299
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 300
//PropertyChangeEvent (mx.events.PropertyChangeEvent)
package mx.events {
import flash.events.*;
import mx.core.*;
public class PropertyChangeEvent extends Event {
public var newValue:Object;
public var kind:String;
public var property:Object;
public var oldValue:Object;
public var source:Object;
mx_internal static const VERSION:String = "3.3.0.4852";
public static const PROPERTY_CHANGE:String = "propertyChange";
public function PropertyChangeEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, kind:String=null, property:Object=null, oldValue:Object=null, newValue:Object=null, source:Object=null){
super(type, bubbles, cancelable);
this.kind = kind;
this.property = property;
this.oldValue = oldValue;
this.newValue = newValue;
this.source = source;
}
override public function clone():Event{
return (new PropertyChangeEvent(type, bubbles, cancelable, kind, property, oldValue, newValue, source));
}
public static function createUpdateEvent(source:Object, property:Object, oldValue:Object, newValue:Object):PropertyChangeEvent{
var event:PropertyChangeEvent = new PropertyChangeEvent(PROPERTY_CHANGE);
event.kind = PropertyChangeEventKind.UPDATE;
event.oldValue = oldValue;
event.newValue = newValue;
event.source = source;
event.property = property;
return (event);
}
}
}//package mx.events
Section 301
//PropertyChangeEventKind (mx.events.PropertyChangeEventKind)
package mx.events {
import mx.core.*;
public final class PropertyChangeEventKind {
mx_internal static const VERSION:String = "3.3.0.4852";
public static const UPDATE:String = "update";
public static const DELETE:String = "delete";
public function PropertyChangeEventKind(){
super();
}
}
}//package mx.events
Section 302
//Action (org.flintparticles.common.actions.Action)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public interface Action {
function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void;
function addedToEmitter(D:\WORK\Flex3\Farm3Arctic\ext_src;org\flintparticles\common\actions;Action.as:Emitter):void;
function removedFromEmitter(D:\WORK\Flex3\Farm3Arctic\ext_src;org\flintparticles\common\actions;Action.as:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.actions
Section 303
//ActionBase (org.flintparticles.common.actions.ActionBase)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class ActionBase implements Action {
public function ActionBase(){
super();
}
public function addedToEmitter(emitter:Emitter):void{
}
public function removedFromEmitter(emitter:Emitter):void{
}
public function getDefaultPriority():Number{
return (0);
}
public function update(emitter:Emitter, particle:Particle, time:Number):void{
}
}
}//package org.flintparticles.common.actions
Section 304
//Age (org.flintparticles.common.actions.Age)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.energyEasing.*;
public class Age extends ActionBase {
private var _easing:Function;
public function Age(easing:Function=null){
super();
if (easing == null){
_easing = Linear.easeNone;
} else {
_easing = easing;
};
}
public function set easing(value:Function):void{
_easing = value;
}
override public function update(emitter:Emitter, particle:Particle, time:Number):void{
particle.age = (particle.age + time);
if (particle.age >= particle.lifetime){
particle.energy = 0;
particle.isDead = true;
} else {
particle.energy = _easing(particle.age, particle.lifetime);
};
}
public function get easing():Function{
return (_easing);
}
}
}//package org.flintparticles.common.actions
Section 305
//Fade (org.flintparticles.common.actions.Fade)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class Fade extends ActionBase {
private var _endAlpha:Number;
private var _diffAlpha:Number;
public function Fade(startAlpha:Number=1, endAlpha:Number=0){
super();
_diffAlpha = (startAlpha - endAlpha);
_endAlpha = endAlpha;
}
public function get endAlpha():Number{
return (_endAlpha);
}
public function set endAlpha(value:Number):void{
_diffAlpha = ((_endAlpha + _diffAlpha) - value);
_endAlpha = value;
}
override public function update(emitter:Emitter, particle:Particle, time:Number):void{
var alpha:Number = (_endAlpha + (_diffAlpha * particle.energy));
particle.color = ((particle.color & 0xFFFFFF) | (Math.round((alpha * 0xFF)) << 24));
}
override public function getDefaultPriority():Number{
return (-5);
}
public function set startAlpha(value:Number):void{
_diffAlpha = (value - _endAlpha);
}
public function get startAlpha():Number{
return ((_endAlpha + _diffAlpha));
}
}
}//package org.flintparticles.common.actions
Section 306
//Activity (org.flintparticles.common.activities.Activity)
package org.flintparticles.common.activities {
import org.flintparticles.common.emitters.*;
public interface Activity {
function initialize(D:\WORK\Flex3\Farm3Arctic\ext_src;org\flintparticles\common\activities;Activity.as:Emitter):void;
function removedFromEmitter(D:\WORK\Flex3\Farm3Arctic\ext_src;org\flintparticles\common\activities;Activity.as:Emitter):void;
function update(_arg1:Emitter, _arg2:Number):void;
function addedToEmitter(D:\WORK\Flex3\Farm3Arctic\ext_src;org\flintparticles\common\activities;Activity.as:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.activities
Section 307
//Blast (org.flintparticles.common.counters.Blast)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class Blast implements Counter {
private var _startCount:uint;
public function Blast(startCount:uint){
super();
_startCount = startCount;
}
public function stop():void{
}
public function updateEmitter(emitter:Emitter, time:Number):uint{
return (0);
}
public function startEmitter(emitter:Emitter):uint{
return (_startCount);
}
public function resume():void{
}
public function set startCount(value:Number):void{
_startCount = value;
}
public function get startCount():Number{
return (_startCount);
}
}
}//package org.flintparticles.common.counters
Section 308
//Counter (org.flintparticles.common.counters.Counter)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public interface Counter {
function stop():void;
function startEmitter(:Emitter):uint;
function updateEmitter(_arg1:Emitter, _arg2:Number):uint;
function resume():void;
}
}//package org.flintparticles.common.counters
Section 309
//TimePeriod (org.flintparticles.common.counters.TimePeriod)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.easing.*;
public class TimePeriod implements Counter {
private var _timePassed:Number;
private var _easing:Function;
private var _stop:Boolean;// = false
private var _particles:uint;
private var _duration:Number;
private var _particlesPassed:uint;
public function TimePeriod(numParticles:uint, duration:Number, easing:Function=null){
super();
_particles = numParticles;
_duration = duration;
if (easing == null){
_easing = Linear.easeNone;
} else {
_easing = easing;
};
}
public function get numParticles():uint{
return (_particles);
}
public function stop():void{
_stop = true;
}
public function set numParticles(value:uint):void{
_particles = value;
}
public function set easing(value:Function):void{
_easing = value;
}
public function get duration():Number{
return (_duration);
}
public function updateEmitter(emitter:Emitter, time:Number):uint{
var newParticles:uint;
if (((_stop) || ((_particlesPassed == _particles)))){
return (0);
};
_timePassed = (_timePassed + time);
if (_timePassed >= _duration){
newParticles = (_particles - _particlesPassed);
_particlesPassed = _particles;
return (newParticles);
};
var oldParticles:uint = _particlesPassed;
_particlesPassed = Math.round(_easing(_timePassed, 0, _particles, _duration));
return ((_particlesPassed - oldParticles));
}
public function set duration(value:Number):void{
_duration = value;
}
public function get easing():Function{
return (_easing);
}
public function resume():void{
_stop = false;
}
public function startEmitter(emitter:Emitter):uint{
_particlesPassed = 0;
_timePassed = 0;
return (0);
}
}
}//package org.flintparticles.common.counters
Section 310
//ZeroCounter (org.flintparticles.common.counters.ZeroCounter)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class ZeroCounter implements Counter {
public function ZeroCounter(){
super();
}
public function stop():void{
}
public function updateEmitter(emitter:Emitter, time:Number):uint{
return (0);
}
public function startEmitter(emitter:Emitter):uint{
return (0);
}
public function resume():void{
}
}
}//package org.flintparticles.common.counters
Section 311
//Dot (org.flintparticles.common.displayObjects.Dot)
package org.flintparticles.common.displayObjects {
import flash.display.*;
public class Dot extends Shape {
public function Dot(radius:Number, color:uint=0xFFFFFF, bm:String="normal"){
super();
graphics.beginFill(color);
graphics.drawCircle(0, 0, radius);
graphics.endFill();
blendMode = bm;
}
}
}//package org.flintparticles.common.displayObjects
Section 312
//Star (org.flintparticles.common.displayObjects.Star)
package org.flintparticles.common.displayObjects {
import flash.display.*;
import flash.geom.*;
public class Star extends Shape {
public function Star(radius:Number, color:uint=0xFFFFFF, bm:String="normal"){
var point:Point;
super();
var rotStep:Number = (Math.PI / 5);
var innerRadius:Number = (radius * Math.cos((rotStep * 2)));
var halfPi:Number = (Math.PI * 0.5);
graphics.beginFill(color);
graphics.moveTo(0, -(radius));
point = Point.polar(innerRadius, (rotStep - halfPi));
graphics.lineTo(point.x, point.y);
point = Point.polar(radius, ((2 * rotStep) - halfPi));
graphics.lineTo(point.x, point.y);
point = Point.polar(innerRadius, ((3 * rotStep) - halfPi));
graphics.lineTo(point.x, point.y);
point = Point.polar(radius, ((4 * rotStep) - halfPi));
graphics.lineTo(point.x, point.y);
point = Point.polar(innerRadius, ((5 * rotStep) - halfPi));
graphics.lineTo(point.x, point.y);
point = Point.polar(radius, ((6 * rotStep) - halfPi));
graphics.lineTo(point.x, point.y);
point = Point.polar(innerRadius, ((7 * rotStep) - halfPi));
graphics.lineTo(point.x, point.y);
point = Point.polar(radius, ((8 * rotStep) - halfPi));
graphics.lineTo(point.x, point.y);
point = Point.polar(innerRadius, ((9 * rotStep) - halfPi));
graphics.lineTo(point.x, point.y);
graphics.lineTo(0, -(radius));
graphics.endFill();
blendMode = bm;
}
}
}//package org.flintparticles.common.displayObjects
Section 313
//Linear (org.flintparticles.common.easing.Linear)
package org.flintparticles.common.easing {
public class Linear {
public function Linear(){
super();
}
public static function easeOut(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
public static function easeIn(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
public static function easeInOut(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
public static function easeNone(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
}
}//package org.flintparticles.common.easing
Section 314
//Emitter (org.flintparticles.common.emitters.Emitter)
package org.flintparticles.common.emitters {
import flash.events.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.events.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.activities.*;
import org.flintparticles.common.counters.*;
import org.flintparticles.common.utils.*;
public class Emitter extends EventDispatcher {
protected var _running:Boolean;// = false
protected var _activities:PriorityArray;
protected var _particles:Array;
protected var _initializers:PriorityArray;
protected var _counter:Counter;
protected var _started:Boolean;// = false
protected var _actions:PriorityArray;
protected var _useInternalTick:Boolean;// = true
protected var _particleFactory:ParticleFactory;
protected var _fixedFrameTime:Number;// = 0
protected var _maximumFrameTime:Number;// = 0.1
public function Emitter(){
super();
_particles = new Array();
_actions = new PriorityArray();
_initializers = new PriorityArray();
_activities = new PriorityArray();
_counter = new ZeroCounter();
}
public function addInitializer(initializer:Initializer, priority:Number=NaN):void{
if (isNaN(priority)){
priority = initializer.getDefaultPriority();
};
_initializers.add(initializer, priority);
initializer.addedToEmitter(this);
}
public function stop():void{
if (_useInternalTick){
FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener);
};
_started = false;
killAllParticles();
}
public function killAllParticles():void{
var len:int = _particles.length;
var i:int;
while (i < len) {
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _particles[i]));
_particleFactory.disposeParticle(_particles[i]);
i++;
};
_particles.length = 0;
}
public function set fixedFrameTime(value:Number):void{
_fixedFrameTime = value;
}
public function get maximumFrameTime():Number{
return (_maximumFrameTime);
}
public function get useInternalTick():Boolean{
return (_useInternalTick);
}
protected function createParticle():Particle{
var particle:Particle = _particleFactory.createParticle();
var len:int = _initializers.length;
initParticle(particle);
var i:int;
while (i < len) {
_initializers[i].initialize(this, particle);
i++;
};
_particles.push(particle);
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_CREATED, particle));
return (particle);
}
public function get particleFactory():ParticleFactory{
return (_particleFactory);
}
private function updateEventListener(ev:UpdateEvent):void{
if (_fixedFrameTime){
update(_fixedFrameTime);
} else {
update(ev.time);
};
}
public function get particles():Array{
return (_particles);
}
protected function sortParticles():void{
}
public function removeActivity(activity:Activity):void{
if (_activities.remove(activity)){
activity.removedFromEmitter(this);
};
}
public function set maximumFrameTime(value:Number):void{
_maximumFrameTime = value;
}
protected function initParticle(particle:Particle):void{
}
public function addAction(action:Action, priority:Number=NaN):void{
if (isNaN(priority)){
priority = action.getDefaultPriority();
};
_actions.add(action, priority);
action.addedToEmitter(this);
}
public function hasInitializerOfType(initializerClass:Class):Boolean{
var len:uint = _initializers.length;
var i:uint;
while (i < len) {
if ((_initializers[i] is initializerClass)){
return (true);
};
i++;
};
return (false);
}
public function resume():void{
_running = true;
}
public function removeInitializer(initializer:Initializer):void{
if (_initializers.remove(initializer)){
initializer.removedFromEmitter(this);
};
}
public function get running():Boolean{
return (_running);
}
public function hasActionOfType(actionClass:Class):Boolean{
var len:uint = _actions.length;
var i:uint;
while (i < len) {
if ((_actions[i] is actionClass)){
return (true);
};
i++;
};
return (false);
}
public function get fixedFrameTime():Number{
return (_fixedFrameTime);
}
public function set particleFactory(value:ParticleFactory):void{
_particleFactory = value;
}
public function hasActivity(activity:Activity):Boolean{
return (_activities.contains(activity));
}
public function addActivity(activity:Activity, priority:Number=NaN):void{
if (isNaN(priority)){
priority = activity.getDefaultPriority();
};
_activities.add(activity, priority);
activity.addedToEmitter(this);
}
public function update(time:Number):void{
var i:int;
var particle:Particle;
var action:Action;
var len2:int;
var j:int;
if (!_running){
return;
};
if (time > _maximumFrameTime){
time = _maximumFrameTime;
};
var len:int = _counter.updateEmitter(this, time);
i = 0;
while (i < len) {
createParticle();
i++;
};
sortParticles();
len = _activities.length;
i = 0;
while (i < len) {
_activities[i].update(this, time);
i++;
};
if (_particles.length > 0){
len = _actions.length;
len2 = _particles.length;
j = 0;
while (j < len) {
action = _actions[j];
i = 0;
while (i < len2) {
particle = _particles[i];
action.update(this, particle, time);
i++;
};
j++;
};
i = len2;
while (i--) {
particle = _particles[i];
if (particle.isDead){
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, particle));
_particleFactory.disposeParticle(particle);
_particles.splice(i, 1);
};
};
} else {
dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_EMPTY));
};
dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_UPDATED));
}
public function addExistingParticles(particles:Array, applyInitializers:Boolean=false):void{
var i:int;
var len2:int;
var j:int;
var len:int = particles.length;
if (applyInitializers){
len2 = _initializers.length;
j = 0;
while (j < len2) {
i = 0;
while (i < len) {
_initializers[j].initialize(this, particles[i]);
i++;
};
j++;
};
};
i = 0;
while (i < len) {
_particles.push(particles[i]);
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_ADDED, particles[i]));
i++;
};
}
public function removeAction(action:Action):void{
if (_actions.remove(action)){
action.removedFromEmitter(this);
};
}
public function hasActivityOfType(activityClass:Class):Boolean{
var len:uint = _activities.length;
var i:uint;
while (i < len) {
if ((_activities[i] is activityClass)){
return (true);
};
i++;
};
return (false);
}
public function set useInternalTick(value:Boolean):void{
if (_useInternalTick != value){
_useInternalTick = value;
if (_started){
if (_useInternalTick){
FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true);
} else {
FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener);
};
};
};
}
public function hasInitializer(initializer:Initializer):Boolean{
return (_initializers.contains(initializer));
}
public function start():void{
if (_useInternalTick){
FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true);
};
_started = true;
_running = true;
var len:int = _activities.length;
var i:int;
while (i < len) {
_activities[i].initialize(this);
i++;
};
len = _counter.startEmitter(this);
i = 0;
while (i < len) {
createParticle();
i++;
};
}
public function hasAction(action:Action):Boolean{
return (_actions.contains(action));
}
public function pause():void{
_running = false;
}
public function set counter(value:Counter):void{
_counter = value;
}
public function get counter():Counter{
return (_counter);
}
public function runAhead(time:Number, frameRate:Number=10):void{
var maxTime:Number = _maximumFrameTime;
var step:Number = (1 / frameRate);
_maximumFrameTime = step;
while (time > 0) {
time = (time - step);
update(step);
};
_maximumFrameTime = maxTime;
}
}
}//package org.flintparticles.common.emitters
Section 315
//Linear (org.flintparticles.common.energyEasing.Linear)
package org.flintparticles.common.energyEasing {
public class Linear {
public function Linear(){
super();
}
public static function easeOut(age:Number, lifetime:Number):Number{
return ((1 - (age / lifetime)));
}
public static function easeIn(age:Number, lifetime:Number):Number{
return ((1 - (age / lifetime)));
}
public static function easeInOut(age:Number, lifetime:Number):Number{
return ((1 - (age / lifetime)));
}
public static function easeNone(age:Number, lifetime:Number):Number{
return ((1 - (age / lifetime)));
}
}
}//package org.flintparticles.common.energyEasing
Section 316
//Quadratic (org.flintparticles.common.energyEasing.Quadratic)
package org.flintparticles.common.energyEasing {
public class Quadratic {
public function Quadratic(){
super();
}
public static function easeOut(age:Number, lifetime:Number):Number{
age = (1 - (age / lifetime));
return ((age * age));
}
public static function easeIn(age:Number, lifetime:Number):Number{
age = (age / lifetime);
return ((1 - (age * age)));
}
public static function easeInOut(age:Number, lifetime:Number):Number{
age = (age / (lifetime * 0.5));
if (age < 1){
return ((1 - ((age * age) * 0.5)));
};
age = (age - 2);
return (((age * age) * 0.5));
}
}
}//package org.flintparticles.common.energyEasing
Section 317
//EmitterEvent (org.flintparticles.common.events.EmitterEvent)
package org.flintparticles.common.events {
import flash.events.*;
public class EmitterEvent extends Event {
public static var EMITTER_UPDATED:String = "emitterUpdated";
public static var EMITTER_EMPTY:String = "emitterEmpty";
public function EmitterEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package org.flintparticles.common.events
Section 318
//ParticleEvent (org.flintparticles.common.events.ParticleEvent)
package org.flintparticles.common.events {
import flash.events.*;
import org.flintparticles.common.particles.*;
public class ParticleEvent extends Event {
public var particle:Particle;
public static var PARTICLE_ADDED:String = "particleAdded";
public static var PARTICLE_DEAD:String = "particleDead";
public static var PARTICLE_CREATED:String = "particleCreated";
public function ParticleEvent(type:String, particle:Particle=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
this.particle = particle;
}
}
}//package org.flintparticles.common.events
Section 319
//UpdateEvent (org.flintparticles.common.events.UpdateEvent)
package org.flintparticles.common.events {
import flash.events.*;
public class UpdateEvent extends Event {
public var time:Number;
public static var UPDATE:String = "update";
public function UpdateEvent(type:String, time:Number=NaN, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
this.time = time;
}
}
}//package org.flintparticles.common.events
Section 320
//ColorInit (org.flintparticles.common.initializers.ColorInit)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.utils.*;
public class ColorInit extends InitializerBase {
private var _max:uint;
private var _min:uint;
public function ColorInit(color1:uint, color2:uint){
super();
_min = color1;
_max = color2;
}
public function set minColor(value:uint):void{
_min = value;
}
public function get color():uint{
return (((_min == _max)) ? _min : interpolateColors(_max, _min, 0.5));
}
public function set color(value:uint):void{
_max = (_min = value);
}
override public function initialize(emitter:Emitter, particle:Particle):void{
if (_max == _min){
particle.color = _min;
} else {
particle.color = interpolateColors(_min, _max, Math.random());
};
}
public function get minColor():uint{
return (_min);
}
public function set maxColor(value:uint):void{
_max = value;
}
public function get maxColor():uint{
return (_max);
}
}
}//package org.flintparticles.common.initializers
Section 321
//Initializer (org.flintparticles.common.initializers.Initializer)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public interface Initializer {
function initialize(_arg1:Emitter, _arg2:Particle):void;
function addedToEmitter(D:\WORK\Flex3\Farm3Arctic\ext_src;org\flintparticles\common\initializers;Initializer.as:Emitter):void;
function removedFromEmitter(D:\WORK\Flex3\Farm3Arctic\ext_src;org\flintparticles\common\initializers;Initializer.as:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.initializers
Section 322
//InitializerBase (org.flintparticles.common.initializers.InitializerBase)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class InitializerBase implements Initializer {
public function InitializerBase(){
super();
}
public function initialize(emitter:Emitter, particle:Particle):void{
}
public function addedToEmitter(emitter:Emitter):void{
}
public function removedFromEmitter(emitter:Emitter):void{
}
public function getDefaultPriority():Number{
return (0);
}
}
}//package org.flintparticles.common.initializers
Section 323
//Lifetime (org.flintparticles.common.initializers.Lifetime)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class Lifetime extends InitializerBase {
private var _max:Number;
private var _min:Number;
public function Lifetime(minLifetime:Number, maxLifetime:Number=NaN){
super();
_max = maxLifetime;
_min = minLifetime;
}
public function get lifetime():Number{
return (((_min == _max)) ? _min : ((_max + _min) * 0.5));
}
public function get maxLifetime():Number{
return (_max);
}
override public function initialize(emitter:Emitter, particle:Particle):void{
if (isNaN(_max)){
particle.lifetime = _min;
} else {
particle.lifetime = (_min + (Math.random() * (_max - _min)));
};
}
public function set lifetime(value:Number):void{
_max = (_min = value);
}
public function set minLifetime(value:Number):void{
_min = value;
}
public function set maxLifetime(value:Number):void{
_max = value;
}
public function get minLifetime():Number{
return (_min);
}
}
}//package org.flintparticles.common.initializers
Section 324
//SharedImage (org.flintparticles.common.initializers.SharedImage)
package org.flintparticles.common.initializers {
import flash.display.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class SharedImage extends InitializerBase {
private var _image:DisplayObject;
public function SharedImage(image:DisplayObject){
super();
_image = image;
}
override public function initialize(emitter:Emitter, particle:Particle):void{
particle.image = _image;
}
public function set image(value:DisplayObject):void{
_image = value;
}
public function get image():DisplayObject{
return (_image);
}
}
}//package org.flintparticles.common.initializers
Section 325
//Particle (org.flintparticles.common.particles.Particle)
package org.flintparticles.common.particles {
import flash.geom.*;
import flash.utils.*;
public class Particle {
public var energy:Number;// = 1
public var lifetime:Number;// = 0
public var scale:Number;// = 1
public var image;// = null
public var color:uint;// = 4294967295
public var collisionRadius:Number;// = 1
private var _colorTransform:ColorTransform;// = null
private var _previousColor:uint;
public var isDead:Boolean;// = false
public var mass:Number;// = 1
private var _dictionary:Dictionary;// = null
public var age:Number;// = 0
public function Particle(){
super();
}
public function get dictionary():Dictionary{
if (_dictionary == null){
_dictionary = new Dictionary();
};
return (_dictionary);
}
public function get colorTransform():ColorTransform{
if (((!(_colorTransform)) || (!((_previousColor == color))))){
_colorTransform = new ColorTransform((((color >>> 16) & 0xFF) / 0xFF), (((color >>> 8) & 0xFF) / 0xFF), ((color & 0xFF) / 0xFF), (((color >>> 24) & 0xFF) / 0xFF), 0, 0, 0, 0);
_previousColor = color;
};
return (_colorTransform);
}
public function get alpha():Number{
return ((((color & 4278190080) >>> 24) / 0xFF));
}
public function initialize():void{
color = 4294967295;
scale = 1;
mass = 1;
collisionRadius = 1;
lifetime = 0;
age = 0;
energy = 1;
isDead = false;
image = null;
_dictionary = null;
_colorTransform = null;
}
}
}//package org.flintparticles.common.particles
Section 326
//ParticleFactory (org.flintparticles.common.particles.ParticleFactory)
package org.flintparticles.common.particles {
public interface ParticleFactory {
function createParticle():Particle;
function disposeParticle(D:\WORK\Flex3\Farm3Arctic\ext_src;org\flintparticles\common\particles;ParticleFactory.as:Particle):void;
}
}//package org.flintparticles.common.particles
Section 327
//Renderer (org.flintparticles.common.renderers.Renderer)
package org.flintparticles.common.renderers {
import org.flintparticles.common.emitters.*;
public interface Renderer {
function removeEmitter(:Emitter):void;
function addEmitter(:Emitter):void;
}
}//package org.flintparticles.common.renderers
Section 328
//SpriteRendererBase (org.flintparticles.common.renderers.SpriteRendererBase)
package org.flintparticles.common.renderers {
import flash.events.*;
import flash.display.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.events.*;
public class SpriteRendererBase extends Sprite implements Renderer {
protected var _emitters:Array;
public function SpriteRendererBase(){
super();
_emitters = new Array();
mouseEnabled = false;
mouseChildren = false;
addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true);
}
private function particleAdded(ev:ParticleEvent):void{
addParticle(ev.particle);
if (stage){
stage.invalidate();
};
}
private function addedToStage(ev:Event):void{
if (stage){
stage.invalidate();
};
}
public function get emitters():Array{
return (_emitters);
}
protected function addParticle(particle:Particle):void{
}
private function updateParticles(ev:Event):void{
var particles:Array = new Array();
var i:int;
while (i < _emitters.length) {
particles = particles.concat(_emitters[i].particles);
i++;
};
renderParticles(particles);
}
private function emitterUpdated(ev:EmitterEvent):void{
if (stage){
stage.invalidate();
};
}
public function removeEmitter(emitter:Emitter):void{
var p:Particle;
var i:int;
while (i < _emitters.length) {
if (_emitters[i] == emitter){
_emitters.splice(i, 1);
emitter.removeEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated);
emitter.removeEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded);
emitter.removeEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded);
emitter.removeEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved);
for each (p in emitter.particles) {
removeParticle(p);
};
if (_emitters.length == 0){
removeEventListener(Event.RENDER, updateParticles);
renderParticles([]);
} else {
stage.invalidate();
};
return;
};
i++;
};
}
protected function renderParticles(particles:Array):void{
}
protected function removeParticle(particle:Particle):void{
}
private function particleRemoved(ev:ParticleEvent):void{
removeParticle(ev.particle);
if (stage){
stage.invalidate();
};
}
public function addEmitter(emitter:Emitter):void{
var p:Particle;
_emitters.push(emitter);
if (stage){
stage.invalidate();
};
emitter.addEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated, false, 0, true);
emitter.addEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded, false, 0, true);
emitter.addEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded, false, 0, true);
emitter.addEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved, false, 0, true);
for each (p in emitter.particles) {
addParticle(p);
};
if (_emitters.length == 1){
addEventListener(Event.RENDER, updateParticles, false, 0, true);
};
}
}
}//package org.flintparticles.common.renderers
Section 329
//FrameUpdater (org.flintparticles.common.utils.FrameUpdater)
package org.flintparticles.common.utils {
import flash.events.*;
import flash.display.*;
import org.flintparticles.common.events.*;
import flash.utils.*;
public class FrameUpdater extends EventDispatcher {
private var _shape:Shape;
private var _time:Number;
private static var _instance:FrameUpdater;
public function FrameUpdater(){
super();
_shape = new Shape();
_shape.addEventListener(Event.ENTER_FRAME, frameUpdate, false, 0, true);
_time = getTimer();
}
private function frameUpdate(ev:Event):void{
var oldTime:int = _time;
_time = getTimer();
var frameTime:Number = ((_time - oldTime) * 0.001);
dispatchEvent(new UpdateEvent(UpdateEvent.UPDATE, frameTime));
}
public static function get instance():FrameUpdater{
if (_instance == null){
_instance = new (FrameUpdater);
};
return (_instance);
}
}
}//package org.flintparticles.common.utils
Section 330
//interpolateColors (org.flintparticles.common.utils.interpolateColors)
package org.flintparticles.common.utils {
public function interpolateColors(color1:uint, color2:uint, ratio:Number):uint{
var inv:Number = (1 - ratio);
var red:uint = Math.round(((((color1 >>> 16) & 0xFF) * ratio) + (((color2 >>> 16) & 0xFF) * inv)));
var green:uint = Math.round(((((color1 >>> 8) & 0xFF) * ratio) + (((color2 >>> 8) & 0xFF) * inv)));
var blue:uint = Math.round((((color1 & 0xFF) * ratio) + ((color2 & 0xFF) * inv)));
var alpha:uint = Math.round(((((color1 >>> 24) & 0xFF) * ratio) + (((color2 >>> 24) & 0xFF) * inv)));
return (((((alpha << 24) | (red << 16)) | (green << 8)) | blue));
}
}//package org.flintparticles.common.utils
Section 331
//Maths (org.flintparticles.common.utils.Maths)
package org.flintparticles.common.utils {
public class Maths {
private static const DEGTORAD:Number = 0.0174532925199433;
private static const RADTODEG:Number = 57.2957795130823;
public function Maths(){
super();
}
public static function asRadians(degrees:Number):Number{
return ((degrees * DEGTORAD));
}
public static function asDegrees(radians:Number):Number{
return ((radians * RADTODEG));
}
}
}//package org.flintparticles.common.utils
Section 332
//PriorityArray (org.flintparticles.common.utils.PriorityArray)
package org.flintparticles.common.utils {
import flash.utils.*;
public class PriorityArray extends Proxy {
private var _values:Array;
public function PriorityArray(){
super();
_values = new Array();
}
public function remove(value):Boolean{
var i:uint = _values.length;
while (i--) {
if (_values[i].value == value){
_values.splice(i, 1);
return (true);
};
};
return (false);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(index:int):String{
return ((index - 1).toString());
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(name, value):void{
var index:uint = uint(name);
if ((((index == name)) && ((index < _values.length)))){
_values[index].value = value;
};
}
public function add(value, priority:Number):uint{
var len:uint = _values.length;
var i:uint;
while (i < len) {
if (_values[i].priority < priority){
break;
};
i++;
};
_values.splice(i, 0, new Pair(priority, value));
return (_values.length);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(name){
var index:int = int(name);
if ((((((index == name)) && ((index < _values.length)))) && (_values[index]))){
return (_values[index].value);
};
return (undefined);
}
public function clear():void{
_values.length = 0;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(index:int):int{
if (index < _values.length){
return ((index + 1));
};
return (0);
}
public function get length():uint{
return (_values.length);
}
public function removeAt(index:uint){
var temp:* = _values[index].value;
_values.splice(index, 1);
return (temp);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(index:int){
return (_values[(index - 1)]);
}
public function contains(value):Boolean{
var i:uint = _values.length;
while (i--) {
if (_values[i].value == value){
return (true);
};
};
return (false);
}
}
}//package org.flintparticles.common.utils
class Pair {
private var value;
private var priority:Number;
private function Pair(priority:Number, value){
super();
this.priority = priority;
this.value = value;
}
}
Section 333
//Accelerate (org.flintparticles.twoD.actions.Accelerate)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.actions.*;
public class Accelerate extends ActionBase {
private var _x:Number;
private var _y:Number;
public function Accelerate(accelerationX:Number, accelerationY:Number){
super();
_x = accelerationX;
_y = accelerationY;
}
public function set x(value:Number):void{
_x = value;
}
public function get y():Number{
return (_y);
}
public function get x():Number{
return (_x);
}
override public function update(emitter:Emitter, particle:Particle, time:Number):void{
var p:Particle2D = Particle2D(particle);
p.velX = (p.velX + (_x * time));
p.velY = (p.velY + (_y * time));
}
public function set y(value:Number):void{
_y = value;
}
}
}//package org.flintparticles.twoD.actions
Section 334
//Move (org.flintparticles.twoD.actions.Move)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.actions.*;
public class Move extends ActionBase {
private var p:Particle2D;
public function Move(){
super();
}
override public function getDefaultPriority():Number{
return (-10);
}
override public function update(emitter:Emitter, particle:Particle, time:Number):void{
p = Particle2D(particle);
p.x = (p.x + (p.velX * time));
p.y = (p.y + (p.velY * time));
}
}
}//package org.flintparticles.twoD.actions
Section 335
//Emitter2D (org.flintparticles.twoD.emitters.Emitter2D)
package org.flintparticles.twoD.emitters {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.utils.*;
public class Emitter2D extends Emitter {
protected var _y:Number;// = 0
public var spaceSort:Boolean;// = false
public var spaceSortedX:Array;
protected var _x:Number;// = 0
protected var _rotation:Number;// = 0
protected static var _creator:ParticleCreator2D = new ParticleCreator2D();
public function Emitter2D(){
super();
_particleFactory = _creator;
}
public function get y():Number{
return (_y);
}
override protected function initParticle(particle:Particle):void{
var p:Particle2D;
p = Particle2D(particle);
p.x = _x;
p.y = _y;
p.rotation = _rotation;
}
override protected function sortParticles():void{
var len:int;
var i:int;
if (spaceSort){
spaceSortedX = _particles.sortOn("x", (Array.NUMERIC | Array.RETURNINDEXEDARRAY));
len = _particles.length;
i = 0;
while (i < len) {
_particles[spaceSortedX[i]].sortID = i;
i++;
};
};
}
public function set x(value:Number):void{
_x = value;
}
public function set rotRadians(value:Number):void{
_rotation = value;
}
public function get x():Number{
return (_x);
}
public function get rotRadians():Number{
return (_rotation);
}
public function set rotation(value:Number):void{
_rotation = Maths.asRadians(value);
}
public function get rotation():Number{
return (Maths.asDegrees(_rotation));
}
public function set y(value:Number):void{
_y = value;
}
public static function get defaultParticleFactory():ParticleFactory{
return (_creator);
}
}
}//package org.flintparticles.twoD.emitters
Section 336
//Velocity (org.flintparticles.twoD.initializers.Velocity)
package org.flintparticles.twoD.initializers {
import flash.geom.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.initializers.*;
public class Velocity extends InitializerBase {
private var _zone:Zone2D;
public function Velocity(zone:Zone2D){
super();
_zone = zone;
}
override public function initialize(emitter:Emitter, particle:Particle):void{
var p:Particle2D;
var sin:Number;
var cos:Number;
p = Particle2D(particle);
var loc:Point = _zone.getLocation();
if (p.rotation == 0){
p.velX = loc.x;
p.velY = loc.y;
} else {
sin = Math.sin(p.rotation);
cos = Math.cos(p.rotation);
p.velX = ((cos * loc.x) - (sin * loc.y));
p.velY = ((cos * loc.y) + (sin * loc.x));
};
}
public function set zone(value:Zone2D):void{
_zone = value;
}
public function get zone():Zone2D{
return (_zone);
}
}
}//package org.flintparticles.twoD.initializers
Section 337
//Particle2D (org.flintparticles.twoD.particles.Particle2D)
package org.flintparticles.twoD.particles {
import flash.geom.*;
import org.flintparticles.common.particles.*;
public class Particle2D extends Particle {
public var sortID:uint;// = 0
private var _inertia:Number;
public var velY:Number;// = 0
private var _previousRadius:Number;
private var _previousMass:Number;
public var angVelocity:Number;// = 0
public var x:Number;// = 0
public var y:Number;// = 0
public var velX:Number;// = 0
public var rotation:Number;// = 0
public function Particle2D(){
super();
}
override public function initialize():void{
super.initialize();
x = 0;
y = 0;
velX = 0;
velY = 0;
rotation = 0;
angVelocity = 0;
sortID = 0;
}
public function get matrixTransform():Matrix{
var cos:Number = (scale * Math.cos(rotation));
var sin:Number = (scale * Math.sin(rotation));
return (new Matrix(cos, sin, -(sin), cos, x, y));
}
public function get inertia():Number{
if (((!((mass == _previousMass))) || (!((collisionRadius == _previousRadius))))){
_inertia = (((mass * collisionRadius) * collisionRadius) * 0.5);
_previousMass = mass;
_previousRadius = collisionRadius;
};
return (_inertia);
}
}
}//package org.flintparticles.twoD.particles
Section 338
//ParticleCreator2D (org.flintparticles.twoD.particles.ParticleCreator2D)
package org.flintparticles.twoD.particles {
import org.flintparticles.common.particles.*;
public class ParticleCreator2D implements ParticleFactory {
private var _particles:Array;
public function ParticleCreator2D(){
super();
_particles = new Array();
}
public function clearAllParticles():void{
_particles = new Array();
}
public function disposeParticle(particle:Particle):void{
if ((particle is Particle2D)){
particle.initialize();
_particles.push(particle);
};
}
public function createParticle():Particle{
if (_particles.length){
return (_particles.pop());
};
return (new Particle2D());
}
}
}//package org.flintparticles.twoD.particles
Section 339
//BitmapRenderer (org.flintparticles.twoD.renderers.BitmapRenderer)
package org.flintparticles.twoD.renderers {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.renderers.*;
public class BitmapRenderer extends SpriteRendererBase {
protected var _canvas:Rectangle;
protected var _bitmap:Bitmap;
protected var _smoothing:Boolean;
protected var _bitmapData:BitmapData;
protected var _postFilters:Array;
protected var _preFilters:Array;
protected var _colorMap:Array;
protected static var ZERO_POINT:Point = new Point(0, 0);
public function BitmapRenderer(canvas:Rectangle, smoothing:Boolean=false){
super();
mouseEnabled = false;
mouseChildren = false;
_smoothing = smoothing;
_preFilters = new Array();
_postFilters = new Array();
_canvas = canvas;
createBitmap();
}
public function get canvas():Rectangle{
return (_canvas);
}
public function set canvas(value:Rectangle):void{
_canvas = value;
createBitmap();
}
public function removeFilter(filter:BitmapFilter):void{
var i:int;
while (i < _preFilters.length) {
if (_preFilters[i] == filter){
_preFilters.splice(i, 1);
return;
};
i++;
};
i = 0;
while (i < _postFilters.length) {
if (_postFilters[i] == filter){
_postFilters.splice(i, 1);
return;
};
i++;
};
}
override protected function renderParticles(particles:Array):void{
var i:int;
var len:int;
if (!_bitmap){
return;
};
_bitmapData.lock();
len = _preFilters.length;
i = 0;
while (i < len) {
_bitmapData.applyFilter(_bitmapData, _bitmapData.rect, BitmapRenderer.ZERO_POINT, _preFilters[i]);
i++;
};
if ((((len == 0)) && ((_postFilters.length == 0)))){
_bitmapData.fillRect(_bitmap.bitmapData.rect, 0);
};
len = particles.length;
if (len){
i = len;
while (i--) {
drawParticle(particles[i]);
};
};
len = _postFilters.length;
i = 0;
while (i < len) {
_bitmapData.applyFilter(_bitmapData, _bitmapData.rect, BitmapRenderer.ZERO_POINT, _postFilters[i]);
i++;
};
if (_colorMap){
_bitmapData.paletteMap(_bitmapData, _bitmapData.rect, ZERO_POINT, _colorMap[1], _colorMap[2], _colorMap[3], _colorMap[0]);
};
_bitmapData.unlock();
}
protected function drawParticle(particle:Particle2D):void{
var matrix:Matrix;
matrix = particle.matrixTransform;
matrix.translate(-(_canvas.x), -(_canvas.y));
_bitmapData.draw(particle.image, matrix, particle.colorTransform, DisplayObject(particle.image).blendMode, null, _smoothing);
}
public function setPaletteMap(red:Array=null, green:Array=null, blue:Array=null, alpha:Array=null):void{
_colorMap = new Array(4);
_colorMap[0] = alpha;
_colorMap[1] = red;
_colorMap[2] = green;
_colorMap[3] = blue;
}
public function clearPaletteMap():void{
_colorMap = null;
}
public function addFilter(filter:BitmapFilter, postRender:Boolean=false):void{
if (postRender){
_postFilters.push(filter);
} else {
_preFilters.push(filter);
};
}
protected function createBitmap():void{
if (!_canvas){
return;
};
if (((_bitmap) && (_bitmapData))){
_bitmapData.dispose();
_bitmapData = null;
};
if (_bitmap){
removeChild(_bitmap);
};
_bitmap = new Bitmap(null, "auto", _smoothing);
_bitmapData = new BitmapData(_canvas.width, _canvas.height, true, 0);
_bitmap.bitmapData = _bitmapData;
addChild(_bitmap);
_bitmap.x = _canvas.x;
_bitmap.y = _canvas.y;
}
}
}//package org.flintparticles.twoD.renderers
Section 340
//DiscSectorZone (org.flintparticles.twoD.zones.DiscSectorZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class DiscSectorZone implements Zone2D {
private var _minAngle:Number;
private var _innerRadius:Number;
private var _minAllowed:Number;
private var _outerRadius:Number;
private var _center:Point;
private var _maxAngle:Number;
private var _innerSq:Number;
private var _outerSq:Number;
private static var TWOPI:Number = 6.28318530717959;
public function DiscSectorZone(center:Point, outerRadius:Number, innerRadius:Number, minAngle:Number, maxAngle:Number){
super();
if (outerRadius < innerRadius){
throw (new Error((((("The outerRadius (" + outerRadius) + ") can't be smaller than the innerRadius (") + innerRadius) + ") in your DiscSectorZone. N.B. the outerRadius is the second argument in the constructor and the innerRadius is the third argument.")));
};
_center = center;
_innerRadius = innerRadius;
_outerRadius = outerRadius;
_innerSq = (_innerRadius * _innerRadius);
_outerSq = (_outerRadius * _outerRadius);
_minAngle = minAngle;
_maxAngle = maxAngle;
while (_maxAngle > TWOPI) {
_maxAngle = (_maxAngle - TWOPI);
};
while (_maxAngle < 0) {
_maxAngle = (_maxAngle + TWOPI);
};
_minAllowed = (_maxAngle - TWOPI);
if (minAngle == maxAngle){
_minAngle = _maxAngle;
} else {
_minAngle = clamp(_minAngle);
};
}
public function set minAngle(value:Number):void{
_minAngle = clamp(value);
}
public function get innerRadius():Number{
return (_innerRadius);
}
public function getArea():Number{
return (((Math.PI * _outerSq) - (Math.PI * _innerSq)));
}
public function get maxAngle():Number{
return (_maxAngle);
}
public function set innerRadius(value:Number):void{
_innerRadius = value;
_innerSq = (_innerRadius * _innerRadius);
}
public function set outerRadius(value:Number):void{
_outerRadius = value;
_outerSq = (_outerRadius * _outerRadius);
}
public function set maxAngle(value:Number):void{
_maxAngle = value;
while (_maxAngle > TWOPI) {
_maxAngle = (_maxAngle - TWOPI);
};
while (_maxAngle < 0) {
_maxAngle = (_maxAngle + TWOPI);
};
_minAllowed = (_maxAngle - TWOPI);
}
public function contains(x:Number, y:Number):Boolean{
x = (x - _center.x);
y = (y - _center.y);
var distSq:Number = ((x * x) + (y * y));
if ((((distSq > _outerSq)) || ((distSq < _innerSq)))){
return (false);
};
var angle:Number = Math.atan2(y, x);
angle = clamp(angle);
return ((angle >= _minAngle));
}
public function get minAngle():Number{
return (_minAngle);
}
public function get center():Point{
return (_center);
}
public function getLocation():Point{
var rand:Number = Math.random();
var point:Point = Point.polar((_innerRadius + ((1 - (rand * rand)) * (_outerRadius - _innerRadius))), (_minAngle + (Math.random() * (_maxAngle - _minAngle))));
point.x = (point.x + _center.x);
point.y = (point.y + _center.y);
return (point);
}
public function get outerRadius():Number{
return (_outerRadius);
}
public function set center(value:Point):void{
_center = value;
}
private function clamp(angle:Number):Number{
while (angle > _maxAngle) {
angle = (angle - TWOPI);
};
while (angle < _minAllowed) {
angle = (angle + TWOPI);
};
return (angle);
}
}
}//package org.flintparticles.twoD.zones
Section 341
//DiscZone (org.flintparticles.twoD.zones.DiscZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class DiscZone implements Zone2D {
private var _innerRadius:Number;
private var _outerRadius:Number;
private var _center:Point;
private var _innerSq:Number;
private var _outerSq:Number;
private static const TWOPI:Number = 6.28318530717959;
public function DiscZone(center:Point, outerRadius:Number, innerRadius:Number=0){
super();
if (outerRadius < innerRadius){
throw (new Error((((("The outerRadius (" + outerRadius) + ") can't be smaller than the innerRadius (") + innerRadius) + ") in your DiscZone. N.B. the outerRadius is the second argument in the constructor and the innerRadius is the third argument.")));
};
_center = center;
_innerRadius = innerRadius;
_outerRadius = outerRadius;
_innerSq = (_innerRadius * _innerRadius);
_outerSq = (_outerRadius * _outerRadius);
}
public function set outerRadius(value:Number):void{
_outerRadius = value;
_outerSq = (_outerRadius * _outerRadius);
}
public function get center():Point{
return (_center);
}
public function getArea():Number{
return ((Math.PI * (_outerSq - _innerSq)));
}
public function getLocation():Point{
var rand:Number = Math.random();
var point:Point = Point.polar((_innerRadius + ((1 - (rand * rand)) * (_outerRadius - _innerRadius))), (Math.random() * TWOPI));
point.x = (point.x + _center.x);
point.y = (point.y + _center.y);
return (point);
}
public function get outerRadius():Number{
return (_outerRadius);
}
public function get innerRadius():Number{
return (_innerRadius);
}
public function set innerRadius(value:Number):void{
_innerRadius = value;
_innerSq = (_innerRadius * _innerRadius);
}
public function set center(value:Point):void{
_center = value;
}
public function contains(x:Number, y:Number):Boolean{
x = (x - _center.x);
y = (y - _center.y);
var distSq:Number = ((x * x) + (y * y));
return ((((distSq <= _outerSq)) && ((distSq >= _innerSq))));
}
}
}//package org.flintparticles.twoD.zones
Section 342
//Zone2D (org.flintparticles.twoD.zones.Zone2D)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public interface Zone2D {
function getArea():Number;
function getLocation():Point;
function contains(_arg1:Number, _arg2:Number):Boolean;
}
}//package org.flintparticles.twoD.zones
Section 343
//KingPenguin (pets.KingPenguin)
package pets {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import com.cheezeworld.math.*;
import game.assets.*;
import flash.utils.*;
import ui.*;
import game.*;
import flash.media.*;
import utils.*;
import com.melesta.utils.math.*;
import production.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class KingPenguin extends KingPenguinTemplate {
private var _hungrySound:SoundChannel;
private var _state:String;// = "moving"
private var _produceCounter:Number;// = 0
private var pet:MovieClip;
private var gameController:GameController;
private var _stageInstance:DisplayObjectContainer;
private var _hungryTimer:Timer;
private var type:String;// = "KING_PENGUIN"
private var _produceTimer:Timer;
private var _counter:Number;// = 0
private var timer:Timer;
private var prewRight:Boolean;// = false
public var index:Number;// = 0
private var _stateTimer:Timer;
private var _production:String;// = "PLUME"
private var _hungryValue:Number;// = 100
private var _deltaHungry:Number;// = 5
private var nearGrass:Grass;
private var t:Number;// = 0
public static var penguinList:Array = new Array();
public static var firstShow:Boolean = true;
public static var count:Number = 0;
public function KingPenguin(){
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
this.mouseChildren = false;
this.mouseEnabled = false;
_hungrySound = new SoundChannel();
_produceTimer = new Timer(1000);
_produceTimer.addEventListener(TimerEvent.TIMER, produce, false, 0, true);
_hungryTimer = new Timer(1000);
_hungryTimer.addEventListener(TimerEvent.TIMER, hungry, false, 0, true);
_stateTimer = new Timer(1);
_stateTimer.addEventListener(TimerEvent.TIMER, checkHungry, false, 0, true);
_stateTimer.start();
}
private function getGrass():void{
if (_state == "hungry"){
if (nearGrass != null){
if (!nearGrass.hasGrass()){
Tweener.removeTweens(this);
findGrass();
};
};
};
}
public function destroy(event:Event=null):void{
_stageInstance.removeChild(this);
if (event != null){
KingPenguin.count--;
};
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, move);
_hungrySound.stop();
Tweener.removeTweens(this);
_hungryTimer.stop();
_produceTimer.stop();
_produceTimer.removeEventListener(TimerEvent.TIMER, produce);
_hungryTimer.removeEventListener(TimerEvent.TIMER, hungry);
_stateTimer.removeEventListener(TimerEvent.TIMER, checkHungry);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.RESUME_GAME, resume);
gameController.removeEventListener(GameController.PAUSE_GAME, pause);
}
public function show(posx:Number, posy:Number, delay:Number, stageInstance:DisplayObjectContainer, onLand:Boolean=false):void{
_counter = 7;
this.x = posx;
this.y = -10;
stageInstance.addChild(this);
_stageInstance = stageInstance;
Tweener.addTween(this, {y:posy, time:0.3, delay:delay, transition:"easeInCirc", onComplete:startAnimation});
timer = new Timer(3000);
timer.addEventListener(TimerEvent.TIMER, move);
_hungryTimer.start();
}
public function resume(event:Event=null):void{
Tweener.resumeTweens(this);
if (((!((this._state == "flyOut"))) && (!((this._state == "death"))))){
switch (_state){
case "hungry":
_stateTimer.start();
_hungryTimer.start();
this.body.play();
if (_hungryValue < 20){
_hungrySound = SoundManager.play("ostrich_hungry", 1);
};
break;
case "moving":
_stateTimer.start();
_hungryTimer.start();
timer.start();
this.body.play();
break;
};
_produceTimer.start();
};
}
public function startAnimation():void{
_produceTimer.start();
var left:Number = ((this.x)<300) ? -1 : 1;
SoundManager.play("ostrich_voice", 1, new SoundTransform(1, left));
timer.start();
move();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.ostrich);
};
index = KingPenguin.count;
KingPenguin.penguinList.push(this);
KingPenguin.count++;
LevelStatistics.goals[8] = KingPenguin.count;
LevelStatistics.updateStatistics();
}
private function hungry(event:TimerEvent=null):void{
event.stopPropagation();
_hungryValue = (_hungryValue - _deltaHungry);
if (_hungryValue <= 40){
if (_state != "hungry"){
_state = "hungry";
findGrass();
if (_hungryValue == 20){
_hungrySound = SoundManager.play("ostrich_hungry", 1);
};
};
} else {
_state = "moving";
};
if (_hungryValue <= 0){
_state = "death";
death();
};
this.hungryProgress._mask.width = ((_hungryValue / 100) * 17);
}
public function move(event:TimerEvent=null):void{
if (event != null){
event.stopPropagation();
};
var p1:Point = new Point(this.x, this.y);
var newX:Number = MathUtils.rand(150, 400);
var newY:Number = MathUtils.rand(150, 300);
var p2:Point = new Point(newX, newY);
var dir:Object = Direction.getDirection(p1, p2);
this.body.gotoAndPlay(dir.direction);
if (dir.right){
this.scaleX = -1;
prewRight = true;
} else {
this.scaleX = 1;
prewRight = false;
};
Tweener.removeTweens(this);
if (_hungryValue <= 30){
t = (Math.sqrt((((x - p2.x) * (x - p2.x)) + ((y - p2.y) * (y - p2.y)))) / 30);
} else {
t = (Math.sqrt((((x - p2.x) * (x - p2.x)) + ((y - p2.y) * (y - p2.y)))) / 10);
};
Tweener.addTween(this, {y:p2.y, x:p2.x, time:t, transition:"linear", onComplete:move});
}
private function nextPoint():Point{
var newX:Number = MathUtils.rand(150, 400);
var newY:Number = MathUtils.rand(150, 300);
var p2:Point = new Point(newX, newY);
while (Math.sqrt((((x - newX) * (x - newX)) + ((y - newY) * (y - newY)))) < 100) {
newX = MathUtils.rand(150, 400);
newY = MathUtils.rand(150, 300);
p2.x = newX;
p2.y = newY;
};
return (p2);
}
public function kill():void{
if (((!((this._state == "flyOut"))) && (!((this._state == "death"))))){
this._state = "flyOut";
Tweener.removeTweens(this);
SoundManager.play("ostrich_flyout", 1);
_hungrySound.stop();
KingPenguin.count--;
this.body.stop();
timer.stop();
_hungryTimer.stop();
_stateTimer.stop();
KingPenguin.penguinList.splice(index, 1);
KingPenguin.refreshIndexes();
LevelStatistics.goals[8] = KingPenguin.count;
LevelStatistics.updateStatistics();
_produceTimer.stop();
Tweener.addTween(this, {y:0, rotation:360, time:3, transition:"easeOutBack", onComplete:destroy});
Tweener.addTween(this, {x:(x + 200), transition:"linear", time:1});
_produceTimer.removeEventListener(TimerEvent.TIMER, produce);
_hungryTimer.removeEventListener(TimerEvent.TIMER, hungry);
_stateTimer.removeEventListener(TimerEvent.TIMER, checkHungry);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
};
}
private function eat():Boolean{
var pay:Number;
_hungryTimer.stop();
if (((!((nearGrass == null))) && ((Grass.grassList.length > 0)))){
pay = nearGrass.getGrass();
if (pay > 0){
this._hungryValue = (this._hungryValue + 10);
this.hungryProgress._mask.width = ((_hungryValue / 100) * 17);
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:1, delay:0.5, time:0, onUpdate:getGrass, onComplete:eat});
return (true);
};
_hungryTimer.start();
Tweener.removeTweens(this);
if (!pay){
if (nearGrass != null){
nearGrass.destroy();
};
};
findGrass();
return (false);
//unresolved jump
};
_hungryTimer.start();
Tweener.removeTweens(this);
findGrass();
return (false);
}
private function produce(event:TimerEvent=null):void{
event.stopPropagation();
_produceCounter++;
if (_produceCounter == 19){
PetsContainer.instance.addProduct(_production, this.x, this.y);
_produceCounter = 0;
};
}
private function checkHungry(event:TimerEvent=null):void{
if (event){
event.stopPropagation();
};
if (_state == "hungry"){
if (this._hungryValue > 80){
_state = "moving";
Tweener.removeTweens(this);
_hungryTimer.start();
timer.start();
_counter = 7;
move();
};
};
}
public function pause(event:Event=null):void{
_stateTimer.stop();
_hungryTimer.stop();
timer.stop();
_produceTimer.stop();
_hungrySound.stop();
Tweener.pauseTweens(this);
this.body.stop();
}
private function death():void{
Tweener.removeTweens(this);
_hungrySound.stop();
_hungryTimer.stop();
timer.stop();
_produceTimer.stop();
this.body.gotoAndPlay("death");
Tweener.addTween(this, {alpha:0, time:1, delay:0.7, transition:"linear", onComplete:destroy});
SoundManager.play("ostrich_die", 1);
KingPenguin.count--;
KingPenguin.penguinList.splice(index, 1);
KingPenguin.refreshIndexes();
LevelStatistics.goals[8] = KingPenguin.count;
LevelStatistics.updateStatistics();
}
private function findGrass():void{
var nX:Number;
var nY:Number;
var pg:Point;
var dir0:Object;
var pp:Point = new Point(this.x, this.y);
timer.stop();
if (Grass.grassList.length > 0){
nearGrass = Grass.getNear(this.x, this.y);
nX = (Math.ceil(nearGrass.x) + Math.ceil((Math.random() * 10)));
nY = (Math.ceil(nearGrass.y) + Math.ceil((Math.random() * 10)));
pg = new Point(nX, nY);
dir0 = Direction.getDirection(pp, pg);
this.body.gotoAndPlay(dir0.direction);
if (dir0.right){
this.scaleX = -1;
prewRight = true;
} else {
this.scaleX = 1;
prewRight = false;
};
Tweener.removeTweens(this);
t = (Math.sqrt((((x - nX) * (x - nX)) + ((y - nY) * (y - nY)))) / 100);
Tweener.addTween(this, {y:nY, x:nX, time:t, transition:"linear", onUpdate:getGrass, onComplete:function ():void{
if (eat()){
this.body.gotoAndPlay("eat");
};
}});
} else {
_counter = 7;
_state = "moving";
timer.start();
move();
};
}
public static function refreshIndexes():void{
var i:int;
while (i < KingPenguin.penguinList.length) {
KingPenguin.penguinList[i].index = i;
i++;
};
}
public static function remove(penguins:Number):void{
while (penguins > 0) {
KingPenguin.penguinList[(KingPenguin.count - 1)].destroy();
KingPenguin.penguinList.pop();
penguins--;
KingPenguin.count--;
};
KingPenguin.refreshIndexes();
LevelStatistics.goals[8] = KingPenguin.count;
LevelStatistics.updateStatistics();
}
}
}//package pets
Section 344
//Penguin (pets.Penguin)
package pets {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import com.cheezeworld.math.*;
import game.assets.*;
import flash.utils.*;
import ui.*;
import game.*;
import flash.media.*;
import utils.*;
import com.melesta.utils.math.*;
import production.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Penguin extends PenguinTemplate {
private var _hungrySound:SoundChannel;
private var _state:String;// = "moving"
private var _produceCounter:Number;// = 0
private var pet:MovieClip;
private var gameController:GameController;
private var _stageInstance:DisplayObjectContainer;
private var _hungryTimer:Timer;
private var type:String;// = "PENGUIN"
private var _produceTimer:Timer;
private var _counter:Number;// = 0
private var timer:Timer;
private var prewRight:Boolean;// = false
public var index:Number;// = 0
private var _stateTimer:Timer;
private var _production:String;// = "EGG"
private var _hungryValue:Number;// = 100
private var _deltaHungry:Number;// = 5
private var nearGrass:Grass;
private var t:Number;// = 0
public static var penguinList:Array = new Array();
public static var firstShow:Boolean = true;
public static var count:Number = 0;
public function Penguin(){
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
this.mouseChildren = false;
this.mouseEnabled = false;
_hungrySound = new SoundChannel();
_produceTimer = new Timer(1000);
_produceTimer.addEventListener(TimerEvent.TIMER, produce, false, 0, true);
_hungryTimer = new Timer(1000);
_hungryTimer.addEventListener(TimerEvent.TIMER, hungry, false, 0, true);
_stateTimer = new Timer(1);
_stateTimer.addEventListener(TimerEvent.TIMER, checkHungry, false, 0, true);
_stateTimer.start();
}
private function getGrass():void{
if (_state == "hungry"){
if (nearGrass != null){
if (!nearGrass.hasGrass()){
Tweener.removeTweens(this);
findGrass();
};
};
};
}
public function destroy(event:Event=null):void{
_stageInstance.removeChild(this);
if (event != null){
Penguin.count--;
};
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, move);
_hungrySound.stop();
Tweener.removeTweens(this);
_hungryTimer.stop();
_produceTimer.stop();
_produceTimer.removeEventListener(TimerEvent.TIMER, produce);
_hungryTimer.removeEventListener(TimerEvent.TIMER, hungry);
_stateTimer.removeEventListener(TimerEvent.TIMER, checkHungry);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.RESUME_GAME, resume);
gameController.removeEventListener(GameController.PAUSE_GAME, pause);
}
public function show(posx:Number, posy:Number, delay:Number, stageInstance:DisplayObjectContainer, onLand:Boolean=false):void{
_counter = 7;
this.x = posx;
this.y = posy;
stageInstance.addChild(this);
_stageInstance = stageInstance;
timer = new Timer(3000);
timer.addEventListener(TimerEvent.TIMER, move);
if (!onLand){
this.y = -10;
Tweener.addTween(this, {y:posy, time:0.3, delay:delay, transition:"easeInCirc", onComplete:startAnimation});
} else {
startAnimation();
};
_hungryTimer.start();
}
public function resume(event:Event=null):void{
Tweener.resumeTweens(this);
if (((!((this._state == "flyOut"))) && (!((this._state == "death"))))){
switch (_state){
case "hungry":
_stateTimer.start();
_hungryTimer.start();
this.body.play();
if (_hungryValue < 20){
_hungrySound = SoundManager.play("guinea_fowl_hungry", 1);
};
break;
case "moving":
_stateTimer.start();
_hungryTimer.start();
timer.start();
this.body.play();
break;
};
_produceTimer.start();
};
}
public function startAnimation():void{
_produceTimer.start();
var left:Number = ((this.x)<300) ? -1 : 1;
SoundManager.play("guinea_fowl_voice", 1, new SoundTransform(1, left));
timer.start();
move();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.guinea_fowl);
};
index = Penguin.count;
Penguin.penguinList.push(this);
Penguin.count++;
LevelStatistics.goals[7] = Penguin.count;
LevelStatistics.updateStatistics();
if ((((Farm2.portal == "kongregate")) && ((LevelStatistics.goals[7] == 15)))){
StartScreen.kongregate.stats.submit("15 penguins", 1);
};
}
private function hungry(event:TimerEvent=null):void{
event.stopPropagation();
_hungryValue = (_hungryValue - _deltaHungry);
if (_hungryValue <= 40){
if (_state != "hungry"){
_state = "hungry";
findGrass();
if (_hungryValue == 20){
_hungrySound = SoundManager.play("guinea_fowl_hungry", 1);
};
};
} else {
_state = "moving";
};
if (_hungryValue <= 0){
_state = "death";
death();
};
this.hungryProgress._mask.width = ((_hungryValue / 100) * 17);
}
public function move(event:TimerEvent=null):void{
if (event != null){
event.stopPropagation();
};
var p1:Point = new Point(this.x, this.y);
var newX:Number = MathUtils.rand(150, 400);
var newY:Number = MathUtils.rand(150, 300);
var p2:Point = new Point(newX, newY);
var dir:Object = Direction.getDirection(p1, p2);
this.body.gotoAndPlay(dir.direction);
if (dir.right){
this.scaleX = -1;
prewRight = true;
} else {
this.scaleX = 1;
prewRight = false;
};
Tweener.removeTweens(this);
if (_hungryValue <= 30){
t = (Math.sqrt((((x - p2.x) * (x - p2.x)) + ((y - p2.y) * (y - p2.y)))) / 30);
} else {
t = (Math.sqrt((((x - p2.x) * (x - p2.x)) + ((y - p2.y) * (y - p2.y)))) / 10);
};
Tweener.addTween(this, {y:p2.y, x:p2.x, time:t, transition:"linear", onComplete:move});
}
private function nextPoint():Point{
var newX:Number = MathUtils.rand(150, 400);
var newY:Number = MathUtils.rand(150, 300);
var p2:Point = new Point(newX, newY);
while (Math.sqrt((((x - newX) * (x - newX)) + ((y - newY) * (y - newY)))) < 100) {
newX = MathUtils.rand(150, 400);
newY = MathUtils.rand(150, 300);
p2.x = newX;
p2.y = newY;
};
return (p2);
}
public function kill():void{
if (((!((this._state == "flyOut"))) && (!((this._state == "death"))))){
this._state = "flyOut";
Tweener.removeTweens(this);
SoundManager.play("guinea_fowl_flyout", 1);
_hungrySound.stop();
Penguin.count--;
this.body.stop();
timer.stop();
_hungryTimer.stop();
_stateTimer.stop();
Penguin.penguinList.splice(index, 1);
Penguin.refreshIndexes();
LevelStatistics.goals[7] = Penguin.count;
LevelStatistics.updateStatistics();
_produceTimer.stop();
Tweener.addTween(this, {y:0, rotation:360, time:3, transition:"easeOutBack", onComplete:destroy});
Tweener.addTween(this, {x:(x + 200), transition:"linear", time:1});
_produceTimer.removeEventListener(TimerEvent.TIMER, produce);
_hungryTimer.removeEventListener(TimerEvent.TIMER, hungry);
_stateTimer.removeEventListener(TimerEvent.TIMER, checkHungry);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
};
}
private function eat():Boolean{
var pay:Number;
_hungryTimer.stop();
if (((!((nearGrass == null))) && ((Grass.grassList.length > 0)))){
pay = nearGrass.getGrass();
if (pay > 0){
this._hungryValue = (this._hungryValue + 10);
this.hungryProgress._mask.width = ((_hungryValue / 100) * 17);
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:1, delay:0.5, time:0, onUpdate:getGrass, onComplete:eat});
return (true);
};
_hungryTimer.start();
Tweener.removeTweens(this);
if (!pay){
if (nearGrass != null){
nearGrass.destroy();
};
};
findGrass();
return (false);
//unresolved jump
};
_hungryTimer.start();
Tweener.removeTweens(this);
findGrass();
return (false);
}
private function produce(event:TimerEvent=null):void{
event.stopPropagation();
_produceCounter++;
if (_produceCounter == 19){
PetsContainer.instance.addProduct(_production, this.x, this.y);
_produceCounter = 0;
};
}
private function checkHungry(event:TimerEvent=null):void{
if (event){
event.stopPropagation();
};
if (_state == "hungry"){
if (this._hungryValue > 80){
_state = "moving";
Tweener.removeTweens(this);
_hungryTimer.start();
timer.start();
_counter = 7;
move();
};
};
}
public function pause(event:Event=null):void{
_stateTimer.stop();
_hungryTimer.stop();
timer.stop();
_produceTimer.stop();
_hungrySound.stop();
this.body.stop();
Tweener.pauseTweens(this);
}
private function death():void{
Tweener.removeTweens(this);
_hungrySound.stop();
_hungryTimer.stop();
timer.stop();
_produceTimer.stop();
this.body.gotoAndPlay("death");
Tweener.addTween(this, {alpha:0, time:1, delay:0.7, transition:"linear", onComplete:destroy});
SoundManager.play("guinea_fowl_die", 1);
Penguin.count--;
Penguin.penguinList.splice(index, 1);
Penguin.refreshIndexes();
LevelStatistics.goals[7] = Penguin.count;
LevelStatistics.updateStatistics();
}
private function findGrass():void{
var nX:Number;
var nY:Number;
var pg:Point;
var dir0:Object;
var pp:Point = new Point(this.x, this.y);
timer.stop();
if (Grass.grassList.length > 0){
nearGrass = Grass.getNear(this.x, this.y);
nX = (Math.ceil(nearGrass.x) + Math.ceil((Math.random() * 10)));
nY = (Math.ceil(nearGrass.y) + Math.ceil((Math.random() * 10)));
pg = new Point(nX, nY);
dir0 = Direction.getDirection(pp, pg);
this.body.gotoAndPlay(dir0.direction);
if (dir0.right){
this.scaleX = -1;
prewRight = true;
} else {
this.scaleX = 1;
prewRight = false;
};
Tweener.removeTweens(this);
t = (Math.sqrt((((x - nX) * (x - nX)) + ((y - nY) * (y - nY)))) / 100);
Tweener.addTween(this, {y:nY, x:nX, time:t, transition:"linear", onUpdate:getGrass, onComplete:function ():void{
if (eat()){
this.body.gotoAndPlay("eat");
};
}});
} else {
_counter = 7;
_state = "moving";
timer.start();
move();
};
}
public static function refreshIndexes():void{
var i:int;
while (i < Penguin.penguinList.length) {
Penguin.penguinList[i].index = i;
i++;
};
}
public static function remove(penguins:Number):void{
while (penguins > 0) {
Penguin.penguinList[(Penguin.count - 1)].destroy();
Penguin.penguinList.pop();
penguins--;
Penguin.count--;
};
Penguin.refreshIndexes();
LevelStatistics.goals[7] = Penguin.count;
LevelStatistics.updateStatistics();
}
}
}//package pets
Section 345
//PetsContainer (pets.PetsContainer)
package pets {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import com.cheezeworld.math.*;
import game.assets.*;
import org.flintparticles.twoD.zones.*;
import flash.filters.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.counters.*;
import flash.utils.*;
import houses.*;
import ui.*;
import org.flintparticles.twoD.emitters.*;
import org.flintparticles.twoD.renderers.*;
import org.flintparticles.twoD.actions.*;
import org.flintparticles.twoD.initializers.*;
import org.flintparticles.common.energyEasing.*;
import org.flintparticles.common.displayObjects.*;
import production.*;
import bears.*;
public class PetsContainer extends MovieClip {
private var container:Sprite;
private var timerSort:Timer;
private var _sortedItems:Array;
private var _stageInstance:DisplayObjectContainer;
private var waterEmitter:Emitter2D;
private var waterRenderer:BitmapRenderer;
private var _field:Field;
public static var instance:PetsContainer;
public function PetsContainer(stageInstance:DisplayObjectContainer):void{
super();
_stageInstance = stageInstance;
container = new Sprite();
_field = new Field();
_field.x = 167;
_field.y = 145;
_field.alpha = 0;
stageInstance.addChild(_field);
stageInstance.addChild(container);
_stageInstance = DisplayObjectContainer(container);
MovingProduction.container = _stageInstance;
PetsContainer.instance = this;
timerSort = new Timer(10);
timerSort.addEventListener(TimerEvent.TIMER, arrange);
timerSort.start();
_field.addEventListener(MouseEvent.MOUSE_DOWN, addGrass, false, 0, true);
container.mouseEnabled = false;
createWaterEmitter();
}
public function createWaterEmitter():void{
waterEmitter = new Emitter2D();
waterEmitter.counter = new TimePeriod(150, 0.2);
waterEmitter.addInitializer(new SharedImage(new Dot(1, 10737901)));
waterEmitter.addInitializer(new ColorInit(10737901, 4294967295));
waterEmitter.addInitializer(new Velocity(new DiscZone(new Point(0, 0), 100, 0)));
waterEmitter.addInitializer(new Lifetime(0.2, 0.2));
waterEmitter.addAction(new Age(Quadratic.easeIn));
waterEmitter.addAction(new Move());
waterEmitter.addAction(new Fade());
waterRenderer = new BitmapRenderer(new Rectangle(0, 0, 570, 430));
waterRenderer.addFilter(new BlurFilter(2, 2, 1));
waterRenderer.addFilter(new ColorMatrixFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.95, 0]));
waterRenderer.addEmitter(waterEmitter);
_stageInstance.addChild(waterRenderer);
}
public function makePet(type:String, _x:Number, _y:Number):void{
var _local4:Penguin;
var _local5:KingPenguin;
switch (type){
case "PENGUIN":
_local4 = new Penguin();
_local4.show(_x, _y, 0, _stageInstance, true);
break;
case "KING_PENGUIN":
_local5 = new KingPenguin();
_local5.show(_x, _y, 0, _stageInstance, true);
break;
};
}
public function addProduct(production:String, posx:Number, posy:Number):void{
var product:Production = new Production(production, posx, (posy - (Math.random() * 30)), _stageInstance);
}
private function arrange(event:TimerEvent=null):void{
if (event != null){
event.stopPropagation();
};
_sortedItems = new Array();
var j:int;
while (j < _stageInstance.numChildren) {
_sortedItems[j] = _stageInstance.getChildAt(j);
j++;
};
_sortedItems.sortOn(["y", "x"], Array.NUMERIC);
var i:int = _stageInstance.numChildren;
while (i--) {
if (_stageInstance.getChildAt(i) != _sortedItems[i]){
_stageInstance.setChildIndex(_sortedItems[i], i);
};
};
}
public function addGrass(event:MouseEvent=null):void{
var grass:Grass;
if (WaterTooltip.firstShow){
WaterTooltip.instance.hide();
};
if (Well.instance.getWater()){
waterEmitter.x = Math.ceil(_stageInstance.mouseX);
waterEmitter.y = Math.ceil((_stageInstance.mouseY - 15));
waterEmitter.start();
grass = new Grass(Math.ceil(_stageInstance.mouseX), Math.ceil(_stageInstance.mouseY), _stageInstance);
};
}
public function addFlyProduct(production:String, count:Number):void{
var product:Production;
var i:int;
while (i < count) {
product = new Production(production, MathUtils.rand(150, 400), MathUtils.rand(150, 300), _stageInstance, true);
i++;
};
}
public function addPet(type:String, delay:Number=0):void{
var _local5:Panda;
var _local6:Penguin;
var _local7:KingPenguin;
var _local8:Penguin;
var _local9:KingPenguin;
var newX:Number = MathUtils.rand(150, 400);
var newY:Number = MathUtils.rand(150, 300);
switch (type){
case "POLAR_BEAR":
_local5 = new Panda();
_local5.show(newX, newY, 1, _stageInstance);
break;
case "PENGUIN":
_local6 = new Penguin();
_local6.show(newX, newY, delay, _stageInstance);
break;
case "KING_PENGUIN":
_local7 = new KingPenguin();
_local7.show(newX, newY, delay, _stageInstance);
break;
case "GUINEA_FOWL":
_local8 = new Penguin();
_local8.show(newX, newY, delay, _stageInstance);
break;
case "OSTRICH":
_local9 = new KingPenguin();
_local9.show(newX, newY, delay, _stageInstance);
break;
};
}
}
}//package pets
Section 346
//DepotProduct (production.DepotProduct)
package production {
public class DepotProduct extends DepotProductTemplate {
private var types:Array;
public function DepotProduct():void{
types = new Array("EGG", "PLUME", "DRIED_EGGS", "CAKE", "FLOURY_CAKE", "FLOUR", "POLAR_BEAR", "PENGUIN", "KING_PENGUIN");
super();
this.visible = false;
}
public function hide():void{
this.visible = false;
}
public function show(productIndex:Number):void{
this.body.gotoAndStop(types[productIndex]);
this.visible = true;
}
}
}//package production
Section 347
//DepotProductTemplate (production.DepotProductTemplate)
package production {
import flash.display.*;
public dynamic class DepotProductTemplate extends MovieClip {
public var body:MovieClip;
public function DepotProductTemplate(){
super();
}
}
}//package production
Section 348
//MovingProduction (production.MovingProduction)
package production {
import flash.events.*;
import flash.display.*;
import game.*;
import caurina.transitions.*;
public class MovingProduction extends PruductionTemplate {
private var gameController:GameController;
public static var container:DisplayObjectContainer;
public function MovingProduction(type:String, posx:Number, posy:Number, delay:Number, second:Boolean=false){
var type = type;
var posx = posx;
var posy = posy;
var delay = delay;
var second = second;
super();
this.body.gotoAndStop(type);
gameController = GameController.instance;
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
container.addChild(this);
this.parashute.visible = false;
this.x = 277;
this.y = 361;
this.alpha = 0;
this.body.scaleX = 1;
this.body.scaleY = 1;
if (!second){
Tweener.addTween(this, {x:posx, delay:delay, time:0.7, transition:"linear", onStart:function ():void{
this.alpha = 1;
}});
Tweener.addTween(this, {y:posy, delay:delay, time:0.7, transition:"easeInOutBack", onComplete:destroy});
} else {
Tweener.addTween(this, {x:posx, delay:delay, time:0.7, transition:"linear", onStart:function ():void{
this.alpha = 1;
}});
Tweener.addTween(this, {y:posy, delay:delay, time:0.7, transition:"easeOutInBack", onComplete:destroy});
};
}
public function destroy(event:Event=null):void{
Tweener.removeTweens(this);
container.removeChild(this);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
}
}
}//package production
Section 349
//Production (production.Production)
package production {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import houses.*;
import ui.*;
import game.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Production extends PruductionTemplate {
private var size:uint;// = 80
private var _lifeTime:Number;// = 10
private var offset:uint;// = 50
private var _deathTimer:Timer;
private var _type:String;
private var bgColor:uint;// = 0xFFFFFF
private var gameController:GameController;
private var _stageInstance:DisplayObjectContainer;
public static var firstShow:Boolean = true;
public function Production(type:String, posx:Number, posy:Number, stageInstance:DisplayObjectContainer=null, fly:Boolean=false){
var type = type;
var posx = posx;
var posy = posy;
var stageInstance = stageInstance;
var fly = fly;
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
_type = type;
this.parashute.visible = false;
_stageInstance = stageInstance;
this.body.scaleX = 1;
this.body.scaleY = 1;
this.x = posx;
if (!fly){
this.y = posy;
} else {
this.y = -50;
this.parashute.visible = true;
Tweener.addTween(this, {y:posy, time:4, delay:(Math.random() * 1), transition:"linear", onComplete:function ():void{
this.parashute.visible = false;
}});
};
this.body.gotoAndStop(type);
addEventListener(MouseEvent.MOUSE_DOWN, onClick, false, 0, true);
_stageInstance.addChild(this);
addEventListener(MouseEvent.ROLL_OVER, dropShadow, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, removeShadow, false, 0, true);
_lifeTime = (10 * 10);
_deathTimer = new Timer(200);
_deathTimer.addEventListener(TimerEvent.TIMER, live, false, 0, true);
_deathTimer.start();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
if (y > 200){
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.collect);
} else {
BlockTooltip.instance.show(this.x, (this.y + 10), Config.currentLanguage.tooltips.collect);
};
};
}
private function remove():void{
_stageInstance.removeChild(this);
Tweener.removeTweens(this);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
}
private function blinking():void{
Tweener.removeTweens(this, alpha);
var blink:Number = 1;
if (this.alpha < 1){
blink = 1;
} else {
blink = 0.3;
};
Tweener.addTween(this, {alpha:blink, time:0.2});
}
public function removeShadow(event:MouseEvent=null):void{
var filter:BitmapFilter = getBitmapFilter(0);
var myFilters:Array = new Array();
myFilters.push(filter);
filters = myFilters;
}
private function onClick(event:MouseEvent=null):void{
event.stopPropagation();
this.parashute.visible = false;
if (Depot.instance.addProduct(_type)){
this._deathTimer.stop();
_deathTimer.removeEventListener(TimerEvent.TIMER, live, false);
SoundManager.play("product_take", 1);
Tweener.addTween(this, {y:378, time:0.3, onComplete:destroy, transition:"easeOutCirc"});
Tweener.addTween(this, {x:265, time:0.3, transition:"linear"});
} else {
SoundManager.play("fool_action", 1);
};
}
private function live(event:TimerEvent):void{
event.stopPropagation();
_lifeTime--;
if (_lifeTime < 30){
blinking();
};
if (!_lifeTime){
_deathTimer.stop();
Tweener.removeTweens(this, alpha);
_deathTimer.removeEventListener(TimerEvent.TIMER, live, false);
remove();
};
}
public function resume(event:Event=null):void{
_deathTimer.start();
Tweener.resumeTweens(this);
}
public function dropShadow(event:MouseEvent=null):void{
var filter:BitmapFilter = getBitmapFilter(4);
var myFilters:Array = new Array();
myFilters.push(filter);
filters = myFilters;
}
public function pause(event:Event=null):void{
_deathTimer.stop();
Tweener.pauseTweens(this);
}
public function destroy(event:Event=null):void{
_stageInstance.removeChild(this);
Tweener.removeTweens(this);
_deathTimer.stop();
_deathTimer.removeEventListener(TimerEvent.TIMER, live, false);
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
}
private function getBitmapFilter(str:Number):BitmapFilter{
var color:Number = 0xFFFFFF;
var angle:Number = 0;
var alpha:Number = 0.8;
var blurX:Number = 10;
var blurY:Number = 10;
var distance:Number = 0;
var strength:Number = str;
var inner:Boolean;
var knockout:Boolean;
var quality:Number = BitmapFilterQuality.HIGH;
return (new DropShadowFilter(distance, angle, color, alpha, blurX, blurY, strength, quality, inner, knockout));
}
}
}//package production
Section 350
//PruductionTemplate (production.PruductionTemplate)
package production {
import flash.display.*;
public dynamic class PruductionTemplate extends MovieClip {
public var parashute:MovieClip;
public var body:MovieClip;
public function PruductionTemplate(){
super();
}
}
}//package production
Section 351
//ViewProduction (production.ViewProduction)
package production {
public class ViewProduction extends PruductionTemplate {
public function ViewProduction(type:String){
super();
this.parashute.visible = false;
if (type == "INCUBATOR"){
type = "PENGUIN";
};
this.body.gotoAndStop(type);
}
}
}//package production
Section 352
//DefaultStartSound (ru.rambler.games.assets.DefaultStartSound)
package ru.rambler.games.assets {
import flash.media.*;
public dynamic class DefaultStartSound extends Sound {
}
}//package ru.rambler.games.assets
Section 353
//ClientObjectEmulator (ru.rambler.games.debug.ClientObjectEmulator)
package ru.rambler.games.debug {
import ru.rambler.games.interfaces.net.*;
public class ClientObjectEmulator implements IClientObject {
private var _place:int;
private var _user:UserObjectEmulator;
private var _isAI:Boolean;
private var _id:Number;
public function ClientObjectEmulator(nickName:String="", placeValue:int=0, ai:Boolean=false){
super();
_id = new Date().getTime();
_user = new UserObjectEmulator(nickName, ai);
_place = placeValue;
_isAI = ai;
}
public function get place():int{
return (_place);
}
public function isAI():Boolean{
return (_isAI);
}
public function isGuest():Boolean{
return (false);
}
public function isApproved():Boolean{
return (true);
}
public function isObserver():Boolean{
return (false);
}
public function isOwner():Boolean{
return (true);
}
public function get userObject():IUserObject{
return ((_user as IUserObject));
}
public function get ID():String{
return (("client" + _id));
}
}
}//package ru.rambler.games.debug
Section 354
//SingleplayerConnectionEmulator (ru.rambler.games.debug.SingleplayerConnectionEmulator)
package ru.rambler.games.debug {
import flash.events.*;
import ru.rambler.games.events.*;
import ru.rambler.games.interfaces.net.*;
import ru.rambler.games.interfaces.ui.*;
import ru.rambler.games.net.commands.server.*;
public class SingleplayerConnectionEmulator extends EventDispatcher implements ISingleplayerConnection {
private var _client:ClientObjectEmulator;
public function SingleplayerConnectionEmulator(){
super();
_client = new ClientObjectEmulator();
}
public function sendResult(result:int, isTemp:Boolean):void{
}
public function set trainingMode(value:Boolean):void{
}
public function get data():Object{
return (null);
}
public function sendCommand(command:ICommand):void{
}
public function get gameObject():IGameObject{
return (null);
}
public function set data(value:Object):void{
}
public function disconnect():void{
}
public function get trainingMode():Boolean{
return (true);
}
public function getTop(count:int=-1):void{
var xml:XML = <command name="top">
<user id="210831642" nickname="player0" guest="0" login="uintrou2007" rating="1"/>
<user id="45424195" nickname="player1" guest="0" login="85.kitty" rating="2"/>
<user id="59795137" nickname="player2" guest="0" login="school449" rating="3"/>
<user id="221349865" nickname="player3" guest="0" login="asp7878" rating="4"/>
<user id="1980326" nickname="player4" guest="0" login="mulan2" rating="5"/>
<user id="2216031" nickname="player5" guest="0" login="kitsia1997" rating="6"/>
</command>
;
dispatchEvent(new ConnectionEvent(ConnectionEvent.TOP, new TopReceived(xml)));
}
public function connect(address:String="", port:int=-1):void{
dispatchEvent(new ConnectionEvent(ConnectionEvent.CONNECT));
}
public function set uiManager(value:IUIManager):void{
}
public function get clientObject():IClientObject{
return (_client);
}
public function ready():void{
}
public function refreshPlayerInfo(userID:String="", mode:String=""):void{
var xml:XML = <command name="user">
<user id="0" nickname="player" guest="0" login="player" rating="1"/>
</command>
;
dispatchEvent(new ConnectionEvent(ConnectionEvent.PLAYER_UPDATED, new UpdatePlayer(xml)));
}
}
}//package ru.rambler.games.debug
Section 355
//SingleplayerCoreEmulator (ru.rambler.games.debug.SingleplayerCoreEmulator)
package ru.rambler.games.debug {
import ru.rambler.games.interfaces.core.*;
import ru.rambler.games.interfaces.net.*;
import ru.rambler.games.interfaces.game.*;
import ru.rambler.games.interfaces.ui.*;
import flash.display.*;
import ru.rambler.games.ui.*;
public class SingleplayerCoreEmulator extends MovieClip implements ICore {
protected var _uiManager:IUIManager;
protected var _connection:IConnection;
public function SingleplayerCoreEmulator(container:DisplayObjectContainer){
super();
_uiManager = SingleplayerUIManager.instance;
_uiManager.container = container;
_connection = new SingleplayerConnectionEmulator();
}
public function get uiManager():IUIManager{
return (_uiManager);
}
public function get controller():IGameController{
return (null);
}
public function get connection():IConnection{
return (_connection);
}
public function get self():ICore{
return (this);
}
}
}//package ru.rambler.games.debug
Section 356
//UserObjectEmulator (ru.rambler.games.debug.UserObjectEmulator)
package ru.rambler.games.debug {
import ru.rambler.games.interfaces.net.*;
public class UserObjectEmulator implements IUserObject {
private var _avatar:String;
private var _id:String;
public function UserObjectEmulator(idValue:String="", isAI:Boolean=false){
super();
_id = ((idValue)=="") ? new Date().getTime().toString() : idValue;
_avatar = (isAI) ? "computer" : "player";
}
public function get ID():String{
return (_id);
}
public function get settings():Object{
return (null);
}
public function get rating():int{
return (0);
}
public function get maxRating():int{
return (0);
}
public function get login():String{
return ("test");
}
public function get nickname():String{
return (_id);
}
public function get avatarURL():String{
return (_avatar);
}
}
}//package ru.rambler.games.debug
Section 357
//ConnectionEvent (ru.rambler.games.events.ConnectionEvent)
package ru.rambler.games.events {
import flash.events.*;
import ru.rambler.games.interfaces.net.*;
public class ConnectionEvent extends Event implements IConnectionEvent {
private var _command:ICommand;
public static const CHAT_MESSAGE_RECEIVED:String = "CHAT_MESSAGE_RECEIVED";
public static const CHECK_WORD:String = "CHECK_WORD";
public static const RANDOM_WORD:String = "RANDOM_WORD";
public static const CONNECT:String = "CONNECT";
public static const RANDOM_QA:String = "RANDOM_QA";
public static const START_GAME:String = "START_GAME";
public static const DRAW_REQUEST_RECEIVED:String = "DRAW_REQUEST_RECEIVED";
public static const ACTION_RECEIVED:String = "ACTION_RECEIVED";
public static const DISCONNECT_FROM_TABLE:String = "DISCONNECT_FROM_TABLE";
public static const DATA_RECEIVED:String = "DATA_RECEIVED";
public static const TABLE_READY:String = "TABLE_READY";
public static const DATA_ENQUEUED:String = "DATA_ENQUEUED";
public static const DISCONNECT:String = "DISCONNECT";
public static const PLAYER_LEFT:String = "PLAYER_LEFT";
public static const TABLE_NOT_READY:String = "TABLE_NOT_READY";
public static const PLAYER_JOINED:String = "PLAYER_JOINED";
public static const DRAW_REQUEST_DECLINED:String = "DRAW_REQUEST_DECLINED";
public static const COMMAND:String = "COMMAND";
public static const CHAT_STATE_CHANGED:String = "CHAT_STATE_CHANGED";
public static const ERROR:String = "public static const ERROR";
public static const TOP:String = "TOP";
public static const END_GAME:String = "END_GAME";
public static const CLOSE_GAME:String = "CLOSE_GAME";
public static const PLAYER_UPDATED:String = "PLAYER_UPDATED";
public static const CONNECT_TO_TABLE:String = "CONNECT_TO_TABLE";
public function ConnectionEvent(type:String, eventCommand:ICommand=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
_command = eventCommand;
}
public function get command():ICommand{
return (_command);
}
override public function clone():Event{
return (new ConnectionEvent(this.type, this.command, this.bubbles, this.cancelable));
}
}
}//package ru.rambler.games.events
Section 358
//GameEvent (ru.rambler.games.events.GameEvent)
package ru.rambler.games.events {
import flash.events.*;
public class GameEvent extends Event {
private var _action:Object;
public static const MOVE_RENDERED:String = "MOVE_RENDERED";
public static const ACTION_RECEIVED:String = "ACTION_RECEIVED";
public static const MOVE_TIME:String = "MOVE_TIME";
public static const ACTION_APPLIED:String = "ACTION_APPLIED";
public static const PREPARED_FOR_TURN:String = "PREPARED_FOR_TURN";
public static const PREPARED_FOR_GAME:String = "PREPARED_FOR_GAME";
public static const STATE_LOADED:String = "STATE_LOADED";
public function GameEvent(type:String, actionObj:Object=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
_action = actionObj;
}
override public function clone():Event{
return (new GameEvent(type, _action, bubbles, cancelable));
}
public function get action():Object{
return (_action);
}
}
}//package ru.rambler.games.events
Section 359
//ICore (ru.rambler.games.interfaces.core.ICore)
package ru.rambler.games.interfaces.core {
import ru.rambler.games.interfaces.net.*;
import ru.rambler.games.interfaces.game.*;
import ru.rambler.games.interfaces.ui.*;
public interface ICore {
function get uiManager():IUIManager;
function get self():ICore;
function get controller():IGameController;
function get connection():IConnection;
}
}//package ru.rambler.games.interfaces.core
Section 360
//IVersion (ru.rambler.games.interfaces.core.IVersion)
package ru.rambler.games.interfaces.core {
public interface IVersion {
function get version():String;
}
}//package ru.rambler.games.interfaces.core
Section 361
//IGame (ru.rambler.games.interfaces.game.IGame)
package ru.rambler.games.interfaces.game {
import ru.rambler.games.interfaces.core.*;
public interface IGame {
function init():void;
function set loader(:ICore):void;
}
}//package ru.rambler.games.interfaces.game
Section 362
//IGameController (ru.rambler.games.interfaces.game.IGameController)
package ru.rambler.games.interfaces.game {
import flash.events.*;
import ru.rambler.games.interfaces.net.*;
import ru.rambler.games.interfaces.ui.*;
public interface IGameController extends IEventDispatcher {
function set state(:IGameState):void;
function set game(:IMultiplayerGame):void;
function get activePlayer():IClientObject;
function get turnTime():int;
function loadState(:String):void;
function pauseTimer():void;
function get state():IGameState;
function set uiManager(:IUIManager):void;
function saveState(ru.rambler.games.interfaces.ui:IGameState):String;
function resumeTimer():void;
function get isOwnTurn():Boolean;
function set connection(:IMultiplayerConnection):void;
}
}//package ru.rambler.games.interfaces.game
Section 363
//IGameState (ru.rambler.games.interfaces.game.IGameState)
package ru.rambler.games.interfaces.game {
public interface IGameState {
function get activePlayerIdx():int;
function restoreFromObject(/Users/ksan/Documents/work/rg_relaunch/tmp;ru/rambler/games/interfaces/game;IGameState.as:Object):void;
function toObject():Object;
function set activePlayerIdx(/Users/ksan/Documents/work/rg_relaunch/tmp;ru/rambler/games/interfaces/game;IGameState.as:int):void;
function clone():IGameState;
}
}//package ru.rambler.games.interfaces.game
Section 364
//IMoveDescription (ru.rambler.games.interfaces.game.IMoveDescription)
package ru.rambler.games.interfaces.game {
public interface IMoveDescription {
function get nextPlayerIdx():int;
function get winners():Array;
function get losers():Array;
function get finishDescription():String;
function get turnResult():int;
}
}//package ru.rambler.games.interfaces.game
Section 365
//IMultiplayerGame (ru.rambler.games.interfaces.game.IMultiplayerGame)
package ru.rambler.games.interfaces.game {
import flash.events.*;
public interface IMultiplayerGame extends IGame, IEventDispatcher {
function prepareForGame():void;
function waitForPlayer():void;
function resumeGame():void;
function pauseGame():void;
function applyAction(_arg1:Object, _arg2:IGameState):void;
function waitForAI():void;
function endGame():void;
function showMove(:IMoveDescription):void;
function prepareForTurn():void;
}
}//package ru.rambler.games.interfaces.game
Section 366
//IClientObject (ru.rambler.games.interfaces.net.IClientObject)
package ru.rambler.games.interfaces.net {
public interface IClientObject {
function isObserver():Boolean;
function isApproved():Boolean;
function isAI():Boolean;
function get place():int;
function isOwner():Boolean;
function get userObject():IUserObject;
function get ID():String;
function isGuest():Boolean;
}
}//package ru.rambler.games.interfaces.net
Section 367
//ICommand (ru.rambler.games.interfaces.net.ICommand)
package ru.rambler.games.interfaces.net {
public interface ICommand {
function addConst(_arg1:String, _arg2:Object):void;
function set commandName(ru.rambler.games.interfaces.net:ICommand/ru.rambler.games.interfaces.net:ICommand:params/get:String):void;
function addXML(ru.rambler.games.interfaces.net:ICommand/ru.rambler.games.interfaces.net:ICommand:params/get:XML):void;
function get commandName():String;
function toXML():XML;
function addParam(_arg1:String, _arg2:Object):void;
function get params():Object;
function decodeFromXML(ru.rambler.games.interfaces.net:ICommand/ru.rambler.games.interfaces.net:ICommand:params/get:XML):void;
}
}//package ru.rambler.games.interfaces.net
Section 368
//IConnection (ru.rambler.games.interfaces.net.IConnection)
package ru.rambler.games.interfaces.net {
import flash.events.*;
import ru.rambler.games.interfaces.ui.*;
public interface IConnection extends IEventDispatcher {
function get clientObject():IClientObject;
function sendCommand(:ICommand):void;
function refreshPlayerInfo(_arg1:String="", _arg2:String=""):void;
function get data():Object;
function get gameObject():IGameObject;
function set uiManager(:IUIManager):void;
function set data(:Object):void;
function connect(_arg1:String="", _arg2:int=-1):void;
function set trainingMode(:Boolean):void;
function disconnect():void;
function get trainingMode():Boolean;
}
}//package ru.rambler.games.interfaces.net
Section 369
//IConnectionEvent (ru.rambler.games.interfaces.net.IConnectionEvent)
package ru.rambler.games.interfaces.net {
public interface IConnectionEvent {
function get command():ICommand;
}
}//package ru.rambler.games.interfaces.net
Section 370
//IGameObject (ru.rambler.games.interfaces.net.IGameObject)
package ru.rambler.games.interfaces.net {
public interface IGameObject {
function isRatingable():Boolean;
function get width():int;
function get height():int;
function get maxPlayersCount():int;
function get gameURI():String;
function get systemName():String;
function get ID():int;
function get gameHistoryURL():String;
function get minPlayersCount():int;
}
}//package ru.rambler.games.interfaces.net
Section 371
//IMultiplayerConnection (ru.rambler.games.interfaces.net.IMultiplayerConnection)
package ru.rambler.games.interfaces.net {
public interface IMultiplayerConnection extends IConnection {
function declineDraw():void;
function ready():void;
function sendChatMessage(ru.rambler.games.interfaces.net:String):void;
function endGame(_arg1:String, _arg2:String=""):void;
function sendChatState(ru.rambler.games.interfaces.net:Boolean):void;
function sendData(ru.rambler.games.interfaces.net:Object):void;
function requestDraw():void;
function get tableObject():ITableObject;
function getQueue(/Users/ksan/Documents/work/rg_relaunch/tmp;ru/rambler/games/interfaces/net;IMultiplayerConnection.as:String):IQueue;
function reconnectToTable():void;
function sendAction(_arg1:Object, _arg2:int):void;
}
}//package ru.rambler.games.interfaces.net
Section 372
//IQueue (ru.rambler.games.interfaces.net.IQueue)
package ru.rambler.games.interfaces.net {
public interface IQueue {
function isEmpty():Boolean;
function dispose():void;
function back();
function enqueue():Boolean;
function getAt(*:int);
function toString():String;
function clear():void;
function dequeue();
function dump():String;
function setAt(_arg1:int, _arg2):void;
function peek();
function toArray():Array;
function contains():Boolean;
}
}//package ru.rambler.games.interfaces.net
Section 373
//ISingleplayerConnection (ru.rambler.games.interfaces.net.ISingleplayerConnection)
package ru.rambler.games.interfaces.net {
public interface ISingleplayerConnection extends IConnection {
function ready():void;
function sendResult(_arg1:int, _arg2:Boolean):void;
function getTop(:int=-1):void;
}
}//package ru.rambler.games.interfaces.net
Section 374
//ITableObject (ru.rambler.games.interfaces.net.ITableObject)
package ru.rambler.games.interfaces.net {
public interface ITableObject {
function isRatingable():Boolean;
function get createTime():int;
function get serverState():int;
function get startTime():int;
function get players():Array;
function isHidden():Boolean;
function get ownerID():String;
function getPlayer(ru.rambler.games.interfaces.net:ITableObject/ru.rambler.games.interfaces.net:ITableObject:isRatingable:String):IClientObject;
function get approvedCount():int;
function isPrivate():Boolean;
function get ID():String;
function get moveTime():int;
}
}//package ru.rambler.games.interfaces.net
Section 375
//IUserObject (ru.rambler.games.interfaces.net.IUserObject)
package ru.rambler.games.interfaces.net {
public interface IUserObject {
function get maxRating():int;
function get settings():Object;
function get avatarURL():String;
function get login():String;
function get ID():String;
function get rating():int;
function get nickname():String;
}
}//package ru.rambler.games.interfaces.net
Section 376
//IGameFrame (ru.rambler.games.interfaces.ui.IGameFrame)
package ru.rambler.games.interfaces.ui {
import flash.display.*;
import flash.text.*;
import flash.geom.*;
public interface IGameFrame {
function get container():DisplayObjectContainer;
function set container(:DisplayObjectContainer):void;
function get giveupButton():InteractiveObject;
function get musicButton():InteractiveObject;
function setActivePlayer(:int=-1):void;
function set gameTitle(:String):void;
function clear():void;
function init(:int):void;
function set tableID(:String):void;
function get helpButton():InteractiveObject;
function get sendButton():SimpleButton;
function clearPlayerInfo(:int=0):void;
function get customArea():Rectangle;
function get soundButton():InteractiveObject;
function getPlayerInfoContainer(/Users/ksan/Documents/work/rg_relaunch/tmp;ru/rambler/games/interfaces/ui;IGameFrame.as:int=0):DisplayObjectContainer;
function get topButton():InteractiveObject;
function set gameID(:String):void;
function get chatStateButton():SimpleButton;
function setPlayerInfo(_arg1:String, _arg2:int, _arg3:String, _arg4:int=0):void;
function get messageArea():TextField;
function get inputArea():TextField;
function get logArea():TextField;
function get chatStyle():StyleSheet;
function get drawRequestButton():InteractiveObject;
function set statusText(:String):void;
}
}//package ru.rambler.games.interfaces.ui
Section 377
//IPopupManager (ru.rambler.games.interfaces.ui.IPopupManager)
package ru.rambler.games.interfaces.ui {
import flash.display.*;
public interface IPopupManager {
function registerInfoWindow(:Class):void;
function set windowContainer(:DisplayObjectContainer):void;
function centerWindow(:IWindow):void;
function showCreatedPopup(_arg1:IWindow, _arg2:Boolean=false, _arg3:Boolean=true, _arg4:Function=null, _arg5=null, _arg6:Array=null):IWindow;
function registerOneButtonWindow(:Class):void;
function clear():void;
function registerSelectWindow(:Class):void;
function get oneButtonWindowClass():Class;
function get selectWindowClass():Class;
function showPopup(_arg1:Class, _arg2:String, _arg3:String, _arg4:Boolean=false, _arg5:Boolean=true, _arg6:Function=null, _arg7=null, _arg8:Array=null):IWindow;
function registerInputWindow(:Class):void;
function get infoWindowClass():Class;
function bringToFront(:IWindow):void;
function get inputWindowClass():Class;
}
}//package ru.rambler.games.interfaces.ui
Section 378
//ISoundManager (ru.rambler.games.interfaces.ui.ISoundManager)
package ru.rambler.games.interfaces.ui {
import flash.media.*;
public interface ISoundManager {
function playMusic():void;
function get soundState():Boolean;
function play(_arg1:Class, _arg2:Number=0, _arg3:int=0):SoundChannel;
function registerGameStartSound(:Class):void;
function set soundTransform(:SoundTransform):void;
function set soundState(:Boolean):void;
function get soundTransform():SoundTransform;
function get gameStartSound():Class;
}
}//package ru.rambler.games.interfaces.ui
Section 379
//IUIManager (ru.rambler.games.interfaces.ui.IUIManager)
package ru.rambler.games.interfaces.ui {
import flash.display.*;
public interface IUIManager {
function get popupManager():IPopupManager;
function set popupManager(:IPopupManager):void;
function set cursor(:DisplayObject):void;
function get cursor():DisplayObject;
function set container(:DisplayObjectContainer):void;
function closeGame():void;
function get gameFrame():IGameFrame;
function set soundManager(:ISoundManager):void;
function set gameFrame(:IGameFrame):void;
function get soundManager():ISoundManager;
}
}//package ru.rambler.games.interfaces.ui
Section 380
//IWindow (ru.rambler.games.interfaces.ui.IWindow)
package ru.rambler.games.interfaces.ui {
import flash.events.*;
public interface IWindow extends IEventDispatcher {
function set title(/Users/ksan/Documents/work/rg_relaunch/tmp;ru/rambler/games/interfaces/ui;IWindow.as:String):void;
function externalAction(/Users/ksan/Documents/work/rg_relaunch/tmp;ru/rambler/games/interfaces/ui;IWindow.as:String):void;
function get buttonPressed():int;
function close():void;
function set text(/Users/ksan/Documents/work/rg_relaunch/tmp;ru/rambler/games/interfaces/ui;IWindow.as:String):void;
function get text():String;
}
}//package ru.rambler.games.interfaces.ui
Section 381
//TopReceived (ru.rambler.games.net.commands.server.TopReceived)
package ru.rambler.games.net.commands.server {
import ru.rambler.games.interfaces.net.*;
import ru.rambler.games.net.commands.*;
import ru.rambler.games.net.objects.*;
public class TopReceived extends Command implements ICommand {
private var _userList:Array;
private var _place:int;
private var _current:int;
public static const COMMAND_NAME:String = "top";
public function TopReceived(xml:XML){
super(COMMAND_NAME);
decodeFromXML(xml);
}
override public function get params():Object{
return ({list:_userList, current:_current, place:_place});
}
public function get place():int{
return (_place);
}
public function get current():int{
return (_current);
}
override public function get commandName():String{
return (COMMAND_NAME);
}
public function get list():Array{
return (_userList);
}
override public function decodeFromXML(xml:XML):void{
var user:UserObject;
_xml = xml;
_userList = new Array();
var i:int;
while (i < _xml.user.length()) {
user = (_userList[i] = new UserObject());
user.decode(_xml.user[i]);
i++;
};
_userList.sortOn("rating", (Array.NUMERIC | Array.DESCENDING));
}
}
}//package ru.rambler.games.net.commands.server
Section 382
//UpdatePlayer (ru.rambler.games.net.commands.server.UpdatePlayer)
package ru.rambler.games.net.commands.server {
import ru.rambler.games.interfaces.net.*;
import ru.rambler.games.net.commands.*;
import ru.rambler.games.net.objects.*;
public class UpdatePlayer extends Command implements ICommand {
private var _user:UserObject;
public static const MODE_SHORT:String = "SHORT";
public static const MODE_MEDIUM:String = "MEDIUM";
public static const MODE_FULL:String = "FULL";
public static const COMMAND_NAME:String = "user";
public function UpdatePlayer(xml:XML){
super(COMMAND_NAME);
decodeFromXML(xml);
}
override public function get params():Object{
return ({user:_user});
}
public function get user():IUserObject{
return ((_user as IUserObject));
}
override public function get commandName():String{
return (COMMAND_NAME);
}
override public function decodeFromXML(xml:XML):void{
_xml = xml;
_user = new UserObject();
_user.decode(_xml.user[0]);
}
}
}//package ru.rambler.games.net.commands.server
Section 383
//Command (ru.rambler.games.net.commands.Command)
package ru.rambler.games.net.commands {
import ru.rambler.games.interfaces.net.*;
import flash.utils.*;
import ru.rambler.games.utils.*;
public class Command implements ICommand {
protected var _xml:XML;
public function Command(commandNameParam:String=""){
super();
_xml = <command/>
;
if (commandNameParam != ""){
commandName = commandNameParam;
};
}
private function _addConst(x:XML, name:String, o:Object):void{
var ba:ByteArray;
if ((o is String)){
x[name] = o;
} else {
ba = new ByteArray();
ba.writeObject(o);
ba.position = 0;
x[name].rg_amf = ByteUtil.byteArrayToHexString(ba);
};
}
public function addConst(name:String, o:Object):void{
_addConst(_xml, name, o);
}
private function _pushAttribute(o:Object, name:String, attribute:Object):void{
var tmp:Object;
if (o[name] == undefined){
o[name] = attribute;
} else {
if ((o[name] is Array)){
o[name].push(attribute);
} else {
tmp = o[name];
o[name] = new Array();
o[name].push(tmp);
};
};
}
private function _xml2obj(o:Object, xml:XML):void{
var element:XML;
var attrib:XML;
var ba:ByteArray;
var inner:Object;
var idx:String = xml.name().toString();
if (xml != _xml){
if (xml.attribute("value") != undefined){
_pushAttribute(o, idx, xml.attribute("value").toString());
} else {
for each (attrib in xml.attributes()) {
_pushAttribute(o, attrib.name().toString(), attrib.toString());
o[attrib.name().toString()] = attrib.toString();
};
};
};
for each (element in xml.elements()) {
idx = element.name().toString();
if ((((idx == "rg_amf")) && (element.hasSimpleContent()))){
ba = ByteUtil.hexStringToByteArray(element.text()[0]);
o = ba.readObject();
return;
};
if (((element.hasSimpleContent()) && (!((element.text() == undefined))))){
_pushAttribute(o, idx, element.text()[0]);
} else {
inner = new Object();
_xml2obj(inner, element);
_pushAttribute(o, idx, inner);
};
};
}
public function get params():Object{
var o:Object = new Object();
_xml2obj(o, _xml);
return (o);
}
private function _addObject(x:XML, name:String, o:Object):void{
var node:XML;
var i:String;
if ((((((o is Number)) || ((o is Boolean)))) || ((((o is String)) && ((String(o).length < 0xFF)))))){
if (x != _xml){
x.@[name] = o;
} else {
node = new XML((("<" + name) + "/>"));
x = x.appendChild(node);
node.@["value"] = o;
};
} else {
if ((((o is String)) || ((o is Array)))){
_addConst(x, name, o);
} else {
node = new XML((("<" + name) + "/>"));
x = x.appendChild(node);
for (i in o) {
_addObject(node, i, o[i]);
};
};
};
}
public function set commandName(command:String):void{
_xml.@name = command;
}
public function addXML(xml:XML):void{
_xml.appendChild(xml);
}
public function addParam(name:String, o:Object):void{
_addObject(_xml, name, o);
}
public function toXML():XML{
return (_xml);
}
public function get commandName():String{
return (_xml.@name.toString());
}
public function decodeFromXML(xml:XML):void{
_xml = xml;
}
}
}//package ru.rambler.games.net.commands
Section 384
//UserObject (ru.rambler.games.net.objects.UserObject)
package ru.rambler.games.net.objects {
import ru.rambler.games.interfaces.net.*;
import flash.utils.*;
import ru.rambler.games.utils.*;
public dynamic class UserObject implements IUserObject {
private var _id:String;
private var _settings:Object;
private var _moderator:int;
private var _nickname:String;
private var _login:String;
private var _max_rating:int;
private var _avatar:String;
private var _moderator_visible:int;
private var _rating:int;
public static const FULL_MODE:String = "FULL";
public static const SHORT_MODE:String = "SHORT";
public static const MEDIUM_MODE:String = "MEDIUM";
public function UserObject(){
super();
_settings = new Object();
}
public function get moderator():int{
return (_moderator);
}
public function get moderator_visible():int{
return (_moderator_visible);
}
public function set maxRating(r:int):void{
_max_rating = r;
}
public function toString():String{
return ((((((((("[UserObject id=" + _id) + ", nickname=") + _nickname) + ", rating=") + _rating) + ", max_rating=") + _max_rating) + "]"));
}
public function decode(xml:XML):void{
var attrib:XML;
var aname:String;
var ba:ByteArray;
for each (attrib in xml.attributes()) {
aname = attrib.name().toString();
switch (aname){
case "id":
_id = attrib.toString();
break;
case "nickname":
_nickname = attrib.toString();
break;
case "rating":
_rating = int(attrib.toString());
break;
case "max_rating":
_max_rating = int(attrib.toString());
break;
case "moderator":
_moderator = int(attrib.toString());
break;
case "moderator_visible":
_moderator_visible = int(attrib.toString());
break;
case "avatar":
_avatar = attrib.toString();
break;
case "login":
_login = attrib.toString();
break;
case "settings":
break;
default:
this[aname] = attrib.toString();
};
if (xml.settings.text()[0] != null){
ba = ByteUtil.hexStringToByteArray(xml.settings.text()[0]);
_settings = ba.readObject();
};
};
}
public function get avatarURL():String{
return (_avatar);
}
public function get ID():String{
return (_id);
}
public function set nickname(nick:String):void{
_nickname = nick;
}
public function get maxRating():int{
return (_max_rating);
}
public function get settings():Object{
return (_settings);
}
public function get rating():int{
return (_rating);
}
public function get login():String{
return (_login);
}
public function toXML(mode:String=""):XML{
var ba:ByteArray;
if (mode == ""){
mode = UserObject.FULL_MODE;
};
var xml:XML = new XML("<user />");
xml.@id = _id;
if (mode != UserObject.SHORT_MODE){
xml.@nickname = _nickname;
xml.@avatar = _avatar;
xml.@login = _login;
xml.@rating = _rating;
xml.@max_rating = _max_rating;
if (mode != UserObject.MEDIUM_MODE){
ba = new ByteArray();
ba.writeObject(_settings);
ba.position = 0;
xml.settings = ByteUtil.byteArrayToHexString(ba);
};
};
return (xml);
}
public function set avatarURL(r:String):void{
_avatar = r;
}
public function set ID(id:String):void{
_id = id;
}
public function set rating(r:int):void{
_rating = r;
}
public function get nickname():String{
return (_nickname);
}
}
}//package ru.rambler.games.net.objects
Section 385
//AbstractWindow (ru.rambler.games.ui.windows.AbstractWindow)
package ru.rambler.games.ui.windows {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
public class AbstractWindow extends Sprite {
protected var _dragArea:Shape;
protected var _startX:int;
protected var _startY:int;
public function AbstractWindow(){
super();
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function mouseDownHandler(e:MouseEvent):void{
_startX = stage.mouseX;
_startY = stage.mouseY;
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
private function mouseUpHandler(e:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
public function init(e:Event=null):void{
_drawWindow();
}
private function mouseMoveHandler(e:MouseEvent):void{
var dy:int;
var dx:int = (stage.mouseX - _startX);
dy = (stage.mouseY - _startY);
x = (x + dx);
y = (y + dy);
_startX = stage.mouseX;
_startY = stage.mouseY;
}
public function close():void{
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
removeEventListener(Event.ADDED_TO_STAGE, init);
dispatchEvent(new Event(Event.CLOSE));
}
protected function _drawWindow():void{
}
override public function toString():String{
return ("AbstractWindow");
}
protected function getShadow(dist:Number, knockout:Boolean=false):DropShadowFilter{
return (new DropShadowFilter(dist, 45, Style.DROPSHADOW, 1, dist, dist, 0.3, 1, knockout));
}
}
}//package ru.rambler.games.ui.windows
Section 386
//InfoWindow (ru.rambler.games.ui.windows.InfoWindow)
package ru.rambler.games.ui.windows {
import ru.rambler.games.interfaces.ui.*;
import flash.display.*;
import flash.text.*;
public class InfoWindow extends AbstractWindow implements IWindow {
protected var _id:int;
protected var _text:TextField;
protected var _param:Object;
protected var _title:TextField;
protected var _buttonCode:int;// = 0
protected var style:StyleSheet;
public function InfoWindow(){
super();
_title = new TextField();
_text = new TextField();
_title.width = (_text.width = 200);
_title.height = 25;
_text.height = 70;
_title.multiline = (_title.wordWrap = false);
_title.selectable = (_text.selectable = false);
_text.condenseWhite = false;
_text.autoSize = TextFieldAutoSize.NONE;
_text.multiline = (_text.wordWrap = true);
_text.y = 40;
style = new StyleSheet();
style.setStyle(".wtitle", {fontFamily:"Arial", fontWeight:"bold", textAlign:"center", fontSize:11});
style.setStyle(".wtext", {fontFamily:"Arial", fontWeight:"normal", textAlign:"center", fontSize:11});
style.setStyle("a", {fontFamily:"Arial", fontWeight:"bold", color:"#FF0000"});
}
public function get buttonPressed():int{
return (_buttonCode);
}
public function set text(txt:String):void{
_text.styleSheet = style;
_text.htmlText = (("<span class='wtext'>" + txt) + "</span>");
}
public function externalAction(event:String):void{
}
override public function toString():String{
return (("InfoWindow " + _id));
}
public function set title(text:String):void{
_title.styleSheet = style;
_title.htmlText = (("<span class='wtitle'>" + text) + "</span>");
}
override protected function _drawWindow():void{
_dragArea = new Shape();
var g:Graphics = _dragArea.graphics;
g.clear();
g.beginFill(Style.WINDOW_FACE);
g.drawRect(0, 0, Style.WINDOW_WIDTH, Style.WINDOW_HEIGHT);
g.endFill();
addChild(_dragArea);
addChild(_title);
addChild(_text);
_text.y = (((100 - _text.textHeight) / 2) - 15);
filters = [getShadow(1)];
}
public function get text():String{
return (_text.text);
}
}
}//package ru.rambler.games.ui.windows
Section 387
//OkWindow (ru.rambler.games.ui.windows.OkWindow)
package ru.rambler.games.ui.windows {
import flash.events.*;
import ru.rambler.games.interfaces.ui.*;
import ru.rambler.games.ui.*;
public class OkWindow extends InfoWindow implements IWindow {
protected var okButton:PushButton;
public function OkWindow(){
super();
}
override public function toString():String{
return (("OkWindow " + _id));
}
override protected function _drawWindow():void{
super._drawWindow();
okButton = new PushButton(this, 65, (height - 30), "OK", okHandler);
}
protected function okHandler(event:MouseEvent):void{
_buttonCode = Buttons.OK;
close();
}
}
}//package ru.rambler.games.ui.windows
Section 388
//PushButton (ru.rambler.games.ui.windows.PushButton)
package ru.rambler.games.ui.windows {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
public class PushButton extends Sprite {
private var _down:Boolean;// = false
private var _labelText:String;
private var _back:Sprite;
private var _over:Boolean;// = false
private var _label:TextField;
private var _face:Sprite;
public function PushButton(parent:DisplayObjectContainer=null, xpos:Number=0, ypos:Number=0, label:String="", defaultHandler:Function=null){
super();
if (defaultHandler != null){
addEventListener(MouseEvent.CLICK, defaultHandler);
};
_labelText = label;
init();
draw();
x = xpos;
y = ypos;
if (parent != null){
parent.addChild(this);
};
}
private function onMouseOut(event:MouseEvent):void{
_over = false;
if (!_down){
_face.filters = [getShadow(1)];
};
}
protected function draw():void{
var g:Graphics = _back.graphics;
g.beginFill(Style.BACKGROUND);
g.drawRect(0, 0, Style.BUTTON_WIDTH, Style.BUTTON_HEIGHT);
g.endFill();
g = _face.graphics;
g.beginFill(Style.BUTTON_FACE);
g.drawRect(0, 0, (Style.BUTTON_WIDTH - 2), (Style.BUTTON_HEIGHT - 2));
g.endFill();
}
private function onMouseDown(event:MouseEvent):void{
_down = true;
_face.filters = [getShadow(1, true)];
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, true);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
protected function init():void{
buttonMode = true;
useHandCursor = true;
_back = new Sprite();
_back.filters = [getShadow(2, true)];
addChild(_back);
_face = new Sprite();
_face.filters = [getShadow(1)];
_face.x = 1;
_face.y = 1;
addChild(_face);
_label = new TextField();
_label.width = Style.BUTTON_WIDTH;
_label.autoSize = TextFieldAutoSize.CENTER;
_label.selectable = false;
_label.mouseEnabled = false;
_label.defaultTextFormat = new TextFormat(Style.FONT, Style.TEXT_SIZE, Style.LABEL_TEXT);
_label.text = _labelText;
addChild(_label);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
}
private function onMouseOver(event:MouseEvent):void{
_over = true;
addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
}
protected function getShadow(dist:Number, knockout:Boolean=false):DropShadowFilter{
return (new DropShadowFilter(dist, 45, Style.DROPSHADOW, 1, dist, dist, 0.3, 1, knockout));
}
private function onMouseUp(event:MouseEvent):void{
_down = false;
_face.filters = [getShadow(1)];
stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp, true);
}
}
}//package ru.rambler.games.ui.windows
Section 389
//Style (ru.rambler.games.ui.windows.Style)
package ru.rambler.games.ui.windows {
public class Style {
public static var BUTTON_FACE:uint = 0xFFFFFF;
public static var WINDOW_FACE:uint = 0xF3F3F3;
public static var DROPSHADOW:uint = 0;
public static var TEXT_SIZE:uint = 11;
public static var WINDOW_HEIGHT:uint = 100;
public static var WINDOW_WIDTH:uint = 200;
public static var BUTTON_WIDTH:uint = 70;
public static var BUTTON_HEIGHT:uint = 20;
public static var PROGRESS_BAR:uint = 0xFFFFFF;
public static var PANEL:uint = 0xF3F3F3;
public static var FONT:String = "Arial";
public static var INPUT_TEXT:uint = 0;
public static var NOFOCUS_COLOR:uint = 0xCCCCCC;
public static var BACKGROUND:uint = 0xCCCCCC;
public static var LABEL_TEXT:uint = 0x666666;
public static var FOCUS_COLOR:uint = 30402;
public function Style(){
super();
}
}
}//package ru.rambler.games.ui.windows
Section 390
//YesNoWindow (ru.rambler.games.ui.windows.YesNoWindow)
package ru.rambler.games.ui.windows {
import flash.events.*;
import ru.rambler.games.interfaces.ui.*;
import ru.rambler.games.ui.*;
public class YesNoWindow extends OkWindow implements IWindow {
protected var cancelButton:PushButton;
public function YesNoWindow(){
super();
}
override protected function _drawWindow():void{
super._drawWindow();
okButton.x = 20;
cancelButton = new PushButton(this, 110, (height - 30), "CANCEL", cancelHandler);
}
override public function toString():String{
return (("YesNoWindow " + _id));
}
protected function cancelHandler(event:MouseEvent):void{
_buttonCode = Buttons.CANCEL;
close();
}
}
}//package ru.rambler.games.ui.windows
Section 391
//Buttons (ru.rambler.games.ui.Buttons)
package ru.rambler.games.ui {
public class Buttons {
public static const NULL:int = 0;
public static const CANCEL:int = 2;
public static const OK:int = 1;
public function Buttons(){
super();
}
}
}//package ru.rambler.games.ui
Section 392
//PopupManager (ru.rambler.games.ui.PopupManager)
package ru.rambler.games.ui {
import flash.events.*;
import ru.rambler.games.interfaces.ui.*;
import flash.display.*;
import flash.utils.*;
import ru.rambler.games.ui.windows.*;
public class PopupManager implements IPopupManager {
private var _modalCount:int;// = 0
protected var windows:Dictionary;
private var _windowContainer:DisplayObjectContainer;
private var _windowCount:int;// = 0
protected var classInfo:Class;
protected var classInput:Class;
protected var classOK:Class;
private var _modalBlocker:Sprite;
public var modalFillAlpha:Number;// = 0.7
protected var classYesNo:Class;
public var modalFillColor:int;// = 0xFFFFFF
public static const instance:PopupManager = new (PopupManager);
;
public function PopupManager(){
classInfo = InfoWindow;
classOK = OkWindow;
classYesNo = YesNoWindow;
classInput = OkWindow;
windows = new Dictionary();
super();
if (instance){
throw (new Error("PopupManager - singleton. Сonstructor is locked."));
};
}
public function get oneButtonWindowClass():Class{
return (classOK);
}
protected function createWindow(windowClass:Class):IWindow{
var window:IWindow;
window = IWindow(new (windowClass));
_windowCount++;
return (window);
}
protected function removeWindow(window:IWindow):void{
_windowContainer.removeChild((window as DisplayObject));
delete windows[window];
}
public function registerOneButtonWindow(className:Class):void{
classOK = className;
}
private function addedToStageHandler(event:Event):void{
_windowContainer.removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
_windowContainer.stage.addEventListener(Event.RESIZE, resizeHandler);
clear();
}
private function createModalBlocker():void{
if (_modalBlocker == null){
_modalBlocker = new Sprite();
_modalBlocker.graphics.beginFill(modalFillColor, modalFillAlpha);
_modalBlocker.graphics.drawRect(0, 0, _windowContainer.stage.stageWidth, _windowContainer.stage.stageHeight);
_modalBlocker.graphics.endFill();
_modalBlocker.buttonMode = true;
_modalBlocker.useHandCursor = false;
_windowContainer.addChild(_modalBlocker);
};
}
public function showPopup(windowClass:Class, title:String, text:String, modal:Boolean=false, centered:Boolean=true, onClose:Function=null, onCloseScope=null, onCloseParams:Array=null):IWindow{
var window:IWindow = instance.createWindow(windowClass);
window.title = title;
window.text = text;
return (instance.showCreatedPopup(window, modal, centered, onClose, onCloseScope, onCloseParams));
}
private function removeModalBlocker():void{
if (_modalBlocker != null){
_windowContainer.removeChild(_modalBlocker);
_modalBlocker = null;
};
}
protected function closeHandler(e:Event):void{
var a:Array;
var window:IWindow = IWindow(e.target);
window.removeEventListener(Event.CLOSE, closeHandler);
var props:Object = windows[window];
if (props.onClose != null){
a = props.onCloseParams;
if (a == null){
a = new Array();
};
a.unshift(window.buttonPressed);
props.onClose.apply(props.onCloseScope, a);
};
if (props.modal){
_modalCount--;
if (_modalCount == 0){
removeModalBlocker();
};
};
instance.removeWindow(window);
}
public function centerWindow(window:IWindow):void{
var windowAsDO:DisplayObject = (window as DisplayObject);
windowAsDO.x = int(((_windowContainer.stage.stageWidth - windowAsDO.width) / 2));
windowAsDO.y = int(((_windowContainer.stage.stageHeight - windowAsDO.height) / 2));
}
public function registerInputWindow(className:Class):void{
classInput = className;
}
public function registerInfoWindow(className:Class):void{
classInfo = className;
}
public function get inputWindowClass():Class{
return (classInput);
}
public function get selectWindowClass():Class{
return (classYesNo);
}
protected function showWindow(window:IWindow, centered:Boolean=true):void{
_windowContainer.addChild((window as DisplayObject));
if (centered){
centerWindow(window);
};
}
public function registerSelectWindow(className:Class):void{
classYesNo = className;
}
public function showCreatedPopup(window:IWindow, modal:Boolean=false, centered:Boolean=true, onClose:Function=null, onCloseScope=null, onCloseParams:Array=null):IWindow{
window.addEventListener(Event.CLOSE, closeHandler);
var props:Object = {window:window, modal:modal, onClose:onClose, onCloseScope:onCloseScope, onCloseParams:onCloseParams};
if (modal){
createModalBlocker();
_modalCount++;
};
windows[window] = props;
instance.showWindow(window, centered);
return (window);
}
private function noAction(e:MouseEvent):void{
trace("noAction");
}
public function get infoWindowClass():Class{
return (classInfo);
}
public function clear():void{
var props:Object;
for each (props in windows) {
props.window.removeEventListener(Event.CLOSE, closeHandler);
removeWindow(props.window);
};
windows = new Dictionary();
_modalCount = 0;
_windowCount = 0;
}
public function set windowContainer(container:DisplayObjectContainer):void{
_windowContainer = container;
if (_windowContainer.stage == null){
_windowContainer.addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
} else {
_windowContainer.stage.addEventListener(Event.RESIZE, resizeHandler);
clear();
};
}
private function resizeHandler(e:Event):void{
var windowsCount:int = _windowContainer.numChildren;
var i:int;
while (i < windowsCount) {
if (_windowContainer.getChildAt(i) == _modalBlocker){
} else {
centerWindow(IWindow(_windowContainer.getChildAt(i)));
};
i++;
};
if (_modalBlocker != null){
_modalBlocker.width = _modalBlocker.stage.stageWidth;
_modalBlocker.height = _modalBlocker.stage.stageHeight;
};
}
public function bringToFront(window:IWindow):void{
_windowContainer.setChildIndex(DisplayObject(window), (_windowContainer.numChildren - 1));
}
}
}//package ru.rambler.games.ui
Section 393
//SingleplayerUIManager (ru.rambler.games.ui.SingleplayerUIManager)
package ru.rambler.games.ui {
import ru.rambler.games.interfaces.core.*;
import ru.rambler.games.interfaces.ui.*;
public class SingleplayerUIManager extends UIManager implements IUIManager, IVersion {
public static const instance:SingleplayerUIManager = new (SingleplayerUIManager);
;
public function SingleplayerUIManager(){
super();
if (instance){
throw (new Error("UIManager - singleton. Сonstructor is locked."));
};
init();
}
}
}//package ru.rambler.games.ui
Section 394
//SoundManager (ru.rambler.games.ui.SoundManager)
package ru.rambler.games.ui {
import ru.rambler.games.interfaces.ui.*;
import flash.media.*;
import flash.external.*;
public class SoundManager implements ISoundManager {
private var _isSoundOn:Boolean;// = true
private var _transform:SoundTransform;
private var _gameStartSound:Class;
public static const instance:SoundManager = new (SoundManager);
;
public function SoundManager(){
super();
if (instance){
throw (new Error("SoundManager - singleton. Сonstructor is locked."));
};
}
public function get soundState():Boolean{
return (_isSoundOn);
}
public function set soundState(value:Boolean):void{
_isSoundOn = value;
}
public function registerGameStartSound(className:Class):void{
_gameStartSound = className;
}
public function play(soundClass:Class, startTime:Number=0, loops:int=0):SoundChannel{
var _sound:Sound;
var _channel:SoundChannel;
if (((soundState) && (soundClass))){
_sound = new (soundClass);
_channel = _sound.play(startTime, loops);
if (_transform != null){
_channel.soundTransform = _transform;
};
return (_channel);
//unresolved jump
};
return (null);
}
public function playMusic():void{
if (ExternalInterface.available){
ExternalInterface.call("open_radio()");
//unresolved jump
var _slot1 = e;
};
}
public function set soundTransform(value:SoundTransform):void{
_transform = value;
}
public function get soundTransform():SoundTransform{
return (_transform);
}
public function get gameStartSound():Class{
return (_gameStartSound);
}
}
}//package ru.rambler.games.ui
Section 395
//UIManager (ru.rambler.games.ui.UIManager)
package ru.rambler.games.ui {
import ru.rambler.games.interfaces.core.*;
import flash.events.*;
import ru.rambler.games.interfaces.ui.*;
import flash.display.*;
import ru.rambler.games.assets.*;
import flash.ui.*;
import flash.external.*;
public class UIManager implements IUIManager, IVersion {
protected var _popupManager:IPopupManager;
protected var _cursorHolder:Sprite;
protected var _gameFrame:IGameFrame;
protected var _cursor:DisplayObject;
protected var _popupHolder:Sprite;
protected var _soundManager:ISoundManager;
public function UIManager(){
super();
}
public function set popupManager(value:IPopupManager):void{
_popupManager = value;
_popupManager.windowContainer = _popupHolder;
}
public function closeGame():void{
if (ExternalInterface.available){
ExternalInterface.call("window.close()");
//unresolved jump
var _slot1 = e;
};
}
private function cursorMove(event:MouseEvent):void{
_cursor.x = _cursorHolder.mouseX;
_cursor.y = _cursorHolder.mouseY;
event.updateAfterEvent();
}
protected function init():void{
initSame();
_soundManager.registerGameStartSound(DefaultStartSound);
}
private function removeCursorListener(event:Event):void{
if (_cursor != null){
_cursor.stage.removeEventListener(MouseEvent.MOUSE_MOVE, cursorMove);
};
}
protected function initSame():void{
_popupHolder = new Sprite();
_cursorHolder = new Sprite();
_popupHolder.mouseEnabled = false;
_cursorHolder.mouseEnabled = false;
_popupManager = PopupManager.instance;
_soundManager = SoundManager.instance;
_popupManager.windowContainer = _popupHolder;
}
public function set container(value:DisplayObjectContainer):void{
value.addChild(_popupHolder);
value.addChild(_cursorHolder);
}
public function get gameFrame():IGameFrame{
return (_gameFrame);
}
public function get cursor():DisplayObject{
return (_cursor);
}
public function get soundManager():ISoundManager{
return (_soundManager);
}
public function get version():String{
return ("@version@");
}
private function dropCursor():void{
if (_cursor == null){
return;
};
_cursorHolder.removeChild(_cursor);
_cursor.removeEventListener(Event.ADDED_TO_STAGE, addCursorListener);
_cursor.removeEventListener(Event.REMOVED_FROM_STAGE, removeCursorListener);
_cursor = null;
}
public function get popupManager():IPopupManager{
return (_popupManager);
}
private function addCursorListener(event:Event):void{
if (_cursor != null){
_cursor.stage.addEventListener(MouseEvent.MOUSE_MOVE, cursorMove);
};
}
public function set cursor(value:DisplayObject):void{
if (value == null){
Mouse.show();
dropCursor();
} else {
dropCursor();
_cursor = value;
_cursor.cacheAsBitmap = true;
_cursor.addEventListener(Event.ADDED_TO_STAGE, addCursorListener);
_cursor.addEventListener(Event.REMOVED_FROM_STAGE, removeCursorListener);
_cursorHolder.addChild(_cursor);
if ((_cursor is InteractiveObject)){
(_cursor as InteractiveObject).mouseEnabled = false;
};
Mouse.hide();
};
}
public function set gameFrame(value:IGameFrame):void{
}
public function set soundManager(value:ISoundManager):void{
_soundManager = value;
}
}
}//package ru.rambler.games.ui
Section 396
//ByteUtil (ru.rambler.games.utils.ByteUtil)
package ru.rambler.games.utils {
import flash.utils.*;
public class ByteUtil {
public function ByteUtil(){
super();
}
public static function byteArrayToHexString(data:ByteArray):String{
var byte:int;
var byteText:String;
var oldPosition:int = data.position;
var joinedBytes:String = "";
while (data.bytesAvailable) {
byte = data.readByte();
if (byte < 0){
byte = (0x0100 + byte);
};
byteText = byte.toString(16);
if (byteText.length == 1){
byteText = ("0" + byteText);
};
joinedBytes = (joinedBytes + byteText);
};
data.position = oldPosition;
return (joinedBytes);
}
public static function hexStringToByteArray(hexData:String):ByteArray{
var hexByte:String;
var byte:int;
var binaryData:ByteArray = new ByteArray();
var i:int;
while (i < hexData.length) {
hexByte = hexData.substr(i, 2);
byte = int(("0x" + hexByte));
binaryData.writeByte(byte);
i = (i + 2);
};
binaryData.position = 0;
return (binaryData);
}
}
}//package ru.rambler.games.utils
Section 397
//ShopItem (shop.ShopItem)
package shop {
import flash.events.*;
import flash.display.*;
import ui.*;
import utils.*;
import com.melesta.sound.*;
public class ShopItem extends MovieClip {
private var _currentUpgrade:Number;// = 0
private var _active:Boolean;// = false
private var _costs:Array;
private var _arrow:ShopArrow;
private var _index:Number;// = 0
public var _icon:MovieClip;
private var _itemsList:Array;
public function ShopItem(icon:MovieClip, costs:String, caption:String, index:Number){
_costs = new Array();
_itemsList = new Array("cage", "well", "warehouse", "car", "plane", "powdered", "bakery", "confectionery", "incubator");
super();
_icon = icon;
_costs = costs.split(",");
_index = index;
_icon.buyBtn.price.text = _costs[_currentUpgrade];
Fonts.applyDefaultFont(_icon.buyBtn.price);
_icon.buyBtn.addEventListener(MouseEvent.CLICK, buyUpgrade, false, 0, true);
_icon.buyBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
_icon.buyBtn.addEventListener(MouseEvent.MOUSE_OUT, btnOut, false, 0, true);
_icon.buyBtn.addEventListener(MouseEvent.MOUSE_DOWN, btnDown, false, 0, true);
_icon.bg.addEventListener(MouseEvent.MOUSE_OVER, showTooltip, false, 0, true);
_icon.bg.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip, false, 0, true);
_icon.buyBtn.price.mouseEnabled = false;
_icon.tick.visible = false;
_icon.title.text = Config.currentLanguage.child(_itemsList[_index]);
Fonts.applyDefaultFont(_icon.title);
}
private function btnDown(event:MouseEvent=null):void{
event.stopPropagation();
if (_active){
_icon.buyBtn.gotoAndStop("press");
};
}
private function hideTooltip(event:MouseEvent=null):void{
ShopTooltip.instance.hide();
}
public function addArrow():void{
_arrow = new ShopArrow();
_arrow.x = (_arrow.y = 50);
_icon.addChild(_arrow);
}
public function update():void{
if (_costs[_currentUpgrade] > ShopWindow.instance.stars){
_icon.bg.gotoAndStop(1);
_active = false;
_icon.buyBtn.gotoAndStop("disable");
} else {
_icon.bg.gotoAndStop(2);
_active = true;
_icon.buyBtn.gotoAndStop("active");
};
}
public function updateUpgradesView(upgrade:Number=0):void{
_currentUpgrade = upgrade;
if (_currentUpgrade < _costs.length){
_icon.buyBtn.price.text = _costs[_currentUpgrade];
Fonts.applyDefaultFont(_icon.buyBtn.price);
_icon.gotoAndStop((_currentUpgrade + 1));
};
if (_currentUpgrade == _costs.length){
_icon.gotoAndStop((_currentUpgrade + 1));
_icon.tick.visible = true;
_icon.buyBtn.visible = false;
_icon.bg.gotoAndStop(3);
};
update();
}
private function showTooltip(event:MouseEvent=null):void{
if (_currentUpgrade < _costs.length){
ShopTooltip.instance.show((_icon.x + 50), (_icon.y + 50), _itemsList[_index], (_currentUpgrade + 1), Config.currentLanguage.shop_tooltips.descendants(_itemsList[_index]));
};
}
private function btnOut(event:MouseEvent=null):void{
event.stopPropagation();
if (_active){
_icon.buyBtn.gotoAndStop("active");
};
}
private function buyUpgrade(event:MouseEvent=null):void{
event.stopPropagation();
if (_arrow){
_icon.removeChild(_arrow);
_arrow = null;
};
if ((((ShopWindow.instance.stars >= _costs[_currentUpgrade])) && ((_currentUpgrade <= (_costs.length - 1))))){
SoundManager.play("action_sell_buy");
ShopWindow.instance.stars = (ShopWindow.instance.stars - _costs[_currentUpgrade]);
_currentUpgrade++;
if (_currentUpgrade < _costs.length){
_icon.buyBtn.price.text = _costs[_currentUpgrade];
Fonts.applyDefaultFont(_icon.buyBtn.price);
_icon.gotoAndStop((_currentUpgrade + 1));
ShopWindow.instance.updateViews();
};
var _local2 = ShopWindow.availableUpgrades;
var _local3 = _index;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
};
if (_currentUpgrade == _costs.length){
SoundManager.play("action_sell_buy");
_icon.tick.visible = true;
_icon.buyBtn.visible = false;
_icon.gotoAndStop((_currentUpgrade + 1));
_icon.bg.gotoAndStop(3);
};
ShopWindow.instance.updateViews();
update();
}
private function btnOver(event:MouseEvent=null):void{
event.stopPropagation();
if (_active){
_icon.buyBtn.gotoAndStop("over");
SoundManager.play("ui_button_hover");
};
}
public function hideArrows():void{
if (_arrow){
_icon.removeChild(_arrow);
_arrow = null;
};
}
}
}//package shop
Section 398
//ShopWindow (shop.ShopWindow)
package shop {
import flash.events.*;
import flash.display.*;
import ui.*;
import map.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class ShopWindow extends ShopTemplate {
private var _stars:Number;// = 0
private var _itemCaptions:Array;
public var upgradeCosts:Array;
private var _shopItems:Array;
private var _shopTooltip:ShopTooltip;
private var _itemsList:Array;
public static var availableUpgrades:Array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
public static var instance:ShopWindow;
public static var accessList:Array = new Array();
public static var firstShow:Boolean = true;
public function ShopWindow(){
_itemsList = new Array("cage", "well", "warehouse", "car", "plane", "powdered", "bakery", "confectionery", "incubator");
_itemCaptions = new Array("cage", "well", "warehouse", "car", "plane", "powdered", "bakery", "confectionery", "incubator");
_shopItems = new Array();
upgradeCosts = new Array("100,500,5000", "250,500,10000", "150,600,6000", "100,500,2000", "100,500,2000", "100,200,300,400,500", "200,300,400,500,600", "300,400,500,600,700", "200,400,600,800,1000");
super();
this.visible = false;
instance = this;
okBtn.addEventListener(MouseEvent.CLICK, finished, false, 0, true);
stars = Config.stars;
var i:int;
while (i < _itemsList.length) {
_shopItems[i] = new ShopItem((this.getChildByName(_itemsList[i]) as MovieClip), upgradeCosts[i], _itemCaptions[i], i);
i++;
};
if (Config.use_cheats){
stars_txt.addEventListener(MouseEvent.CLICK, addMoney, false, 0, true);
};
title.text = Config.currentLanguage.shop;
Fonts.applyDefaultFont(title);
okBtn.caption.text = Config.currentLanguage.ok;
Fonts.applyDefaultFont(okBtn.caption);
_shopTooltip = new ShopTooltip();
addChild(_shopTooltip);
}
public function get stars():Number{
return (_stars);
}
public function set stars(value:Number):void{
_stars = value;
this.stars_txt.text = String(stars);
Fonts.applyDefaultFont(stars_txt);
}
public function updateViews():void{
var i:int;
while (i < _shopItems.length) {
_shopItems[i].update();
i++;
};
}
public function finished(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.2, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
MapWindow.instance.updateViews();
var i:int;
while (i < 10) {
Config.upgrades[i] = ShopWindow.availableUpgrades[i];
i = (i + 1);
};
Config.updateSharedObject();
hideArrows();
}
public function updateUpgradesViews():void{
var i:int;
while (i < _shopItems.length) {
_shopItems[i].updateUpgradesView(availableUpgrades[i]);
i++;
};
}
private function addMoney(event:MouseEvent=null):void{
_stars = (_stars + 500);
stars_txt.text = String(_stars);
Fonts.applyDefaultFont(stars_txt);
updateViews();
}
private function hideArrows():void{
var i:int;
while (i < _shopItems.length) {
_shopItems[i].hideArrows();
i++;
};
}
public function show():void{
var item:Array;
this.visible = true;
this.alpha = 0;
trace(MapWindow.needIndex);
stars_txt.text = String(stars);
Fonts.applyDefaultFont(stars_txt);
updateViews();
Tweener.addTween(this, {alpha:1, time:0.2, transition:"linear"});
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
SimpleTooltip.instance.show(Config.currentLanguage.tooltips.shop);
};
var i:Number = 0;
while (i < accessList.length) {
item = accessList[i].split(",");
_shopItems[(Number(item[0]) + 5)].addArrow();
i++;
};
}
public static function isAvailable(upgradeList:Array):Boolean{
var accessCounter:Number = 0;
accessList = new Array();
var item:Array = new Array();
var i:Number = 0;
while (i < upgradeList.length) {
item = upgradeList[i].split(",");
if (Number(item[1]) <= Number(availableUpgrades[(Number(item[0]) + 5)])){
accessCounter++;
} else {
accessList.push(upgradeList[i]);
};
i++;
};
return (((accessCounter == upgradeList.length)) ? true : false);
}
}
}//package shop
Section 399
//BlockTooltip (ui.BlockTooltip)
package ui {
import flash.events.*;
import game.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class BlockTooltip extends BlockTooltipTemplate {
public static var instance:BlockTooltip;
public function BlockTooltip(){
super();
instance = this;
visible = false;
help.okBtn.caption.text = Config.currentLanguage.ok;
Fonts.applyDefaultFont(help.okBtn.caption);
help.okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
help.okBtn.addEventListener(MouseEvent.MOUSE_DOWN, down, false, 0, true);
help.okBtn.addEventListener(MouseEvent.MOUSE_OVER, over);
help.okBtn.addEventListener(MouseEvent.MOUSE_OUT, out);
}
public function hide(event:MouseEvent=null):void{
if (this.visible){
SoundManager.play("ui_button_click");
Tweener.removeTweens(this);
this.visible = false;
GameController.instance.resume();
if (((WaterTooltip.firstShow) && (!(Config.skiped)))){
WaterTooltip.instance.show();
};
};
}
public function down(event:MouseEvent=null):void{
help.okBtn.gotoAndStop(3);
}
private function over(event:MouseEvent):void{
help.okBtn.gotoAndStop(2);
}
public function show(posX:Number, posY:Number, caption:String, autoHide:Boolean=false):void{
var posX = posX;
var posY = posY;
var caption = caption;
var autoHide = autoHide;
alpha = 0;
lock.x = -(posX);
lock.y = -(posY);
help.okBtn.visible = true;
this.visible = false;
this.body.scaleX = 1;
this.body.scaleY = 1;
visible = true;
lock.visible = true;
this.help.x = -241;
this.help.y = -114;
if (posX < 300){
this.body.scaleX = -1;
this.help.x = 29;
this.x = (posX - 20);
};
if (posY < 200){
this.help.y = 34;
this.body.scaleY = -1;
};
this.x = posX;
this.y = (posY - 20);
this.help.caption.text = caption;
Fonts.applyDefaultFont(help.caption);
Tweener.addTween(this, {alpha:1, time:0.5});
if (autoHide){
alpha = 1;
help.okBtn.visible = false;
lock.visible = false;
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:0, time:1, delay:2, onComplete:function ():void{
this.visible = false;
}});
} else {
GameController.instance.pause();
};
}
private function out(event:MouseEvent):void{
help.okBtn.gotoAndStop(1);
}
}
}//package ui
Section 400
//BottomPanel (ui.BottomPanel)
package ui {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.counters.*;
import flash.utils.*;
import game.*;
import market.road.*;
import pets.*;
import flash.media.*;
import org.flintparticles.twoD.emitters.*;
import utils.*;
import org.flintparticles.twoD.renderers.*;
import org.flintparticles.twoD.actions.*;
import org.flintparticles.twoD.initializers.*;
import org.flintparticles.common.energyEasing.*;
import org.flintparticles.common.displayObjects.*;
import com.melesta.utils.time.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class BottomPanel extends BottomPanelTemplate {
public var firstShow:Boolean;// = true
public var assotiationList:Array;
public var state:String;// = "normal"
private var _silverTime:Number;
private var levelTimer:Timer;
private var _goldTime:Number;
private var emitter:Emitter2D;
public var firstLevel:Boolean;// = true
private var gameController:GameController;
private var _time:Number;// = 0
public static var effectContainer:DisplayObjectContainer;
public static var instance:BottomPanel;
public function BottomPanel(){
assotiationList = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
super();
gameController = GameController.instance;
gameController.addEventListener(GameController.PAUSE_GAME, pause, false, 0, true);
gameController.addEventListener(GameController.RESUME_GAME, resume, false, 0, true);
gameController.addEventListener(GameController.LEVEL_COMPLETED, hideItems, false, 0, true);
this.y = 431;
this.x = 0;
instance = this;
levelTimer = new Timer(1000);
levelTimer.addEventListener(TimerEvent.TIMER, updateTime, false, 0, true);
aim_btn.addEventListener(MouseEvent.CLICK, showPurposes, false, 0, true);
hideItems();
emitter = new Emitter2D();
menuBtn.addEventListener(MouseEvent.CLICK, showMenu, false, 0, true);
menuBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
menuBtn.caption.text = Config.currentLanguage.menu;
Fonts.applyDefaultFont(menuBtn.caption);
menuBtn.caption.mouseEnabled = false;
this.y = 480;
}
public function showMenu(event:MouseEvent=null):void{
BlockTooltip.instance.hide();
SimpleTooltip.instance.hide();
WaterTooltip.instance.hide();
Tooltip.instance.hide();
GameMenu.instance.show();
var transform:SoundTransform = new SoundTransform();
transform.volume = 0.2;
SoundManager.play("ui_button_click", 0, transform);
}
public function update():void{
var actual:Number;
var requried:Number;
LevelStatistics.goals[11] = Road.currentMoney;
var i:int;
while (i < assotiationList.length) {
if (assotiationList[i] != 0){
assotiationList[i].actual.text = String(LevelStatistics.goals[i]);
Fonts.applyDefaultFont(assotiationList[i].actual);
actual = Number(assotiationList[i].actual.text);
requried = Number(assotiationList[i].required.text);
if (actual < requried){
assotiationList[i].required.visible = (assotiationList[i].actual.visible = true);
assotiationList[i].tick.visible = false;
};
if ((((actual > 0)) && ((actual == requried)))){
if (!assotiationList[i].tick.visible){
assotiationList[i].required.visible = (assotiationList[i].actual.visible = false);
assotiationList[i].tick.visible = true;
emitter.start();
SoundManager.play("fanfare_aim", 1);
};
};
};
i++;
};
}
public function startTime():void{
levelTimer.start();
}
private function btnOver(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("ui_button_hover");
}
public function init():void{
var type:Array;
hideItems();
_time = 0;
updateTime();
lenta.visible = true;
lenta.gotoAndStop(1);
_goldTime = Number(LevelBuilder.currentLevelXML.@GoldTime);
_silverTime = Number(LevelBuilder.currentLevelXML.@SilverTime);
lenta.time_txt.text = TimeDecoder.decodeTime(_goldTime);
Fonts.applyDefaultFont(lenta.time_txt);
var purposes:Array = LevelStatistics.purposes;
var i:int;
while (i < purposes.length) {
type = purposes[i].split(",");
this[("item" + i)].actual.text = "0";
Fonts.applyDefaultFont(this[("item" + i)].actual);
this[("item" + i)].mouseEnabled = (this[("item" + i)].mouseChildren = false);
this[("item" + i)].visible = true;
this[("item" + i)]._type = type[0];
assotiationList[ProductTypes.typeToNumber(type[0])] = this[("item" + i)];
this[("item" + i)].required.text = type[1];
Fonts.applyDefaultFont(this[("item" + i)].required);
this[("item" + i)].body.gotoAndStop(type[0]);
i++;
};
this.y = 480;
}
public function hideItems(event:Event=null):void{
levelTimer.stop();
_time = 0;
state = "normal";
time_txt.text = TimeDecoder.decodeTime(_time);
Fonts.applyDefaultFont(time_txt);
assotiationList = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
var i:int;
while (i < 4) {
this[("item" + i)].visible = false;
this[("item" + i)].actual.visible = true;
this[("item" + i)].required.visible = true;
this[("item" + i)].actual.text = "0";
Fonts.applyDefaultFont(this[("item" + i)].actual);
this[("item" + i)].required.text = "0";
Fonts.applyDefaultFont(this[("item" + i)].required);
this[("item" + i)].tick.visible = false;
i++;
};
}
public function animate():void{
this.y = 480;
Tweener.addTween(this, {y:430, time:0.3});
}
public function resume(event:Event=null):void{
levelTimer.start();
}
private function updateTime(event:TimerEvent=null):void{
_time++;
if (_time > 30){
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
Tooltip.instance.show(510, 400, "GOALS", 1, "GOALS");
};
};
if (_time > 10){
if (((firstLevel) && (!(Config.skiped)))){
firstLevel = false;
BlockTooltip.instance.show(Penguin.penguinList[0].x, Penguin.penguinList[0].y, Config.currentLanguage.tooltips.feed);
};
};
time_txt.text = TimeDecoder.decodeTime(_time);
Fonts.applyDefaultFont(time_txt);
if (_time > _silverTime){
lenta.visible = false;
state = "normal";
};
if (_time < _silverTime){
lenta.visible = true;
lenta.gotoAndStop(2);
state = "silver";
lenta.time_txt.text = TimeDecoder.decodeTime(_silverTime);
Fonts.applyDefaultFont(lenta.time_txt);
};
if (_time < _goldTime){
lenta.visible = true;
state = "gold";
lenta.gotoAndStop(1);
lenta.time_txt.text = TimeDecoder.decodeTime(_goldTime);
Fonts.applyDefaultFont(lenta.time_txt);
};
}
private function showPurposes(event:MouseEvent=null):void{
gameController.pause();
PurposesWindow.instance.show();
SoundManager.play("ui_button_click");
Tooltip.instance.hide();
BlockTooltip.instance.hide();
Tooltip.instance.hide();
WaterTooltip.instance.hide();
}
public function createEffect():void{
emitter.counter = new Blast(500);
emitter.addInitializer(new SharedImage(new Star(7)));
emitter.addInitializer(new ColorInit(4294967040, 4294927872));
emitter.addInitializer(new Velocity(new DiscSectorZone(new Point(-100, -200), 500, 0, -90, -91)));
emitter.addInitializer(new Lifetime(1));
emitter.addAction(new Age(Quadratic.easeIn));
emitter.addAction(new Move());
emitter.addAction(new Fade());
emitter.addAction(new Accelerate(-200, 1200));
var renderer:BitmapRenderer = new BitmapRenderer(new Rectangle(0, 0, 570, 430));
renderer.addEmitter(emitter);
effectContainer.addChild(renderer);
emitter.x = 530;
emitter.y = 410;
}
public function pause(event:Event=null):void{
levelTimer.stop();
}
}
}//package ui
Section 401
//BottomPanelTemplate (ui.BottomPanelTemplate)
package ui {
import flash.display.*;
import flash.text.*;
public dynamic class BottomPanelTemplate extends MovieClip {
public var time_txt:TextField;
public var aim_btn:MovieClip;
public var lenta:MovieClip;
public var item2:MovieClip;
public var item3:MovieClip;
public var menuBtn:MovieClip;
public var item0:MovieClip;
public var item1:MovieClip;
public function BottomPanelTemplate(){
super();
}
}
}//package ui
Section 402
//EndScreen (ui.EndScreen)
package ui {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class EndScreen extends EndScreenTemplate {
public var showed:Boolean;// = false
public static var instance:EndScreen;
public function EndScreen(stageInstance:DisplayObjectContainer){
super();
instance = this;
stageInstance.addChild(this);
this.visible = false;
exitBtn.caption.text = Config.currentLanguage.main_menu;
Fonts.applyDefaultFont(exitBtn.caption);
caption.htmlText = Config.currentLanguage.game_over;
buyBtn.stop();
exitBtn.addEventListener(MouseEvent.CLICK, exit, false, 0, true);
exitBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
buyBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
sendScoreBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
sendScoreBtn.visible = false;
buyBtn.visible = false;
if (Config.downloadable){
buyBtn.addEventListener(MouseEvent.CLICK, buy, false, 0, true);
buyBtn.caption.htmlText = Config.currentLanguage.download_full_version;
buyBtn.visible = true;
};
if ((((Farm2.portal == "mochi")) || ((Farm2.portal == "gamejacket")))){
buyBtn.visible = false;
sendScoreBtn.visible = true;
sendScoreBtn.caption.text = Config.currentLanguage.send_score;
Fonts.applyDefaultFont(sendScoreBtn.caption);
sendScoreBtn.addEventListener(MouseEvent.CLICK, sendMochiScore, false, 0, true);
};
if (Farm2.portal == "kongregate"){
buyBtn.visible = false;
sendScoreBtn.visible = true;
sendScoreBtn.caption.text = Config.currentLanguage.send_score;
Fonts.applyDefaultFont(sendScoreBtn.caption);
sendScoreBtn.addEventListener(MouseEvent.CLICK, sendMochiScore, false, 0, true);
};
if (Farm2.portal == "rambler"){
buyBtn.visible = false;
sendScoreBtn.visible = true;
sendScoreBtn.caption.text = Config.currentLanguage.send_score;
Fonts.applyDefaultFont(sendScoreBtn.caption);
sendScoreBtn.addEventListener(MouseEvent.CLICK, sendRamblerScore, false, 0, true);
};
}
private function btnOver(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("ui_button_hover");
}
private function sendRamblerScore(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.1, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
Farm2.instance.sendRamblerScore(ResultsWindow.bankNum);
//unresolved jump
var _slot1 = error;
}
private function sendKongregateScore(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.1, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
StartScreen.instance.submitKongregateScore(ResultsWindow.bankNum);
//unresolved jump
var _slot1 = error;
}
private function buy(event:MouseEvent=null):void{
var request:URLRequest = new URLRequest(Config.downloadLink);
navigateToURL(request, Config.target);
}
public function show():void{
if (Farm2.portal == "kongregate"){
StartScreen.kongregate.stats.submit("finish", 1);
};
showed = true;
this.alpha = 0;
this.visible = true;
Tweener.addTween(this, {alpha:1, time:0.2, transition:"linear"});
}
private function exit(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
StartScreen.instance.show();
Tweener.addTween(this, {alpha:0, time:0.1, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
}
private function sendMochiScore(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.1, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
Leaderboard.instance.sendScore();
}
}
}//package ui
Section 403
//FarmPreloader (ui.FarmPreloader)
package ui {
import flash.events.*;
import caurina.transitions.*;
import flash.display.*;
public dynamic class FarmPreloader extends PreloaderTemplate {
public static var instance:FarmPreloader;
public static var externalLogo:Sprite;
public function FarmPreloader(){
super();
instance = this;
this.rambler.visible = false;
if (Farm2.portal != "vkontakte"){
alawar.addEventListener(MouseEvent.CLICK, gotoAlawar, false, 0, true);
alawar.buttonMode = true;
};
}
public function hide():void{
Tweener.addTween(this, {alpha:0, time:0, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
}
private function gotoAlawar(event:MouseEvent=null):void{
}
}
}//package ui
Section 404
//FArrow (ui.FArrow)
package ui {
import flash.display.*;
import caurina.transitions.*;
public class FArrow extends ArrowTemplate {
public static var container:DisplayObjectContainer;
public static var instance:FArrow;
public function FArrow(cont:DisplayObjectContainer){
container = cont;
super();
instance = this;
container.addChild(this);
this.hide();
this.visible = false;
this.mouseChildren = (this.mouseEnabled = false);
}
public function hide():void{
this.visible = false;
}
public function show(xpos:Number, ypos:Number, endless:Boolean=false):void{
this.visible = true;
this.alpha = 1;
this.x = xpos;
this.y = ypos;
if (!endless){
Tweener.addTween(this, {alpha:0, delay:1, time:1, transition:"linear", onComplete:hide});
};
}
}
}//package ui
Section 405
//GameMenu (ui.GameMenu)
package ui {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import map.*;
import game.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class GameMenu extends GameMenuTemplate {
public static var instance:GameMenu;
public function GameMenu(stageInstance:DisplayObjectContainer){
super();
instance = this;
stageInstance.addChild(this);
this.visible = false;
resumeBtn.addEventListener(MouseEvent.CLICK, resumeGame, false, 0, true);
resumeBtn.caption.text = Config.currentLanguage.resume;
Fonts.applyDefaultFont(resumeBtn.caption);
mapBtn.addEventListener(MouseEvent.CLICK, showMap, false, 0, true);
mapBtn.caption.text = Config.currentLanguage.map;
Fonts.applyDefaultFont(mapBtn.caption);
restartBtn.addEventListener(MouseEvent.CLICK, restart, false, 0, true);
restartBtn.caption.text = Config.currentLanguage.restart;
Fonts.applyDefaultFont(restartBtn.caption);
buyBtn.visible = false;
if (Config.downloadable){
buyBtn.addEventListener(MouseEvent.CLICK, buy, false, 0, true);
buyBtn.caption.text = Config.currentLanguage.download;
Fonts.applyDefaultFont(buyBtn.caption);
buyBtn.visible = true;
};
exitBtn.caption.text = Config.currentLanguage.exit_to_menu;
Fonts.applyDefaultFont(exitBtn.caption);
exitBtn.addEventListener(MouseEvent.CLICK, exit, false, 0, true);
exitBtn.visible = true;
}
private function buy(event:MouseEvent=null):void{
var request:URLRequest = new URLRequest(Config.downloadLink);
navigateToURL(request, Config.target);
}
private function showMap(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.1, y:-100, onComplete:function ():void{
this.visible = false;
MapWindow.instance.show();
GameController.instance.levelCompleted();
}});
}
private function resumeGame(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.1, y:-100, onComplete:function ():void{
this.visible = false;
GameController.instance.resume();
}});
}
public function show():void{
GameController.instance.pause();
this.alpha = 0;
this.visible = true;
this.y = -100;
Tweener.addTween(this, {alpha:1, time:0.3});
Tweener.addTween(this, {time:0.3, y:0, transition:"easeOutBack"});
SoundManager.play("ui_panel_showing");
}
private function exit(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.1, y:-100, onComplete:function ():void{
this.visible = false;
QuitDialog.instance.show();
}});
}
private function restart(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.1, y:-100, onComplete:function ():void{
this.visible = false;
GameController.instance.levelCompleted();
LevelBuilder.instance.createLevel(LevelBuilder.currentLevel);
}});
}
}
}//package ui
Section 406
//GameMenuTemplate (ui.GameMenuTemplate)
package ui {
import flash.display.*;
public dynamic class GameMenuTemplate extends MovieClip {
public var exitBtn:MovieClip;
public var mapBtn:MovieClip;
public var restartBtn:MovieClip;
public var resumeBtn:MovieClip;
public var buyBtn:MovieClip;
public function GameMenuTemplate(){
super();
}
}
}//package ui
Section 407
//GoalsTemplate (ui.GoalsTemplate)
package ui {
import flash.display.*;
import flash.text.*;
public dynamic class GoalsTemplate extends MovieClip {
public var for_completing:TextField;
public var silverMoney_txt:TextField;
public var silverTime_txt:TextField;
public var collect:TextField;
public var title:TextField;
public var money_txt:TextField;
public var item2:MovieClip;
public var item0:MovieClip;
public var item3:MovieClip;
public var goldTime_txt:TextField;
public var item1:MovieClip;
public var okBtn:MovieClip;
public var goldMoney_txt:TextField;
public function GoalsTemplate(){
super();
}
}
}//package ui
Section 408
//GoalsWindow (ui.GoalsWindow)
package ui {
import flash.events.*;
import flash.display.*;
import game.*;
import utils.*;
import com.melesta.utils.time.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class GoalsWindow extends GoalsTemplate {
public static var instance:GoalsWindow;
public function GoalsWindow(stageInstance:DisplayObjectContainer){
instance = this;
super();
stageInstance.addChild(this);
this.visible = false;
okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
title.text = Config.currentLanguage.goals;
Fonts.applyDefaultFont(title);
collect.text = Config.currentLanguage.collect;
Fonts.applyDefaultFont(collect);
for_completing.text = Config.currentLanguage.for_completing;
Fonts.applyDefaultFont(for_completing);
hideItems();
}
public function hide(event:MouseEvent=null):void{
var event = event;
okBtn.removeEventListener(MouseEvent.CLICK, hide);
GameController.instance.resume();
SoundManager.play("ui_button_click");
LevelBuilder.instance.addHouses();
Tweener.addTween(this, {alpha:0, time:0.3, y:-100, onComplete:function ():void{
this.visible = false;
}});
}
public function show():void{
var type:Array;
okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
this.visible = true;
this.alpha = 0;
y = -100;
Tweener.addTween(this, {alpha:1, time:0.2});
Tweener.addTween(this, {time:0.3, y:0, transition:"easeOutBack"});
hideItems();
var purposes:Array = LevelStatistics.purposes;
var i:int;
while (i < purposes.length) {
type = purposes[i].split(",");
this[("item" + i)].visible = true;
this[("item" + i)].count.text = type[1];
Fonts.applyDefaultFont(this[("item" + i)].count);
this[("item" + i)].body.gotoAndStop(type[0]);
i++;
};
GameController.instance.pause();
money_txt.text = LevelBuilder.currentLevelXML.@Prize;
Fonts.applyDefaultFont(money_txt);
goldMoney_txt.text = ("+" + LevelBuilder.currentLevelXML.@GoldPrize);
Fonts.applyDefaultFont(goldMoney_txt);
silverMoney_txt.text = ("+" + LevelBuilder.currentLevelXML.@SilverPrize);
Fonts.applyDefaultFont(silverMoney_txt);
goldTime_txt.text = TimeDecoder.decodeTime(Number(LevelBuilder.currentLevelXML.@GoldTime));
Fonts.applyDefaultFont(goldTime_txt);
silverTime_txt.text = TimeDecoder.decodeTime(Number(LevelBuilder.currentLevelXML.@SilverTime));
Fonts.applyDefaultFont(silverTime_txt);
}
public function hideItems():void{
var i:int;
while (i < 4) {
this[("item" + i)].visible = false;
i++;
};
}
}
}//package ui
Section 409
//InstallWindow (ui.InstallWindow)
package ui {
public class InstallWindow extends InstallWindowTemplate {
public function InstallWindow(){
super();
}
}
}//package ui
Section 410
//Leaderboard (ui.Leaderboard)
package ui {
import flash.display.*;
import utils.*;
import mochi.as3.*;
import caurina.transitions.*;
public dynamic class Leaderboard extends MovieClip {
public static var instance:Leaderboard;
public function Leaderboard(){
super();
this.visible = false;
instance = this;
var bd:BitmapData = new BitmapData(570, 430, true, 1879048192);
var bg:Sprite = new Sprite();
bg.addChild(new Bitmap(bd));
addChild(bg);
}
public function close():void{
this.visible = false;
this.alpha = 0;
}
public function sendScore():void{
this.visible = true;
this.alpha = 0;
Tweener.addTween(this, {alpha:1, time:0.5});
MochiServices.connect(Farm2.mochiads_game_id, this);
MochiScores.showLeaderboard({boardID:Farm2.mochi_Leaderboard, score:ResultsWindow.bankNum, name:Config.playerName, res:"570x430", onClose:close, onError:close});
//unresolved jump
var _slot1 = e;
close();
}
public function showInterLeveleAd():void{
MochiServices.connect(Farm2.mochiads_game_id, this);
}
public function show():void{
this.visible = true;
this.alpha = 0;
Tweener.addTween(this, {alpha:1, time:0.5});
MochiServices.connect(Farm2.mochiads_game_id, this);
MochiScores.showLeaderboard({boardID:Farm2.mochi_Leaderboard, res:"570x430", onClose:close, onError:close});
//unresolved jump
var _slot1 = e;
close();
}
public function sendCurrentScore():void{
MochiServices.connect(Farm2.mochiads_game_id, this);
MochiScores.submit(ResultsWindow.bankNum, Config.playerName);
//unresolved jump
var _slot1 = e;
close();
}
}
}//package ui
Section 411
//MapTooltip (ui.MapTooltip)
package ui {
import utils.*;
import caurina.transitions.*;
public class MapTooltip extends MapTooltipTempalte {
public static var instance:MapTooltip;
public function MapTooltip(){
super();
instance = this;
visible = false;
alpha = 0;
this.mouseChildren = false;
this.mouseEnabled = false;
}
public function hide():void{
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:0, time:0, onComplete:function ():void{
this.visible = false;
this.body.scaleX = 1;
this.body.scaleY = 1;
}});
}
public function show(posX:Number, posY:Number, level:Number):void{
this.visible = false;
this.body.scaleX = 1;
this.body.scaleY = 1;
visible = true;
this.alpha = 0;
this.x = (posX + 5);
this.y = posY;
this.caption.x = 38;
this.caption.y = 42;
if (posX > 300){
this.body.scaleX = -1;
this.caption.x = -206;
};
if (posY > 200){
this.caption.y = -94;
this.body.scaleY = -1;
};
this.caption.text = Config.currentLanguage.levels.level[(level - 1)];
Fonts.applyDefaultFont(caption);
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:1, time:0.7, delay:1});
}
public function showHelp(posX:Number, posY:Number, caption:String):void{
this.visible = false;
this.body.scaleX = 1;
this.body.scaleY = 1;
visible = true;
this.alpha = 0;
this.x = (posX + 5);
this.y = posY;
this.caption.x = 38;
this.caption.y = 42;
if (posX > 300){
this.body.scaleX = -1;
this.caption.x = -206;
};
if (posY > 200){
this.caption.y = -94;
this.body.scaleY = -1;
};
this.caption.text = caption;
Fonts.applyDefaultFont(this.caption);
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:1, time:0.7});
}
}
}//package ui
Section 412
//PetShop (ui.PetShop)
package ui {
import flash.display.*;
public class PetShop extends PetShopTemplate {
public static var instance:PetShop;
public static var kingButton:ShopButton;
public static var penguinButton:ShopButton;
public function PetShop(){
super();
instance = this;
penguinButton = new ShopButton((getChildByName("penguin") as MovieClip), "GUINEA_FOWL", 100);
kingButton = new ShopButton((getChildByName("king_penguin") as MovieClip), "OSTRICH", 1000);
}
public function update():void{
penguinButton.updateView();
kingButton.updateView();
}
public function getHelp():void{
penguinButton.getHelp();
kingButton.getHelp();
}
}
}//package ui
Section 413
//PetShopTemplate (ui.PetShopTemplate)
package ui {
import flash.display.*;
public dynamic class PetShopTemplate extends MovieClip {
public var penguin:MovieClip;
public var king_penguin:MovieClip;
public function PetShopTemplate(){
super();
}
}
}//package ui
Section 414
//PurposesWindow (ui.PurposesWindow)
package ui {
import flash.events.*;
import flash.display.*;
import game.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class PurposesWindow extends PurposesWindowTemplate {
public static var instance:PurposesWindow;
public function PurposesWindow(stageInstance:DisplayObjectContainer){
instance = this;
super();
stageInstance.addChild(this);
this.visible = false;
okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
}
public function hide(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.3, y:-100, onComplete:function ():void{
this.visible = false;
}});
GameController.instance.resume();
}
public function show():void{
var type:Array;
FArrow.instance.hide();
title.text = Config.currentLanguage.goals;
Fonts.applyDefaultFont(title);
var j:int;
while (j < 4) {
this[("item" + j)].visible = false;
this[("item" + j)].type_txt.text = "";
Fonts.applyDefaultFont(this[("item" + j)].type_txt);
this[("item" + j)].count_txt.text = "";
Fonts.applyDefaultFont(this[("item" + j)].count_txt);
j++;
};
this.visible = true;
this.alpha = 0;
y = -100;
Tweener.addTween(this, {alpha:1, time:0.3});
Tweener.addTween(this, {time:0.3, y:0, transition:"easeOutBack"});
SoundManager.play("ui_panel_showing");
var purposes:Array = LevelStatistics.purposes;
var i:int;
while (i < purposes.length) {
type = purposes[i].split(",");
this[("item" + i)].tick.visible = false;
this[("item" + i)].count_txt.visible = true;
this[("item" + i)].visible = true;
this[("item" + i)].type_txt.text = ProductTypes.translate(type[0]);
Fonts.applyDefaultFont(this[("item" + i)].type_txt);
this[("item" + i)].count_txt.text = ((LevelStatistics.goals[ProductTypes.typeToNumber(type[0])] + "/") + type[1]);
Fonts.applyDefaultFont(this[("item" + i)].count_txt);
this[("item" + i)].body.gotoAndStop(type[0]);
if (Number(LevelStatistics.goals[ProductTypes.typeToNumber(type[0])]) >= Number(type[1])){
this[("item" + i)].tick.visible = true;
this[("item" + i)].count_txt.visible = false;
};
i++;
};
}
}
}//package ui
Section 415
//PurposesWindowTemplate (ui.PurposesWindowTemplate)
package ui {
import flash.display.*;
import flash.text.*;
public dynamic class PurposesWindowTemplate extends MovieClip {
public var title:TextField;
public var item2:MovieClip;
public var item0:MovieClip;
public var item3:MovieClip;
public var item1:MovieClip;
public var okBtn:MovieClip;
public function PurposesWindowTemplate(){
super();
}
}
}//package ui
Section 416
//QuitDialog (ui.QuitDialog)
package ui {
import flash.events.*;
import game.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class QuitDialog extends QuitDialogTemplate {
public static var instance:QuitDialog;
public function QuitDialog(){
super();
instance = this;
yesBtn.addEventListener(MouseEvent.CLICK, exit, false, 0, true);
noBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
this.alpha = 0;
this.visible = false;
yesBtn.caption.text = Config.currentLanguage.yes;
Fonts.applyDefaultFont(yesBtn.caption);
noBtn.caption.mouseEnabled = false;
yesBtn.caption.mouseEnabled = false;
noBtn.caption.text = Config.currentLanguage.no;
Fonts.applyDefaultFont(noBtn.caption);
caption.text = Config.currentLanguage.quit_current_game;
Fonts.applyDefaultFont(caption);
yesBtn.addEventListener(MouseEvent.MOUSE_OVER, yesOver, false, 0, true);
noBtn.addEventListener(MouseEvent.MOUSE_OVER, noOver, false, 0, true);
}
private function yesOver(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("ui_button_hover");
}
public function hide(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.2, transition:"easeInBack", y:-100, onComplete:function ():void{
this.visible = false;
GameController.instance.resume();
}});
}
private function noOver(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("ui_button_hover");
}
public function show():void{
this.visible = true;
this.alpha = 0;
y = -100;
Tweener.addTween(this, {alpha:1, time:0.2});
Tweener.addTween(this, {time:0.3, y:0, transition:"easeOutBack"});
SoundManager.play("ui_panel_showing");
}
private function exit(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.2, transition:"easeInBack", y:-100, onComplete:function ():void{
this.visible = false;
GameController.instance.levelCompleted();
StartScreen.instance.show();
}});
}
}
}//package ui
Section 417
//QuitMenu (ui.QuitMenu)
package ui {
import flash.events.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
import flash.external.*;
public class QuitMenu extends QuitMenuTemplate {
public static var instance:QuitMenu;
public function QuitMenu(){
super();
instance = this;
yesBtn.addEventListener(MouseEvent.CLICK, exit, false, 0, true);
noBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
this.alpha = 0;
this.visible = false;
yesBtn.caption.text = Config.currentLanguage.yes;
Fonts.applyDefaultFont(yesBtn.caption);
noBtn.caption.text = Config.currentLanguage.no;
Fonts.applyDefaultFont(noBtn.caption);
caption.text = Config.currentLanguage.quit;
Fonts.applyDefaultFont(caption);
yesBtn.addEventListener(MouseEvent.MOUSE_OVER, yesOver, false, 0, true);
noBtn.addEventListener(MouseEvent.MOUSE_OVER, noOver, false, 0, true);
yesBtn.addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
noBtn.addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
}
public function hide(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
Tweener.addTween(this, {alpha:0, time:0.2, onComplete:function ():void{
this.visible = false;
}});
}
private function noOver(event:MouseEvent=null):void{
event.stopPropagation();
pig.gotoAndStop(2);
SoundManager.play("ui_button_hover");
}
private function exit(event:MouseEvent=null):void{
ExternalInterface.call(Config.closeFunction, "close");
}
private function yesOver(event:MouseEvent=null):void{
event.stopPropagation();
pig.gotoAndStop(3);
SoundManager.play("ui_button_hover");
}
public function show():void{
this.visible = true;
Tweener.addTween(this, {alpha:1, time:0.2});
}
private function out(event:MouseEvent=null):void{
event.stopPropagation();
pig.gotoAndStop(1);
}
}
}//package ui
Section 418
//ResultsWindow (ui.ResultsWindow)
package ui {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.counters.*;
import flash.utils.*;
import shop.*;
import map.*;
import game.*;
import market.road.*;
import org.flintparticles.twoD.emitters.*;
import utils.*;
import org.flintparticles.twoD.renderers.*;
import org.flintparticles.twoD.actions.*;
import org.flintparticles.twoD.initializers.*;
import org.flintparticles.common.energyEasing.*;
import org.flintparticles.common.displayObjects.*;
import com.melesta.sound.*;
import caurina.transitions.*;
import vkontakte.*;
public class ResultsWindow extends ResultsWindowTemplate {
private var emitter:Emitter2D;
private var currentScore:Number;// = 0
private var deltaScore:Number;// = 0
private var addScoreTimer:Timer;
private var prewScore:Number;// = 0
public static var effectContainer:DisplayObjectContainer;
public static var bankNum:Number = 0;
public static var instance:ResultsWindow;
public function ResultsWindow(stageInstance:DisplayObjectContainer){
super();
instance = this;
stageInstance.addChild(this);
okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
this.visible = false;
emitter = new Emitter2D();
effectContainer = stageInstance;
addScoreTimer = new Timer(10);
addScoreTimer.addEventListener(TimerEvent.TIMER, incrementScore, false, 0, true);
coins_txt.text = Config.currentLanguage.coins;
Fonts.applyDefaultFont(coins_txt);
bank_txt.text = Config.currentLanguage.bank;
Fonts.applyDefaultFont(bank_txt);
time_txt.text = Config.currentLanguage.time;
Fonts.applyDefaultFont(time_txt);
bonus_txt.text = Config.currentLanguage.bonus;
Fonts.applyDefaultFont(bonus_txt);
createEffect();
currentScore = Config.stars;
bankNum = Config.score;
}
public function hide(event:MouseEvent=null):void{
var event = event;
Tweener.addTween(this, {alpha:0, time:0.4, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
GameController.instance.levelCompleted();
MapWindow.instance.show();
bonus.text = String(currentScore);
Fonts.applyDefaultFont(bonus);
addScoreTimer.stop();
this.cup.visible = false;
}
private function incrementScore(event:TimerEvent):void{
if (prewScore < currentScore){
prewScore = (prewScore + deltaScore);
bonus.text = String(prewScore);
Fonts.applyDefaultFont(bonus);
SoundManager.play("tick_time");
} else {
prewScore = currentScore;
emitter.start();
addScoreTimer.stop();
};
}
public function createEffect():void{
emitter.counter = new Blast(500);
emitter.addInitializer(new SharedImage(new Star(7)));
emitter.addInitializer(new ColorInit(4294967040, 4294927872));
emitter.addInitializer(new Velocity(new DiscSectorZone(new Point(-100, -200), 500, 0, -90, -91)));
emitter.addInitializer(new Lifetime(0.5));
emitter.addAction(new Age(Quadratic.easeIn));
emitter.addAction(new Move());
emitter.addAction(new Fade());
emitter.addAction(new Accelerate(0, 3000));
var renderer:BitmapRenderer = new BitmapRenderer(new Rectangle(0, 0, 570, 430));
renderer.addEmitter(emitter);
effectContainer.addChild(renderer);
emitter.x = 400;
emitter.y = 200;
}
public function addScore(value:Number):void{
prewScore = currentScore;
currentScore = value;
deltaScore = Math.round(((currentScore - prewScore) / 10));
}
public function show():void{
var addBonus:Number;
BlockTooltip.instance.hide();
Tooltip.instance.hide();
WaterTooltip.instance.hide();
prewScore = 0;
currentScore = 0;
deltaScore = 0;
GameController.instance.pause();
FArrow.instance.hide();
if ((((LevelBuilder.currentLevel >= LevelBuilder.maxLevel)) && ((LevelBuilder.currentLevel < 20)))){
LevelBuilder.maxLevel = (LevelBuilder.currentLevel + 1);
};
title.text = Config.currentLanguage.level_results;
Fonts.applyDefaultFont(title);
bankNum = (bankNum + Road.currentMoney);
MapNode.nodeList[(LevelBuilder.currentLevel - 1)].state = BottomPanel.instance.state;
Config.nodes[(LevelBuilder.currentLevel - 1)] = BottomPanel.instance.state;
coins.text = LevelBuilder.currentLevelXML.@Prize;
Fonts.applyDefaultFont(coins);
addBonus = 0;
if (BottomPanel.instance.state == "gold"){
addBonus = Number(LevelBuilder.currentLevelXML.@GoldPrize);
cup.gotoAndStop(1);
cup.visible = true;
addScore(addBonus);
};
if (BottomPanel.instance.state == "silver"){
addBonus = Number(LevelBuilder.currentLevelXML.@SilverPrize);
cup.gotoAndStop(2);
cup.visible = true;
addScore(addBonus);
};
if (BottomPanel.instance.state == "normal"){
bonus.text = "0";
Fonts.applyDefaultFont(bonus);
cup.visible = false;
};
Config.stars = (Config.stars + (addBonus + Number(LevelBuilder.currentLevelXML.@Prize)));
bank.text = String(bankNum);
Fonts.applyDefaultFont(bank);
if (Farm2.mail_ru_connection){
Farm2.mail_ru_connection.send(Farm2.connection_name, "cacheResult", bankNum);
//unresolved jump
var _slot1 = e;
};
if (Farm2.portal == "rambler"){
Farm2.instance.sendRamblerScore(bankNum);
//unresolved jump
var _slot1 = error;
};
if (Farm2.portal == "kongregate"){
StartScreen.instance.submitKongregateScore(bankNum);
};
if (Farm2.portal == "vkontakte"){
DataProvider.sendMyScore(bankNum);
DataProvider.sendScore(bankNum);
};
if (Farm2.portal == "facebook"){
DataProvider.sendFBScore(bankNum);
};
time.text = BottomPanel.instance.time_txt.text;
Fonts.applyDefaultFont(time);
this.visible = true;
this.alpha = 0;
SoundManager.play("fanfare_level_complete", 1);
Tweener.addTween(this, {alpha:1, time:0.5, transition:"linear", delay:0.5, onComplete:function ():void{
if (addBonus > 0){
addScoreTimer.start();
};
}});
ShopWindow.instance.stars = Config.stars;
Config.score = bankNum;
Config.level = LevelBuilder.maxLevel;
Config.updateSharedObject();
}
}
}//package ui
Section 419
//ResultsWindowTemplate (ui.ResultsWindowTemplate)
package ui {
import flash.display.*;
import flash.text.*;
public dynamic class ResultsWindowTemplate extends MovieClip {
public var time_txt:TextField;
public var coins:TextField;
public var bonus:TextField;
public var bank:TextField;
public var cup:MovieClip;
public var bonus_txt:TextField;
public var title:TextField;
public var coins_txt:TextField;
public var time:TextField;
public var okBtn:MovieClip;
public var bank_txt:TextField;
public function ResultsWindowTemplate(){
super();
}
}
}//package ui
Section 420
//ShopArrow (ui.ShopArrow)
package ui {
public class ShopArrow extends ArrowTemplate {
public function ShopArrow(){
super();
this.mouseChildren = (this.mouseEnabled = false);
}
}
}//package ui
Section 421
//ShopButton (ui.ShopButton)
package ui {
import flash.events.*;
import flash.display.*;
import market.road.*;
import pets.*;
import utils.*;
public class ShopButton extends MovieClip {
private var _cost:Number;// = 0
public var type:String;
private var _helpShowed:Boolean;// = false
private var _icon:MovieClip;
public static var ADD_PET:String = "add_pet";
public function ShopButton(icon:MovieClip, t:String, cost:Number){
super();
_cost = cost;
type = t;
_icon = icon;
_icon.addEventListener(MouseEvent.CLICK, addPet, false, 0, true);
}
private function down(event:MouseEvent=null):void{
event.stopPropagation();
if (_icon.active){
this._icon.gotoAndStop("press");
};
}
private function out(event:MouseEvent=null):void{
event.stopPropagation();
if (_icon.active){
this._icon.gotoAndStop("active");
};
Tooltip.instance.hide();
}
public function updateView(event:Event=null):void{
if (this._cost <= Road.currentMoney){
this._icon.gotoAndStop("active");
this._icon.active = true;
} else {
this._icon.active = false;
this._icon.gotoAndStop("lock");
};
}
public function getHelp():void{
if (((((!(_helpShowed)) && ((Road.currentMoney >= this._cost)))) && (!(Config.skiped)))){
_helpShowed = true;
BlockTooltip.instance.show((this._icon.x + 15), (this.y + 60), Config.currentLanguage.buy.descendants(type.toLowerCase()));
};
}
private function over(event:MouseEvent=null):void{
event.stopPropagation();
if (_icon.active){
this._icon.gotoAndStop("over");
Tooltip.instance.show((this._icon.x - 10), (this.y + 70), type, 0, type);
};
}
private function addPet(event:MouseEvent=null):void{
if (_icon.active){
event.stopPropagation();
this._icon.gotoAndStop("active");
PetsContainer.instance.addPet(type);
Road.instance.addMoney(-(_cost));
};
}
}
}//package ui
Section 422
//ShopTooltip (ui.ShopTooltip)
package ui {
import utils.*;
import caurina.transitions.*;
public class ShopTooltip extends TooltipTemplate {
public static var instance:ShopTooltip;
public function ShopTooltip(){
super();
instance = this;
visible = false;
alpha = 0;
this.mouseChildren = false;
this.mouseEnabled = false;
}
public function hide():void{
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:0, time:0.2, onComplete:function ():void{
this.visible = false;
this.body.scaleX = 1;
this.body.scaleY = 1;
}});
}
public function show(posX:Number, posY:Number, output:String, upgrade:Number, caption:String=""):void{
this.visible = false;
this.body.scaleX = 1;
this.body.scaleY = 1;
visible = true;
this.alpha = 0;
this.x = posX;
this.y = (this.y - 15);
this.help.x = 130;
this.help.y = 86;
if (posX > 300){
this.body.scaleX = -1;
this.help.x = -140;
this.x = posX;
};
if (posY > 200){
this.help.y = -70;
this.body.scaleY = -1;
};
this.help.gotoAndStop(output);
this.help.inCount.text = (this.help.outCount.text = ("x" + String(upgrade)));
Fonts.applyDefaultFont(help.inCount);
this.help.arrow.visible = true;
this.help.caption.text = caption;
Fonts.applyDefaultFont(help.caption);
switch (output){
case "warehouse":
this.help.gotoAndStop(1);
this.help.outCount.text = (this.help.inCount.text = "");
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
this.help.arrow.visible = false;
break;
case "cage":
this.help.gotoAndStop(1);
this.help.outCount.text = (this.help.inCount.text = "");
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
this.help.arrow.visible = false;
break;
case "car":
this.help.gotoAndStop(1);
this.help.outCount.text = (this.help.inCount.text = "");
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
this.help.arrow.visible = false;
break;
case "plane":
this.help.gotoAndStop(1);
this.help.outCount.text = (this.help.inCount.text = "");
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
this.help.arrow.visible = false;
break;
case "well":
this.help.gotoAndStop(1);
this.help.outCount.text = (this.help.inCount.text = "");
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
this.help.arrow.visible = false;
break;
case "powdered":
this.help.gotoAndStop("DRIED_EGGS");
break;
case "cake":
this.help.gotoAndStop("CAKE");
break;
case "floury_cake":
this.help.gotoAndStop("FLOURY_CAKE");
break;
case "bakery":
this.help.gotoAndStop("CAKE");
break;
case "confectionery":
this.help.gotoAndStop("FLOURY_CAKE");
break;
case "incubator":
this.help.gotoAndStop("INCUBATOR");
break;
default:
break;
};
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:1, time:0.7, delay:0.2});
this.y = (posY - 40);
}
}
}//package ui
Section 423
//SimpleTooltip (ui.SimpleTooltip)
package ui {
import flash.events.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class SimpleTooltip extends SimpleTooltipTemplate {
public static var instance:SimpleTooltip;
public function SimpleTooltip(){
super();
instance = this;
visible = false;
okBtn.caption.text = Config.currentLanguage.ok;
Fonts.applyDefaultFont(okBtn.caption);
okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
okBtn.addEventListener(MouseEvent.MOUSE_DOWN, down, false, 0, true);
}
public function hide(event:MouseEvent=null):void{
this.visible = false;
SoundManager.play("ui_button_click");
}
public function down(event:MouseEvent=null):void{
okBtn.gotoAndStop(3);
}
public function show(caption:String):void{
this.caption.text = caption;
Fonts.applyDefaultFont(this.caption);
this.visible = true;
alpha = 0;
Tweener.addTween(this, {alpha:1, time:0.5});
}
}
}//package ui
Section 424
//SkipEducationDialog (ui.SkipEducationDialog)
package ui {
import flash.events.*;
import map.*;
import game.*;
import utils.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class SkipEducationDialog extends QuitDialogTemplate {
public static var instance:SkipEducationDialog;
public function SkipEducationDialog(){
super();
instance = this;
yesBtn.addEventListener(MouseEvent.CLICK, skip, false, 0, true);
noBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
yesBtn.stop();
noBtn.stop();
this.alpha = 0;
this.visible = false;
yesBtn.caption.text = Config.currentLanguage.yes;
Fonts.applyDefaultFont(yesBtn.caption);
noBtn.caption.mouseEnabled = false;
yesBtn.caption.mouseEnabled = false;
noBtn.caption.text = Config.currentLanguage.no;
Fonts.applyDefaultFont(noBtn.caption);
caption.text = Config.currentLanguage.skip_educational_levels;
Fonts.applyDefaultFont(caption);
yesBtn.addEventListener(MouseEvent.MOUSE_OVER, yesOver, false, 0, true);
noBtn.addEventListener(MouseEvent.MOUSE_OVER, noOver, false, 0, true);
}
private function yesOver(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("ui_button_hover");
}
public function hide(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
MapWindow.instance.startFirstLevel();
Tweener.addTween(this, {alpha:0, time:0.2, onComplete:function ():void{
this.visible = false;
GameController.instance.resume();
}});
}
private function noOver(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("ui_button_hover");
}
public function show():void{
this.visible = true;
Tweener.addTween(this, {alpha:1, time:0.2});
}
private function skip(event:MouseEvent=null):void{
var event = event;
SoundManager.play("ui_button_click");
MapWindow.instance.skipEducation();
Tweener.addTween(this, {alpha:0, time:0.5, transition:"linear", onComplete:function ():void{
this.visible = false;
}});
}
}
}//package ui
Section 425
//StartScreen (ui.StartScreen)
package ui {
import flash.events.*;
import com.kongregate.as3.client.*;
import game.assets.*;
import flash.net.*;
import facebook.ui.*;
import map.*;
import vkontakte.ui.*;
import utils.*;
import com.kongregate.as3.client.events.*;
import com.melesta.sound.*;
import caurina.transitions.*;
import flash.external.*;
import flash.ui.*;
public class StartScreen extends StartScreenTemplate {
private var _firstClick:Boolean;// = false
private var paramObj:Object;
public static var instance:StartScreen;
public static var kongregate:KongregateAPI;
public static var firstShow:Boolean = true;
public function StartScreen(){
paramObj = new Object();
super();
instance = this;
rambler.visible = false;
okBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
this.alpha = 0;
okBtn.stop();
okBtn.caption.text = Config.currentLanguage.start;
Fonts.applyDefaultFont(okBtn.caption);
soundBtn.caption.text = Config.currentLanguage.sounds;
Fonts.applyDefaultFont(soundBtn.caption);
musicBtn.caption.text = Config.currentLanguage.music;
Fonts.applyDefaultFont(musicBtn.caption);
vkontakte_title.visible = false;
if (Config.language == "ru"){
logo.gotoAndStop("ru");
alawar.gotoAndStop("ru");
} else {
logo.gotoAndStop("en");
alawar.gotoAndStop("en");
};
if (FarmPreloader.externalLogo){
logo.visible = false;
FarmPreloader.externalLogo.x = 155;
FarmPreloader.externalLogo.y = 40;
addChild(FarmPreloader.externalLogo);
};
buyBtn.visible = true;
buyBtn.stop();
buyBtn.visible = false;
buyBtn.caption.htmlText = Config.currentLanguage.download_full_version;
if (Config.downloadable){
buyBtn.addEventListener(MouseEvent.CLICK, buy, false, 0, true);
buyBtn.visible = true;
};
buyBtn.caption.mouseEnabled = false;
okBtn.caption.mouseEnabled = false;
exitBtn.caption.mouseEnabled = false;
okBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
buyBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
exitBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
soundBtn.addEventListener(MouseEvent.CLICK, switchSound, false, 0, true);
musicBtn.addEventListener(MouseEvent.CLICK, switchMusic, false, 0, true);
playerPanel.editBtn.addEventListener(MouseEvent.MOUSE_OVER, btnOver, false, 0, true);
soundBtn.mouseChildren = false;
soundBtn.buttonMode = true;
musicBtn.buttonMode = true;
musicBtn.mouseChildren = false;
playerPanel.visible = false;
exitBtn.visible = false;
if ((((Config.closeFunction.length > 0)) && (!((Farm2.portal == "mail.ru"))))){
exitBtn.visible = true;
exitBtn.addEventListener(MouseEvent.CLICK, exit, false, 0, true);
exitBtn.caption.text = Config.currentLanguage.exit;
Fonts.applyDefaultFont(exitBtn.caption);
};
if (Farm2.portal == "mail.ru"){
soundBtn.y = 30;
musicBtn.y = 68;
soundBtn.x = (musicBtn.x = 494);
exitBtn.visible = true;
exitBtn.caption.text = Config.currentLanguage.exit;
Fonts.applyDefaultFont(exitBtn.caption);
exitBtn.addEventListener(MouseEvent.CLICK, exitMailRu, false, 0, true);
};
if ((((((Farm2.portal == "mochi")) || ((Farm2.portal == "kongregate")))) || ((Farm2.portal == "gamejacket")))){
exitBtn.visible = true;
exitBtn.addEventListener(MouseEvent.CLICK, showLeaderboard, false, 0, true);
exitBtn.caption.text = Config.currentLanguage.leaderboard;
Fonts.applyDefaultFont(exitBtn.caption);
playerPanel.visible = true;
playerPanel.welcome.text = Config.currentLanguage.welcome;
Fonts.applyDefaultFont(playerPanel.welcome);
playerPanel.editBtn.caption.text = Config.currentLanguage.change;
Fonts.applyDefaultFont(playerPanel.editBtn.caption);
playerPanel.playerName.mouseEnabled = false;
playerPanel.editBtn.addEventListener(MouseEvent.CLICK, editUsername, false, 0, true);
playerPanel.playerName.background = false;
playerPanel.playerName.border = false;
if (Farm2.portal == "kongregate"){
exitBtn.y = (exitBtn.y - 50);
buyBtn.visible = true;
kongregate = new KongregateAPI();
this.addChild(kongregate);
kongregate.addEventListener(KongregateEvent.COMPLETE, getKongregateUserData);
};
};
if (Farm2.portal == "vkontakte"){
exitBtn.visible = true;
exitBtn.addEventListener(MouseEvent.CLICK, showVLeaderboard, false, 0, true);
exitBtn.caption.text = Config.currentLanguage.leaderboard;
Fonts.applyDefaultFont(exitBtn.caption);
vkontakte_title.visible = true;
buyBtn.caption.htmlText = "Наша группа<br>в Контакте";
buyBtn.addEventListener(MouseEvent.CLICK, gotoGroup, false, 0, true);
buyBtn.visible = true;
};
if (Farm2.portal == "facebook"){
exitBtn.visible = true;
exitBtn.addEventListener(MouseEvent.CLICK, showFBLeaderboard, false, 0, true);
exitBtn.caption.text = Config.currentLanguage.leaderboard;
Fonts.applyDefaultFont(exitBtn.caption);
buyBtn.caption.htmlText = "Join us<br>on Facebook!";
buyBtn.addEventListener(MouseEvent.CLICK, gotoFBGroup, false, 0, true);
buyBtn.visible = true;
};
rambler.visible = false;
if (Farm2.portal == "rambler"){
exitBtn.visible = true;
rambler.buttonMode = true;
exitBtn.caption.text = Config.currentLanguage.exit;
Fonts.applyDefaultFont(exitBtn.caption);
exitBtn.addEventListener(MouseEvent.CLICK, closeRamblerGame, false, 0, true);
rambler.visible = true;
rambler.addEventListener(MouseEvent.CLICK, gotoRambler, false, 0, true);
};
alawar.visible = false;
}
private function editUsername(event:MouseEvent=null):void{
playerPanel.playerName.mouseEnabled = true;
playerPanel.playerName.background = true;
playerPanel.playerName.textColor = 0;
playerPanel.playerName.border = true;
playerPanel.playerName.setSelection(0, 100);
playerPanel.editBtn.caption.text = Config.currentLanguage.ok;
Fonts.applyDefaultFont(playerPanel.editBtn.caption);
playerPanel.editBtn.removeEventListener(MouseEvent.CLICK, editUsername);
playerPanel.editBtn.addEventListener(MouseEvent.CLICK, saveUsername, false, 0, true);
Config.playerName = playerPanel.playerName.text;
playerPanel.playerName.addEventListener(KeyboardEvent.KEY_DOWN, enterPressed, false, 0, true);
}
public function hide(event:MouseEvent=null):void{
if (!SoundsList.muteMusic){
if (SoundsList.menuMusicSound){
SoundsList.menuMusicChannel.stop();
};
};
if (!SoundsList.muteMusic){
if (SoundsList.gameMusicSound){
SoundsList.gameMusicChannel = SoundsList.gameMusicSound.play(0, 1000);
};
};
SoundManager.play("ui_button_click");
startGame();
Tweener.addTween(this, {alpha:0, time:0.5});
PlayGround.instance.alpha = 1;
MapWindow.instance.addChild(musicBtn);
MapWindow.instance.addChild(soundBtn);
musicBtn.container = "map";
}
private function showVLeaderboard(event:MouseEvent=null):void{
VLeaderBoard.instance.show();
}
private function getKongregateUserData(event=null):void{
var event = event;
if (kongregate.user.getName() != "undefined"){
playerPanel.playerName.text = kongregate.user.getName();
Fonts.applyDefaultFont(playerPanel.playerName);
} else {
playerPanel.playerName.text = Config.playerName;
Fonts.applyDefaultFont(playerPanel.playerName);
};
//unresolved jump
var _slot1 = error;
Config.playerName = playerPanel.playerName.text;
Fonts.applyDefaultFont(playerPanel.playerName);
}
private function showLeaderboard(event:MouseEvent=null):void{
Leaderboard.instance.show();
}
private function showFBLeaderboard(event:MouseEvent=null):void{
FBLeaderboard.instance.show();
}
private function buy(event:MouseEvent=null):void{
var request:URLRequest = new URLRequest(Config.downloadLink);
navigateToURL(request, Config.target);
}
private function closeRamblerGame(event:MouseEvent=null):void{
var event = event;
trace("Close rambler");
Farm2.instance.sendRamblerScore(ResultsWindow.bankNum);
Farm2.instance.closeGame();
ExternalInterface.call("window.close()");
//unresolved jump
var _slot1 = error;
ExternalInterface.call("window.close()");
//unresolved jump
var _slot1 = error;
}
private function btnOver(event:MouseEvent=null):void{
event.stopPropagation();
SoundManager.play("ui_button_hover");
}
public function switchMusic(event:MouseEvent=null):void{
if (!SoundsList.muteMusic){
musicBtn.gotoAndStop("off");
SoundsList.muteMusic = true;
if (musicBtn.container == "menu"){
if (SoundsList.menuMusicChannel){
SoundsList.menuMusicChannel.stop();
};
} else {
if (SoundsList.gameMusicChannel){
SoundsList.gameMusicChannel.stop();
};
};
} else {
musicBtn.gotoAndStop("on");
if (musicBtn.container == "menu"){
if (SoundsList.menuMusicChannel){
SoundsList.menuMusicChannel = SoundsList.menuMusicSound.play(1);
};
} else {
if (SoundsList.gameMusicChannel){
SoundsList.gameMusicChannel = SoundsList.gameMusicSound.play(1);
};
};
SoundsList.muteMusic = false;
};
}
private function exitMailRu(event:MouseEvent=null):void{
var event = event;
if (((Farm2.mail_ru_connection) && ((Farm2.portal == "mail.ru")))){
Farm2.mail_ru_connection.send(Farm2.connection_name, "closeGame");
//unresolved jump
var _slot1 = e;
};
}
private function gotoGroup(event:MouseEvent=null):void{
var request:URLRequest = new URLRequest("http://vkontakte.ru/club443534");
navigateToURL(request, Config.target);
}
private function exit(event:MouseEvent=null):void{
QuitMenu.instance.show();
}
private function gotoVkontakte(event:MouseEvent=null):void{
var req:URLRequest = new URLRequest("http://vkontakte.ru/");
navigateToURL(req, "_blank");
}
private function gotoFBGroup(event:MouseEvent=null):void{
var request:URLRequest = new URLRequest("http://www.facebook.com/group.php?gid=81590252965");
navigateToURL(request, Config.target);
}
private function gotoOdnoklassniki(event:MouseEvent=null):void{
var req:URLRequest = new URLRequest("http://odnoklassniki.ru/");
navigateToURL(req, "_blank");
}
public function sendNonobaScore(score:Number=0):void{
}
private function enterPressed(event:KeyboardEvent=null):void{
if (event.keyCode == Keyboard.ENTER){
playerPanel.playerName.background = false;
playerPanel.playerName.textColor = 0xFFFFFF;
playerPanel.playerName.border = false;
playerPanel.playerName.mouseEnabled = false;
playerPanel.editBtn.caption.text = Config.currentLanguage.change;
Fonts.applyDefaultFont(playerPanel.editBtn.caption);
playerPanel.editBtn.addEventListener(MouseEvent.CLICK, editUsername, false, 0, true);
playerPanel.editBtn.removeEventListener(MouseEvent.CLICK, saveUsername);
Config.playerName = playerPanel.playerName.text;
playerPanel.playerName.removeEventListener(KeyboardEvent.KEY_DOWN, enterPressed);
};
}
private function gotoRambler(event:MouseEvent=null):void{
var req:URLRequest = new URLRequest("http://rambler.ru/");
navigateToURL(req, "_blank");
}
private function saveUsername(event:MouseEvent=null):void{
playerPanel.playerName.mouseEnabled = false;
playerPanel.playerName.background = false;
playerPanel.playerName.border = false;
playerPanel.playerName.textColor = 0xFFFFFF;
playerPanel.editBtn.caption.text = Config.currentLanguage.change;
Fonts.applyDefaultFont(playerPanel.editBtn.caption);
playerPanel.editBtn.addEventListener(MouseEvent.CLICK, editUsername, false, 0, true);
playerPanel.editBtn.removeEventListener(MouseEvent.CLICK, saveUsername);
Config.playerName = playerPanel.playerName.text;
}
private function startGame(event:MouseEvent=null):void{
this.visible = false;
if (((!(_firstClick)) && (!(Config.played)))){
MapWindow.instance.show();
} else {
if (((Config.played) && (!(_firstClick)))){
MapWindow.instance.resumeGame();
} else {
MapWindow.instance.show();
};
};
_firstClick = true;
}
public function switchSound(event:MouseEvent=null):void{
if (!SoundsList.mute){
soundBtn.gotoAndStop("off");
SoundsList.mute = true;
SoundManager.mute();
} else {
soundBtn.gotoAndStop("on");
SoundsList.mute = false;
SoundManager.resume();
};
}
public function show():void{
if (firstShow){
firstShow = false;
if (((Farm2.mail_ru_connection) && ((Farm2.portal == "mail.ru")))){
Farm2.mail_ru_connection.send(Farm2.connection_name, "startGame");
//unresolved jump
var _slot1 = e;
};
};
this.visible = true;
Tweener.addTween(this, {alpha:1, time:1});
if (!SoundsList.muteMusic){
if (SoundsList.menuMusicSound){
SoundsList.menuMusicChannel = SoundsList.menuMusicSound.play(1);
};
if (SoundsList.gameMusicChannel){
SoundsList.gameMusicChannel.stop();
};
};
musicBtn.container = "menu";
addChild(musicBtn);
addChild(soundBtn);
}
public function submitKongregateScore(score:Number=0):void{
var score = score;
kongregate.scores.submit(score);
//unresolved jump
var _slot1 = error;
}
}
}//package ui
Section 426
//Tooltip (ui.Tooltip)
package ui {
import utils.*;
import caurina.transitions.*;
public class Tooltip extends TooltipTemplate {
public static var instance:Tooltip;
public function Tooltip(){
super();
instance = this;
visible = false;
alpha = 0;
this.mouseChildren = false;
this.mouseEnabled = false;
this.body.mouseEnabled = (this.body.mouseChildren = false);
this.help.mouseEnabled = (this.help.mouseChildren = false);
}
public function hide():void{
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:0, time:0.2, onComplete:function ():void{
this.visible = false;
this.body.scaleX = 1;
this.body.scaleY = 1;
}});
}
public function show(posX:Number, posY:Number, output:String, upgrade:Number, caption:String=""):void{
this.mouseChildren = false;
this.mouseEnabled = false;
this.body.mouseEnabled = (this.body.mouseChildren = false);
this.help.mouseEnabled = (this.help.mouseChildren = false);
this.visible = false;
this.body.scaleX = 1;
this.body.scaleY = 1;
visible = true;
this.alpha = 0;
this.x = (posX + 20);
this.help.x = 135;
this.help.y = 90;
if (posX > 300){
this.body.scaleX = -1;
this.help.x = -150;
this.x = (posX - 20);
};
if (posY > 200){
this.help.y = -65;
this.body.scaleY = -1;
};
this.help.gotoAndStop(output);
this.help.inCount.text = (this.help.outCount.text = ("x" + String(upgrade)));
Fonts.applyDefaultFont(help.inCount);
this.help.arrow.visible = true;
this.help.caption.text = caption;
Fonts.applyDefaultFont(help.caption);
switch (output){
case "PENGUIN":
this.help.outCount.text = (this.help.inCount.text = "");
this.help.arrow.visible = false;
this.help.caption.text = ProductTypes.translate(caption, true);
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
Fonts.applyDefaultFont(help.caption);
break;
case "GOALS":
this.help.outCount.text = (this.help.inCount.text = "");
this.help.arrow.visible = false;
this.help.caption.text = Config.currentLanguage.tooltips.goals;
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
Fonts.applyDefaultFont(help.caption);
break;
case "KING_PENGUIN":
this.help.outCount.text = (this.help.inCount.text = "");
this.help.arrow.visible = false;
this.help.caption.text = ProductTypes.translate(caption, true);
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
Fonts.applyDefaultFont(help.caption);
break;
case "DEPOT":
this.help.gotoAndStop(1);
this.help.outCount.text = (this.help.inCount.text = "");
this.help.arrow.visible = false;
this.help.caption.text = Config.currentLanguage.warehouse.@tooltip;
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
Fonts.applyDefaultFont(help.caption);
break;
case "WELL":
this.help.gotoAndStop(1);
this.help.outCount.text = (this.help.inCount.text = "");
this.help.arrow.visible = false;
this.help.caption.text = Config.currentLanguage.well.@tooltip;
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
Fonts.applyDefaultFont(help.caption);
break;
case "WELL_EMPTY":
this.help.gotoAndStop(1);
this.help.outCount.text = (this.help.inCount.text = "");
this.help.arrow.visible = false;
this.help.caption.text = caption;
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
Fonts.applyDefaultFont(help.caption);
break;
case "CAR":
this.help.outCount.text = (this.help.inCount.text = "");
this.help.arrow.visible = true;
this.help.gotoAndStop("DEPOT");
this.help.caption.text = Config.currentLanguage.car;
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
Fonts.applyDefaultFont(help.caption);
break;
case "PLANE":
this.help.outCount.text = (this.help.inCount.text = "");
this.help.caption.text = Config.currentLanguage.plane;
Fonts.applyDefaultFont(help.outCount);
Fonts.applyDefaultFont(help.inCount);
Fonts.applyDefaultFont(help.caption);
break;
default:
break;
};
Tweener.removeTweens(this);
Tweener.addTween(this, {alpha:1, time:0.7, delay:1});
this.y = (posY - 40);
}
}
}//package ui
Section 427
//WaterTooltip (ui.WaterTooltip)
package ui {
import flash.events.*;
import utils.*;
import caurina.transitions.*;
public class WaterTooltip extends WaterTooltipTemplate {
public static var firstShow:Boolean = true;
public static var instance:WaterTooltip;
public function WaterTooltip(){
super();
instance = this;
visible = false;
this.alpha = 0;
this.mouseEnabled = false;
this.mouseChildren = false;
}
public function hide(event:MouseEvent=null):void{
firstShow = false;
this.visible = false;
}
public function show():void{
if (((firstShow) && (!(Config.skiped)))){
this.visible = true;
Tweener.addTween(this, {alpha:1, time:1, delay:1});
this.caption.text = Config.currentLanguage.tooltips.click_the_ground;
Fonts.applyDefaultFont(caption);
this.x = 280;
this.y = 200;
visible = true;
};
}
}
}//package ui
Section 428
//WorkLine (ui.WorkLine)
package ui {
public class WorkLine extends WorkLineTemplate {
public function WorkLine(){
super();
this.line.height = 0;
this.mouseEnabled = (this.mouseChildren = false);
}
public function setProgress(value:Number):void{
this.line.height = value;
}
}
}//package ui
Section 429
//Config (utils.Config)
package utils {
import flash.net.*;
public class Config {
public static var API_ID:String = "698742";
public static var level:Number = 1;
public static var currentLevel:Number = 0;
public static var playerName:String = "Player";
public static var sharedName:String = "fffff";
public static var target:String = "_blank";
public static var score:Number = 1;
public static var sharedObject:SharedObject;
public static var API_SECRET:String = "hDKEGh4BRt";
public static var api:String = "http://api.vkontakte.ru/api.php";
public static var TEST_MODE:int = 0;
public static var nodes:Array = new Array("novel", "none", "none", "none", "novel", "none", "none", "none", "novel", "none", "none", "none", "novel", "none", "none", "none", "novel", "none", "none");
public static var use_cheats:Boolean = false;
public static var downloadLink:String = "http://www.alawar.com/download/FarmFrenzy3IceAge_10105.exe";
public static var IS_APP_USER:Number = 0;
public static var played:Boolean = false;
public static var upgrades:Array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
public static var language:String = "en";
public static var skiped:Boolean = false;
private static var LevelesRecords:XML = <Records>
<record StartMoney="50" World="5" Name="1" GoldTime="90" SilverTime="150" Prize="50" SilverPrize="100" GoldPrize="150" EnemyKillingNum="0">
<StartPets>
<p Type="0" Val="1"/>
</StartPets>
<Goals>
<g Type="0" Val="3"/>
</Goals>
<BearTimes/>
<Houses/>
</record>
<record StartMoney="90" World="5" Name="2" GoldTime="120" SilverTime="180" Prize="150" SilverPrize="200" GoldPrize="250" EnemyKillingNum="0">
<StartPets>
<p Type="0" Val="1"/>
</StartPets>
<Goals>
<g Type="7" Val="4"/>
<g Type="0" Val="8"/>
</Goals>
<BearTimes>
<t Type="0" Time="5"/>
<t Type="0" Time="35"/>
</BearTimes>
<Houses/>
<Accessibility/>
<AccessProduct/>
</record>
<record StartMoney="150" World="5" Name="3" BestTime="154" GoldTime="160" SilverTime="220" Prize="200" SilverPrize="300" GoldPrize="350" EnemyKillingNum="0">
<StartPets>
<p Type="0"/>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="0" Val="4"/>
<g Type="2" Val="4"/>
<g Type="3" Val="4"/>
</Goals>
<BearTimes>
<t Type="0" Time="10"/>
<t Type="0" Time="30"/>
<t Type="0" Time="60"/>
<t Type="0" Time="90"/>
</BearTimes>
<Houses>
<h Type="0" PosIndex="0" Upgrade="0"/>
<h Type="1" PosIndex="5" Upgrade="0"/>
</Houses>
<Accessibility>
<c CritID="0" Value="1"/>
<c CritID="1" Value="1"/>
</Accessibility>
<AccessProduct/>
</record>
<record StartMoney="300" Name="4" BestTime="144" GoldTime="150" SilverTime="210" Prize="400" SilverPrize="500" GoldPrize="600" EnemyKillingNum="1">
<StartPets>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="2" Val="6"/>
<g Type="3" Val="4"/>
<g Type="4" Val="2"/>
</Goals>
<BearTimes>
<t Type="0" Time="20"/>
<t Type="0" Time="20.1"/>
<t Type="0" Time="80"/>
<t Type="0" Time="80.1"/>
<t Type="0" Time="160"/>
<t Type="0" Time="160.1"/>
</BearTimes>
<Houses>
<h Type="1" PosIndex="1" Upgrade="1"/>
<h Type="0" PosIndex="0" Upgrade="1"/>
<h Type="2" PosIndex="2" Upgrade="0"/>
</Houses>
<Accessibility>
<c CritID="2" Value="1"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="20" Name="5" BestTime="185" GoldTime="190" SilverTime="250" Prize="300" SilverPrize="400" GoldPrize="500" EnemyKillingNum="1">
<StartPets>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="2" Val="10"/>
<g Type="3" Val="10"/>
<g Type="7" Val="8"/>
</Goals>
<BearTimes>
<t Type="0" Time="30"/>
<t Type="0" Time="30.1"/>
<t Type="0" Time="90"/>
<t Type="0" Time="90.1"/>
<t Type="0" Time="160"/>
<t Type="0" Time="160.1"/>
<t Type="0" Time="200"/>
<t Type="0" Time="200.1"/>
<t Type="0" Time="260"/>
<t Type="0" Time="260.1"/>
</BearTimes>
<Houses>
<h Type="0" PosIndex="2" Upgrade="1"/>
<h Type="1" PosIndex="1" Upgrade="1"/>
<h Type="2" PosIndex="4" Upgrade="1"/>
</Houses>
<Accessibility>
<c CritID="0" Value="2"/>
<c CritID="1" Value="2"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="300" Name="6" BestTime="188" GoldTime="190" SilverTime="250" Prize="150" SilverPrize="200" GoldPrize="300" EnemyKillingNum="1">
<StartPets>
<p Type="0"/>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="8" Val="1"/>
<g Type="4" Val="10"/>
</Goals>
<BearTimes>
<t Type="0" Time="20"/>
<t Type="0" Time="80"/>
<t Type="0" Time="90.1"/>
<t Type="0" Time="120"/>
<t Type="0" Time="120.1"/>
<t Type="0" Time="180"/>
<t Type="0" Time="210"/>
<t Type="0" Time="210.1"/>
<t Type="0" Time="270.1"/>
<t Type="0" Time="270.2"/>
</BearTimes>
<Houses>
<h Type="0" PosIndex="3" Upgrade="2"/>
<h Type="1" PosIndex="1" Upgrade="2"/>
<h Type="2" PosIndex="5" Upgrade="1"/>
</Houses>
<Accessibility>
<c CritID="2" Value="2"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="200" Name="7" BestTime="269" GoldTime="270" SilverTime="330" Prize="1000" SilverPrize="1200" GoldPrize="1300" EnemyKillingNum="1">
<StartPets/>
<Goals>
<g Type="7" Val="20"/>
<g Type="0" Val="50"/>
</Goals>
<BearTimes>
<t Type="0" Time="15"/>
<t Type="0" Time="50"/>
<t Type="0" Time="50.1"/>
<t Type="0" Time="50.3"/>
<t Type="0" Time="100"/>
<t Type="0" Time="100.1"/>
<t Type="0" Time="100.2"/>
<t Type="0" Time="150"/>
<t Type="0" Time="150.1"/>
<t Type="0" Time="150.2"/>
<t Type="0" Time="200"/>
<t Type="0" Time="200.1"/>
<t Type="0" Time="200.2"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="2"/>
<h Type="1" PosIndex="1" Upgrade="2"/>
<h Type="0" PosIndex="0" Upgrade="2"/>
<h Type="3" PosIndex="4" Upgrade="0"/>
</Houses>
<Accessibility>
<c CritID="3" Value="1"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="0" Name="8" BestTime="274" GoldTime="280" SilverTime="340" Prize="300" SilverPrize="400" GoldPrize="500" EnemyKillingNum="1">
<StartPets>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="2" Val="15"/>
<g Type="3" Val="15"/>
<g Type="4" Val="20"/>
</Goals>
<BearTimes>
<t Type="0" Time="60"/>
<t Type="0" Time="120"/>
<t Type="0" Time="180"/>
<t Type="0" Time="240"/>
<t Type="0" Time="300"/>
<t Type="0" Time="360"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="2"/>
<h Type="1" PosIndex="1" Upgrade="2"/>
<h Type="0" PosIndex="0" Upgrade="2"/>
<h Type="3" PosIndex="4" Upgrade="1"/>
</Houses>
<Accessibility>
<c CritID="0" Value="3"/>
<c CritID="1" Value="3"/>
<c CritID="2" Value="3"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="500" Name="9" BestTime="237" GoldTime="240" SilverTime="300" Prize="500" SilverPrize="600" GoldPrize="700" EnemyKillingNum="1">
<StartPets>
</StartPets>
<Goals>
<g Type="7" Val="20"/>
<g Type="8" Val="5"/>
</Goals>
<BearTimes>
<t Type="0" Time="40"/>
<t Type="0" Time="80"/>
<t Type="0" Time="80.1"/>
<t Type="0" Time="160"/>
<t Type="0" Time="160.1"/>
<t Type="0" Time="180"/>
<t Type="0" Time="210"/>
<t Type="0" Time="280"/>
<t Type="0" Time="280.1"/>
<t Type="0" Time="300"/>
</BearTimes>
<Houses>
<h Type="3" PosIndex="1" Upgrade="1"/>
<h Type="2" PosIndex="5" Upgrade="3"/>
<h Type="1" PosIndex="4" Upgrade="3"/>
<h Type="0" PosIndex="3" Upgrade="3"/>
</Houses>
<Accessibility>
<c CritID="3" Value="2"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="200" Name="10" BestTime="213" GoldTime="220" SilverTime="280" Prize="1400" SilverPrize="1500" GoldPrize="1800" EnemyKillingNum="1">
<Goals>
<g Type="4" Val="5"/>
</Goals>
<BearTimes>
<t Type="0" Time="60"/>
<t Type="0" Time="120"/>
<t Type="0" Time="120.1"/>
<t Type="0" Time="180"/>
<t Type="0" Time="240"/>
<t Type="0" Time="240.1"/>
<t Type="0" Time="300"/>
<t Type="0" Time="360"/>
<t Type="0" Time="360.1"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="0"/>
<h Type="1" PosIndex="1" Upgrade="0"/>
<h Type="0" PosIndex="0" Upgrade="0"/>
<h Type="3" PosIndex="4" Upgrade="2"/>
</Houses>
<Accessibility>
<c CritID="3" Value="3"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="90" Name="11" BestTime="327" GoldTime="330" SilverTime="390" Prize="700" SilverPrize="800" GoldPrize="1000" EnemyKillingNum="2">
<StartPets>
<p Type="1"/>
</StartPets>
<Goals>
<g Type="8" Val="5"/>
</Goals>
<BearTimes>
<t Type="0" Time="20"/>
<t Type="0" Time="80"/>
<t Type="0" Time="120"/>
<t Type="0" Time="120.1"/>
<t Type="0" Time="160"/>
<t Type="0" Time="160.1"/>
<t Type="0" Time="210"/>
<t Type="0" Time="280"/>
<t Type="0" Time="280.1"/>
<t Type="0" Time="320"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="3"/>
<h Type="1" PosIndex="1" Upgrade="3"/>
<h Type="0" PosIndex="0" Upgrade="3"/>
</Houses>
<Accessibility>
<c CritID="0" Value="4"/>
<c CritID="1" Value="4"/>
<c CritID="2" Value="4"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="0" Name="12" BestTime="203" GoldTime="210" SilverTime="270" Prize="1600" SilverPrize="1800" GoldPrize="2000" EnemyKillingNum="2">
<StartPets>
<p Type="1"/>
</StartPets>
<Goals>
<g Type="2" Val="30"/>
<g Type="3" Val="30"/>
<g Type="7" Val="20"/>
</Goals>
<BearTimes>
<t Type="0" Time="30"/>
<t Type="0" Time="30.1"/>
<t Type="0" Time="90"/>
<t Type="0" Time="90.1"/>
<t Type="0" Time="150"/>
<t Type="0" Time="150.1"/>
<t Type="0" Time="190"/>
<t Type="0" Time="190.1"/>
<t Type="0" Time="250"/>
<t Type="0" Time="250.1"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="5" Upgrade="0"/>
<h Type="1" PosIndex="4" Upgrade="4"/>
<h Type="0" PosIndex="3" Upgrade="4"/>
<h Type="3" PosIndex="1" Upgrade="3"/>
</Houses>
<Accessibility>
<c CritID="3" Value="4"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="500" Name="13" BestTime="299" GoldTime="300" SilverTime="360" Prize="800" SilverPrize="1000" GoldPrize="1200" EnemyKillingNum="2">
<StartPets>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="8" Val="5"/>
<g Type="4" Val="30"/>
</Goals>
<BearTimes>
<t Type="0" Time="89"/>
<t Type="0" Time="90"/>
<t Type="0" Time="90.1"/>
<t Type="0" Time="179"/>
<t Type="0" Time="180"/>
<t Type="0" Time="180.1"/>
<t Type="0" Time="269"/>
<t Type="0" Time="270"/>
<t Type="0" Time="270.1"/>
<t Type="0" Time="300"/>
<t Type="0" Time="300.1"/>
<t Type="0" Time="300.2"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="4"/>
<h Type="1" PosIndex="1" Upgrade="4"/>
<h Type="0" PosIndex="0" Upgrade="4"/>
<h Type="3" PosIndex="4" Upgrade="0"/>
</Houses>
<Accessibility>
<c CritID="0" Value="5"/>
<c CritID="1" Value="5"/>
<c CritID="2" Value="5"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="500" Name="14" BestTime="225" GoldTime="230" SilverTime="290" Prize="100" SilverPrize="250" GoldPrize="500" EnemyKillingNum="2">
<StartPets/>
<Goals>
<g Type="7" Val="27"/>
<g Type="4" Val="5"/>
</Goals>
<BearTimes>
<t Type="0" Time="90"/>
<t Type="0" Time="90.1"/>
<t Type="0" Time="90.2"/>
<t Type="0" Time="90.3"/>
<t Type="0" Time="90.4"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="5" Upgrade="1"/>
<h Type="1" PosIndex="4" Upgrade="1"/>
<h Type="0" PosIndex="3" Upgrade="1"/>
<h Type="3" PosIndex="1" Upgrade="4"/>
</Houses>
<Accessibility>
<c CritID="3" Value="5"/>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="0" Name="15" BestTime="197" GoldTime="200" SilverTime="260" Prize="800" SilverPrize="1000" GoldPrize="1200" EnemyKillingNum="2">
<StartPets>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="8" Val="1"/>
<g Type="1" Val="2"/>
</Goals>
<BearTimes>
<t Type="0" Time="60"/>
<t Type="0" Time="60.1"/>
<t Type="0" Time="60.2"/>
<t Type="0" Time="100"/>
<t Type="0" Time="100.1"/>
<t Type="0" Time="160"/>
<t Type="0" Time="160.1"/>
<t Type="0" Time="160.2"/>
<t Type="0" Time="200"/>
<t Type="0" Time="200.1"/>
<t Type="0" Time="260"/>
<t Type="0" Time="260.1"/>
<t Type="0" Time="260.2"/>
<t Type="0" Time="300"/>
<t Type="0" Time="300.1"/>
<t Type="0" Time="360"/>
<t Type="0" Time="360.1"/>
<t Type="0" Time="360.2"/>
<t Type="0" Time="400"/>
<t Type="0" Time="400.1"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="5"/>
<h Type="1" PosIndex="1" Upgrade="5"/>
<h Type="0" PosIndex="0" Upgrade="5"/>
<h Type="3" PosIndex="5" Upgrade="5"/>
</Houses>
<Accessibility/>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="0" Name="16" BestTime="145" GoldTime="150" SilverTime="210" Prize="50" SilverPrize="100" GoldPrize="150" EnemyKillingNum="1">
<StartPets>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="4" Val="2"/>
<g Type="0" Val="10"/>
</Goals>
<BearTimes>
<t Type="0" Time="10"/>
<t Type="0" Time="60"/>
<t Type="0" Time="100"/>
<t Type="0" Time="150"/>
<t Type="0" Time="200"/>
<t Type="0" Time="250"/>
<t Type="0" Time="300"/>
<t Type="0" Time="350"/>
<t Type="0" Time="400"/>
<t Type="0" Time="500"/>
<t Type="0" Time="600"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="0"/>
<h Type="1" PosIndex="1" Upgrade="0"/>
<h Type="0" PosIndex="0" Upgrade="0"/>
</Houses>
<Accessibility/>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="200" Name="17" BestTime="202" GoldTime="210" SilverTime="270" Prize="50" SilverPrize="100" GoldPrize="150" EnemyKillingNum="1">
<Goals>
<g Type="4" Val="5"/>
<g Type="0" Val="10"/>
<g Type="7" Val="20"/>
</Goals>
<BearTimes>
<t Type="0" Time="20"/>
<t Type="0" Time="20.1"/>
<t Type="0" Time="40"/>
<t Type="0" Time="40.1"/>
<t Type="0" Time="60"/>
<t Type="0" Time="60.1"/>
<t Type="0" Time="80"/>
<t Type="0" Time="80.1"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="1"/>
<h Type="1" PosIndex="1" Upgrade="1"/>
<h Type="0" PosIndex="0" Upgrade="1"/>
<h Type="2" PosIndex="5" Upgrade="1"/>
<h Type="1" PosIndex="4" Upgrade="1"/>
<h Type="0" PosIndex="3" Upgrade="1"/>
</Houses>
<Accessibility>
</Accessibility>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="100" Name="18" BestTime="233" GoldTime="240" SilverTime="300" Prize="50" SilverPrize="100" GoldPrize="150" EnemyKillingNum="1">
<Goals>
<g Type="4" Val="1"/>
<g Type="0" Val="35"/>
<g Type="7" Val="17"/>
</Goals>
<BearTimes>
<t Type="0" Time="100"/>
<t Type="0" Time="100.1"/>
<t Type="0" Time="100.2"/>
<t Type="0" Time="100.3"/>
<t Type="0" Time="100.4"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="0"/>
<h Type="1" PosIndex="1" Upgrade="0"/>
<h Type="0" PosIndex="0" Upgrade="0"/>
<h Type="3" PosIndex="4" Upgrade="3"/>
</Houses>
<Accessibility/>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
<record StartMoney="0" Name="19" BestTime="78" GoldTime="95" SilverTime="140" Prize="50" SilverPrize="100" GoldPrize="150" EnemyKillingNum="1">
<StartPets>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
<p Type="0"/>
</StartPets>
<Goals>
<g Type="8" Val="2"/>
</Goals>
<BearTimes>
<t Type="0" Time="60"/>
<t Type="0" Time="60.1"/>
<t Type="0" Time="60.2"/>
<t Type="0" Time="60.3"/>
<t Type="0" Time="120"/>
<t Type="0" Time="120.1"/>
<t Type="0" Time="120.2"/>
<t Type="0" Time="120.3"/>
</BearTimes>
<Houses>
<h Type="2" PosIndex="2" Upgrade="4"/>
<h Type="1" PosIndex="1" Upgrade="4"/>
<h Type="0" PosIndex="0" Upgrade="4"/>
</Houses>
<Accessibility>
<c CritID="2" Value="5"/>
<c CritID="3" Value="5"/>
</Accessibility>
<Accessibility/>
<AccessProduct>
<c Product="5"/>
</AccessProduct>
</record>
</Records>
;
public static var stars:Number = 0;
public static var VIEWER_ID:String = "3485491";
public static var closeFunction:String = "";
public static var currentLanguage:XML;
public static var downloadable:Boolean = true;
public function Config(){
super();
_slot1.sharedObject = SharedObject.getLocal(_slot1.sharedName);
}
public static function getLevel(level:Number=1):XML{
return (LevelesRecords.record[(level - 1)]);
}
public static function updateSharedObject():void{
_slot1.sharedObject = SharedObject.getLocal(_slot1.sharedName);
_slot1.sharedObject.data.stars = _slot1.stars;
_slot1.sharedObject.data.score = _slot1.score;
_slot1.sharedObject.data.upgrades = _slot1.upgrades;
_slot1.sharedObject.data.level = _slot1.level;
_slot1.sharedObject.data.played = _slot1.played;
}
}
}//package utils
Section 430
//Fonts (utils.Fonts)
package utils {
import flash.text.*;
public class Fonts {
private static var dfontBold:Class = Fonts_dfontBold;
private static var dfont:Class = Fonts_dfont;
public function Fonts(){
super();
}
public static function applyDefaultFont(txt:TextField, bold:Boolean=false):void{
txt.embedFonts = true;
txt.antiAliasType = AntiAliasType.ADVANCED;
txt.gridFitType = GridFitType.SUBPIXEL;
txt.mouseEnabled = false;
var fmt:TextFormat = new TextFormat("RotondaС");
fmt.bold = bold;
txt.defaultTextFormat = fmt;
txt.text = txt.text;
}
}
}//package utils
Section 431
//Fonts_dfont (utils.Fonts_dfont)
package utils {
import mx.core.*;
public class Fonts_dfont extends FontAsset {
}
}//package utils
Section 432
//Fonts_dfontBold (utils.Fonts_dfontBold)
package utils {
import mx.core.*;
public class Fonts_dfontBold extends FontAsset {
}
}//package utils
Section 433
//Languages (utils.Languages)
package utils {
public class Languages {
public static var language:XML = <english>
<levels>
<level>Level 1</level>
<level>Level 2</level>
<level>Level 3</level>
<level>Level 4</level>
<level>Level 5</level>
<level>Level 6</level>
<level>Level 7</level>
<level>Level 8</level>
<level>Level 9</level>
<level>Level 10</level>
<level>Level 11</level>
<level>Level 12</level>
<level>Level 13</level>
<level>Level 14</level>
<level>Level 15</level>
<level>Level 16</level>
<level>Level 17</level>
<level>Level 18</level>
<level>Level 19</level>
<level>Level 20</level>
</levels>
<!-- Ui-->
<download>Download</download>
<download_full_version><![CDATA[Download<br>full version]]></download_full_version>
<ok>Ok</ok>
<yes>Yes</yes>
<resume>Resume</resume>
<map>Map</map>
<restart>Restart</restart>
<no>No</no>
<cancel>Cancel</cancel>
<upgrade_building>Upgrade building</upgrade_building>
<start>Start</start>
<shop>Shop</shop>
<menu>Menu</menu>
<one>1</one>
<all>all</all>
<sounds>Sounds</sounds>
<music>Music</music>
<main_menu>Main menu</main_menu>
<exit_to_menu>Exit to menu</exit_to_menu>
<exit>Exit</exit>
<welcome>Welcome, </welcome>
<change>Change</change>
<leaderboard>Leaderboard</leaderboard>
<send_score>Send score</send_score>
<quit>Are you sure you want to quit?</quit>
<quit_current_game>Quit your current game?</quit_current_game>
<!-- Results -->
<level_results>Level results</level_results>
<coins>Coins:</coins>
<time>Time:</time>
<bonus>Bonus:</bonus>
<bank>Bank:</bank>
<!-- Results window -->
<level_goals>Level goals</level_goals>
<collect>Collect:</collect>
<for_completing>For completing:</for_completing>
<gold>Gold</gold>
<silver>Silver</silver>
<game_over><![CDATA[Congratulations! You have finished the online version! Download the full version! <br>90 all-new levels, <br>12 new products, <br>22 hilarious visual gags, <br>All-new storyline, <br>A special surprise guest!!]]></game_over>
<money>Money</money>
<powdered>Powdered eggs</powdered>
<confectionery>Confectionery</confectionery>
<bakery>Bakery</bakery>
<incubator>Incubator</incubator>
<warehouse tooltip="Warehouse for storing products">Warehouse</warehouse>
<well tooltip="This is a fishing well. It produces fish for feeding animals.">Well</well>
<skip_educational_levels>Skip educational levels?</skip_educational_levels>
<cage>Cage</cage>
<plane>Helicopter</plane>
<car>Truck</car>
<order_products>Order products</order_products>
<products>Products</products>
<price>Price</price>
<order>Order</order>
<ship_products>Ship products</ship_products>
<ship>Ship</ship>
<animals>Animals</animals>
<ostrich produce="Royal penguin produces">Royal penguin</ostrich>
<guinea_fowl produce="Penguin produces">Penguin</guinea_fowl>
<guinea_fowls>Penguin</guinea_fowls>
<ostrichs>Royal penguin</ostrichs>
<lion>Polar bear</lion>
<flour>Flour</flour>
<!-- Продукты-->
<goals>Goals</goals>
<money>money</money>
<egg>Egg</egg>
<eggs>Eggs</eggs>
<powdered_eggs>Powdered eggs</powdered_eggs>
<plume>Feather</plume>
<cake>Cake</cake>
<floury_cake>Floury cake</floury_cake>
<!-- Подсказки -->
<tooltips>
<guinea_fowl>This is a penguin. It eats fish and produces eggs.</guinea_fowl>
<ostrich>This is a royal penguin. It eats fish and produces feathers.</ostrich>
<lion>This is a polar bear. It throws animals off the farm. Catch it and then sell it.</lion>
<house_plate>Click here to construct a building.</house_plate>
<click_the_ground>Click this area to scatter fish and feed the animals.</click_the_ground>
<well_empty>The fishing well is empty. Click it to buy more fish.</well_empty>
<collect>This is a product. Click it to store it in the warehouse.</collect>
<level_icon>This is the level icon. Click it to start playing.</level_icon>
<level_inaccessible>To access a new level, go to the store and purchase the plans for the stated building.</level_inaccessible>
<powdered>This is a powder factory. Click it to make powder from your eggs</powdered>
<confectionery>This is a cake factory. It makes cakes from buns.</confectionery>
<bakery>This is a bakery. It produces buns from powder.</bakery>
<incubator>This is a incubator. It produces pets from eggs.</incubator>
<warehouse>This is a warehouse. This is where your products are stored. Click it to sell your products.</warehouse>
<plane>This is a helicopter. Use it to bring in goods from the city.</plane>
<car>This is a truck. It takes products to the city..</car>
<shop>Here, you can upgrade your buildings and more using the stars you collected.</shop>
<goals>This is the goal icon. Click it to see your goals for the level.</goals>
<feed>You have to scatter fish to feed your animals.</feed>
</tooltips>
<shop_tooltips>
<powdered>Egg powder processing plant</powdered>
<confectionery>The Confectionery processes</confectionery>
<bakery>The Bakery processes</bakery>
<incubator>The Incubator processes</incubator>
<warehouse>Warehouse will be more spacious</warehouse>
<well>The well will store more fish</well>
<cage>Cage will catch bear faster</cage>
<car>Truck will be faster and more spacious</car>
<plane>Plane will be faster and more spacious</plane>
</shop_tooltips>
<buy>
<guinea_fowl>Now you have enough money to buy a penguin.</guinea_fowl>
<ostrich>Now you have enough money to buy royal penguin.</ostrich>
</buy>
</english>
;
public function Languages(){
super();
}
}
}//package utils
Section 434
//LevelStatistics (utils.LevelStatistics)
package utils {
import ui.*;
import game.*;
public class LevelStatistics {
public static var goals:Array = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
public static var purposes:Array = new Array();
public static var accessProduct:Array = new Array();
public function LevelStatistics(){
super();
}
private static function checkCompleted():void{
var purpose:Array;
var completed:Number = 0;
var i:int;
while (i < LevelStatistics.purposes.length) {
purpose = LevelStatistics.purposes[i].split(",");
if (Number(purpose[1]) <= Number(LevelStatistics.goals[ProductTypes.typeToNumber(purpose[0])])){
completed++;
};
i++;
};
if (completed == LevelStatistics.purposes.length){
GameController.instance.pause();
ResultsWindow.instance.show();
};
}
public static function updateStatistics():void{
BottomPanel.instance.update();
checkCompleted();
}
}
}//package utils
Section 435
//ProductTypes (utils.ProductTypes)
package utils {
public class ProductTypes {
private static var types:Array = new Array("EGG", "PLUME", "DRIED_EGGS", "CAKE", "FLOURY_CAKE", "FLOUR", "POLAR_BEAR", "PENGUIN", "KING_PENGUIN", "MONEY");
public function ProductTypes(){
super();
}
public static function numberToType(type:Number):String{
return (types[type]);
}
public static function translate(type:String, help:Boolean=false):String{
switch (type){
case "EGG":
return (Config.currentLanguage.eggs);
case "DRIED_EGGS":
return (Config.currentLanguage.powdered_eggs);
case "PLUME":
return (Config.currentLanguage.plume);
case "FLOURY_CAKE":
return (Config.currentLanguage.floury_cake);
case "CAKE":
return (Config.currentLanguage.cake);
case "FLOUR":
return (Config.currentLanguage.flour);
case "POLAR_BEAR":
return (Config.currentLanguage.lion);
case "PENGUIN":
if (help){
return (Config.currentLanguage.guinea_fowl.@produce);
};
return (Config.currentLanguage.guinea_fowl);
case "KING_PENGUIN":
if (help){
return (Config.currentLanguage.ostrich.@produce);
};
return (Config.currentLanguage.ostrich);
case "GUINEA_FOWL":
if (help){
return (Config.currentLanguage.guinea_fowl.@produce);
};
return (Config.currentLanguage.guinea_fowl);
case "OSTRICH":
if (help){
return (Config.currentLanguage.ostrich.@produce);
};
return (Config.currentLanguage.ostrich);
case "MONEY":
return (Config.currentLanguage.money);
default:
return (Config.currentLanguage.eggs);
};
}
public static function typeToNumber(type:String):Number{
var i:int;
while (i < types.length) {
if (types[i] == type){
return (i);
};
i++;
};
return (0);
}
}
}//package utils
Section 436
//SoundsList (utils.SoundsList)
package utils {
import flash.media.*;
import com.melesta.sound.*;
public class SoundsList {
public static var menuMusicSound:Sound;
public static var muteMusic:Boolean = false;
public static var gameMusicChannel:SoundChannel;
public static var mute:Boolean = false;
public static var gameMusicSound:Sound;
public static var menuMusicChannel:SoundChannel;
public function SoundsList(){
super();
}
public static function init():void{
SoundManager.registerSoundAsset("action_sell_buy", action_sell_buy);
SoundManager.registerSoundAsset("action_upgrade", action_upgrade);
SoundManager.registerSoundAsset("action_watering", action_watering);
SoundManager.registerSoundAsset("action_well_auto", action_well_auto);
SoundManager.registerSoundAsset("action_well", action_well);
SoundManager.registerSoundAsset("airplane_flyin", airplane_flyin);
SoundManager.registerSoundAsset("lion_scream", lion_scream);
SoundManager.registerSoundAsset("enemy_landing", enemy_landing);
SoundManager.registerSoundAsset("light_pet_landing", light_pet_landing);
SoundManager.registerSoundAsset("heavy_pet_landing", heavy_pet_landing);
SoundManager.registerSoundAsset("cage_breaking", cage_breaking);
SoundManager.registerSoundAsset("cage_broke_bear_flee", cage_broke_bear_flee);
SoundManager.registerSoundAsset("cage_click", cage_click);
SoundManager.registerSoundAsset("car_came", car_came);
SoundManager.registerSoundAsset("guinea_fowl_die", guinea_fowl_die);
SoundManager.registerSoundAsset("guinea_fowl_flyout", guinea_fowl_flyout);
SoundManager.registerSoundAsset("guinea_fowl_hungry", guinea_fowl_hungry);
SoundManager.registerSoundAsset("guinea_fowl_voice", guinea_fowl_voice);
SoundManager.registerSoundAsset("fanfare_aim", fanfare_aim);
SoundManager.registerSoundAsset("fanfare_best_time", fanfare_best_time);
SoundManager.registerSoundAsset("fanfare_level_complete", fanfare_level_complete);
SoundManager.registerSoundAsset("fanfare_medal", fanfare_medal);
SoundManager.registerSoundAsset("fool_action", fool_action);
SoundManager.registerSoundAsset("house_board_landing", house_board_landing);
SoundManager.registerSoundAsset("house_click", house_click);
SoundManager.registerSoundAsset("house_landing", house_landing);
SoundManager.registerSoundAsset("item_add", item_add);
SoundManager.registerSoundAsset("item_cancel", item_cancel);
SoundManager.registerSoundAsset("ostrich_die", ostrich_die);
SoundManager.registerSoundAsset("ostrich_flyout", ostrich_flyout);
SoundManager.registerSoundAsset("ostrich_hungry", ostrich_hungry);
SoundManager.registerSoundAsset("ostrich_voice", ostrich_voice);
SoundManager.registerSoundAsset("product_crack", product_crack);
SoundManager.registerSoundAsset("product_landing", product_landing);
SoundManager.registerSoundAsset("product_take", product_take);
SoundManager.registerSoundAsset("tick_money", tick_money);
SoundManager.registerSoundAsset("tick_time", tick_time);
SoundManager.registerSoundAsset("ui_button_click", ui_button_click);
SoundManager.registerSoundAsset("ui_button_hover", ui_button_hover);
SoundManager.registerSoundAsset("ui_panel_showing", ui_panel_showing);
menuMusicSound = new music_mainmenu();
gameMusicSound = new music_game();
}
}
}//package utils
Section 437
//Car (vehicles.Car)
package vehicles {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import houses.*;
import ui.*;
import shop.*;
import game.*;
import market.road.*;
import flash.media.*;
import utils.*;
import caurina.transitions.properties.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Car extends CarTemplate {
private var _upgradePosition:Array;
private var gameController:GameController;
private var _stageInstance:DisplayObjectContainer;
private var _upgradeButton:UpgradeButton;
public static var instance:Car;
public static var upgradeLevel:Number = 0;
public static var upgradeCost:Array = new Array(250, 500, 1500, 5000);
public static var firstShow:Boolean = true;
public function Car(stageInstance:DisplayObjectContainer, level:Number, delay:Number){
_upgradePosition = new Array(-45, -20);
super();
Car.instance = this;
gameController = GameController.instance;
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
SoundManager.registerSoundAsset("house_landing", house_landing);
upgradeLevel = level;
_stageInstance = stageInstance;
stageInstance.addChild(this);
this.x = 140;
var point:Point = new Point(140, 417);
show(point, delay);
body.addEventListener(MouseEvent.ROLL_OVER, dropShadow, false, 0, true);
body.addEventListener(MouseEvent.ROLL_OUT, removeShadow, false, 0, true);
body.addEventListener(MouseEvent.MOUSE_DOWN, onClick, false, 0, true);
_upgradeButton = new UpgradeButton();
_upgradeButton.x = _upgradePosition[0];
_upgradeButton.y = _upgradePosition[1];
_upgradeButton.target = this;
addChild(_upgradeButton);
upgrade(upgradeLevel);
FilterShortcuts.init();
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
}
public function animate():void{
}
public function upgrade(level:Number):void{
this.body.gotoAndStop((level + 1));
if (upgradeLevel <= (ShopWindow.availableUpgrades[3] - 1)){
_upgradeButton.caption.text = Car.upgradeCost[upgradeLevel];
Fonts.applyDefaultFont(_upgradeButton.caption);
};
if (upgradeLevel > (ShopWindow.availableUpgrades[3] - 1)){
_upgradeButton.destroy();
};
Road.instance.addMoney(0);
}
public function removeShadow(event:MouseEvent=null):void{
var mtx:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
Tooltip.instance.hide();
}
public function onClick(event:MouseEvent=null):void{
SoundManager.play("house_click", 1);
Depot.instance.showMarket();
}
private function remove():void{
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
}
public function dropShadow(event:MouseEvent=null):void{
var mtx:Array = [2, 0, 0, 0, -63.5, 0, 2, 0, 0, -63.5, 0, 0, 2, 0, -63.5, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
Tooltip.instance.show(x, (y - 20), "CAR", upgradeLevel, "CAR");
}
public function nextUpgrade():void{
Road.instance.addMoney(-(Number(Car.upgradeCost[upgradeLevel])));
upgradeLevel++;
upgrade(upgradeLevel);
SoundManager.play("action_upgrade", 1);
}
private function landing():void{
SoundManager.play("house_landing", 1, new SoundTransform(1, -1));
updateMoney();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show((this.x + 8), (this.y - 25), Config.currentLanguage.tooltips.car);
};
}
public function checkMoney():void{
PetShop.instance.getHelp();
}
public function updateMoney(event:Event=null):void{
if (_upgradeButton){
if (Car.upgradeCost[upgradeLevel] <= Road.currentMoney){
_upgradeButton.disabled(true);
} else {
_upgradeButton.disabled(false);
};
};
}
public function destroy(event:Event=null):void{
removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
_stageInstance.removeChild(this);
}
public function show(position:Point, delay:Number):void{
this.x = position.x;
this.y = -50;
Tweener.addTween(this, {y:position.y, time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
}
}
}//package vehicles
Section 438
//CarTemplate (vehicles.CarTemplate)
package vehicles {
import flash.display.*;
public dynamic class CarTemplate extends MovieClip {
public var body:MovieClip;
public function CarTemplate(){
super();
}
}
}//package vehicles
Section 439
//Plane (vehicles.Plane)
package vehicles {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import houses.*;
import ui.*;
import shop.*;
import game.*;
import market.road.*;
import flash.media.*;
import utils.*;
import market.*;
import caurina.transitions.properties.*;
import com.melesta.sound.*;
import caurina.transitions.*;
public class Plane extends PlaneTemplate {
private var _upgradePosition:Array;
private var gameController:GameController;
private var _upgradeButton:UpgradeButton;
private var _stageInstance:DisplayObjectContainer;
private var _importProduction:ImportWindow;
public static var instance:Plane;
public static var upgradeLevel:Number = 0;
public static var upgradeCost:Array = new Array(400, 800, 1600, 6000);
public static var firstShow:Boolean = true;
public function Plane(stageInstance:DisplayObjectContainer, level:Number, delay:Number){
_upgradePosition = new Array(-45, 0);
super();
Plane.instance = this;
SoundManager.registerSoundAsset("house_landing", house_landing);
upgradeLevel = level;
_stageInstance = stageInstance;
gameController = GameController.instance;
gameController.addEventListener(GameController.LEVEL_COMPLETED, destroy, false, 0, true);
gameController.addEventListener(GameController.CHANGE_MONEY, updateMoney, false, 0, true);
stageInstance.addChild(this);
this.x = 403;
var point:Point = new Point(403, 412);
show(point, delay);
body.mouseEnabled = (body.mouseChildren = false);
activeArea.addEventListener(MouseEvent.ROLL_OVER, dropShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.ROLL_OUT, removeShadow, false, 0, true);
activeArea.addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
_upgradeButton = new UpgradeButton();
_upgradeButton.x = _upgradePosition[0];
_upgradeButton.y = _upgradePosition[1];
_upgradeButton.target = this;
addChild(_upgradeButton);
upgrade(upgradeLevel);
_importProduction = new ImportWindow(stageInstance);
FilterShortcuts.init();
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
}
public function animate():void{
}
public function upgrade(level:Number):void{
this.body.gotoAndStop((level + 1));
if (upgradeLevel <= (ShopWindow.availableUpgrades[4] - 1)){
_upgradeButton.caption.text = Plane.upgradeCost[upgradeLevel];
Fonts.applyDefaultFont(_upgradeButton.caption);
};
if (upgradeLevel > (ShopWindow.availableUpgrades[4] - 1)){
_upgradeButton.destroy();
};
Road.instance.addMoney(0);
}
private function remove():void{
activeArea.removeEventListener(MouseEvent.CLICK, onClick);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
}
public function onClick(event:MouseEvent=null):void{
SoundManager.play("house_click", 1);
_importProduction.show();
}
public function removeShadow(event:MouseEvent=null):void{
var mtx:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
Tooltip.instance.hide();
}
public function nextUpgrade():void{
Road.instance.addMoney(-(Number(Plane.upgradeCost[upgradeLevel])));
upgradeLevel++;
upgrade(upgradeLevel);
SoundManager.play("action_upgrade", 1);
}
public function destroy(event:Event=null):void{
activeArea.removeEventListener(MouseEvent.CLICK, onClick);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, dropShadow);
activeArea.removeEventListener(MouseEvent.ROLL_OVER, removeShadow);
gameController.removeEventListener(GameController.LEVEL_COMPLETED, destroy);
gameController.removeEventListener(GameController.CHANGE_MONEY, updateMoney);
_stageInstance.removeChild(this);
}
public function show(position:Point, delay:Number):void{
this.x = position.x;
this.y = -50;
Tweener.addTween(this, {y:position.y, time:0.4, delay:delay, transition:"easeInQuint", onComplete:landing});
}
public function dropShadow(event:MouseEvent=null):void{
var mtx:Array = [2, 0, 0, 0, -63.5, 0, 2, 0, 0, -63.5, 0, 0, 2, 0, -63.5, 0, 0, 0, 1, 0];
var mtxFilter:ColorMatrixFilter = new ColorMatrixFilter(mtx);
Tweener.addTween(this.body, {_ColorMatrix_matrix:mtx, time:0.5, delay:0.1});
Tooltip.instance.show(x, y, "PLANE", upgradeLevel, "PLANE");
}
private function landing():void{
SoundManager.play("house_landing", 1, new SoundTransform(1, 1));
updateMoney();
if (((firstShow) && (!(Config.skiped)))){
firstShow = false;
BlockTooltip.instance.show(this.x, this.y, Config.currentLanguage.tooltips.plane);
};
}
public function updateMoney(event:Event=null):void{
if (_upgradeButton){
if (Plane.upgradeCost[upgradeLevel] <= Road.currentMoney){
_upgradeButton.disabled(true);
} else {
_upgradeButton.disabled(false);
};
};
}
}
}//package vehicles
Section 440
//PlaneTemplate (vehicles.PlaneTemplate)
package vehicles {
import flash.display.*;
public dynamic class PlaneTemplate extends MovieClip {
public var body:MovieClip;
public var activeArea:MovieClip;
public function PlaneTemplate(){
super();
addFrameScript(0, frame1);
}
function frame1(){
body.mouseEnabled = (body.mouseChildren = false);
}
}
}//package vehicles
Section 441
//LeaderboardItem (vkontakte.ui.LeaderboardItem)
package vkontakte.ui {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import utils.*;
import flash.system.*;
import caurina.transitions.properties.*;
import caurina.transitions.*;
import com.adobe.crypto.*;
public class LeaderboardItem extends LeaderboardItemTemplate {
private var _imagePath:String;// = ""
private var _delay:Number;// = 0
private var _loader:URLLoader;
private var _id:String;
public function LeaderboardItem(data:XML, pl:Number){
super();
ColorShortcuts.init();
this.score.text = data.score;
Fonts.applyDefaultFont(score);
this.title.text = data.user_name;
Fonts.applyDefaultFont(title);
this.place.text = String(pl);
Fonts.applyDefaultFont(place);
_delay = pl;
this.score.mouseEnabled = (this.title.mouseEnabled = (this.place.mouseEnabled = false));
this.place.text = String(pl);
Fonts.applyDefaultFont(place);
getInfo(data.user_id);
this.addEventListener(MouseEvent.CLICK, gotoUserPage, false, 0, true);
this.buttonMode = true;
this.addEventListener(MouseEvent.MOUSE_OVER, over, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, out, false, 0, true);
}
private function unableToLoadPhoto(event:IOErrorEvent):void{
}
private function out(event:MouseEvent):void{
Tweener.addTween(this, {_brightness:0, time:0.3});
}
private function loadImage():void{
_loader.load(new URLRequest(_imagePath));
}
private function photoLoaded(event:Event):void{
event.stopPropagation();
var photo:Bitmap = Bitmap(event.target.content);
this.image.avatar.addChild(photo);
}
private function over(event:MouseEvent):void{
Tweener.addTween(this, {_brightness:0.5, time:0.3});
}
public function getInfo(uids:Object, fields:String="photo"):void{
var _uids:String = ((uids is Array)) ? uids.join(",") : String(uids);
_id = _uids;
var path:String = ((((((((("api_id=" + Config.API_ID) + "&fields=") + fields) + "&method=getProfiles") + "&uids=") + _uids) + "&test_mode=") + Config.TEST_MODE) + "&v=2.0");
var sig:String = (((((((((((Config.VIEWER_ID + "api_id=") + Config.API_ID) + "fields=") + fields) + "method=getProfiles") + "test_mode=") + Config.TEST_MODE) + "uids=") + _uids) + "v=2.0") + Config.API_SECRET);
var rpath:String = ((((Config.api + "?") + path) + "&sig=") + MD5.hash(sig));
_loader = new URLLoader();
_imagePath = rpath;
_loader.addEventListener(Event.COMPLETE, userInfoLoaded);
setTimeout(loadImage, Math.ceil(((1200 / 3) * _delay)));
}
private function gotoUserPage(event:MouseEvent):void{
navigateToURL(new URLRequest(("http://vkontakte.ru/id" + _id)), "_blank");
}
private function userInfoLoaded(event:Event):void{
event.stopPropagation();
var user_info:XML = XML(event.target.data);
var photoLoader:Loader = new Loader();
photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, photoLoaded);
photoLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, unableToLoadPhoto);
var loaderContext:LoaderContext = new LoaderContext(true);
photoLoader.load(new URLRequest(user_info.user.photo), loaderContext);
}
}
}//package vkontakte.ui
Section 442
//VLeaderBoard (vkontakte.ui.VLeaderBoard)
package vkontakte.ui {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import utils.*;
import caurina.transitions.*;
import com.adobe.crypto.*;
public class VLeaderBoard extends VLeaderboardTemplate {
private var _itemsContainer:MovieClip;
private var dragging:Boolean;// = false
private var scrollTimer:Timer;
public static var instance:VLeaderBoard;
public function VLeaderBoard(){
super();
_itemsContainer = new MovieClip();
addChild(_itemsContainer);
alpha = 0;
visible = false;
_itemsContainer.mask = _mask;
closeBtn.addEventListener(MouseEvent.CLICK, hide, false, 0, true);
sliderBtn.buttonMode = true;
sliderBtn.addEventListener(MouseEvent.MOUSE_DOWN, startScroll, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, true);
scrollTimer = new Timer(10);
preloader.visible = false;
instance = this;
}
private function hide(event:MouseEvent=null):void{
var event = event;
Tweener.addTween(this, {alpha:0, time:0.5, onComplete:function ():void{
this.visible = false;
clearList();
}});
}
private function clearList():void{
var j:int = _itemsContainer.numChildren;
while (j--) {
_itemsContainer.removeChildAt(j);
};
}
private function mouseUp(event:MouseEvent):void{
if (dragging){
dragging = false;
sliderBtn.stopDrag();
scrollTimer.stop();
scrollTimer.removeEventListener(TimerEvent.TIMER, scroll, true);
};
}
public function getLeaderBoard():void{
var path:String = (((((("api_id=" + Config.API_ID) + "&method=") + "getHighScores") + "&test_mode=") + Config.TEST_MODE) + "&v=2.0");
var sig:String = ((((((((Config.VIEWER_ID + "api_id=") + Config.API_ID) + "method=") + "getHighScores") + "test_mode=") + Config.TEST_MODE) + "v=2.0") + Config.API_SECRET);
var rpath:String = ((((Config.api + "?") + path) + "&sig=") + MD5.hash(sig));
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, createList);
loader.load(new URLRequest(rpath));
}
private function scroll(event:TimerEvent=null):void{
_itemsContainer.cacheAsBitmap = true;
var scrollPercent:int = ((100 / 236) * (sliderBtn.y - 68));
var acty:Number = Number(_itemsContainer);
var endy:Number = Number(((((_mask.height - 10) - _itemsContainer.height) / 100) * scrollPercent));
Tweener.addTween(_itemsContainer, {y:endy, time:0, transition:"linear"});
}
private function startScroll(event:MouseEvent):void{
if (_mask.height < _itemsContainer.height){
sliderBtn.startDrag(false, new Rectangle(534, 68, 0, 236));
dragging = true;
scrollTimer.addEventListener(TimerEvent.TIMER, scroll, false, 0, true);
scrollTimer.start();
};
}
private function createList(event:Event):void{
var item:LeaderboardItem;
event.stopPropagation();
preloader.visible = false;
var scoreList:XML = XML(event.target.data);
clearList();
var i:int;
while (i < scoreList.children().length()) {
item = new LeaderboardItem(scoreList.score_info[i], (i + 1));
item.x = 27;
item.y = (70 + (55 * i));
item.alpha = 0;
_itemsContainer.addChild(item);
Tweener.addTween(item, {alpha:1, time:0.5, delay:(0.05 * i)});
i++;
};
}
public function show():void{
visible = true;
Tweener.addTween(this, {alpha:1, time:0.5});
preloader.visible = true;
getLeaderBoard();
}
}
}//package vkontakte.ui
Section 443
//DataProvider (vkontakte.DataProvider)
package vkontakte {
import flash.events.*;
import flash.net.*;
import utils.*;
import com.adobe.crypto.*;
public class DataProvider {
private static var _loader:URLLoader;
public static var fb_uid:String = "781258757";
public function DataProvider(){
super();
_loader = new URLLoader();
_loader.addEventListener(Event.COMPLETE, completeLoading);
}
public static function getMyScore():void{
var path:String = ((((((("api_id=" + Config.API_ID) + "&method=") + "getVariable") + "&key=100") + "&test_mode=") + Config.TEST_MODE) + "&v=2.0");
var sig:String = (((((((((Config.VIEWER_ID + "api_id=") + Config.API_ID) + "key=100") + "method=") + "getVariable") + "test_mode=") + Config.TEST_MODE) + "v=2.0") + Config.API_SECRET);
var rpath:String = ((((Config.api + "?") + path) + "&sig=") + MD5.hash(sig));
_loader.load(new URLRequest(rpath));
}
private static function completeLoading(event:Event):void{
trace(event.target.data);
}
public static function sendFBScore(score:Number):void{
var url:String = "http://en.facebook.promo.services.alawar.com/scores.php";
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, completeHandler, false, 0, true);
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
variables.cmd = "send";
variables.score = score;
variables.user_id = fb_uid;
request.data = variables;
loader.load(request);
}
public static function completeHandler(event:Event):void{
trace(("Facebook score has sent " + event.target.data));
}
public static function sendScore(score:Number):void{
var path:String = (((((((("api_id=" + Config.API_ID) + "&method=") + "setUserScore") + "&score=") + score) + "&test_mode=") + Config.TEST_MODE) + "&v=2.0");
var sig:String = ((((((((((Config.VIEWER_ID + "api_id=") + Config.API_ID) + "method=") + "setUserScore") + "score=") + score) + "test_mode=") + Config.TEST_MODE) + "v=2.0") + Config.API_SECRET);
var rpath:String = ((((Config.api + "?") + path) + "&sig=") + MD5.hash(sig));
_loader.load(new URLRequest(rpath));
}
public static function sendMyScore(score:Number):void{
var path:String = ((((((((("api_id=" + Config.API_ID) + "&method=") + "putVariable") + "&key=100") + "&value=") + score) + "&test_mode=") + Config.TEST_MODE) + "&v=2.0");
var sig:String = (((((((((((Config.VIEWER_ID + "api_id=") + Config.API_ID) + "key=100") + "method=") + "putVariable") + "test_mode=") + Config.TEST_MODE) + "v=2.0") + "value=") + score) + Config.API_SECRET);
var rpath:String = ((((Config.api + "?") + path) + "&sig=") + MD5.hash(sig));
_loader.load(new URLRequest(rpath));
}
}
}//package vkontakte
Section 444
//action_sell_buy (action_sell_buy)
package {
import flash.media.*;
public dynamic class action_sell_buy extends Sound {
public function action_sell_buy(){
super();
}
}
}//package
Section 445
//action_upgrade (action_upgrade)
package {
import flash.media.*;
public dynamic class action_upgrade extends Sound {
public function action_upgrade(){
super();
}
}
}//package
Section 446
//action_watering (action_watering)
package {
import flash.media.*;
public dynamic class action_watering extends Sound {
public function action_watering(){
super();
}
}
}//package
Section 447
//action_well (action_well)
package {
import flash.media.*;
public dynamic class action_well extends Sound {
public function action_well(){
super();
}
}
}//package
Section 448
//action_well_auto (action_well_auto)
package {
import flash.media.*;
public dynamic class action_well_auto extends Sound {
public function action_well_auto(){
super();
}
}
}//package
Section 449
//airplane_flyin (airplane_flyin)
package {
import flash.media.*;
public dynamic class airplane_flyin extends Sound {
public function airplane_flyin(){
super();
}
}
}//package
Section 450
//ArrowTemplate (ArrowTemplate)
package {
import flash.display.*;
public dynamic class ArrowTemplate extends MovieClip {
public function ArrowTemplate(){
super();
}
}
}//package
Section 451
//BackgroundTemplate (BackgroundTemplate)
package {
import flash.display.*;
public dynamic class BackgroundTemplate extends MovieClip {
public function BackgroundTemplate(){
super();
}
}
}//package
Section 452
//BlockTooltipTemplate (BlockTooltipTemplate)
package {
import flash.display.*;
public dynamic class BlockTooltipTemplate extends MovieClip {
public var lock:MovieClip;
public var help:MovieClip;
public var body:MovieClip;
public function BlockTooltipTemplate(){
super();
}
}
}//package
Section 453
//cage_breaking (cage_breaking)
package {
import flash.media.*;
public dynamic class cage_breaking extends Sound {
public function cage_breaking(){
super();
}
}
}//package
Section 454
//cage_broke_bear_flee (cage_broke_bear_flee)
package {
import flash.media.*;
public dynamic class cage_broke_bear_flee extends Sound {
public function cage_broke_bear_flee(){
super();
}
}
}//package
Section 455
//cage_click (cage_click)
package {
import flash.media.*;
public dynamic class cage_click extends Sound {
public function cage_click(){
super();
}
}
}//package
Section 456
//CakeHouseTemplate (CakeHouseTemplate)
package {
import flash.display.*;
public dynamic class CakeHouseTemplate extends MovieClip {
public var body:MovieClip;
public var activeArea:MovieClip;
public function CakeHouseTemplate(){
super();
}
}
}//package
Section 457
//car_came (car_came)
package {
import flash.media.*;
public dynamic class car_came extends Sound {
public function car_came(){
super();
}
}
}//package
Section 458
//EndScreenTemplate (EndScreenTemplate)
package {
import flash.display.*;
import flash.text.*;
public dynamic class EndScreenTemplate extends MovieClip {
public var sendScoreBtn:MovieClip;
public var exitBtn:MovieClip;
public var caption:TextField;
public var buyBtn:MovieClip;
public function EndScreenTemplate(){
super();
}
}
}//package
Section 459
//enemy_landing (enemy_landing)
package {
import flash.media.*;
public dynamic class enemy_landing extends Sound {
public function enemy_landing(){
super();
}
}
}//package
Section 460
//fanfare_aim (fanfare_aim)
package {
import flash.media.*;
public dynamic class fanfare_aim extends Sound {
public function fanfare_aim(){
super();
}
}
}//package
Section 461
//fanfare_best_time (fanfare_best_time)
package {
import flash.media.*;
public dynamic class fanfare_best_time extends Sound {
public function fanfare_best_time(){
super();
}
}
}//package
Section 462
//fanfare_level_complete (fanfare_level_complete)
package {
import flash.media.*;
public dynamic class fanfare_level_complete extends Sound {
public function fanfare_level_complete(){
super();
}
}
}//package
Section 463
//fanfare_medal (fanfare_medal)
package {
import flash.media.*;
public dynamic class fanfare_medal extends Sound {
public function fanfare_medal(){
super();
}
}
}//package
Section 464
//Farm2 (Farm2)
package {
import ru.rambler.games.interfaces.core.*;
import com.facebook.events.*;
import flash.events.*;
import ru.rambler.games.events.*;
import ru.rambler.games.interfaces.net.*;
import ru.rambler.games.interfaces.game.*;
import ru.rambler.games.interfaces.ui.*;
import flash.net.*;
import caurina.transitions.*;
import flash.display.*;
import com.facebook.data.users.*;
import com.facebook.net.*;
import com.facebook.utils.*;
import flash.text.*;
import flash.utils.*;
import ui.*;
import vkontakte.*;
import com.facebook.commands.users.*;
import utils.*;
import ru.rambler.games.debug.*;
import facebook.ui.*;
import game.*;
import mochi.as3.*;
public class Farm2 extends MovieClip implements IGame {
private var musicLoaded:Boolean;// = false
private var preloader:FarmPreloader;
private var musicCurrent:Number;// = 0
private var country:String;// = "US"
private var adContainer:MovieClip;
private var musicTotal:Number;// = 0
private var ad_loaded:Boolean;// = true
private var _loader:ICore;
private var farmTotal:Number;// = 0
private var _controller:IGameController;
public var dataProvider:DataProvider;
private var language:String;// = "en"
private var farmLoaded:Boolean;// = false
private var _uiManager:IUIManager;
private var xmlLoaded:Boolean;// = true
private var _connection:IConnection;
public static const DOCUMENT_CLASS:String = "Farm3Africa";
public static var mochi_Leaderboard:String = "b805518e75381959";
public static var connection_name:String;
public static var _loaderInfo:Object;
public static var facebookSession:FacebookSessionUtil;
public static var mail_ru_connection:LocalConnection;
public static var portal:String = "default";
public static var instance:Farm2;
public static var mochiads_game_id:String = "d277f0b6407c9185";
public function Farm2(){
var bitmapData:BitmapData;
var bg:Bitmap;
trace("test");
super();
instance = this;
stop();
preloader = new FarmPreloader();
addChild(preloader);
Config.currentLanguage = Languages.language;
var gc:GameController = new GameController();
_loaderInfo = loaderInfo.parameters;
if (portal != "rambler"){
readSharedData();
};
if (portal == "mail.ru"){
mail_ru_connection = new LocalConnection();
mail_ru_connection.client = this;
connection_name = loaderInfo.parameters.lcom_name;
mail_ru_connection.connect((loaderInfo.parameters.lcom_name + "Back"));
};
if (loaderInfo.parameters.link != undefined){
Config.downloadLink = loaderInfo.parameters.link;
};
if (loaderInfo.parameters.alawar_f != undefined){
if (loaderInfo.parameters.alawar_f == "true"){
Config.downloadable = false;
};
};
if (loaderInfo.parameters.close_f != undefined){
Config.closeFunction = loaderInfo.parameters.close_f;
};
if (loaderInfo.parameters.target != undefined){
Config.target = loaderInfo.parameters.target;
};
if (loaderInfo.parameters.use_cheats != undefined){
if (loaderInfo.parameters.use_cheats == "true"){
Config.use_cheats = true;
};
};
if (((!((loaderInfo.parameters.language == undefined))) && (!((loaderInfo.parameters.country == undefined))))){
xmlLoaded = false;
language = loaderInfo.parameters.language;
Config.language = language;
country = loaderInfo.parameters.country;
loadLanguage();
};
//unresolved jump
var _slot1 = e;
trace(("Ошибка " + _slot1));
if (language == "ru"){
preloader.alawar.gotoAndStop("ru");
} else {
preloader.alawar.gotoAndStop("en");
};
var ldr:Loader = new Loader();
ldr.load(new URLRequest("logos/logo.png"));
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, logoLoaded, false, 0, true);
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, farmLogoError, false, 0, true);
musicLoaded = true;
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loaderInfo.addEventListener(Event.COMPLETE, farmLoadedHandler);
if (portal == "mochi"){
ad_loaded = false;
adContainer = new MovieClip();
bitmapData = new BitmapData(570, 430, false, 4283280631);
bg = new Bitmap(bitmapData);
adContainer.addChild(bg);
addChild(adContainer);
MochiAd.showPreGameAd({clip:adContainer, id:mochiads_game_id, res:"570x430", ad_failed:mochiAdsLoaded, ad_finished:mochiAdsLoaded, color:16630663, background:5090551, outline:0xFFFFFF, ad_skipped:mochiAdsLoaded, ad_failed:mochiAdsLoaded});
};
if (portal == "rambler"){
addEventListener(Event.ADDED_TO_STAGE, initRambler, false, 0, true);
ad_loaded = false;
};
if (portal == "facebook"){
ad_loaded = false;
dataProvider = new DataProvider();
facebookSession = new FacebookSessionUtil("c01c618ce47f9dea9edcc6ec04c93169", "845801b56b8354320d1eeab060c7ad73", stage.loaderInfo);
facebookSession.addEventListener(FacebookEvent.WAITING_FOR_LOGIN, handle_waitingForLogin, false, 0, true);
facebookSession.addEventListener(FacebookEvent.CONNECT, handle_connect, false, 0, true);
facebookSession.login();
};
if (portal == "vkontakte"){
dataProvider = new DataProvider();
Config.IS_APP_USER = 0;
Config.IS_APP_USER = loaderInfo.parameters.is_app_user;
if (loaderInfo.parameters.viewer_id != undefined){
Config.VIEWER_ID = loaderInfo.parameters.viewer_id;
};
Config.downloadable = false;
if (Config.IS_APP_USER != 1){
ad_loaded = false;
showInstallMessage();
};
};
}
public function handle_waitingForLogin(event:FacebookEvent):void{
var alert:AlertWindow = new AlertWindow();
addChild(alert);
alert.show();
}
private function farmLogoError(event:IOErrorEvent=null):void{
}
public function closeFBAlert():void{
facebookSession.validateLogin();
//unresolved jump
var _slot1 = error;
trace(("facebookSession.validateLogin(): " + _slot1));
ad_loaded = true;
initGame();
}
public function destroy(... _args):void{
if (portal == "mail.ru"){
mail_ru_connection.close();
};
GameController.instance.destroy();
}
private function error(event:IOErrorEvent=null):void{
}
private function logoLoaded(event:Event=null):void{
preloader.addChild(event.target.content);
event.target.content.x = 0;
event.target.content.y = (425 - event.target.content.height);
}
public function closeGame(event:MouseEvent=null):void{
_uiManager.closeGame();
}
private function initRambler(event:Event=null):void{
if (!isOnline){
_loader = new SingleplayerCoreEmulator(this);
init();
trace("offline rambler");
} else {
trace("online rambler");
};
_connection.connect();
FarmPreloader.instance.rambler.visible = true;
}
public function gameJacketError(errorObject:Object):void{
ad_loaded = true;
adContainer.visible = false;
initGame();
}
private function gameJacketSecurityOK(e:Event):void{
ad_loaded = true;
adContainer.visible = false;
initGame();
}
protected function get isOnline():Boolean{
return (!((_loader == null)));
}
private function initGame(event:Event=null):void{
var event = event;
if (((((xmlLoaded) && (farmLoaded))) && (musicLoaded))){
if (ad_loaded == true){
preloader.progress.line.gotoAndStop(100);
Tweener.addTween(preloader, {alpha:0, time:0.8, delay:0.1, onComplete:function ():void{
this.visible = false;
}});
main();
};
};
}
public function sendRamblerScore(score:Number=0):void{
(_connection as ISingleplayerConnection).sendResult(score, false);
}
public function set loader(value:ICore):void{
_loader = value;
}
private function closeRamblerGame(event:MouseEvent):void{
_uiManager.closeGame();
}
private function startRamblerGame():void{
readyRambler();
trace("Rambler game is ready for start");
Config.sharedName = ("sdsfwefdsfs" + _connection.clientObject.userObject.login);
readSharedData();
ad_loaded = true;
initGame();
}
private function xmlLoadedHandler(event:Event):void{
var loader:URLLoader = URLLoader(event.target);
var languageXML:XML = new XML(loader.data);
languageXML.ignoreWhitespace = true;
Config.currentLanguage = languageXML;
xmlLoaded = true;
initGame();
}
private function gameJacketSecurityError(e:Event):void{
var error:TextField = new TextField();
error.width = 300;
error.htmlText = String("Security Error. <a href='http://www.alawar.com/download/FarmFrenzyPizzaParty_10105.exe'>Download full version.</a>");
}
private function gameMusicLoaded(event:Event):void{
musicLoaded = true;
initGame();
}
private function main():void{
var app:Object;
nextFrame();
var farmfrenzy2:Class = Class(getDefinitionByName(DOCUMENT_CLASS));
if (farmfrenzy2){
app = new (farmfrenzy2);
addChildAt((app as DisplayObject), 0);
};
}
private function mochiAdsLoaded(... _args):void{
var params = _args;
ad_loaded = true;
Tweener.addTween(adContainer, {alpha:0, time:0.1, onComplete:function ():void{
adContainer.visible = false;
}});
initGame();
}
public function init():void{
_connection = _loader.connection;
_connection.addEventListener(ConnectionEvent.CONNECT, connectRambler);
}
private function loadSoundError(event:IOErrorEvent=null):void{
musicLoaded = true;
SoundsList.gameMusicSound = null;
initGame();
}
private function showGameJacketAd():void{
var adOptions:Object = new Object();
var adHolder:MovieClip = new MovieClip();
adContainer.addChild(adHolder);
adOptions.adDisplayObject = adHolder;
adOptions.bgColour = 5090551;
adOptions.bgAlpha = 1;
adOptions.errorFunction = gameJacketError;
adOptions.errorParameters = {testVar1:"Error Text", testVar2:0x0300};
adOptions.endFunction = gameJacketEnd;
adOptions.endParameters = {testVar1:"End Text", testVar2:6};
}
private function showInstallMessage():void{
trace("test");
var installWindow:InstallWindow = new InstallWindow();
addChild(installWindow);
}
private function connectRambler(event:ConnectionEvent):void{
trace("Rambler connection is ok");
startRamblerGame();
}
private function handle_connect(event:FacebookEvent):void{
trace("connect");
var call:FacebookCall = facebookSession.facebook.post(new GetInfo([facebookSession.facebook.uid], ["name", "pic_square"]));
call.addEventListener(FacebookEvent.COMPLETE, handle_getInfoComplete, false, 0, true);
}
private function progressHandler(event:ProgressEvent):void{
var loaded:uint = (event.bytesLoaded + musicCurrent);
var total:uint = (event.bytesTotal + musicTotal);
preloader.progress.line.gotoAndStop(Math.ceil(((loaded / total) * 100)));
}
private function loadLanguage():void{
var xmlLoader:URLLoader = new URLLoader();
var xmlRequest:URLRequest = new URLRequest((((("localized/" + language) + "-") + country) + "/text/text.xml"));
var logoLoader:Loader = new Loader();
var logoRequest:URLRequest = new URLRequest((((("localized/" + language) + "-") + country) + "/images/logo.png"));
logoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, farmLogoLoaded, false, 0, true);
logoLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, error, false, 0, true);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoadedHandler);
logoLoader.addEventListener(Event.COMPLETE, farmLogoLoaded);
xmlLoader.load(xmlRequest);
//unresolved jump
var _slot1 = error;
logoLoader.load(logoRequest);
//unresolved jump
var _slot1 = error;
}
public function gameJacketEnd(endObject:Object):void{
var endObject = endObject;
ad_loaded = true;
Tweener.addTween(adContainer, {alpha:0, time:0.1, onComplete:function ():void{
adContainer.visible = false;
}});
initGame();
}
private function readSharedData():void{
Config.sharedObject = SharedObject.getLocal(Config.sharedName);
if (!Config.sharedObject.data.played){
Config.sharedObject.data.stars = (Config.stars = 0);
Config.sharedObject.data.nodes = (Config.nodes = new Array("novel", "none", "none", "none", "novel", "none", "none", "none", "novel", "none", "none", "none", "novel", "none", "none", "none", "novel", "none", "none"));
Config.sharedObject.data.score = (Config.score = 0);
Config.sharedObject.data.upgrades = (Config.upgrades = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
Config.sharedObject.data.level = (Config.level = 1);
Config.sharedObject.data.played = (Config.played = false);
} else {
Config.nodes = Config.sharedObject.data.nodes;
Config.stars = Config.sharedObject.data.stars;
Config.score = Config.sharedObject.data.score;
Config.upgrades = Config.sharedObject.data.upgrades;
Config.level = Config.sharedObject.data.level;
Config.played = Config.sharedObject.data.played;
};
//unresolved jump
var _slot1 = error;
}
private function handle_getInfoComplete(event:FacebookEvent):void{
var getInfoData:GetInfoData = GetInfoData(event.data);
var user:FacebookUser = FacebookUser(getInfoData.userCollection.getItemAt(0));
trace(user.pic_square);
DataProvider.fb_uid = user.uid;
trace(((user.name + " ") + user.uid));
}
private function farmLogoLoaded(event:Event=null):void{
FarmPreloader.externalLogo = new Sprite();
FarmPreloader.externalLogo.addChild(event.target.content);
}
private function farmLoadedHandler(event:Event=null):void{
farmLoaded = true;
initGame();
}
private function readyRambler():void{
if (isOnline){
(_connection as ISingleplayerConnection).ready();
};
}
private function progressMusic(event:ProgressEvent):void{
musicCurrent = event.bytesLoaded;
musicTotal = event.bytesTotal;
}
}
}//package
Section 465
//Farm3Africa (Farm3Africa)
package {
import flash.events.*;
import flash.display.*;
import game.assets.*;
import ui.*;
import shop.*;
import flash.net.*;
import facebook.ui.*;
import map.*;
import vkontakte.ui.*;
import game.*;
import flash.text.*;
import utils.*;
import com.melesta.sound.*;
import com.melesta.utils.fps.*;
import flash.errors.*;
public class Farm3Africa extends MovieClip {
public var leaderboard:Leaderboard;
private var shopWindow:ShopWindow;
private var arrow:FArrow;
private var uiContainer:MovieClip;
private var mail_ru_connection:LocalConnection;
public var fbLeaderboard:FBLeaderboard;
private var map:MapWindow;
private var endScreen:EndScreen;
public var vkontakteLeaderBoard:VLeaderBoard;
private var gameController:GameController;
private var gameContainer:MovieClip;
private var gameMenu:GameMenu;
private var startScreen:StartScreen;
private var levelBuilder:LevelBuilder;
private var assetsContainer:MovieClip;
public function Farm3Africa(){
super();
var pg:PlayGround = new PlayGround();
addChild(pg);
addEventListener(Event.ADDED_TO_STAGE, gameLoaded, false, 0, true);
stop();
}
public function destroy(event:Event=null):void{
}
private function loaded(event:Event=null):void{
startScreen.addChild(event.target.content);
event.target.content.x = 5;
event.target.content.y = (425 - event.target.content.height);
}
private function prepareFPSMeter():void{
}
private function error(event:IOErrorEvent=null):void{
}
public function gameLoaded(event:Event=null):void{
SoundsList.init();
gameController = new GameController();
gameController.addEventListener(GameController.DESTROY_GAME, destroy, false, 0, true);
gameController.addEventListener(GameController.START_GAME, startGame, false, 0, true);
gameContainer = new MovieClip();
addChild(gameContainer);
assetsContainer = new MovieClip();
gameContainer.addChild(assetsContainer);
uiContainer = new MovieClip();
addChild(uiContainer);
levelBuilder = new LevelBuilder();
levelBuilder.container = assetsContainer;
levelBuilder.prepareAllAssets();
startScreen = new StartScreen();
map = new MapWindow();
uiContainer.addChild(map);
uiContainer.addChild(startScreen);
startScreen.show();
shopWindow = new ShopWindow();
uiContainer.addChild(shopWindow);
var tooltip:Tooltip = new Tooltip();
uiContainer.addChild(tooltip);
var mapTooltip:MapTooltip = new MapTooltip();
uiContainer.addChild(mapTooltip);
var blockTooltip:BlockTooltip = new BlockTooltip();
uiContainer.addChild(blockTooltip);
var quitDialog:QuitDialog = new QuitDialog();
uiContainer.addChild(quitDialog);
gameMenu = new GameMenu(this);
endScreen = new EndScreen(this);
arrow = new FArrow(this);
var ldr:Loader = new Loader();
ldr.load(new URLRequest("logos/logo.png"));
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded, false, 0, true);
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, error, false, 0, true);
leaderboard = new Leaderboard();
uiContainer.addChild(leaderboard);
if (Farm2.portal == "vkontakte"){
vkontakteLeaderBoard = new VLeaderBoard();
uiContainer.addChild(vkontakteLeaderBoard);
};
if (Farm2.portal == "facebook"){
fbLeaderboard = new FBLeaderboard();
uiContainer.addChild(fbLeaderboard);
};
var quitMenu:QuitMenu = new QuitMenu();
uiContainer.addChild(quitMenu);
}
public function startGame(event:Event=null):void{
}
}
}//package
Section 466
//FlouryCakeHouseTemplate (FlouryCakeHouseTemplate)
package {
import flash.display.*;
public dynamic class FlouryCakeHouseTemplate extends MovieClip {
public var body:MovieClip;
public var activeArea:MovieClip;
public function FlouryCakeHouseTemplate(){
super();
}
}
}//package
Section 467
//fool_action (fool_action)
package {
import flash.media.*;
public dynamic class fool_action extends Sound {
public function fool_action(){
super();
}
}
}//package
Section 468
//guinea_fowl_die (guinea_fowl_die)
package {
import flash.media.*;
public dynamic class guinea_fowl_die extends Sound {
public function guinea_fowl_die(){
super();
}
}
}//package
Section 469
//guinea_fowl_flyout (guinea_fowl_flyout)
package {
import flash.media.*;
public dynamic class guinea_fowl_flyout extends Sound {
public function guinea_fowl_flyout(){
super();
}
}
}//package
Section 470
//guinea_fowl_hungry (guinea_fowl_hungry)
package {
import flash.media.*;
public dynamic class guinea_fowl_hungry extends Sound {
public function guinea_fowl_hungry(){
super();
}
}
}//package
Section 471
//guinea_fowl_voice (guinea_fowl_voice)
package {
import flash.media.*;
public dynamic class guinea_fowl_voice extends Sound {
public function guinea_fowl_voice(){
super();
}
}
}//package
Section 472
//heavy_pet_landing (heavy_pet_landing)
package {
import flash.media.*;
public dynamic class heavy_pet_landing extends Sound {
public function heavy_pet_landing(){
super();
}
}
}//package
Section 473
//house_board_landing (house_board_landing)
package {
import flash.media.*;
public dynamic class house_board_landing extends Sound {
public function house_board_landing(){
super();
}
}
}//package
Section 474
//house_click (house_click)
package {
import flash.media.*;
public dynamic class house_click extends Sound {
public function house_click(){
super();
}
}
}//package
Section 475
//house_landing (house_landing)
package {
import flash.media.*;
public dynamic class house_landing extends Sound {
public function house_landing(){
super();
}
}
}//package
Section 476
//IncubatorTemplate (IncubatorTemplate)
package {
import flash.display.*;
public dynamic class IncubatorTemplate extends MovieClip {
public var body:MovieClip;
public var activeArea:MovieClip;
public function IncubatorTemplate(){
super();
}
}
}//package
Section 477
//InstallWindowTemplate (InstallWindowTemplate)
package {
import flash.display.*;
public dynamic class InstallWindowTemplate extends MovieClip {
public function InstallWindowTemplate(){
super();
}
}
}//package
Section 478
//item_add (item_add)
package {
import flash.media.*;
public dynamic class item_add extends Sound {
public function item_add(){
super();
}
}
}//package
Section 479
//item_cancel (item_cancel)
package {
import flash.media.*;
public dynamic class item_cancel extends Sound {
public function item_cancel(){
super();
}
}
}//package
Section 480
//KingPenguinTemplate (KingPenguinTemplate)
package {
import flash.display.*;
public dynamic class KingPenguinTemplate extends MovieClip {
public var hungryProgress:MovieClip;
public var body:MovieClip;
public function KingPenguinTemplate(){
super();
}
}
}//package
Section 481
//LeaderboardItemTemplate (LeaderboardItemTemplate)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LeaderboardItemTemplate extends MovieClip {
public var place:TextField;
public var image:MovieClip;
public var title:TextField;
public var score:TextField;
public function LeaderboardItemTemplate(){
super();
}
}
}//package
Section 482
//light_pet_landing (light_pet_landing)
package {
import flash.media.*;
public dynamic class light_pet_landing extends Sound {
public function light_pet_landing(){
super();
}
}
}//package
Section 483
//lion_scream (lion_scream)
package {
import flash.media.*;
public dynamic class lion_scream extends Sound {
public function lion_scream(){
super();
}
}
}//package
Section 484
//MapNodeTemplate (MapNodeTemplate)
package {
import flash.display.*;
public dynamic class MapNodeTemplate extends MovieClip {
public var silver:MovieClip;
public var none:MovieClip;
public var novel:MovieClip;
public var gold:MovieClip;
public var normal:MovieClip;
public function MapNodeTemplate(){
super();
}
}
}//package
Section 485
//MapTemplate (MapTemplate)
package {
import flash.display.*;
public dynamic class MapTemplate extends MovieClip {
public var _shadow:MovieClip;
public var bottomPanel:MovieClip;
public var buyBtn:MovieClip;
public function MapTemplate(){
super();
}
}
}//package
Section 486
//MapTooltipTempalte (MapTooltipTempalte)
package {
import flash.display.*;
import flash.text.*;
public dynamic class MapTooltipTempalte extends MovieClip {
public var body:MovieClip;
public var caption:TextField;
public function MapTooltipTempalte(){
super();
}
}
}//package
Section 487
//music_game (music_game)
package {
import flash.media.*;
public dynamic class music_game extends Sound {
public function music_game(){
super();
}
}
}//package
Section 488
//music_mainmenu (music_mainmenu)
package {
import flash.media.*;
public dynamic class music_mainmenu extends Sound {
public function music_mainmenu(){
super();
}
}
}//package
Section 489
//ostrich_die (ostrich_die)
package {
import flash.media.*;
public dynamic class ostrich_die extends Sound {
public function ostrich_die(){
super();
}
}
}//package
Section 490
//ostrich_flyout (ostrich_flyout)
package {
import flash.media.*;
public dynamic class ostrich_flyout extends Sound {
public function ostrich_flyout(){
super();
}
}
}//package
Section 491
//ostrich_hungry (ostrich_hungry)
package {
import flash.media.*;
public dynamic class ostrich_hungry extends Sound {
public function ostrich_hungry(){
super();
}
}
}//package
Section 492
//ostrich_voice (ostrich_voice)
package {
import flash.media.*;
public dynamic class ostrich_voice extends Sound {
public function ostrich_voice(){
super();
}
}
}//package
Section 493
//PenguinTemplate (PenguinTemplate)
package {
import flash.display.*;
public dynamic class PenguinTemplate extends MovieClip {
public var hungryProgress:MovieClip;
public var body:MovieClip;
public var activeArea:MovieClip;
public function PenguinTemplate(){
super();
}
}
}//package
Section 494
//PolarBearTemplate (PolarBearTemplate)
package {
import flash.display.*;
public dynamic class PolarBearTemplate extends MovieClip {
public var buildCage:MovieClip;
public var hit:MovieClip;
public var body:MovieClip;
public function PolarBearTemplate(){
super();
addFrameScript(0, frame1);
}
function frame1(){
buildCage.mouseEnabled = false;
buildCage.mouseChildren = false;
}
}
}//package
Section 495
//PowderedHouseTemplate (PowderedHouseTemplate)
package {
import flash.display.*;
public dynamic class PowderedHouseTemplate extends MovieClip {
public var body:MovieClip;
public var activeArea:MovieClip;
public function PowderedHouseTemplate(){
super();
}
}
}//package
Section 496
//PreloaderTemplate (PreloaderTemplate)
package {
import flash.display.*;
public dynamic class PreloaderTemplate extends MovieClip {
public var progress:MovieClip;
public var rambler:MovieClip;
public var alawar:MovieClip;
public function PreloaderTemplate(){
super();
}
}
}//package
Section 497
//product_crack (product_crack)
package {
import flash.media.*;
public dynamic class product_crack extends Sound {
public function product_crack(){
super();
}
}
}//package
Section 498
//product_landing (product_landing)
package {
import flash.media.*;
public dynamic class product_landing extends Sound {
public function product_landing(){
super();
}
}
}//package
Section 499
//product_take (product_take)
package {
import flash.media.*;
public dynamic class product_take extends Sound {
public function product_take(){
super();
}
}
}//package
Section 500
//QuitDialogTemplate (QuitDialogTemplate)
package {
import flash.display.*;
import flash.text.*;
public dynamic class QuitDialogTemplate extends MovieClip {
public var yesBtn:MovieClip;
public var noBtn:MovieClip;
public var caption:TextField;
public function QuitDialogTemplate(){
super();
}
}
}//package
Section 501
//QuitMenuTemplate (QuitMenuTemplate)
package {
import flash.display.*;
import flash.text.*;
public dynamic class QuitMenuTemplate extends MovieClip {
public var yesBtn:MovieClip;
public var pig:MovieClip;
public var noBtn:MovieClip;
public var caption:TextField;
public function QuitMenuTemplate(){
super();
}
}
}//package
Section 502
//ShopTemplate (ShopTemplate)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ShopTemplate extends MovieClip {
public var powdered:MovieClip;
public var title:TextField;
public var plane:MovieClip;
public var stars_txt:TextField;
public var incubator:MovieClip;
public var warehouse:MovieClip;
public var well:MovieClip;
public var cage:MovieClip;
public var confectionery:MovieClip;
public var car:MovieClip;
public var bakery:MovieClip;
public var okBtn:MovieClip;
public function ShopTemplate(){
super();
}
}
}//package
Section 503
//SimpleTooltipTemplate (SimpleTooltipTemplate)
package {
import flash.display.*;
import flash.text.*;
public dynamic class SimpleTooltipTemplate extends MovieClip {
public var okBtn:MovieClip;
public var caption:TextField;
public function SimpleTooltipTemplate(){
super();
}
}
}//package
Section 504
//StartScreenTemplate (StartScreenTemplate)
package {
import flash.display.*;
public dynamic class StartScreenTemplate extends MovieClip {
public var musicBtn:MovieClip;
public var exitBtn:MovieClip;
public var rambler:MovieClip;
public var alawar:MovieClip;
public var logo:MovieClip;
public var playerPanel:MovieClip;
public var soundBtn:MovieClip;
public var vkontakte_title:MovieClip;
public var okBtn:MovieClip;
public var buyBtn:MovieClip;
public function StartScreenTemplate(){
super();
}
}
}//package
Section 505
//tick_money (tick_money)
package {
import flash.media.*;
public dynamic class tick_money extends Sound {
public function tick_money(){
super();
}
}
}//package
Section 506
//tick_time (tick_time)
package {
import flash.media.*;
public dynamic class tick_time extends Sound {
public function tick_time(){
super();
}
}
}//package
Section 507
//TooltipTemplate (TooltipTemplate)
package {
import flash.display.*;
public dynamic class TooltipTemplate extends MovieClip {
public var help:MovieClip;
public var body:MovieClip;
public function TooltipTemplate(){
super();
addFrameScript(0, frame1);
}
function frame1(){
help.mouseEnabled = false;
help.mouseChildren = false;
body.mouseEnabled = false;
body.mouseChildren = false;
}
}
}//package
Section 508
//ui_button_click (ui_button_click)
package {
import flash.media.*;
public dynamic class ui_button_click extends Sound {
public function ui_button_click(){
super();
}
}
}//package
Section 509
//ui_button_hover (ui_button_hover)
package {
import flash.media.*;
public dynamic class ui_button_hover extends Sound {
public function ui_button_hover(){
super();
}
}
}//package
Section 510
//ui_panel_showing (ui_panel_showing)
package {
import flash.media.*;
public dynamic class ui_panel_showing extends Sound {
public function ui_panel_showing(){
super();
}
}
}//package
Section 511
//WaterTooltipTemplate (WaterTooltipTemplate)
package {
import flash.display.*;
import flash.text.*;
public dynamic class WaterTooltipTemplate extends MovieClip {
public var caption:TextField;
public function WaterTooltipTemplate(){
super();
}
}
}//package
Section 512
//VLeaderboardTemplate (VLeaderboardTemplate)
package {
import flash.display.*;
public dynamic class VLeaderboardTemplate extends MovieClip {
public var closeBtn:SimpleButton;
public var preloader:MovieClip;
public var sliderBtn:MovieClip;
public var _mask:MovieClip;
public function VLeaderboardTemplate(){
super();
}
}
}//package
Section 513
//WorkLineTemplate (WorkLineTemplate)
package {
import flash.display.*;
public dynamic class WorkLineTemplate extends MovieClip {
public var line:MovieClip;
public function WorkLineTemplate(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package