Section 1
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.0.0.0";
public function BitmapAsset(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){
super(bitmapData, pixelSnapping, smoothing);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(newWidth:Number, newHeight:Number):void{
width = newWidth;
height = newHeight;
}
public function move(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
}
}//package mx.core
Section 2
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.0.0.0";
public function ByteArrayAsset(){
super();
}
}
}//package mx.core
Section 3
//EdgeMetrics (mx.core.EdgeMetrics)
package mx.core {
public class EdgeMetrics {
public var top:Number;
public var left:Number;
public var bottom:Number;
public var right:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(left:Number=0, top:Number=0, right:Number=0, bottom:Number=0){
super();
this.left = left;
this.top = top;
this.right = right;
this.bottom = bottom;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 4
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexBitmap(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){
var bitmapData = bitmapData;
var pixelSnapping = pixelSnapping;
var smoothing = smoothing;
super(bitmapData, pixelSnapping, smoothing);
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 5
//FlexMovieClip (mx.core.FlexMovieClip)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexMovieClip extends MovieClip {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexMovieClip(){
super();
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 6
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 7
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 8
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(void:Point):Point;
function get name():String;
function set width(flash.display:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(flash.display:String):void;
function set scaleX(flash.display:Number):void;
function set scaleY(flash.display:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(flash.display:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(void:Point):Point;
function get height():Number;
function set blendMode(flash.display:String):void;
function get parent():DisplayObjectContainer;
function getBounds(String:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(flash.display:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(flash.display:Number):void;
function set accessibilityProperties(flash.display:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(flash.display:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(flash.display:Number):void;
function set mask(flash.display:DisplayObject):void;
function getRect(String:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(flash.display:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(mx.core:IFlexDisplayObject/mx.core:IFlexDisplayObject:stage/get:DisplayObject):Boolean;
function set opaqueBackground(flash.display:Object):void;
function set visible(flash.display:Boolean):void;
function get mask():DisplayObject;
function set x(flash.display:Number):void;
function set y(flash.display:Number):void;
function get transform():Transform;
function set filters(flash.display:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(flash.display:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 9
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(E:\dev\3.0.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function get isDocument():Boolean;
function set repeaters(E:\dev\3.0.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function initializeRepeaterArrays(E:\dev\3.0.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(E:\dev\3.0.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 10
//MovieClipAsset (mx.core.MovieClipAsset)
package mx.core {
public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function MovieClipAsset(){
super();
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(newWidth:Number, newHeight:Number):void{
width = newWidth;
height = newHeight;
}
public function move(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 11
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
public class MovieClipLoaderAsset extends MovieClipAsset implements IFlexAsset, IFlexDisplayObject {
protected var initialHeight:Number;// = 0
private var loader:Loader;// = null
private var initialized:Boolean;// = false
protected var initialWidth:Number;// = 0
private var requestedHeight:Number;
private var requestedWidth:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function MovieClipLoaderAsset(){
super();
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in loaderContext)){
loaderContext["allowLoadBytesCodeExecution"] = true;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.loadBytes(movieClipData, loaderContext);
addChild(loader);
}
override public function get width():Number{
if (!initialized){
return (initialWidth);
};
return (super.width);
}
override public function set width(value:Number):void{
if (!initialized){
requestedWidth = value;
} else {
loader.width = value;
};
}
override public function get measuredHeight():Number{
return (initialHeight);
}
private function completeHandler(event:Event):void{
initialized = true;
initialWidth = loader.width;
initialHeight = loader.height;
if (!isNaN(requestedWidth)){
loader.width = requestedWidth;
};
if (!isNaN(requestedHeight)){
loader.height = requestedHeight;
};
dispatchEvent(event);
}
override public function set height(value:Number):void{
if (!initialized){
requestedHeight = value;
} else {
loader.height = value;
};
}
override public function get measuredWidth():Number{
return (initialWidth);
}
override public function get height():Number{
if (!initialized){
return (initialHeight);
};
return (super.height);
}
public function get movieClipData():ByteArray{
return (null);
}
}
}//package mx.core
Section 12
//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 13
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.0.0.0";
private static var counter:int = 0;
public function NameUtil(){
super();
}
public static function displayObjectToString(displayObject:DisplayObject):String{
var result:String;
var s:String;
var indices:Array;
var o:DisplayObject = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
return (result);
}
public static function createUniqueName(object:Object):String{
if (!object){
return (null);
};
var name:String = getQualifiedClassName(object);
var index:int = name.indexOf("::");
if (index != -1){
name = name.substr((index + 2));
};
var charCode:int = name.charCodeAt((name.length - 1));
if ((((charCode >= 48)) && ((charCode <= 57)))){
name = (name + "_");
};
return ((name + counter++));
}
}
}//package mx.utils
Section 14
//InterpolationUtil (smileygamer.util.InterpolationUtil)
package smileygamer.util {
public class InterpolationUtil {
public static const TYPE_LINEAR:int = 0;
public static const TYPE_ACOS:int = 2;
public static const TYPE_COSINE:int = 1;
public function InterpolationUtil(){
super();
}
public static function createValues(aType:int, aBegin:Number, aEnd:Number, aSteps:int):Array{
var values:Array = new Array(aSteps);
var max:int = (aSteps - 1);
var i:int;
while (i < aSteps) {
if (aType == TYPE_COSINE){
values[i] = (aBegin + (((aEnd - aBegin) * Number((1 - Math.cos(((i * Math.PI) / max))))) / 2));
} else {
if (aType == TYPE_ACOS){
values[i] = (aBegin + ((aEnd - aBegin) * Number((Math.acos((1 - ((2 * Number(i)) / max))) / Math.PI))));
} else {
values[i] = (aBegin + (((aEnd - aBegin) * Number(i)) / max));
};
};
i++;
};
return (values);
}
}
}//package smileygamer.util
Section 15
//AAnimation (smileygamer.AAnimation)
package smileygamer {
import flash.events.*;
import flash.display.*;
public class AAnimation implements IAnimation {
private var fStopped:Boolean;
private var fCallbacks:Array;
private var fDisplayObject:DisplayObject;
private var fFrame:int;// = 0
private var fLooping:Boolean;
public function AAnimation(aDisplayObject:DisplayObject){
super();
fDisplayObject = aDisplayObject;
looping = true;
fCallbacks = new Array();
reset();
}
public function stop():void{
fStopped = true;
}
private function doCallbacks():void{
var callback:Function;
var i:int;
while (i < fCallbacks.length) {
callback = (fCallbacks[i] as Function);
callback.call(this);
i++;
};
}
public function get looping():Boolean{
return (fLooping);
}
public function addCallback(aCallback:Function):void{
if (aCallback != null){
fCallbacks.push(aCallback);
};
}
public function update():void{
}
public function reset():void{
fFrame = 0;
fStopped = false;
displayObject.removeEventListener(Event.ENTER_FRAME, next);
displayObject.addEventListener(Event.ENTER_FRAME, next);
update();
}
public function get displayObject():DisplayObject{
return (fDisplayObject);
}
protected function get frameCount():int{
return (1);
}
public function removeCallback(aCallback:Function):void{
var i:int;
while (i < fCallbacks.length) {
if (fCallbacks[i] == aCallback){
fCallbacks.splice(i, 1);
};
i++;
};
}
protected function get frame():int{
return (fFrame);
}
public function get finished():Boolean{
return ((((fFrame == frameCount)) || (fStopped)));
}
private function next(aEvent:Event):void{
if (displayObject.stage != null){
update();
fFrame++;
if (fLooping){
fFrame = (fFrame % frameCount);
};
if (finished){
displayObject.removeEventListener(Event.ENTER_FRAME, next);
doCallbacks();
};
} else {
displayObject.removeEventListener(Event.ENTER_FRAME, next);
};
}
public function set looping(aValue:Boolean):void{
fLooping = aValue;
}
}
}//package smileygamer
Section 16
//FadeAnimation (smileygamer.FadeAnimation)
package smileygamer {
import flash.display.*;
import smileygamer.util.*;
public class FadeAnimation extends AAnimation {
private var fSteps:int;
private var fValues:Array;
private var fMode:int;
private var fDelay:int;
public static const MODE_FADE_IN_OUT_REMOVE:int = 4;
public static const MODE_FADE_IN:int = 0;
public static const MODE_FADE_OUT:int = 1;
public static const MODE_FADE_IN_OUT:int = 3;
public static const MODE_FADE_OUT_REMOVE:int = 2;
public function FadeAnimation(aDisplayObject:DisplayObject, aSteps:int, aMode:int, aDelay:int=0){
var val2:Array;
var i:int;
fSteps = aSteps;
fMode = aMode;
fDelay = aDelay;
if (fMode == MODE_FADE_IN){
fValues = InterpolationUtil.createValues(InterpolationUtil.TYPE_COSINE, 0, 1, fSteps);
} else {
if ((((fMode == MODE_FADE_OUT)) || (MODE_FADE_OUT_REMOVE))){
fValues = InterpolationUtil.createValues(InterpolationUtil.TYPE_COSINE, 1, 0, fSteps);
} else {
fValues = InterpolationUtil.createValues(InterpolationUtil.TYPE_COSINE, 0, 1, (fSteps / 2));
val2 = InterpolationUtil.createValues(InterpolationUtil.TYPE_COSINE, 1, 0, (fSteps / 2));
i = 0;
while (i < val2.length) {
fValues.push(val2[i]);
i++;
};
};
};
super(aDisplayObject);
looping = false;
}
public function setFadeValues(aStart:Number, aEnd:Number):void{
fValues = InterpolationUtil.createValues(InterpolationUtil.TYPE_COSINE, aStart, aEnd, fSteps);
}
override protected function get frameCount():int{
return ((fSteps + fDelay));
}
override public function update():void{
if (frame >= fDelay){
displayObject.alpha = fValues[(frame - fDelay)];
if (fValues[(frame - fDelay)] > 0){
displayObject.visible = true;
} else {
displayObject.visible = false;
};
};
}
override public function get finished():Boolean{
var res:Boolean = super.finished;
if (((res) && ((((fMode == MODE_FADE_OUT_REMOVE)) || ((fMode == MODE_FADE_IN_OUT_REMOVE)))))){
displayObject.parent.removeChild(displayObject);
};
return (res);
}
}
}//package smileygamer
Section 17
//IAnimation (smileygamer.IAnimation)
package smileygamer {
public interface IAnimation {
function update():void;
function get finished():Boolean;
function get looping():Boolean;
}
}//package smileygamer
Section 18
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.system.*;
import flash.net.*;
public dynamic class MochiBot extends Sprite {
public function MochiBot(){
super();
}
public static function track(parent:Sprite, tag:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var self:MochiBot = new (MochiBot);
parent.addChild(self);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var server:String = "http://core.mochibot.com/my/core.swf";
var lv:URLVariables = new URLVariables();
lv["sb"] = Security.sandboxType;
lv["v"] = Capabilities.version;
lv["swfid"] = tag;
lv["mv"] = "8";
lv["fv"] = "9";
var url:String = self.root.loaderInfo.loaderURL;
if (url.indexOf("http") == 0){
lv["url"] = url;
} else {
lv["url"] = "local";
};
var req:URLRequest = new URLRequest(server);
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
var loader:Loader = new Loader();
self.addChild(loader);
loader.load(req);
return (self);
}
}
}//package
Section 19
//PrincessAyla (PrincessAyla)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import smileygamer.*;
import flash.filters.*;
import flash.text.*;
public dynamic class PrincessAyla extends Sprite {
private var fMatrix:Matrix;
private var fStartTime:int;
private var KaiserGamesTextLogo:Class;
private var fKGLogo:Sprite;
private var fSpeeds:Array;
private var fGameLoaded:Boolean;// = false
private var fColorOffsets:Array;
private var fLogo:Sprite;
private var fBackground:Shape;
private var fGame:MovieClip;
private var fProgress:Shape;
private var KaiserGamesLogo:Class;
public static const WIDTH:int = 683;
public static const HEIGHT:int = 535;
private static var GGFLogo:Class = PrincessAyla_GGFLogo;
private static var PuppyGame:Class = PrincessAyla_PuppyGame;
private static var GGFLogoSmall:Class = PrincessAyla_GGFLogoSmall;
public function PrincessAyla(){
var gameLoaded:Function;
KaiserGamesLogo = PrincessAyla_KaiserGamesLogo;
KaiserGamesTextLogo = PrincessAyla_KaiserGamesTextLogo;
fColorOffsets = [0, 55, 110, 165, 220];
fSpeeds = [0, -(Math.random()), Math.random(), -(Math.random()), Math.random()];
gameLoaded = function (e:Event):void{
fGameLoaded = true;
};
super();
fStartTime = getTimer();
fBackground = new Shape();
fMatrix = new Matrix();
fMatrix.createGradientBox(WIDTH, WIDTH, (Math.PI / 4));
fBackground.graphics.beginGradientFill(GradientType.LINEAR, new Array(16776170, 16691942, 16573908, 14841240, 16710375), new Array(1, 1, 1, 1, 1), new Array(0, 50, 100, 150, 200), fMatrix);
fBackground.graphics.drawRect(0, 0, WIDTH, HEIGHT);
addChild(fBackground);
fLogo = new Sprite();
fLogo.x = 40;
fLogo.y = 175;
fLogo.addChild(new GGFLogo());
addChild(fLogo);
fLogo.buttonMode = true;
fLogo.addEventListener(MouseEvent.CLICK, clicked);
SmileyGamer.init(stage, 0, "Princess Ayla");
if (((SmileyGamer.isDomain("kaisergames.de")) || (SmileyGamer.isDomain("vo.llnwd.net")))){
fKGLogo = new Sprite();
fKGLogo.x = 10;
fKGLogo.y = 10;
fKGLogo.addChild(new KaiserGamesLogo());
fKGLogo.buttonMode = true;
fKGLogo.addEventListener(MouseEvent.CLICK, kgclick);
addChild(fKGLogo);
};
fProgress = new Shape();
fProgress.filters = [new GlowFilter(16573908, 0.75, 8, 8, 2, BitmapFilterQuality.HIGH)];
addChild(fProgress);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
MochiBot.track(this, "31675296");
fGame = new PuppyGame();
fGame.addEventListener(Event.COMPLETE, gameLoaded);
}
private function init():void{
addChildAt(fGame, 0);
addButtons();
new FadeAnimation(fProgress, 15, FadeAnimation.MODE_FADE_OUT_REMOVE);
new FadeAnimation(fLogo, 15, FadeAnimation.MODE_FADE_OUT_REMOVE);
new FadeAnimation(fBackground, 15, FadeAnimation.MODE_FADE_OUT_REMOVE);
}
private function addButtons():void{
var kgtextlogo:Sprite;
var smallLogo:Sprite = new Sprite();
smallLogo.addChild(new GGFLogoSmall());
smallLogo.x = 430;
smallLogo.y = 2;
addChildAt(smallLogo, 1);
smallLogo.buttonMode = true;
smallLogo.addEventListener(MouseEvent.CLICK, clicked);
var tf:TextField = new TextField();
tf.autoSize = TextFieldAutoSize.LEFT;
tf.defaultTextFormat = new TextFormat("Comic Sans MS", 21, 16776170, true);
tf.mouseEnabled = false;
tf.text = "More Girl Games";
tf.filters = [new GlowFilter(14837128, 1, 4, 4, 3)];
var tfsel:TextField = new TextField();
tfsel.autoSize = TextFieldAutoSize.LEFT;
tfsel.defaultTextFormat = new TextFormat("Comic Sans MS", 21, 14837128, true);
tfsel.mouseEnabled = false;
tfsel.text = "More Girl Games";
tfsel.filters = [new GlowFilter(16776170, 1, 4, 4, 3)];
var moregamesButton:SimpleButton = new SimpleButton(tf, tfsel, tfsel, tfsel);
moregamesButton.addEventListener(MouseEvent.CLICK, clicked);
moregamesButton.x = 20;
moregamesButton.y = 0;
addChildAt(moregamesButton, 2);
if (fKGLogo != null){
new FadeAnimation(fKGLogo, 15, FadeAnimation.MODE_FADE_OUT_REMOVE);
kgtextlogo = new Sprite();
kgtextlogo.x = 230;
kgtextlogo.y = 0;
kgtextlogo.addChild(new KaiserGamesTextLogo());
kgtextlogo.buttonMode = true;
kgtextlogo.addEventListener(MouseEvent.CLICK, kgclick);
addChildAt(kgtextlogo, 3);
};
}
private function clicked(e:Event):void{
var url:String = "http://www.girlgamesfree.com/?ref=princess-ayla";
SmileyGamer.showURL(url);
}
private function kgclick(e:Event):void{
SmileyGamer.showURL("http://www.kibagames.com");
}
public function onEnterFrame(event:Event):void{
var p1:Number;
var p2:Number;
var percent:Number;
var now:int = getTimer();
if ((((((loaderInfo.bytesLoaded == loaderInfo.bytesTotal)) && (fGameLoaded))) && (((now - fStartTime) > 10000)))){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
fProgress.graphics.clear();
fProgress.graphics.beginFill(14841240);
fProgress.graphics.drawRect(20, (HEIGHT - 40), (WIDTH - 40), 20);
fProgress.graphics.endFill();
init();
} else {
p1 = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
p2 = ((now - fStartTime) / 10000);
percent = Math.min(p1, p2, 1);
fProgress.graphics.clear();
fProgress.graphics.beginFill(14841240);
fProgress.graphics.drawRect(20, (HEIGHT - 40), ((WIDTH - 40) * percent), 20);
fProgress.graphics.endFill();
};
var i = 1;
while (i < 5) {
fColorOffsets[i] = (fColorOffsets[i] + fSpeeds[i]);
if (fColorOffsets[i] > ((i * 55) + 15)){
fSpeeds[i] = -(Math.random());
};
if (fColorOffsets[i] < ((i * 55) - 15)){
fSpeeds[i] = Math.random();
};
i++;
};
fBackground.graphics.clear();
fBackground.graphics.beginGradientFill(GradientType.LINEAR, new Array(16776170, 16691942, 16573908, 14841240, 16710375), new Array(1, 1, 1, 1, 1), fColorOffsets, fMatrix);
fBackground.graphics.drawRect(0, 0, WIDTH, HEIGHT);
}
}
}//package
Section 20
//PrincessAyla_GGFLogo (PrincessAyla_GGFLogo)
package {
import mx.core.*;
public class PrincessAyla_GGFLogo extends BitmapAsset {
}
}//package
Section 21
//PrincessAyla_GGFLogoSmall (PrincessAyla_GGFLogoSmall)
package {
import mx.core.*;
public class PrincessAyla_GGFLogoSmall extends BitmapAsset {
}
}//package
Section 22
//PrincessAyla_KaiserGamesLogo (PrincessAyla_KaiserGamesLogo)
package {
import mx.core.*;
public class PrincessAyla_KaiserGamesLogo extends BitmapAsset {
}
}//package
Section 23
//PrincessAyla_KaiserGamesTextLogo (PrincessAyla_KaiserGamesTextLogo)
package {
import mx.core.*;
public class PrincessAyla_KaiserGamesTextLogo extends BitmapAsset {
}
}//package
Section 24
//PrincessAyla_PuppyGame (PrincessAyla_PuppyGame)
package {
import mx.core.*;
import flash.utils.*;
public class PrincessAyla_PuppyGame extends MovieClipLoaderAsset {
public var dataClass:Class;
private static var bytes:ByteArray = null;
public function PrincessAyla_PuppyGame(){
dataClass = PrincessAyla_PuppyGame_dataClass;
super();
initialWidth = (13660 / 20);
initialHeight = (10700 / 20);
}
override public function get movieClipData():ByteArray{
if (bytes == null){
bytes = ByteArray(new dataClass());
};
return (bytes);
}
}
}//package
Section 25
//PrincessAyla_PuppyGame_dataClass (PrincessAyla_PuppyGame_dataClass)
package {
import mx.core.*;
public class PrincessAyla_PuppyGame_dataClass extends ByteArrayAsset {
}
}//package
Section 26
//SmileyGamer (SmileyGamer)
package {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import flash.net.*;
import flash.external.*;
public class SmileyGamer {
public static const HOME:String = "http://www.smileygamer.com";
private static var sGame:String;
private static var sStage:Stage;
private static var sID:int;
private static var sReferer:String;
public function SmileyGamer(){
super();
}
public static function isInDomains(aDomains:Array):Boolean{
var allowed:Boolean;
var i:int;
while (i < aDomains.length) {
allowed = ((allowed) || (isDomain(aDomains[i])));
i++;
};
return (allowed);
}
public static function isLocal():Boolean{
return ((sReferer == "local"));
}
public static function showHome():void{
showURL(HOME, true);
}
public static function showHighscores():void{
var name:String = sGame.toLowerCase();
name = name.replace(/\s/g, "-");
showURL((((((HOME + "/highscores/") + sID) + "/") + name) + ".html"), true);
}
public static function showFreeContent():void{
showURL((HOME + "/freecontent.html"), true);
}
public static function isHome():Boolean{
return (isDomain("smileygamer.com"));
}
public static function init(aStage:Stage, aID:int, aGame:String):void{
sStage = aStage;
sID = aID;
sGame = aGame;
sReferer = getReferer();
}
public static function showURL(aURL:String, aAddRef:Boolean=false):void{
var aURL = aURL;
var aAddRef = aAddRef;
if (aAddRef){
aURL = ((aURL + "?gameref=") + sID);
};
ExternalInterface.call("window.open", aURL, "_blank", "");
//unresolved jump
var _slot1 = e;
navigateToURL(new URLRequest(aURL), "_blank");
//unresolved jump
var _slot1 = e;
}
public static function submitScore(aName:String, aScore:int, aMode:int=0, aRankListener:Function=null):void{
var rank:int;
var loader:URLLoader;
var error:Function;
var infoReceived:Function;
var aName = aName;
var aScore = aScore;
var aMode = aMode;
var aRankListener = aRankListener;
error = function (aEvent:Event):void{
rank = -1;
if (aRankListener != null){
aRankListener.call(null, rank);
};
};
infoReceived = function (aEvent:Event):void{
rank = int(loader.data);
if (aRankListener != null){
aRankListener.call(null, rank);
};
};
rank = 0;
var score:int = ((aScore * 100) + (aScore % 97));
var url:String = ((((((((HOME + "/scripts/highscores.php?id=") + sID) + "&mode=") + aMode) + "&score=") + score) + "&player=") + aName);
var req:URLRequest = new URLRequest(url);
loader = new URLLoader(req);
loader.addEventListener(IOErrorEvent.IO_ERROR, error);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, error);
loader.addEventListener(Event.COMPLETE, infoReceived);
}
public static function isDomain(aDomain:String):Boolean{
return ((((sReferer.indexOf(aDomain) == 0)) || (((!((sReferer.indexOf(("." + aDomain)) == -1))) && ((sReferer.indexOf(("." + aDomain)) == ((sReferer.length - aDomain.length) - 1)))))));
}
public static function getReferer():String{
var referer:String;
if (sStage != null){
referer = sStage.loaderInfo.loaderURL.toLowerCase();
if (referer.indexOf("file://") == 0){
referer = "local";
} else {
referer = referer.split("/")[2];
};
return (referer);
//unresolved jump
};
return ("");
}
public static function showGameAtHome():void{
var name:String = sGame.toLowerCase();
name = name.replace(/\s/g, "-");
showURL(((((((HOME + "/play/") + sID) + "/") + name) + ".html?gameref=") + sID));
}
public static function showSGAd(aClip:DisplayObjectContainer):void{
var aClip = aClip;
Security.allowDomain("smileygamer.com");
var url = "http://www.smileygamer.com/sgads/SGMoreGamesAd.swf";
var ldr:Loader = new Loader();
ldr.load(new URLRequest(((url + "?gameid=") + sID)));
//unresolved jump
var _slot1 = e;
aClip.addChild(ldr);
}
public static function showSGMoreGamesTab(aClip:DisplayObjectContainer):void{
var aClip = aClip;
Security.allowDomain("smileygamer.com");
var url = "http://www.smileygamer.com/sgads/SGMoreGamesTab.swf";
var ldr:Loader = new Loader();
ldr.load(new URLRequest(((url + "?gameid=") + sID)));
//unresolved jump
var _slot1 = e;
aClip.addChild(ldr);
}
}
}//package