Frame 1
var Game = core.Game.getInstance(this);
Frame 2
gdp.core.process.ProcessManager.getInstance().run();
Frame 3
gotoAndPlay (2);
Symbol 16 MovieClip [Block_3] Frame 1
#initclip 58
Object.registerClass("Block_3", field.Block);
#endinitclip
Symbol 30 MovieClip [GameField] Frame 1
#initclip 43
Object.registerClass("GameField", field.GameField);
#endinitclip
Symbol 45 MovieClip Frame 10
_parent.gotoAndPlay(1);
Symbol 46 MovieClip [Pad] Frame 1
#initclip 44
Object.registerClass("Pad", field.Pad);
#endinitclip
stop();
Symbol 49 MovieClip [Ball] Frame 1
#initclip 45
Object.registerClass("Ball", field.Ball);
#endinitclip
Symbol 52 MovieClip [Block_2] Frame 1
#initclip 46
Object.registerClass("Block_2", field.Block);
#endinitclip
Symbol 56 MovieClip [Block_1] Frame 1
#initclip 47
Object.registerClass("Block_1", field.Block);
#endinitclip
Symbol 59 MovieClip [Block_0] Frame 1
#initclip 48
Object.registerClass("Block_0", field.Block);
#endinitclip
Symbol 88 MovieClip [BackGround] Frame 1
#initclip 49
Object.registerClass("BackGround", field.BackGround);
#endinitclip
Symbol 138 MovieClip [GameWin] Frame 1
#initclip 50
Object.registerClass("GameWin", panels.GameWin);
#endinitclip
Symbol 141 MovieClip Frame 5
stop();
Symbol 186 MovieClip Frame 1
stop();
Symbol 201 MovieClip Frame 1
stop();
Symbol 202 MovieClip [SubMenu] Frame 1
#initclip 51
Object.registerClass("SubMenu", panels.SubMenu);
#endinitclip
btn.useHandCursor = false;
Symbol 305 MovieClip [MainMenu] Frame 1
#initclip 52
Object.registerClass("MainMenu", panels.MainMenu);
#endinitclip
Symbol 342 MovieClip [GamePanel] Frame 1
#initclip 53
Object.registerClass("GamePanel", panels.GamePanel);
#endinitclip
Symbol 363 MovieClip [Instructions] Frame 1
#initclip 54
Object.registerClass("Instructions", panels.Instructions);
#endinitclip
Symbol 373 MovieClip [HighScores] Frame 1
#initclip 55
Object.registerClass("HighScores", panels.HighScores);
#endinitclip
Symbol 376 MovieClip [Pause] Frame 1
#initclip 56
Object.registerClass("Pause", panels.Pause);
#endinitclip
btn.useHandCursor = false;
Symbol 420 MovieClip [GameOver] Frame 1
#initclip 57
Object.registerClass("GameOver", panels.GameOver);
#endinitclip
Symbol 421 MovieClip [__Packages.gdp.core.base.BaseInterface] Frame 0
interface gdp.core.base.BaseInterface
{
}
Symbol 422 MovieClip [__Packages.gdp.env.events.EventListenerSource] Frame 0
interface gdp.env.events.EventListenerSource extends gdp.core.base.BaseInterface
{
}
Symbol 423 MovieClip [__Packages.gdp.core.base.BaseClass] Frame 0
class gdp.core.base.BaseClass implements gdp.env.events.EventListenerSource
{
var sClassName, sPackageName, sClassNameWithPackage;
function BaseClass () {
delete sClassName;
delete sPackageName;
delete sClassNameWithPackage;
nClassId++;
if (com.kelvinluck.util.LogWrapper.getLog() == undefined) {
initLogger();
}
}
function initLogger() {
com.kelvinluck.util.LogWrapper.getInstance().init(getClassName());
com.kelvinluck.util.LogWrapper.getInstance().addConsolePublisher();
com.kelvinluck.util.LogWrapper.logCallingFile = false;
}
function description() {
return(getClassNameWithPackage(true));
}
function toString() {
return(description.apply(this, arguments));
}
function getClass() {
return(Object(this).__constructor__);
}
function getClassName(bRenew) {
if ((sClassName == undefined) || (bRenew)) {
sClassName = gdp.utils.ClassUtil.getClassName(getClass());
}
return(sClassName);
}
function getPackageName(bRenew) {
if ((sPackageName == undefined) || (bRenew)) {
sPackageName = gdp.utils.ClassUtil.getClassPackage(getClass());
}
return(sPackageName);
}
function getClassNameWithPackage(bRenew) {
if ((sClassNameWithPackage == undefined) || (bRenew)) {
sClassNameWithPackage = (getPackageName(bRenew) + ".") + getClassName(bRenew);
}
return(sClassNameWithPackage);
}
function isEqual(anObject) {
return(this == anObject);
}
function memberWiseClone() {
var _local2 = new Object();
var _local4 = getClass();
_local2.__proto__ = _local4.prototype;
_local2.__constructor__ = _local4;
_local4.apply(_local2);
for (var _local3 in this) {
_local2[_local3] = this[_local3];
}
return(gdp.core.base.BaseClass(_local2));
}
function addListener(listener) {
}
function removeListener(listener) {
}
static var bCompiledByMTASC = false;
static var nClassId = 0;
}
Symbol 424 MovieClip [__Packages.com.kelvinluck.util.LogWrapper] Frame 0
class com.kelvinluck.util.LogWrapper
{
static var _instance;
var _log;
function LogWrapper () {
}
static function mtascTrace(message, level, className, fileName, lineNumber) {
var _local1;
switch (level) {
case FATAL :
_local1 = "fatal";
break;
case ERROR :
_local1 = "error";
break;
case WARN :
_local1 = "warn";
break;
case INFO :
_local1 = "info";
break;
case DEBUG :
_local1 = "debug";
break;
default :
lineNumber = Number(fileName);
fileName = className;
className = String(level);
_local1 = "debug";
}
if (logCallingFile) {
getLog()[_local1](((((className + " [") + fileName) + ":") + lineNumber) + "]");
}
getLog()[_local1](message);
}
function init(logId) {
_log = new LuminicBox.Log.Logger(logId);
}
function addConsolePublisher() {
_log.addPublisher(new LuminicBox.Log.ConsolePublisher());
}
function addTracePublisher() {
_log.addPublisher(new LuminicBox.Log.TracePublisher());
}
static function getInstance() {
if (_instance == undefined) {
_instance = new com.kelvinluck.util.LogWrapper();
}
return(_instance);
}
static function getLog() {
return(getInstance()._log);
}
function toString() {
return("[Object - com.kelvinluck.util.LogWrapper]");
}
static var logCallingFile = true;
static var DEBUG = 2;
static var INFO = 4;
static var WARN = 8;
static var ERROR = 16;
static var FATAL = 32;
}
Symbol 425 MovieClip [__Packages.LuminicBox.Log.Logger] Frame 0
class LuminicBox.Log.Logger
{
var _loggerId, _level, _publishers;
function Logger (logId) {
_loggerId = logId;
_level = LuminicBox.Log.Level.LOG;
_publishers = new Object();
_instances[logId] = log;
}
static function getLogger(logId, maxDepth) {
if (logId.length > 0) {
var _local1 = _instances[logId];
if (_local1 == undefined) {
_local1 = new LuminicBox.Log.Logger(logId);
var _local2 = new LuminicBox.Log.TracePublisher();
var _local4 = new LuminicBox.Log.ConsolePublisher();
if (maxDepth == undefined) {
maxDepth = 3;
}
_local2.__set__maxDepth(maxDepth);
_local4.__set__maxDepth(maxDepth);
_local1.addPublisher(_local2);
_local1.addPublisher(_local4);
}
return(_local1);
}
return(null);
}
function log(argument) {
publish(argument, LuminicBox.Log.Level.LOG);
}
function debug(argument) {
publish(argument, LuminicBox.Log.Level.DEBUG);
}
function info(argument) {
publish(argument, LuminicBox.Log.Level.INFO);
}
function warn(argument) {
publish(argument, LuminicBox.Log.Level.WARN);
}
function error(argument) {
publish(argument, LuminicBox.Log.Level.ERROR);
}
function fatal(argument) {
publish(argument, LuminicBox.Log.Level.FATAL);
}
function getId() {
return(_loggerId);
}
function setLevel(level) {
_level = level;
}
function getLevel() {
return(_level);
}
function addPublisher(publisher) {
if (!_publishers[publisher.toString()]) {
_publishers[publisher.toString()] = publisher;
}
}
function removePublisher(publisher) {
delete _publishers[publisher.toString()];
}
function getPublishers() {
return(_publishers);
}
function toString() {
return("[object LuminicBox.Log.Logger]");
}
function publish(argument, level) {
if (level.getValue() >= _level.getValue()) {
var _local2 = new LuminicBox.Log.LogEvent(_loggerId, argument, level);
for (var _local3 in _publishers) {
LuminicBox.Log.IPublisher(_publishers[_local3]).publish(_local2);
}
}
}
static var _instances = new Object();
}
Symbol 426 MovieClip [__Packages.LuminicBox.Log.IPublisher] Frame 0
interface LuminicBox.Log.IPublisher
{
}
Symbol 427 MovieClip [__Packages.LuminicBox.Log.LogEvent] Frame 0
class LuminicBox.Log.LogEvent
{
var loggerId, argument, level, time;
function LogEvent (loggerId, argument, level) {
this.loggerId = loggerId;
this.argument = argument;
this.level = level;
time = new Date();
}
static function serialize(logEvent) {
var _local1 = new Object();
_local1.loggerId = logEvent.loggerId;
_local1.time = logEvent.time;
_local1.levelName = logEvent.level.getName();
_local1.argument = logEvent.argument;
return(_local1);
}
static function deserialize(o) {
var _local3 = LuminicBox.Log.Level["" + o.levelName];
var _local1 = new LuminicBox.Log.LogEvent(o.loggerId, o.argument, _local3);
_local1.time = o.time;
return(_local1);
}
function toString() {
return("[object LuminicBox.Log.LogEvent]");
}
}
Symbol 428 MovieClip [__Packages.LuminicBox.Log.Level] Frame 0
class LuminicBox.Log.Level
{
var _name, _value;
function Level (name, value) {
_name = name;
_value = value;
}
function getName() {
return(_name);
}
function getValue() {
return(_value);
}
function toString() {
return(("[object LuminicBox.Log.Level." + getName()) + "]");
}
static var ALL = new LuminicBox.Log.Level("ALL", 1);
static var LOG = new LuminicBox.Log.Level("LOG", 1);
static var DEBUG = new LuminicBox.Log.Level("DEBUG", 2);
static var INFO = new LuminicBox.Log.Level("INFO", 4);
static var WARN = new LuminicBox.Log.Level("WARN", 8);
static var ERROR = new LuminicBox.Log.Level("ERROR", 16);
static var FATAL = new LuminicBox.Log.Level("FATAL", 32);
static var NONE = new LuminicBox.Log.Level("NONE", 1024);
}
Symbol 429 MovieClip [__Packages.LuminicBox.Log.TracePublisher] Frame 0
class LuminicBox.Log.TracePublisher implements LuminicBox.Log.IPublisher
{
var _maxDepth, inProgress;
function TracePublisher () {
maxDepth = (4);
}
function set maxDepth(value) {
_maxDepth = ((_maxDepth > 255) ? 255 : (value));
//return(maxDepth);
}
function get maxDepth() {
return(_maxDepth);
}
function publish(e) {
inProgress = new Array();
var _local4 = e.argument;
var _local2 = ("*" + e.level.getName()) + "*";
if (e.loggerId) {
_local2 = _local2 + (":" + e.loggerId);
}
_local2 = _local2 + ":";
_local2 = _local2 + analyzeObj(_local4, 1);
trace(_local2);
}
function toString() {
return("LuminicBox.Log.TracePublisher");
}
function analyzeObj(o, depth) {
var _local6 = "";
var _local5 = typeof(o);
if (_local5 == "string") {
_local6 = _local6 + (("\"" + o) + "\"");
} else if ((_local5 == "boolean") || (_local5 == "number")) {
_local6 = _local6 + o;
} else if ((_local5 == "undefined") || (_local5 == "null")) {
_local6 = _local6 + (("(" + _local5) + ")");
} else {
var _local8 = false;
var _local9 = true;
if (o instanceof Array) {
_local5 = "array";
_local8 = false;
} else if (o instanceof Button) {
_local5 = "button";
_local8 = true;
} else if (o instanceof Date) {
_local5 = "date";
_local9 = false;
_local8 = true;
} else if (o instanceof Color) {
_local5 = "color";
_local9 = false;
_local8 = true;
o = o.getRGB().toString(16);
} else if (o instanceof MovieClip) {
_local5 = "movieclip";
_local8 = true;
} else if (o instanceof XML) {
_local5 = "xml";
_local9 = false;
_local8 = true;
} else if (o instanceof XMLNode) {
_local5 = "xmlnode";
_local9 = false;
_local8 = true;
} else if (o instanceof Sound) {
_local5 = "sound";
} else if (o instanceof TextField) {
_local5 = "textfield";
_local8 = true;
} else if (o instanceof Function) {
_local5 = "function";
_local9 = false;
}
_local6 = _local6 + "(";
if (_local8) {
_local6 = _local6 + ((_local5 + " ") + o);
} else if (_local5 == "object") {
_local6 = _local6 + o;
} else if (_local5 == "array") {
_local6 = _local6 + ((_local5 + ":") + o.length);
} else {
_local6 = _local6 + _local5;
}
_local6 = _local6 + ")";
var _local3 = 0;
while (_local3 < inProgress.length) {
if (inProgress[_local3] == o) {
return(_local6 + ": **cross-reference**");
}
_local3++;
}
inProgress.push(o);
if (_local9 && (depth <= _maxDepth)) {
var _local7 = "";
if (_local5 == "array") {
_local3 = 0;
while (_local3 < o.length) {
_local7 = _local7 + ((((newline + gdp.utils.StringUtil.multiply("\t", depth + 1)) + _local3) + ":") + analyzeObj(o[_local3], depth + 1));
_local3++;
}
} else {
for (var _local10 in o) {
_local7 = _local7 + ((((newline + gdp.utils.StringUtil.multiply("\t", depth + 1)) + _local10) + ":") + analyzeObj(o[_local10], depth + 1));
}
}
if (_local7.length > 0) {
_local6 = _local6 + ((((" {" + _local7) + newline) + gdp.utils.StringUtil.multiply("\t", depth)) + "}");
}
}
inProgress.pop();
}
return(_local6);
}
}
Symbol 430 MovieClip [__Packages.gdp.utils.StringUtil] Frame 0
class gdp.utils.StringUtil
{
function StringUtil () {
}
static function addCharsToRight(sString, sChars, nCount) {
var _local1 = 0;
while (_local1 < nCount) {
sString = sString + sChars;
_local1++;
}
return(sString);
}
static function addCharsToLeft(sString, sChars, nCount) {
var _local1 = 0;
while (_local1 < nCount) {
sString = sChars + sString;
_local1++;
}
return(sString);
}
static function isNumber(sString) {
return(((Number(sString) == sString) ? true : false));
}
static function replace(sString, sWhat, sTo) {
return(new String(sString.split(sWhat).join(sTo)));
}
static function replaceAll(sString, sWhat, sTo) {
sString = new String(sString.split(sWhat).join(sTo));
if (sString.indexOf(sWhat) != -1) {
return(replaceAll(sString, sWhat, sTo));
}
return(sString);
}
static function trim(sString) {
return(leftTrim(rightTrim(sString)));
}
static function leftTrim(sString) {
return(leftTrimForChars(sString, "\n\t\n "));
}
static function rightTrim(sString) {
return(rightTrimForChars(sString, "\n\t\n "));
}
static function leftTrimForChars(sString, sChars) {
var _local1 = 0;
var _local3 = sString.length;
while ((_local1 < _local3) && (sChars.indexOf(sString.charAt(_local1)) >= 0)) {
_local1++;
}
return(new String(((_local1 > 0) ? (sString.substr(_local1, _local3)) : (sString))));
}
static function rightTrimForChars(sString, sChars) {
var _local2 = 0;
var _local1 = sString.length - 1;
while ((_local2 < _local1) && (sChars.indexOf(sString.charAt(_local1)) >= 0)) {
_local1--;
}
return(new String(((_local1 >= 0) ? (sString.substr(_local2, _local1 + 1)) : (sString))));
}
static function checkEmail(sEmail) {
if (sEmail.length < 6) {
return(false);
}
if ((sEmail.split("@").length > 2) || (sEmail.indexOf("@") < 0)) {
return(false);
}
if (sEmail.lastIndexOf("@") > sEmail.lastIndexOf(".")) {
return(false);
}
if (sEmail.lastIndexOf(".") > (sEmail.length - 3)) {
return(false);
}
if (sEmail.lastIndexOf(".") <= (sEmail.lastIndexOf("@") + 1)) {
return(false);
}
return(true);
}
static function assureLength(sString, nLength) {
if ((nLength < 0) || ((!nLength) && (!(nLength === 0)))) {
return(sString.length >= nLength);
}
}
static function contains(sString, sChars) {
if (((sChars == null) || (sString == null)) || (sChars.length > sString.length)) {
return(false);
}
if (sString.indexOf(sChars) >= 0) {
return(true);
}
return(false);
}
static function startsWith(sString, sSearchString) {
if (sString.indexOf(sSearchString) == 0) {
return(true);
}
return(false);
}
static function endsWith(sString, sSearchString) {
if (sString.lastIndexOf(sSearchString) == (sString.length - sSearchString.length)) {
return(true);
}
return(false);
}
static function addSpaceIndent(sString, nSize) {
if (sString == null) {
sString = "";
}
if (nSize < 0) {
return(new String(""));
}
var _local1 = multiply(" ", nSize);
return(_local1 + replace(sString, newline, newline + _local1));
}
static function multiply(sString, nFactor) {
var _local2 = "";
var _local1 = nFactor;
while (_local1 > 0) {
_local2 = _local2 + sString;
_local1--;
}
return(_local2);
}
static function ucFirst(sString) {
return(new String(sString.charAt(0).toUpperCase() + sString.substr(1)));
}
static function ucWords(sString) {
var _local2 = sString.split(" ");
var _local3 = _local2.length;
var _local1 = 0;
while (_local1 < _local3) {
_local2[_local1] = ucFirst(_local2[_local1]);
_local1++;
}
return(new String(_local2.join(" ")));
}
static function firstChar(sString) {
return(new String(sString.charAt(0)));
}
static function lastChar(sString) {
return(new String(sString.charAt(sString.length - 1)));
}
static function toBoolean(value) {
if ((value == "1") || (value == "true")) {
return(true);
}
return(false);
}
static function toNumber(value) {
var _local3 = parseInt(value);
var _local2 = parseFloat(value);
if (value == _local3) {
return(_local3);
}
if (value == _local2) {
return(_local2);
}
return(Number.NaN);
}
static function toArray(sString, sDelimeters, bTrim, bIgnoreEmpty) {
var _local7 = new Array();
var _local5 = sDelimeters.split("");
var _local6 = -1;
var _local3 = 0;
while (_local3 <= sString.length) {
var _local2 = 0;
while (_local2 < _local5.length) {
if ((sString.substr(_local3, 1) == _local5[_local2]) || ((_local2 == (_local5.length - 1)) && (_local3 == sString.length))) {
var _local1 = sString.slice(_local6 + 1, _local3);
if (bTrim) {
_local1 = trim(_local1);
}
if (!(bIgnoreEmpty && (_local1.length == 0))) {
_local7.push(_local1);
}
_local6 = _local3;
break;
}
_local2++;
}
_local3++;
}
return(_local7);
}
static function toTypedArray(sString, sDelimeters, fType, bTrim, bIgnoreEmpty) {
var _local2 = toArray(sString, sDelimeters, bTrim, bIgnoreEmpty);
var _local1 = 0;
while (_local1 < _local2.length) {
_local2[_local1] = fType(_local2[_local1]);
_local1++;
}
return(_local2);
}
}
Symbol 431 MovieClip [__Packages.LuminicBox.Log.ConsolePublisher] Frame 0
class LuminicBox.Log.ConsolePublisher implements LuminicBox.Log.IPublisher
{
var _maxDepth, _inProgressObjs, _inProgressSerial;
function ConsolePublisher () {
maxDepth = (4);
}
function set maxDepth(value) {
_maxDepth = ((_maxDepth > 255) ? 255 : (value));
//return(maxDepth);
}
function get maxDepth() {
return(_maxDepth);
}
function set showFunctions(value) {
_showFunctions = value;
//return(showFunctions);
}
function get showFunctions() {
return(_showFunctions);
}
function publish(e) {
_inProgressObjs = new Array();
_inProgressSerial = new Array();
var _local2 = LuminicBox.Log.LogEvent.serialize(e);
_local2.argument = serializeObj(_local2.argument, 1);
_local2.version = _version;
var _local3 = new LocalConnection();
_local3.send("_luminicbox_log_console", "log", _local2);
}
function toString() {
return("LuminicBox.Log.ConsolePublisher");
}
function serializeObj(o, depth) {
var _local15 = new Object();
var _local2 = getType(o);
_local15.type = _local2.name;
if (!_local2.inspectable) {
_local15.value = o;
} else if (_local2.stringify) {
_local15.value = o.toString();
} else {
var _local9 = new Array();
_local15.value = _local9;
if ((((_local2.name == "movieclip") || (_local2.name == "button")) || (_local2.name == "object")) || (_local2.name == "textfield")) {
_local15.id = "" + o;
}
var _local3 = 0;
while (_local3 < _inProgressObjs.length) {
if (_inProgressObjs[_local3] == o) {
var _local5 = _inProgressSerial[_local3];
var _local8 = {value:_local5.value, type:_local5.type, crossRef:true};
if (_local5.id) {
_local8.id = _local5.id;
}
return(_local8);
}
_local3++;
}
_inProgressObjs.push(o);
_inProgressSerial.push(_local15);
if (depth <= _maxDepth) {
if (_local2.properties) {
var _local14 = new Object();
_local3 = 0;
while (_local3 < _local2.properties.length) {
_local14[_local2.properties[_local3]] = o[_local2.properties[_local3]];
_local3++;
}
_local14 = serializeObj(_local14, _maxDepth);
_local14.type = "properties";
_local9.push({property:"$properties", value:_local14});
}
if (o instanceof Array) {
var _local6 = 0;
while (_local6 < o.length) {
_local9.push({property:_local6, value:serializeObj(o[_local6], depth + 1)});
_local6++;
}
} else {
for (var _local16 in o) {
if (!((o[_local16] instanceof Function) && (!_showFunctions))) {
var _local7 = true;
if (_local2.properties) {
_local3 = 0;
while (_local3 < _local2.properties.length) {
if (_local16 == _local2.properties[_local3]) {
_local7 = false;
}
_local3++;
}
}
if (_local7) {
_local9.push({property:_local16, value:serializeObj(o[_local16], depth + 1)});
}
}
}
}
} else {
_local15.reachLimit = true;
}
_inProgressObjs.pop();
_inProgressSerial.pop();
}
return(_local15);
}
function getType(o) {
var _local3 = typeof(o);
var _local1 = new Object();
_local1.inspectable = true;
_local1.name = _local3;
if (((((_local3 == "string") || (_local3 == "boolean")) || (_local3 == "number")) || (_local3 == "undefined")) || (_local3 == "null")) {
_local1.inspectable = false;
} else if (o instanceof Date) {
_local1.inspectable = false;
_local1.name = "date";
} else if (o instanceof Array) {
_local1.name = "array";
} else if (o instanceof Button) {
_local1.name = "button";
_local1.properties = LuminicBox.Log.PropertyInspector.buttonProperties;
} else if (o instanceof MovieClip) {
_local1.name = "movieclip";
_local1.properties = LuminicBox.Log.PropertyInspector.movieClipProperties;
} else if (o instanceof XML) {
_local1.name = "xml";
_local1.stringify = true;
} else if (o instanceof XMLNode) {
_local1.name = "xmlnode";
_local1.stringify = true;
} else if (o instanceof Color) {
_local1.name = "color";
} else if (o instanceof Sound) {
_local1.name = "sound";
_local1.properties = LuminicBox.Log.PropertyInspector.soundProperties;
} else if (o instanceof TextField) {
_local1.name = "textfield";
_local1.properties = LuminicBox.Log.PropertyInspector.textFieldProperties;
}
return(_local1);
}
var _version = 0.15;
var _showFunctions = false;
}
Symbol 432 MovieClip [__Packages.LuminicBox.Log.PropertyInspector] Frame 0
class LuminicBox.Log.PropertyInspector
{
function PropertyInspector () {
}
static var movieClipProperties = new Array("_alpha", "_currentframe", "_droptarget", "enabled", "focusEnabled", "_focusrect", "_framesloaded", "_height", "hitArea", "_lockroot", "menu", "_name", "_parent", "_quality", "_rotation", "_soundbuftime", "tabChildren", "tabEnabled", "tabIndex", "_target", "_totalframes", "trackAsMenu", "_url", "useHandCursor", "_visible", "_width", "_x", "_xmouse", "_xscale", "_y", "_ymouse", "_yscale");
static var buttonProperties = new Array("_alpha", "enabled", "_focusrect", "_height", "_quality", "menu", "_name", "_parent", "_quality", "_rotation", "_soundbuftime", "tabEnabled", "tabIndex", "_target", "trackAsMenu", "_url", "useHandCursor", "_visible", "_width", "_x", "_xmouse", "_xscale", "_y", "_ymouse", "_yscale");
static var soundProperties = new Array("duration", "id3", "position");
static var textFieldProperties = new Array("_alpha", "autoSize", "background", "backgroundColor", "border", "borderColor", "bottomScroll", "condenseWhite", "embedFonts", "_height", "hscroll", "html", "htmlText", "length", "maxChars", "maxhscroll", "maxscroll", "menu", "mouseWheelEnabled", "multiline", "_name", "_parent", "password", "_quality", "restrict", "_rotation", "scroll", "selectable", "styleSheet", "tabEnabled", "tabIndex", "_target", "text", "textColor", "textHeight", "textWidth", "type", "_url", "variable", "_visible", "_width", "wordWrap", "_x", "_xmouse", "_xscale", "_y", "_ymouse", "_yscale");
}
Symbol 433 MovieClip [__Packages.gdp.utils.ClassUtil] Frame 0
class gdp.utils.ClassUtil extends gdp.core.base.BaseClass
{
function ClassUtil () {
super();
}
static function getClassByName(sClassName) {
return(eval (String(sClassName)));
}
static function getClassName(oClass) {
return(gdp.utils.ObjectUtil.findNameOfObject(oClass, _global, false));
}
static function getClassPackage(oClass) {
var _local2 = gdp.utils.ObjectUtil.findNameOfObject(oClass, _global, true);
return(_local2.substring(0, _local2.lastIndexOf(".")));
}
static function getClassNameWithPackage(oClass) {
return(gdp.utils.ObjectUtil.findNameOfObject(oClass, _global, true));
}
static function isSubClassOf(subClass, superClass) {
var _local1 = subClass.prototype;
while (!(_local1 === undefined)) {
_local1 = _local1.__proto__;
if (_local1 === superClass.prototype) {
return(true);
}
}
return(false);
}
static function isImplementationOf(clazz, interfaze) {
var _local2 = clazz.prototype;
if (isSubClassOf(clazz, interfaze)) {
return(false);
}
return(createCleanInstance(clazz) instanceof interfaze);
}
static function createCleanInstance(clazz) {
var _local1 = new Object();
_local1.__proto__ = clazz.prototype;
_local1.__constructor__ = clazz;
return(_local1);
}
static function createInstance(clazz, args) {
if (!clazz) {
return(null);
}
var _local1 = new Object();
_local1.__proto__ = clazz.prototype;
_local1.__constructor__ = clazz;
clazz.apply(_local1, args);
return(_local1);
}
}
Symbol 434 MovieClip [__Packages.gdp.utils.ObjectUtil] Frame 0
class gdp.utils.ObjectUtil
{
function ObjectUtil () {
}
static function initClasses() {
var _local2 = 0;
while (_local2 < arguments.length) {
if (arguments[_local2] == undefined) {
trace(("Class not found [" + _local2) + "]");
}
_local2++;
}
}
static function classToString(oClass, bNotWrap) {
if (oClass == undefined) {
return("{}");
}
var _local4 = ((!bNotWrap) ? newline : "");
var _local2 = getPrimitivesOnly(oClass);
var _local1 = 0;
while (_local1 < _local2.length) {
var _local3 = ((_local1 == 0) ? "{" : ", ") + ((!bNotWrap) ? "\n\t" : "");
if (_local2[_local1].data instanceof String) {
_local4 = _local4 + ((((_local3 + _local2[_local1].sName) + ":\"") + _local2[_local1].data) + "\"");
} else if (_local2[_local1].data instanceof Array) {
_local4 = _local4 + ((((_local3 + _local2[_local1].sName) + ":[") + _local2[_local1].data) + "]");
} else {
_local4 = _local4 + (((_local3 + _local2[_local1].sName) + ":") + _local2[_local1].data);
}
_local1++;
}
_local4 = _local4 + ((_local4 == "") ? "{}" : (((!bNotWrap) ? "\n}" : "}")));
return(_local4);
}
static function clone(value) {
if (value.clone instanceof Function) {
return(value.clone());
}
var _local2 = new Object();
for (var _local3 in value) {
if (typeof(value[_local3]) == "object") {
_local2[_local3] = copy(value[_local3]);
} else {
_local2[_local3] = value[_local3];
}
}
return(_local2);
}
static function copy(value) {
return(clone(value));
}
static function mergeObjects(oParent, oChild, ow) {
var _local3;
var _local4;
for (var _local6 in oChild) {
_local3 = oParent[_local6] != undefined;
if (typeof(oChild[_local6].toString()) == "object") {
if (!_local3) {
oParent[_local6] = oChild[_local6];
}
_local4 = oParent[_local6];
_local4 = _local4.mergeObjects(oChild[_local6], ow);
} else {
if (!_local3) {
oParent[_local6] = oChild[_local6];
}
if (_local3 && (ow)) {
oParent[_local6] = oChild[_local6];
}
}
}
}
static function getPrimitivesOnly(oObject, aWithout) {
var _local3 = new Array();
for (var _local7 in oObject) {
if (gdp.utils.ArrayUtil.contains(aWithout, _local7)) {
continue;
}
var _local2 = {sName:_local7, data:oObject[_local7]};
switch (typeof(oObject[_local7])) {
case "string" :
case "boolean" :
case "number" :
_local3.push(_local2);
break;
case "object" :
if (oObject[_local7] instanceof Array) {
_local3.push(_local2);
} else {
if (oObject[_local7].toString() == "[object]") {
break;
}
_local3.push({sName:_local7, data:oObject[_local7].toString(true)});
}
}
}
return(_local3);
}
static function toXML(oData) {
var _local2 = "";
for (var _local3 in oData) {
if (typeof(oData[_local3]) == "object") {
_local2 = _local2 + (((((("<" + _local3) + ">") + toXML(oData[_local3])) + "</") + _local3) + ">");
} else if ((typeof(oData[_local3]) == "number") || (typeof(oData[_local3]) == "string")) {
_local2 = _local2 + (((((("<" + _local3) + ">") + oData[_local3]) + "</") + _local3) + ">");
} else if (oData[_local3] == undefined) {
_local2 = _local2 + (((("<" + _local3) + "></") + _local3) + ">");
}
}
return(new XML(_local2));
}
static function fromXML(xml) {
return(gdp.utils.XMLUtil.toObject(xml));
}
static function findNameOfObject(oWhat, oWhere, bWithPackage, sCurrentPackage) {
_global.ASSetPropFlags(oWhere, null, 0, true);
_global.ASSetPropFlags(oWhere, ["__proto__", "prototype", "__constructor__", "constructor"], 7, true);
sCurrentPackage = sCurrentPackage || "";
for (var _local7 in oWhere) {
if (typeof(oWhere[_local7]) == "object") {
var _local3 = findNameOfObject(oWhat, oWhere[_local7], bWithPackage, (sCurrentPackage + _local7) + ".");
if (_local3 != null) {
return(_local3);
}
}
if (oWhere[_local7] === oWhat) {
return((bWithPackage ? (sCurrentPackage + _local7) : (_local7)));
}
}
_global.ASSetPropFlags(oWhere, null, 1, true);
return(null);
}
static function typesMatch(object, type) {
if (type === Object) {
return(true);
}
if (isPrimitiveType(object)) {
var _local2 = typeof(object);
if (((type === String) || (gdp.utils.ClassUtil.isSubClassOf(type, String))) && (_local2 == TYPE_STRING)) {
return(true);
}
if (((type === Boolean) || (gdp.utils.ClassUtil.isSubClassOf(type, Boolean))) && (_local2 == TYPE_BOOLEAN)) {
return(true);
}
if (((type === Number) || (gdp.utils.ClassUtil.isSubClassOf(type, Number))) && (_local2 == TYPE_NUMBER)) {
return(true);
}
return(false);
}
return(isInstanceOf(object, type));
}
static function isPrimitiveType(object) {
var _local1 = typeof(object);
return(((_local1 == TYPE_STRING) || (_local1 == TYPE_NUMBER)) || (_local1 == TYPE_BOOLEAN));
}
static function isTypeOf(object, type) {
return(typeof(object) == type);
}
static function isInstanceOf(object, type) {
if (type === Object) {
return(true);
}
return(object instanceof type);
}
static function isExplicitInstanceOf(object, clazz) {
if (clazz == String) {
return(typeof(object) == TYPE_STRING);
}
if (clazz == Number) {
return(typeof(object) == TYPE_NUMBER);
}
if (clazz == Boolean) {
return(typeof(object) == TYPE_BOOLEAN);
}
return((object instanceof clazz) && (!(object.__proto__ instanceof clazz)));
}
static function equals(valueA, valueB) {
if (Boolean(Number(isPrimitiveType(valueA)) ^ Number(isPrimitiveType(valueB)))) {
return(false);
}
if ((isPrimitiveType(valueA) && (isPrimitiveType(valueB))) && (valueA != valueB)) {
return(false);
}
if (!((valueA.isEqual != null) ^ (valueB.isEqual != null))) {
return(false);
}
if (((valueA.isEqual != null) && (valueB.isEqual != null)) && (!valueA.isEqual(valueB))) {
return(false);
}
if (valueA != valueB) {
return(false);
}
return(true);
}
static var TYPE_STRING = "string";
static var TYPE_NUMBER = "number";
static var TYPE_OBJECT = "object";
static var TYPE_BOOLEAN = "boolean";
static var TYPE_MOVIECLIP = "movieclip";
static var TYPE_FUNCTION = "function";
static var TYPE_UNDEFINED = "undefined";
static var TYPE_NULL = "null";
}
Symbol 435 MovieClip [__Packages.gdp.utils.ArrayUtil] Frame 0
class gdp.utils.ArrayUtil
{
function ArrayUtil () {
}
static function fillArray(nSize, value) {
var _local2 = new Array();
var _local1 = 0;
while (_local1 < nSize) {
_local2.push(value);
_local1++;
}
return(_local2);
}
static function getRandElem(aArray, nSt, nEnd) {
var _local1 = aArray.slice(nSt | 0, nEnd | aArray.length);
return(_local1[random(_local1.length)]);
}
static function getActualNumbers(aValues, nMinNumber, nMaxNumber) {
var _local6 = aValues.length;
var _local5 = aValues[0];
var _local7 = aValues[_local6 - 1];
if ((_local5 == nMinNumber) && (_local7 == nMaxNumber)) {
return(aValues);
}
var _local4 = new Array();
var _local2;
var _local1 = 0;
while (_local1 < _local6) {
_local2 = (aValues[_local1] - _local5) + nMinNumber;
_local4.push((_local2 / _local7) * nMaxNumber);
_local1++;
}
return(_local4);
}
static function contains(aArray, object) {
var _local1 = 0;
while (_local1 < aArray.length) {
if (aArray[_local1] === object) {
return(true);
}
_local1++;
}
return(false);
}
static function find(aArray, object) {
var _local1 = 0;
while (_local1 < aArray.length) {
if (aArray[_local1] === object) {
return(_local1);
}
_local1++;
}
return(-1);
}
static function allItemsToNumber(aArray) {
var _local3 = new Array();
var _local1 = 0;
while (_local1 < aArray.length) {
_local3.push(Number(aArray[_local1]));
_local1++;
}
return(_local3);
}
static function trim(aArray) {
return(leftTrim(rightTrim(aArray)));
}
static function leftTrim(aArray) {
return(leftTrimForValues(aArray, [null, undefined]));
}
static function rightTrim(aArray) {
return(rightTrimForValues(aArray, [null, undefined]));
}
static function leftTrimForValues(aArray, aValues) {
var _local3 = aArray.concat();
var _local2 = 0;
while (_local2 < _local3.length) {
var _local1 = 0;
while (_local1 < aValues.length) {
if (_local3[_local2] == aValues[_local1]) {
_local3.splice(_local2, 1);
} else {
return(_local3);
}
_local1++;
}
_local2--;
_local2++;
}
return(_local3);
}
static function rightTrimForValues(aArray, aValues) {
var _local3 = aArray.concat();
var _local2 = _local3.length - 1;
while (_local2 >= 0) {
var _local1 = 0;
while (_local1 < aValues.length) {
if (_local3[_local2] == aValues[_local1]) {
_local3.splice(_local2, 1);
} else {
return(_local3);
}
_local1++;
}
_local2--;
}
return(_local3);
}
static function merge() {
var _local3 = new Array();
var _local2 = 0;
while (_local2 < arguments.length) {
_local3 = _local3.concat(arguments[_local2]);
_local2++;
}
return(_local3);
}
static function removeDuplicate(aArray) {
var _local1 = 0;
while (_local1 < aArray.length) {
var _local3 = find(aArray, aArray[_local1]);
if ((_local3 != -1) && (_local3 != _local1)) {
aArray.splice(_local1--, 1);
}
_local1++;
}
return(aArray);
}
static function equals(aA, aB) {
var _local1 = 0;
while (_local1 < aA.length) {
if (!gdp.utils.ObjectUtil.equals(aA[_local1], aB[_local1])) {
return(false);
}
_local1++;
}
return(true);
}
}
Symbol 436 MovieClip [__Packages.gdp.utils.XMLUtil] Frame 0
class gdp.utils.XMLUtil extends gdp.core.base.BaseClass
{
function XMLUtil () {
super();
}
static function isHasAttributes(node) {
for (var _local2 in node.attributes) {
return(true);
}
return(false);
}
static function toObject(node, oRes) {
if (oRes == undefined) {
oRes = new Object();
}
node.ignoreWhite = true;
var _local3 = node.childNodes.length - 1;
while (_local3 >= 0) {
var _local1 = node.childNodes[_local3];
if (_local1.childNodes[0].nodeValue == undefined) {
var _local4 = new Object();
if (isHasAttributes(_local1)) {
_local4.attributes = gdp.utils.ObjectUtil.copy(_local1.attributes);
}
toObject(_local1, _local4);
oRes[_local1.nodeName] = _local4;
} else if (_local1.hasChildNodes()) {
if ((_local1.nodeName == node.childNodes[_local3 - 1].nodeName) || (oRes[_local1.nodeName] instanceof Array)) {
if (!(oRes[_local1.nodeName] instanceof Array)) {
oRes[_local1.nodeName] = new Array();
}
oRes[_local1.nodeName].unshift(_local1.firstChild.nodeValue);
} else {
oRes[_local1.nodeName] = _local1.firstChild.nodeValue;
}
}
_local3--;
}
return(oRes);
}
function description() {
return("XMLUtil");
}
}
Symbol 437 MovieClip [__Packages.core.Game] Frame 0
class core.Game extends gdp.core.base.BaseClass
{
static var instance;
var musGame, musMenu, sndGameOver, sndCocosThrow, sndCocosBeatOff, sndBtnInGameMenu, sndBtn, sndCocosBeatWall, sndNextLevel, sndBlockBeat, musicPlaying;
function Game (mcTarget) {
super();
this.mcTarget = mcTarget;
init();
}
static function getInstance(mcTarget) {
if (instance == null) {
instance = new core.Game(mcTarget);
}
return(instance);
}
function init(Void) {
sound = new gdp.sound.WaveEngine(1);
music = new gdp.sound.WaveEngine(2);
musGame = music.addStream("musGame", false);
musMenu = music.addStream("musMenu", false);
sndGameOver = sound.addStream("sndGameOver", false);
sndCocosThrow = sound.addStream("sndCocosThrow", false);
sndCocosBeatOff = sound.addStream("sndCocosBeatOff", false);
sndBtnInGameMenu = sound.addStream("sndBtnInGameMenu", false);
sndBtn = sound.addStream("sndBtn", false);
sndCocosBeatWall = sound.addStream("sndCocosBeatWall", false);
sndNextLevel = sound.addStream("sndNextLevel", false);
sndBlockBeat = sound.addStream("sndBlockBeat", false);
loadSettings();
gdp.core.time.FrameTimer.getInstance().setFps(31);
var _local4 = new core.Keyboard();
var _local3 = new Object();
_local3.onMouseMove = gdp.utils.Delegate.create(this, function () {
if (!this.bIsPlay) {
return(undefined);
}
if ((_root._xmouse > 630) && (_root._ymouse < 300)) {
Mouse.show();
} else {
Mouse.hide();
}
});
Mouse.addListener(_local3);
showMainMenu();
}
function showMainMenu() {
playMusic(musMenu);
mainMenu = panels.MainMenu.create(mcTarget);
mainMenu._x = 400;
mainMenu._y = 300;
}
function showInstructions(Void) {
instructions = panels.Instructions.create(mcTarget);
instructions._x = 400;
instructions._y = 300;
}
function showHighScores(Void) {
highScres = panels.HighScores.create(mcTarget, 400, 300);
highScres._x = 400;
highScres._y = 300;
}
function showGamePanel(Void) {
gamePanel = panels.GamePanel.create(mcTarget);
gamePanel._x = 400;
gamePanel._y = 300;
}
function showBackGround(Void) {
backGround = field.BackGround.create(mcTarget);
}
function startGame(Void) {
bIsPlay = true;
bGameOver = false;
nLevel = 1;
nLives = 3;
nScores = 0;
mainMenu.hide();
showBackGround();
showGamePanel();
playMusic(musGame);
gameField = field.GameField.create(mcTarget);
gameField.init();
Mouse.hide();
}
function showPause(Void) {
var _local2 = panels.Pause.create(mcTarget);
_local2._x = 400;
_local2._y = 300;
}
function showSubMenu(inMenu) {
if (inMenu == null) {
inMenu = false;
}
subMenu = panels.SubMenu.create(mcTarget, inMenu);
subMenu._x = 400;
subMenu._y = 300;
}
function addScore(nScores) {
this.nScores = this.nScores + nScores;
gamePanel.refresh();
}
function looseLife(Void) {
nLives--;
gamePanel.refresh();
if (nLives == 0) {
Mouse.show();
bIsPlay = false;
playSound(sndGameOver);
changeMusicVolume(-50);
var _local3 = new gdp.core.process.Process(gdp.utils.Delegate.create(this, processMusicVolumeUnLower, [getTimer(), 6500]));
gdp.core.process.ProcessManager.getInstance().addProcess(_local3);
var _local2 = new effects.GameOverEffect(mcTarget);
_local2.fOnRelease = gdp.utils.Delegate.create(this, gameOver);
_local2.start();
}
return(nLives);
}
function processMusicVolumeUnLower(startTime, length) {
if ((getTimer() - startTime) > length) {
changeMusicVolume(50);
return(gdp.core.process.ProcessManager.PROCESS_KILL);
}
}
function gameOver(Void) {
if (bGameOver) {
return(undefined);
}
backGround.destroy();
gameField.destroy();
var _local2 = core.SOSettings.getInstance().get("aScores");
var _local4 = ((_local2[_local2.length - 1].nScore != null) ? (_local2[_local2.length - 1].nScore) : 29);
if (nScores >= _local4) {
var _local3 = panels.GameWin.create(mcTarget);
} else {
var _local3 = panels.GameOver.create(mcTarget);
}
_local3._x = 400;
_local3._y = 300;
bGameOver = true;
}
function soundOn(Void) {
trace("soundOn()");
bSoundOn = true;
sound.soundOn();
saveSettings();
}
function soundOff(Void) {
trace("soundOff()");
bSoundOn = false;
sound.soundOff();
saveSettings();
}
function musicOn(Void) {
trace("musicOn()");
bMusicOn = true;
music.soundOn();
saveSettings();
}
function musicOff(Void) {
trace("musicOff()");
bMusicOn = false;
music.soundOff();
saveSettings();
}
function fullScreen(Void) {
trace(("fullScreen(" + (!bFullScreen)) + ")");
bFullScreen = !bFullScreen;
fscommand ("fullscreen", bFullScreen);
saveSettings();
}
function playSound(nID, nRepeat) {
if (nRepeat == null) {
nRepeat = 1;
}
sound.play(nID, 0, nRepeat, false);
sound.setAllVolume(nSoundVolume);
}
function playMusic(nID) {
if (musicPlaying != nID) {
musicPlaying = nID;
music.play(nID);
music.setAllVolume(nMusicVolume);
}
}
function changeSoundVolume(diff) {
nSoundVolume = nSoundVolume + Math.round(diff);
if (nSoundVolume > 100) {
nSoundVolume = 100;
} else if (nSoundVolume < 0) {
nSoundVolume = 0;
}
sound.setAllVolume(nSoundVolume);
}
function changeMusicVolume(diff) {
nMusicVolume = nMusicVolume + Math.round(diff);
if (nMusicVolume > 100) {
nMusicVolume = 100;
} else if (nMusicVolume < 0) {
nMusicVolume = 0;
}
music.setAllVolume(nMusicVolume);
}
function loadSettings(Void) {
core.SOSettings.getInstance().setPrefix("MPC_Grabrilla");
oSettings = core.SOSettings.getInstance().get("settings");
trace("loadSettings");
trace("oSettings.bSoundOn=" + oSettings.bSoundOn);
trace("oSettings.bMusicOn=" + oSettings.bMusicOn);
trace("oSettings.bFullScreen=" + oSettings.bFullScreen);
if (oSettings != null) {
if (oSettings.bSoundOn) {
bSoundOn = true;
sound.soundOn();
} else {
bSoundOn = false;
sound.soundOff();
}
if (oSettings.bMusicOn) {
bMusicOn = true;
music.soundOn();
} else {
bMusicOn = false;
music.soundOff();
}
bFullScreen = oSettings.bFullScreen;
} else {
bFullScreen = false;
soundOn();
musicOn();
}
saveSettings();
}
function saveSettings(Void) {
var _local2 = new Object();
_local2.bSoundOn = bSoundOn;
_local2.bMusicOn = bMusicOn;
_local2.bFullScreen = bFullScreen;
trace("saveSettings");
trace("oSett.bSoundOn=" + _local2.bSoundOn);
trace("oSett.bMusicOn=" + _local2.bMusicOn);
trace("oSett.bFullScreen=" + _local2.bFullScreen);
core.SOSettings.getInstance().set("settings", _local2);
}
var mcTarget = null;
var mainMenu = null;
var instructions = null;
var highScres = null;
var gamePanel = null;
var backGround = null;
var gameField = null;
var subMenu = null;
var oSettings = null;
var nLevel = null;
var nLives = null;
var nScores = null;
var bIsPlay = null;
var bGameOver = null;
static var SCORE_BLOCK = 1;
var music = null;
var sound = null;
var nSoundVolume = 100;
var nMusicVolume = 100;
var bSoundOn = null;
var bMusicOn = null;
var bFullScreen = null;
}
Symbol 438 MovieClip [__Packages.gdp.core.base.BaseMovieClip] Frame 0
class gdp.core.base.BaseMovieClip extends MovieClip implements gdp.env.events.EventListenerSource
{
var _yscale, _xscale, _alpha, _height, _width, _name, sClassName, sPackageName, sClassNameWithPackage;
function BaseMovieClip () {
super();
}
function init() {
return(this);
}
function description() {
var _local2 = {_name:_name, _width:_width, _height:_height, _alpha:_alpha, _xscale:_xscale, _yscale:_yscale};
return("BaseMovieClip " + gdp.utils.ObjectUtil.classToString(_local2, true));
}
function toString() {
return(description());
}
function getClass() {
return(Object(this).__constructor__);
}
function getClassName(bRenew) {
if ((sClassName == undefined) || (bRenew)) {
sClassName = gdp.utils.ClassUtil.getClassName(getClass());
}
return(sClassName);
}
function getPackageName(bRenew) {
if ((sPackageName == undefined) || (bRenew)) {
sPackageName = gdp.utils.ClassUtil.getClassPackage(getClass());
}
return(sPackageName);
}
function getClassNameWithPackage(bRenew) {
if ((sClassNameWithPackage == undefined) || (bRenew)) {
sClassNameWithPackage = (getPackageName(bRenew) + ".") + getClassName(bRenew);
}
return(sClassNameWithPackage);
}
function isEqual(anObject) {
return(this == anObject);
}
function createEmptyMovieClip(sName, nDepth, oParams) {
var _local3 = super.createEmptyMovieClip(sName, nDepth);
for (var _local4 in oParams) {
_local3[_local4] = oParams[_local4];
}
return(_local3);
}
function addListener(listener) {
}
function removeListener(listener) {
}
}
Symbol 439 MovieClip [__Packages.panels.MainMenu] Frame 0
class panels.MainMenu extends gdp.core.base.BaseMovieClip
{
var btnPlay, btnHighScores, btnOptions, btnRules, btnExit, btnSubscribe, btnTellAFriend, btnMoreGames, MPC_Logo, getURL, removeMovieClip;
function MainMenu () {
super();
fade("out", gdp.utils.Delegate.create(this, initButtons));
}
static function create(mcTarget) {
return(panels.MainMenu(mcTarget.attachMovie("MainMenu", "mcMainMenu", mcTarget.getNextHighestDepth())));
}
function initButtons(Void) {
btnPlay.onRelease = gdp.utils.Delegate.create(this, btnPressed, ["in", gdp.utils.Delegate.create(this, playGame)]);
btnHighScores.onRelease = gdp.utils.Delegate.create(this, btnPressed, ["in", gdp.utils.Delegate.create(this, highScores)]);
btnOptions.onRelease = gdp.utils.Delegate.create(this, options);
btnRules.onRelease = gdp.utils.Delegate.create(this, btnPressed, ["in", gdp.utils.Delegate.create(this, rules)]);
btnExit.onRelease = gdp.utils.Delegate.create(this, btnPressed, ["in", gdp.utils.Delegate.create(this, exit)]);
btnSubscribe.onRelease = gdp.utils.Delegate.create(this, subscribe);
btnTellAFriend.onRelease = gdp.utils.Delegate.create(this, tellFriend);
btnMoreGames.onRelease = gdp.utils.Delegate.create(this, moreGames);
MPC_Logo.onRelease = gdp.utils.Delegate.create(this, webSite);
}
function btnPressed(type, fn) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
fade(type, fn);
}
function playGame(Void) {
core.Game.getInstance().startGame();
hide();
}
function highScores(Void) {
core.Game.getInstance().showHighScores();
hide();
}
function options(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
core.Game.getInstance().showSubMenu(true);
}
function rules(Void) {
core.Game.getInstance().showInstructions();
hide();
}
function moreGames() {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
(getURL("http://www.myplaycity.com", "_blank"));// not popped
}
function subscribe() {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
(getURL("http://www.myplaycity.com/subscribe", "_blank"));// not popped
}
function tellFriend() {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
(getURL("mailto:<Unknown>?subject=The%20Best%20Free%20Games%20-%20Try%20it%20now!&body=Hello%2C%20take%20a%20look%20at%20the%20real%20free%20games:%20www.myplaycity.com", "_blank"));// not popped
}
function webSite() {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
(getURL("http://www.myplaycity.com", "_blank"));// not popped
}
function exit(Void) {
}
function hide(Void) {
removeMovieClip();
}
function fade(sType, f) {
f();
return(undefined);
}
}
Symbol 440 MovieClip [__Packages.gdp.utils.Delegate] Frame 0
class gdp.utils.Delegate extends gdp.core.base.BaseClass
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(oClass, fFunc, aArgs, bMerge) {
var _local3 = function () {
var _local5 = arguments.callee.target;
var _local4 = arguments.callee.func;
var _local6 = arguments.callee.bMerge;
var _local3;
if (_local6) {
_local3 = arguments;
var _local2 = 0;
while (_local2 < arguments.callee.aArgs.length) {
_local3.push(arguments.callee.aArgs[_local2]);
_local2++;
}
} else {
_local3 = ((arguments.length > 0) ? arguments : (arguments.callee.aArgs));
}
_local4.___nCount = arguments.callee.nCount;
return(_local4.apply(_local5, _local3));
};
_local3.type = "Delegate";
_local3.target = oClass;
_local3.func = fFunc;
_local3.nCount = ++nCount;
if (_local3.func.___aInnerValues == undefined) {
_local3.func.___aInnerValues = new Array();
}
_local3.func.___aInnerValues[nCount] = new Object();
_local3.aArgs = aArgs;
_local3.bMerge = bMerge;
return(_local3);
}
static function set(sValueName, value) {
return((arguments.caller.___aInnerValues[arguments.caller.___nCount][sValueName] = value));
}
static function setTo(fFunction, sValueName, value) {
return((fFunction.___aInnerValues[fFunction.___nCount][sValueName] = value));
}
static function get(sValueName) {
return(arguments.caller.___aInnerValues[arguments.caller.___nCount][sValueName]);
}
static function equal(fFunctionA, fFunctionB) {
if (isDelegate(fFunctionA) && (isDelegate(fFunctionB))) {
return((fFunctionA.func == fFunctionB.func) && (fFunctionA.target == fFunctionB.target));
}
if ((!isDelegate(fFunctionA)) && (!isDelegate(fFunctionB))) {
return(fFunctionA.func == fFunctionB.func);
}
return(false);
}
static function isDelegate(fFunction) {
return(fFunction.type == "Delegate");
}
static function clone(fDelegate) {
if ((fDelegate.target != undefined) && (fDelegate.func != undefined)) {
return(create(fDelegate.target, fDelegate.func, fDelegate.aArgs, fDelegate.bMerge));
}
return(fDelegate);
}
static function toString(fDelegate) {
if (isDelegate(fDelegate)) {
var _local3 = ((fDelegate.target.getClassNameWithPackage == null) ? (gdp.env.reflect.ReflectUtil.getTypeName(fDelegate.target)) : (fDelegate.target.getClassNameWithPackage(true)));
var _local2 = gdp.env.reflect.ReflectUtil.getMethodName(fDelegate.func, fDelegate.target);
var _local4 = fDelegate.aArgs.toString();
return(((((("Delegate {class:" + _local3) + ", method:") + _local2) + ", arguments:") + _local4) + "}");
}
return("[Function]");
}
function createDelegate(obj) {
return(create(obj, func));
}
static var nCount = 0;
}
Symbol 441 MovieClip [__Packages.gdp.env.reflect.ReflectUtil] Frame 0
class gdp.env.reflect.ReflectUtil extends gdp.core.base.BaseClass
{
function ReflectUtil (Void) {
super();
}
static function getUnusedMemberName(object) {
var _local1 = 10000;
var _local3 = MEMBER_PREFIX + "_";
var _local2 = MEMBER_PREFIX + "-";
while (_local1-- , _local1 - -1) {
if (object[_local3 + _local1] === undefined) {
return(_local3 + _local1);
}
if (object[_local2 + _local1] === undefined) {
return(_local2 + _local1);
}
}
return(null);
}
static function getTypeAndMethodInfo(object, method) {
if ((object === null) || (object === undefined)) {
return(null);
}
if (typeof(object) == "function") {
return(getTypeAndMethodInfoByType(object, method));
}
return(getTypeAndMethodInfoByInstance(object, method));
}
static function getTypeAndMethodInfoByType(type, method) {
if ((type === null) || (type === undefined)) {
return(null);
}
if (method.valueOf() == type.valueOf()) {
return([false, getTypeNameForType(type), CONSTRUCTOR]);
}
var _local2 = getMethodNameByObject(method, type);
if ((!(_local2 === null)) && (!(_local2 === undefined))) {
return([true, getTypeNameForType(type), _local2]);
}
return(getTypeAndMethodInfoByPrototype(type.prototype, method));
}
static function getTypeAndMethodInfoByInstance(instance, method) {
if ((instance === null) || (instance === undefined)) {
return(null);
}
if (instance.__constructor__) {
if (instance.__constructor__.prototype == instance.__proto__) {
return(getTypeAndMethodInfoByType(instance.__constructor__, method));
}
}
if (instance.constructor) {
if (instance.constructor.prototype == instance.__proto__) {
return(getTypeAndMethodInfoByType(instance.constructor, method));
}
}
return(getTypeAndMethodInfoByPrototype(instance.__proto__, method));
}
static function getTypeAndMethodInfoByPrototype(p, m) {
if ((p === null) || (p === undefined)) {
return(null);
}
var _local6 = p;
_global.ASSetPropFlags(_global, null, 0, true);
var _local4;
while (p) {
if (p.constructor.valueOf() == m.valueOf()) {
_local4 = CONSTRUCTOR;
} else {
_local4 = getMethodNameByObject(m, p);
}
if (_local4 != null) {
var _local3 = new Array();
_local3[0] = false;
_local3[1] = getTypeNameByPrototype(p, _global, "", [_global]);
_local3[2] = _local4;
return(_local3);
}
p = p.__proto__;
}
return([null, getTypeNameByPrototype(_local6, _global, "", [_global]), null]);
}
static function getTypeName(object) {
if ((object === null) || (object === undefined)) {
return(null);
}
if (typeof(object) == "function") {
return(getTypeNameForType(object));
}
return(getTypeNameForInstance(object));
}
static function getTypeNameForInstance(instance) {
if ((instance === null) || (instance === undefined)) {
return(null);
}
_global.ASSetPropFlags(_global, null, 0, true);
return(getTypeNameByPrototype(instance.__proto__, _global, "", [_global]));
}
static function getTypeNameForType(type) {
if ((type === null) || (type === undefined)) {
return(null);
}
_global.ASSetPropFlags(_global, null, 0, true);
return(getTypeNameByPrototype(type.prototype, _global, "", [_global]));
}
static function getTypeNameByPrototype(c, p, n, a) {
var y = c.__as2lib__typeName;
if ((y != null) && (y != c.__proto__.__as2lib__typeName)) {
return(y);
}
if (n == null) {
n = "";
}
var s = _global.ASSetPropFlags;
for (var r in p) {
try {
if (((!eval ("_global." + r.split("_").join("."))) || (r.indexOf("_") < 0)) && (p[r].prototype === c)) {
var x = (n + r);
c.__as2lib__typeName = x;
s(c, "__as2lib__typeName", 1, true);
return(x);
}
if (p[r].__constructor__.valueOf() == Object) {
var f = false;
var i = 0;
while (i < a.length) {
if (a[i].valueOf() == p[r].valueOf()) {
f = true;
}
i++;
}
if (!f) {
a.push(p[r]);
r = getTypeNameByPrototype(c, p[r], (n + r) + ".", a);
if (r) {
return(r);
}
}
} else if (typeof(p[r]) == "function") {
p[r].prototype.__as2lib__typeName = n + r;
s(p[r].prototype, "__as2lib__typeName", 1, true);
}
} catch(e) {
}
}
return(null);
}
static function getMethodName(method, object) {
if (((!method) || (object === null)) || (object === undefined)) {
return(null);
}
if (typeof(object) == "function") {
return(getMethodNameByType(method, object));
}
return(getMethodNameByInstance(method, object));
}
static function getMethodNameByInstance(method, instance) {
if (((!method) || (instance === null)) || (instance === undefined)) {
return(null);
}
if (instance.__constructor__) {
if (instance.__constructor__.prototype == instance.__proto__) {
return(getMethodNameByType(method, instance.__constructor__));
}
}
if (instance.constructor) {
if (instance.constructor.prototype == instance.__proto__) {
return(getMethodNameByType(method, instance.constructor));
}
}
return(getMethodNameByPrototype(method, instance.__proto__));
}
static function getMethodNameByType(method, type) {
if ((!method) || (!type)) {
return(null);
}
var _local1 = getMethodNameByPrototype(method, type.prototype);
if (_local1 != null) {
return(_local1);
}
return(getMethodNameByObject(method, type));
}
static function getMethodNameByPrototype(m, p) {
if ((((m === null) || (m === undefined)) || (p === null)) || (p === undefined)) {
return(null);
}
while (p) {
var _local2 = getMethodNameByObject(m, p);
if (_local2 != null) {
return(_local2);
}
p = p.__proto__;
}
return(null);
}
static function getMethodNameByObject(m, o) {
var _local6 = m.__as2lib__methodName;
if (_local6 != null) {
return(_local6);
}
var _local5 = _global.ASSetPropFlags;
_local5(o, null, 0, true);
_local5(o, ["__proto__", "prototype", "__constructor__", "constructor"], 7, true);
for (var _local4 in o) {
try {
if (o[_local4].valueOf() == m.valueOf()) {
m.__as2lib__methodName = _local4;
return(_local4);
}
if (typeof(o[_local4]) == "function") {
o[_local4].__as2lib__methodName = _local4;
}
} catch(e) {
}
}
_local5(o, null, 1, true);
return(null);
}
static function isMethodStatic(methodName, object) {
if (((!methodName) || (object === null)) || (object === undefined)) {
return(false);
}
if (typeof(object) == "function") {
return(isMethodStaticByType(methodName, object));
}
return(isMethodStaticByInstance(methodName, object));
}
static function isMethodStaticByInstance(methodName, instance) {
if (((!methodName) || (instance === null)) || (instance === undefined)) {
return(false);
}
return(isMethodStaticByType(methodName, (instance.__constructor__ ? (instance.__constructor) : (instance.constructor))));
}
static function isMethodStaticByType(methodName, type) {
if ((!methodName) || (!type)) {
return(false);
}
try {
if (type[methodName]) {
return(true);
}
} catch(e) {
}
return(false);
}
static function isConstructor(constructor, object) {
if ((((constructor === null) || (constructor === undefined)) || (object === null)) || (object === undefined)) {
return(false);
}
if (typeof(object) == "function") {
return(isConstructorByType(constructor, object));
}
return(isConstructorByInstance(constructor, object));
}
static function isConstructorByInstance(method, instance) {
if (((!method) || (instance === null)) || (instance === undefined)) {
return(false);
}
return(isConstructorByType(method, (instance.__constructor__ ? (instance.__constructor__) : (instance.constructor))));
}
static function isConstructorByType(method, type) {
if ((((method === null) || (method === undefined)) || (type === null)) || (type === undefined)) {
return(false);
}
return(method.valueOf() == type.valueOf());
}
static function getVariableNames(instance) {
var _local3 = new Array();
var _local5 = _global.ASSetPropFlags;
_local5(instance, null, 0, true);
_local5(instance, ["__proto__", "prototype", "__constructor__", "constructor"], 7, true);
for (var _local4 in instance) {
try {
if (typeof(instance[_local4]) != "function") {
_local3.push(_local4);
}
} catch(e) {
}
}
_local5(instance, null, 1, true);
return(_local3);
}
static function getTypeByName(path) {
var result = eval ("_global." + path);
if (!result) {
result = eval ("_global." + path.split(".").join("_"));
}
return(result);
}
static var CONSTRUCTOR = "new";
static var UNKNOWN = "[unknown]";
static var MEMBER_PREFIX = "__as2lib__member";
}
Symbol 442 MovieClip [__Packages.panels.Instructions] Frame 0
class panels.Instructions extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, removeMovieClip;
function Instructions () {
super();
cacheAsBitmap = true;
fade("out", gdp.utils.Delegate.create(this, initButtons));
}
static function create(mcTarget) {
return(panels.Instructions(mcTarget.attachMovie("Instructions", "mcInstructions", mcTarget.getNextHighestDepth())));
}
function initButtons(Void) {
btnClose.onRelease = gdp.utils.Delegate.create(this, btnPressed, ["in", gdp.utils.Delegate.create(this, toMenu)]);
btnPlay.onRelease = gdp.utils.Delegate.create(this, btnPressed, ["in", gdp.utils.Delegate.create(this, playGame)]);
}
function btnPressed(type, fn) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
fade(type, fn);
}
function toMenu(Void) {
core.Game.getInstance().showMainMenu();
removeMovieClip();
}
function playGame(Void) {
core.Game.getInstance().startGame();
removeMovieClip();
}
function fade(sType, f) {
f();
return(undefined);
}
var btnClose = null;
var btnPlay = null;
}
Symbol 443 MovieClip [__Packages.panels.HighScores] Frame 0
class panels.HighScores extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, removeMovieClip, attachMovie, getNextHighestDepth, hsPos;
function HighScores () {
super();
fade("out", gdp.utils.Delegate.create(this, initButtons));
cacheAsBitmap = true;
loadScores();
initKeys();
refresh();
check4HiScore();
}
static function create(mcTarget, inX, inY) {
return(panels.HighScores(mcTarget.attachMovie("HighScores", "mcHighScores", mcTarget.getNextHighestDepth(), {_x:inX, _y:inY})));
}
function initButtons(Void) {
btnClose.onRelease = gdp.utils.Delegate.create(this, btnPressed, ["in", gdp.utils.Delegate.create(this, toMenu)]);
btnPlay.onRelease = gdp.utils.Delegate.create(this, btnPressed, ["in", gdp.utils.Delegate.create(this, playGame)]);
}
function btnPressed(type, fn) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
fade(type, fn);
}
function initKeys(Void) {
oListener = new Object();
oListener.onKeyDown = gdp.utils.Delegate.create(this, function () {
if (Key.isDown(13)) {
this.add2HiScores("enter");
}
});
Key.addListener(oListener);
}
function toMenu(Void) {
add2HiScores("exit");
core.Game.getInstance().showMainMenu();
core.Game.getInstance().nScores = 0;
Key.removeListener(oListener);
removeMovieClip();
}
function loadScores(Void) {
aScores = new Array();
aScores = core.SOSettings.getInstance().get("aScores");
if (aScores == undefined) {
setDefaultScores();
}
}
function saveScores(Void) {
trace("saveScores");
core.SOSettings.getInstance().flushAll();
}
function setDefaultScores(Void) {
trace("set scores to default");
aScores = new Array();
var _local2 = 0;
while (_local2 < core.CDefNames.aDefNames.length) {
aScores[_local2] = {sName:core.CDefNames.aDefNames[_local2], nScore:((9 - _local2) * 20) + 29};
_local2++;
}
core.SOSettings.getInstance().set("aScores", aScores);
}
function refresh(Void) {
for (var _local2 in aMC) {
aMC[_local2].removeMovieClip();
}
aMC = new Array();
var _local3 = attachMovie("mcNameScoreCaption", "NameScoreCaption", getNextHighestDepth());
_local3._x = X_START;
_local3._y = Y_START - 30;
var _local2 = 0;
while (_local2 < aScores.length) {
_local3 = attachMovie("mcName", "mcName" + _local2, getNextHighestDepth());
_local3._x = X_START;
_local3._y = Y_START + (_local2 * Y_SPACE);
_local3.n.text = (_local2 + 1) + ".";
_local3.name.text = aScores[_local2].sName;
_local3.scores.text = aScores[_local2].nScore;
aMC[_local2] = _local3;
_local2++;
}
}
function check4HiScore(Void) {
var _local3 = core.Game.getInstance().nScores;
var _local2 = 0;
while (_local2 < aScores.length) {
if (_local3 > aScores[_local2].nScore) {
hsPos = _local2;
enterName(_local2, _local3);
break;
}
_local2++;
}
}
function enterName(j, nScore) {
trace(("panels.HighScores.enterName(" + [arguments]) + ")");
var _local3 = aScores.length - 1;
while (_local3 > j) {
aMC[_local3].name.text = aMC[_local3 - 1].name.text;
aMC[_local3].scores.text = aMC[_local3 - 1].scores.text;
_local3--;
}
aMC[j].scores.text = nScore;
aMC[j].name.text = "";
createInputText(j);
}
function createInputText(pos) {
mcInputName = attachMovie("mcInputName", "mcInputName", getNextHighestDepth(), {_x:X_START, _y:Y_START + (pos * Y_SPACE)});
Selection.setFocus(mcInputName.name);
}
function add2HiScores(enterType) {
trace("add2HiScores:");
if (mcInputName._name == null) {
return(undefined);
}
var _local5 = "";
trace("input name = " + mcInputName.name.text);
var _local4 = mcInputName.name.text.split(" ");
var _local3 = 0;
while (_local3 < _local4.length) {
_local5 = _local5 + _local4[_local3];
_local3++;
}
trace((("name = [" + _local5) + "] | ") + _local5.length);
if (_local5.length < 1) {
return(undefined);
}
var _local2 = Math.floor((mcInputName._y - Y_START) / Y_SPACE);
trace((((("save [" + _local5) + ",") + aScores[_local2].nScore) + "] at ") + _local2);
mcInputName.removeMovieClip();
_local2 = aScores.length - 1;
while (_local2 > hsPos) {
aScores[_local2].sName = aScores[_local2 - 1].sName;
aScores[_local2].nScore = aScores[_local2 - 1].nScore;
_local2--;
}
aScores[hsPos].nScore = core.Game.getInstance().nScores;
aScores[hsPos].sName = _local5;
refresh();
saveScores();
}
function playGame(Void) {
Key.removeListener(oListener);
add2HiScores("exit");
core.Game.getInstance().startGame();
removeMovieClip();
}
function fade(sType, f) {
f();
return(undefined);
}
var btnClose = null;
var btnPlay = null;
var aScores = null;
var aMC = null;
var mcInputName = null;
var oListener = null;
var X_START = -170;
var Y_START = -110;
var Y_SPACE = 24;
}
Symbol 444 MovieClip [__Packages.core.SOSettings] Frame 0
class core.SOSettings extends gdp.core.base.BaseClass
{
var so;
function SOSettings () {
super();
}
static function getInstance() {
if (instance == null) {
instance = new core.SOSettings();
}
return(instance);
}
function connect() {
so = SharedObject.getLocal(sPrefix + "_DATA", "/");
if (so.data.ver != ver) {
so.clear();
}
so.data.ver = ver;
bOnConnect = true;
}
function get(sId) {
if (!bOnConnect) {
connect();
}
return(so.data[sId]);
}
function set(sId, data) {
if (!bOnConnect) {
connect();
}
so.data[sId] = data;
so.flush();
}
function clear(sId) {
if (!bOnConnect) {
connect();
}
so.data[sId] = undefined;
}
function clearAll() {
if (!bOnConnect) {
connect();
}
so.clear();
}
function flushAll() {
if (!bOnConnect) {
connect();
}
so.flush();
}
function getSize() {
if (!bOnConnect) {
connect();
}
return(so.getSize());
}
function setPrefix(sPrefix) {
this.sPrefix = sPrefix;
bOnConnect = false;
}
static var instance = null;
static var ver = "1.043";
var bOnConnect = false;
var sPrefix = "NULL";
}
Symbol 445 MovieClip [__Packages.core.CDefNames] Frame 0
class core.CDefNames
{
function CDefNames () {
}
static var aDefNames = ["Jenny", "Alex", "Peter", "Mike", "Nicole", "Chad", "Brandon", "Victor", "Barret", "Den"];
}
Symbol 446 MovieClip [__Packages.panels.GamePanel] Frame 0
class panels.GamePanel extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, btnPause, btnMoreGames, btnMenu, getURL;
function GamePanel () {
super();
cacheAsBitmap = true;
initButtons();
refresh();
}
static function create(mcTarget) {
return(panels.GamePanel(mcTarget.attachMovie("GamePanel", "mcGamePanel", mcTarget.getNextHighestDepth())));
}
function initButtons(Void) {
btnPause.onRelease = gdp.utils.Delegate.create(this, pause);
btnMoreGames.onRelease = gdp.utils.Delegate.create(this, moreGames);
btnMenu.onRelease = gdp.utils.Delegate.create(this, subMenu);
}
function refresh(Void) {
nScores = core.Game.getInstance().nScores;
nLevel = core.Game.getInstance().nLevel;
nMiss = core.Game.getInstance().nLives;
}
function moreGames(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
(getURL("http://www.myplaycity.com", "_blank"));// not popped
}
function pause(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
core.Game.getInstance().showPause();
}
function subMenu(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
core.Game.getInstance().showSubMenu();
}
var nScores = null;
var nLevel = null;
var nMiss = null;
}
Symbol 447 MovieClip [__Packages.field.BackGround] Frame 0
class field.BackGround extends gdp.core.base.BaseMovieClip
{
var attachMovie, getNextHighestDepth, removeMovieClip;
function BackGround () {
super();
change();
}
static function create(mcTarget) {
return(field.BackGround(mcTarget.attachMovie("BackGround", "mcBackGround", mcTarget.getNextHighestDepth())));
}
function change(Void) {
if ((nType == MAX_TYPE) || (nType == null)) {
nType = 0;
}
if (mcBG._name != undefined) {
mcBG.removeMovieClip();
}
mcBG = attachMovie("BackGround_" + nType, "mcBG", getNextHighestDepth());
mcBG.cacheAsBitmap = true;
mcBG._x = 400;
mcBG._y = 300;
nType++;
}
function destroy(Void) {
removeMovieClip();
}
var mcBG = null;
var nType = null;
var MAX_TYPE = 4;
}
Symbol 448 MovieClip [__Packages.field.GameField] Frame 0
class field.GameField extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, removeMovieClip;
function GameField () {
super();
cacheAsBitmap = true;
}
static function create(mcTarget) {
return(field.GameField(mcTarget.attachMovie("GameField", "mcGameField", mcTarget.getNextHighestDepth())));
}
function init(Void) {
nBrokenBlocks = 0;
nTotalBlocks = I_BLOCKS * J_BLOCKS;
aBalls = new Array();
aBlocks = new Array();
createPad();
fade("out", gdp.utils.Delegate.create(this, createBall, [pad._x, pad._y]));
setBlocks();
setBonusBlocks();
collision = new field.Collision();
prCheckCollisions = new gdp.core.process.Process(gdp.utils.Delegate.create(this, processCheckCollisions));
gdp.core.process.ProcessManager.getInstance().addProcess(prCheckCollisions);
}
function createPad(Void) {
pad = field.Pad.create(this);
pad._x = 400;
pad._y = 560;
}
function setBlocks(Void) {
aBlocks = new Array();
var _local4 = random(3);
var _local3 = 0;
while (_local3 < I_BLOCKS) {
var _local2 = 0;
while (_local2 < J_BLOCKS) {
aBlocks.push(createBlock(_local4, START_BLOCK_X + (_local2 * SPACE_BLOCK_X), START_BLOCK_Y + (_local3 * SPACE_BLOCK_Y)));
_local2++;
}
_local3++;
}
}
function setBonusBlocks(Void) {
var _local6 = MAX_BONUS_BLOCKS;
var _local3 = new Array();
for (var _local7 in aBlocks) {
_local3.push(_local7);
}
while ((_local6--) > 0) {
var _local4 = random(_local3.length);
var _local2 = aBlocks[_local3[_local4]];
var _local5 = createBlock(field.Block.BONUS_BLOCK_TYPE, _local2._x, _local2._y);
_local2.removeMovieClip();
aBlocks.push(_local5);
_local3.splice(_local4, 1);
}
}
function createBlock(nType, nx, ny) {
var _local2 = field.Block.create(this, nType);
_local2._x = nx;
_local2._y = ny;
return(_local2);
}
function createBall(nx, ny) {
var _local2 = field.Ball.create(this);
_local2._x = nx;
_local2._y = ny;
_local2.startMove(0, -1, 20);
aBalls.push(_local2);
return(_local2);
}
function processCheckCollisions(Void) {
for (var _local3 in aBalls) {
var _local2 = aBalls[_local3];
checkBlockCollisions(_local2);
}
checkEndLevel();
}
function checkBlockCollisions(ball) {
var _local2 = 0;
while (_local2 < aBlocks.length) {
var _local3 = aBlocks[_local2];
if (collision.collideCircleVsTile(ball, _local3)) {
ball.reportCollisionVsWorld(collision.px, collision.py, collision.dx, collision.dy);
if (_local3.isBonus()) {
createBall(pad._x, pad._y);
}
_local3.destroy();
aBlocks.splice(_local2--, 1);
nBrokenBlocks++;
core.Game.getInstance().playSound(core.Game.getInstance().sndBlockBeat);
core.Game.getInstance().addScore(core.Game.SCORE_BLOCK);
}
_local2++;
}
}
function checkEndLevel(Void) {
if (nTotalBlocks == nBrokenBlocks) {
core.Game.getInstance().backGround.change();
setBlocks();
setBonusBlocks();
nBrokenBlocks = 0;
nTotalBlocks = I_BLOCKS * J_BLOCKS;
core.Game.getInstance().nLevel++;
core.Game.getInstance().gamePanel.refresh();
core.Game.getInstance().playSound(core.Game.getInstance().sndNextLevel);
for (var _local3 in aBalls) {
var _local2 = aBalls[_local3];
_local2.speedUp();
}
}
}
function destroy(Void) {
for (var _local3 in aBalls) {
var _local2 = aBalls[_local3];
_local2.destroy();
}
gdp.core.process.ProcessManager.getInstance().killProcess(prCheckCollisions);
removeMovieClip();
}
function fade(sType, f) {
f();
return(undefined);
}
var pad = null;
var aBlocks = null;
var aBalls = null;
var I_BLOCKS = 5;
var J_BLOCKS = 5;
var START_BLOCK_X = 202;
var START_BLOCK_Y = 45;
var SPACE_BLOCK_X = 98;
var SPACE_BLOCK_Y = 30;
var nTotalBlocks = 0;
var nBrokenBlocks = 0;
static var X_LEFT = 0;
static var X_RIGHT = 800;
static var Y_TOP = 0;
static var Y_BOTTOM = 600;
var MAX_BONUS_BLOCKS = 2;
var prCheckCollisions = null;
var collision = null;
}
Symbol 449 MovieClip [__Packages.field.Pad] Frame 0
class field.Pad extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, onMouseMove, _x, _width, gotoAndStop;
function Pad () {
super();
cacheAsBitmap = true;
onMouseMove = gdp.utils.Delegate.create(this, moveOnMouse);
}
static function create(mcTarget) {
return(field.Pad(mcTarget.attachMovie("Pad", "mcPad", mcTarget.getNextHighestDepth())));
}
function moveOnMouse() {
if (!core.Game.getInstance().bIsPlay) {
return(undefined);
}
_x = (_root._xmouse - 100) * 1.5;
if (_x < (_width / 2)) {
_x = _width / 2;
} else if (_x > (800 - (_width / 2))) {
_x = 800 - (_width / 2);
}
updateAfterEvent();
}
function kickBall(n) {
if (n == 1) {
gotoAndStop(2);
} else {
gotoAndStop(3);
}
}
}
Symbol 450 MovieClip [__Packages.gdp.core.process.Process] Frame 0
class gdp.core.process.Process extends gdp.core.base.BaseClass
{
var fFunc, aArgs, nPriority, nId, bReadOnly;
function Process (fFunc, aArgs, nPriority) {
super();
setFunction(fFunc);
setArguments(((aArgs == null) ? ([]) : (aArgs)));
setPriority(nPriority | -1);
}
function run(Void) {
return(Number(fFunc.apply(null, aArgs)));
}
function setFunction(fFunc) {
this.fFunc = fFunc;
gdp.utils.Delegate.setTo(fFunc, "process", this);
}
function getFunction(Void) {
return(fFunc);
}
function setArguments(aArgs) {
this.aArgs = aArgs;
}
function getArguments(Void) {
return(aArgs);
}
function setPriority(nPriority) {
this.nPriority = nPriority;
}
function getPriority(Void) {
return(nPriority);
}
function getId(Void) {
return(nId);
}
function setReadOnly(bReadOnly) {
this.bReadOnly = bReadOnly;
}
function isReadOnly(Void) {
return(bReadOnly);
}
function isValid(Void) {
if ((fFunc == null) || (typeof(fFunc) != "function")) {
return(false);
}
return(true);
}
function isEqual(process) {
if (((!gdp.utils.Delegate.equal(process.getFunction(), fFunc)) || ((!process.getId()) != nId)) || (!checkArguments(process))) {
return(false);
}
return(true);
}
function checkArguments(process) {
var _local3 = process.getArguments();
var _local4 = aArgs;
if (_local3.length != _local4.length) {
return(false);
}
var _local2 = 0;
while (_local2 < _local3.length) {
if (_local3[_local2] != _local4[_local2]) {
return(false);
}
_local2++;
}
return(true);
}
function description(Void) {
var _local2 = {func:gdp.utils.Delegate.toString(fFunc), args:aArgs, id:nId};
return("Process " + gdp.utils.ObjectUtil.classToString(_local2, true));
}
}
Symbol 451 MovieClip [__Packages.field.Collision] Frame 0
class field.Collision extends gdp.core.base.BaseClass
{
function Collision () {
super();
}
function collideCircleVsTile(circle, mcTile) {
var _local12 = circle._x;
var _local11 = circle._y;
var _local7 = circle._width / 2;
var _local2 = mcTile;
var _local10 = _local2._x;
var _local9 = _local2._y;
var _local4 = _local2._width / 2;
var _local3 = _local2._height / 2;
dx = _local12 - _local10;
px = (_local4 + _local7) - Math.abs(dx);
if (0 < px) {
dy = _local11 - _local9;
py = (_local3 + _local7) - Math.abs(dy);
if (0 < py) {
var _local5 = 0;
var _local6 = 0;
if (dx < (-_local4)) {
_local5 = -1;
} else if (_local4 < dx) {
_local5 = 1;
}
if (dy < (-_local3)) {
_local6 = -1;
} else if (_local3 < dy) {
_local6 = 1;
}
return(resolveCircleTile(px, py, _local5, _local6, circle, _local2));
}
}
return(0);
}
function collideCircleVsTileByCoords(x, y, r, mcTile) {
var _local2 = mcTile;
var _local8 = _local2._x;
var _local7 = _local2._y;
var _local4 = _local2._width / 2;
var _local3 = _local2._height / 2;
dx = x - _local8;
px = (_local4 + r) - Math.abs(dx);
if (0 < px) {
dy = y - _local7;
py = (_local3 + r) - Math.abs(dy);
if (0 < py) {
var _local5 = 0;
var _local6 = 0;
if (dx < (-_local4)) {
_local5 = -1;
} else if (_local4 < dx) {
_local5 = 1;
}
if (dy < (-_local3)) {
_local6 = -1;
} else if (_local3 < dy) {
_local6 = 1;
}
}
}
return(0);
}
function resolveCircleTile(x, y, oH, oV, obj, t) {
return(projCircleFull(x, y, oH, oV, obj, t));
}
function projCircleFull(x, y, oH, oV, obj, t) {
if (oH == 0) {
if (oV == 0) {
if (x < y) {
dx = obj._x - t._x;
if (dx < 0) {
px = -x;
py = 0;
dx = -1;
dy = 0;
return(1);
}
px = x;
py = 0;
dx = 1;
dy = 0;
return(1);
}
dy = obj._y - t._y;
if (dy < 0) {
px = 0;
py = -y;
dx = 0;
dy = -1;
return(1);
}
px = 0;
py = y;
dx = 0;
dy = 1;
return(1);
}
px = 0;
py = y * oV;
dx = 0;
dy = oV;
return(1);
}
if (oV == 0) {
px = x * oH;
py = 0;
dx = oH;
dy = 0;
return(1);
}
var _local11 = t._x + ((oH * t._width) / 2);
var _local10 = t._y + ((oV * t._height) / 2);
dx = obj._x - _local11;
dy = obj._y - _local10;
var _local2 = Math.sqrt((dx * dx) + (dy * dy));
var _local5 = (obj._width / 2) - _local2;
if (0 < _local5) {
if (_local2 == 0) {
dx = oH / Math.SQRT2;
dy = oV / Math.SQRT2;
} else {
dx = dx / _local2;
dy = dy / _local2;
}
px = dx * _local5;
py = dy * _local5;
dx = dx;
dy = dy;
return(1);
}
return(0);
}
function collideCircleVsWorldBounds(mc, XMIN, XMAX, YMIN, YMAX) {
var _local4 = mc._x;
var _local3 = mc._y;
var _local2 = mc._width / 2;
dx = XMIN - (_local4 - _local2);
if (0 < dx) {
px = dx;
py = 0;
dx = 1;
dy = 0;
return(1);
}
dx = (_local4 + _local2) - XMAX;
if (0 < dx) {
px = -dx;
py = 0;
dx = -1;
dy = 0;
return(1);
}
dy = YMIN - (_local3 - _local2);
if (0 < dy) {
px = 0;
py = dy;
dx = 0;
dy = 1;
return(1);
}
dy = (_local3 + _local2) - YMAX;
if (0 < dy) {
px = 0;
py = -dy;
dx = 0;
dy = -1;
return(1);
}
return(0);
}
var px = 0;
var py = 0;
var dx = 0;
var dy = 0;
}
Symbol 452 MovieClip [__Packages.gdp.core.process.ProcessManager] Frame 0
class gdp.core.process.ProcessManager extends gdp.core.base.BaseClass
{
static var instance;
function ProcessManager () {
super();
aProcessesList = new Array();
}
static function getInstance() {
if (instance == null) {
instance = new gdp.core.process.ProcessManager();
}
return(instance);
}
function run(Void) {
if (aProcessesList.length == 0) {
return(undefined);
}
var _local2 = 0;
while (_local2 < aProcessesList.length) {
var _local3 = aProcessesList[_local2];
var _local4 = _local3.run();
if ((_local4 == PROCESS_KILL) || (!_local3.isValid())) {
aProcessesList.splice(_local2--, 1);
} else if (_local4 == PROCESS_HOLD) {
return(undefined);
}
_local2++;
}
}
function addProcess(process) {
if (process.isValid()) {
process.nId = nNextFreeId++;
aProcessesList.push(process);
return(process.nId);
}
return(-1);
}
function getProcess(nId) {
var _local2 = 0;
while (_local2 < aProcessesList.length) {
if (aProcessesList[_local2].getId() == nId) {
return(aProcessesList[_local2]);
}
_local2++;
}
}
function killProcess(value) {
if (typeof(value) == "number") {
return(killProcessById(value));
}
if (value instanceof gdp.core.process.Process) {
return(killProcessByProcess(value));
}
return(false);
}
function killProcessById(nId) {
var _local2 = 0;
while (_local2 < aProcessesList.length) {
if (aProcessesList[_local2].getId() == nId) {
aProcessesList.splice(_local2--, 1);
return(true);
}
_local2++;
}
return(false);
}
function killProcessByProcess(process) {
return(killProcessById(process.getId()));
}
function isHas(process) {
var _local2 = 0;
while (_local2 < aProcessesList.length) {
if (aProcessesList[_local2].isEqual(process)) {
return(true);
}
_local2++;
}
return(false);
}
static var PROCESS_KILL = 0;
static var PROCESS_HOLD = -1;
var aProcessesList = null;
var nNextFreeId = 0;
}
Symbol 453 MovieClip [__Packages.field.Block] Frame 0
class field.Block extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, removeMovieClip;
function Block () {
super();
cacheAsBitmap = true;
}
static function create(mcTarget, nType) {
return(field.Block(mcTarget.attachMovie("Block_" + nType, "mcBlock" + mcTarget.getNextHighestDepth(), mcTarget.getNextHighestDepth(), {nType:nType})));
}
function isBonus(Void) {
if (nType == BONUS_BLOCK_TYPE) {
return(true);
}
return(false);
}
function destroy(Void) {
removeMovieClip();
}
var nType = null;
static var BONUS_BLOCK_TYPE = 3;
}
Symbol 454 MovieClip [__Packages.field.Ball] Frame 0
class field.Ball extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, _x, _y, removeMovieClip;
function Ball () {
super();
paddle = core.Game.getInstance().gameField.pad;
collision = new field.Collision();
cacheAsBitmap = true;
}
static function create(mcTarget, nType) {
return(field.Ball(mcTarget.attachMovie("Ball", "mcBall" + mcTarget.getNextHighestDepth(), mcTarget.getNextHighestDepth(), {nType:nType})));
}
function startMove(nVX, nVY, nSpeed) {
if (bIsMove) {
return(undefined);
}
core.Game.getInstance().playSound(core.Game.getInstance().sndCocosThrow);
this.nVX = nVX;
this.nVY = nVY;
this.nSpeed = nSpeed;
prMove = new gdp.core.process.Process(gdp.utils.Delegate.create(this, move));
gdp.core.process.ProcessManager.getInstance().addProcess(prMove);
bIsMove = true;
}
function move() {
_x = _x + (nVX * nSpeed);
_y = _y + (nVY * nSpeed);
checkPaddle();
checkSides();
}
function stopMove() {
bIsMove = false;
gdp.core.process.ProcessManager.getInstance().killProcess(prMove);
}
function checkSides() {
if (collision.collideCircleVsWorldBounds(this, field.GameField.X_LEFT, field.GameField.X_RIGHT, field.GameField.Y_TOP, field.GameField.Y_BOTTOM)) {
if (collision.dy < 0) {
if (core.Game.getInstance().gameField.aBalls.length == 1) {
if (core.Game.getInstance().looseLife()) {
core.Game.getInstance().gameField.createBall(paddle._x, paddle._y);
}
}
destroy();
} else {
reportCollisionVsWorld(collision.px, collision.py, collision.dx, collision.dy);
}
}
}
function checkPaddle() {
if (collision.collideCircleVsTile(this, paddle)) {
var _local2 = Math.sqrt((nVX * nVX) + (nVY * nVY));
nVX = (_x - paddle._x) / (paddle._width / 2);
nVY = -Math.sqrt(Math.abs((_local2 * _local2) - (nVX * nVX)));
if (Math.abs(nVY) < 0.1) {
nVY = -0.1;
}
if (nVX > 0) {
paddle.kickBall(1);
} else {
paddle.kickBall(-1);
}
core.Game.getInstance().playSound(core.Game.getInstance().sndCocosBeatOff);
}
}
function checkBallsQuantity(Void) {
if (core.Game.getInstance().gameField.aBalls.length == 1) {
}
}
function reportCollisionVsWorld(px, py, dx, dy) {
core.Game.getInstance().playSound(core.Game.getInstance().sndCocosBeatWall);
_x = _x + px;
_y = _y + py;
if ((dx != 0) && (dy != 0)) {
if (Math.abs(dx) > Math.abs(dy)) {
nVX = nVX * -1;
} else {
nVY = nVY * -1;
}
} else if (dx != 0) {
nVX = nVX * -1;
} else if (dy != 0) {
nVY = nVY * -1;
}
}
function speedUp(Void) {
nSpeed = nSpeed + 0.1;
}
function destroy(Void) {
var _local2 = core.Game.getInstance().gameField.aBalls;
for (var _local3 in _local2) {
if (this == _local2[_local3]) {
_local2.splice(_local3, 1);
break;
}
}
gdp.core.process.ProcessManager.getInstance().killProcess(prMove);
removeMovieClip();
}
var bIsMove = null;
var nVX = null;
var nVY = null;
var nSpeed = null;
var prMove = null;
var paddle = null;
var collision = null;
}
Symbol 455 MovieClip [__Packages.panels.SubMenu] Frame 0
class panels.SubMenu extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, removeMovieClip;
function SubMenu () {
super();
btn.useHandCursor = false;
cacheAsBitmap = true;
_root.stop();
core.Game.getInstance().bIsPlay = false;
Mouse.show();
if (inMenu) {
btnMainMenu._visible = false;
}
initButtons();
}
static function create(mcTarget, menu) {
return(panels.SubMenu(mcTarget.attachMovie("SubMenu", "mcSubMenu", mcTarget.getNextHighestDepth(), {inMenu:menu})));
}
function refresh() {
trace("submenu refresh");
if (!core.Game.getInstance().bSoundOn) {
mcSound.gotoAndStop("off");
mcSound.btnOn.onRelease = gdp.utils.Delegate.create(this, toggleSound);
} else {
mcSound.gotoAndStop("on");
mcSound.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleSound);
}
if (!core.Game.getInstance().bMusicOn) {
mcMusic.gotoAndStop("off");
mcMusic.btnOn.onRelease = gdp.utils.Delegate.create(this, toggleMusic);
} else {
mcMusic.gotoAndStop("on");
mcMusic.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleMusic);
}
if (!core.Game.getInstance().bFullScreen) {
mcFullScreen.gotoAndStop("off");
mcFullScreen.btnOn.onRelease = gdp.utils.Delegate.create(this, toggleScreen);
} else {
mcFullScreen.gotoAndStop("on");
mcFullScreen.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleScreen);
}
}
function initButtons(Void) {
btnResume.onRelease = gdp.utils.Delegate.create(this, resume);
if (!core.Game.getInstance().bFullScreen) {
mcFullScreen.gotoAndStop("off");
} else {
mcFullScreen.gotoAndStop("on");
}
if (!core.Game.getInstance().bSoundOn) {
mcSound.gotoAndStop("off");
} else {
mcSound.gotoAndStop("on");
}
if (!core.Game.getInstance().bMusicOn) {
mcMusic.gotoAndStop("off");
} else {
mcMusic.gotoAndStop("on");
}
mcFullScreen.btnOn.onRelease = (mcFullScreen.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleScreen));
mcSound.btnOn.onRelease = (mcSound.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleSound));
mcMusic.btnOn.onRelease = (mcMusic.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleMusic));
btnMainMenu.onRelease = gdp.utils.Delegate.create(this, toMenu);
}
function toggleSound(Void) {
if (core.Game.getInstance().bSoundOn) {
mcSound.gotoAndStop("off");
core.Game.getInstance().soundOff();
mcSound.btnOn.onRelease = gdp.utils.Delegate.create(this, toggleSound);
} else {
mcSound.gotoAndStop("on");
core.Game.getInstance().soundOn();
core.Game.getInstance().playSound(core.Game.getInstance().sndBtnInGameMenu);
mcSound.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleSound);
}
}
function toggleMusic(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtnInGameMenu);
if (core.Game.getInstance().bMusicOn) {
mcMusic.gotoAndStop("off");
core.Game.getInstance().musicOff();
mcMusic.btnOn.onRelease = gdp.utils.Delegate.create(this, toggleMusic);
} else {
mcMusic.gotoAndStop("on");
core.Game.getInstance().musicOn();
mcMusic.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleMusic);
}
}
function toggleScreen(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtnInGameMenu);
if (core.Game.getInstance().bFullScreen) {
mcFullScreen.gotoAndStop("off");
core.Game.getInstance().fullScreen();
mcFullScreen.btnOn.onRelease = gdp.utils.Delegate.create(this, toggleScreen);
} else {
mcFullScreen.gotoAndStop("on");
core.Game.getInstance().fullScreen();
mcFullScreen.btnOff.onRelease = gdp.utils.Delegate.create(this, toggleScreen);
}
}
function toMenu(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
_root.play();
core.Game.getInstance().showMainMenu();
core.Game.getInstance().gameField.destroy();
removeMovieClip();
}
function resume() {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
_root.play();
if (!inMenu) {
core.Game.getInstance().bIsPlay = true;
}
removeMovieClip();
}
var btn = null;
var btnResume = null;
var btnMainMenu = null;
var mcFullScreen = null;
var mcMusic = null;
var mcSound = null;
var inMenu = null;
}
Symbol 456 MovieClip [__Packages.gdp.sound.WaveEngine] Frame 0
class gdp.sound.WaveEngine
{
var type, stack, debugOn, mute, _mc;
function WaveEngine (type, debugOn) {
this.type = ((type == undefined) ? 1 : (type));
stack = new Object();
this.debugOn = ((type == undefined) ? false : (debugOn));
mute = false;
init();
}
function init() {
_numClass++;
_mc = _root.createEmptyMovieClip((("CWaveEngine_" + _numClass) + "_") + type, _root.getNextHighestDepth());
}
function soundOff() {
if (!mute) {
debug("soundOff()");
for (var _local2 in stack) {
stack[_local2]._oldVolume = stack[_local2].getVolume();
setVolume(Number(_local2), 0);
}
mute = true;
}
}
function soundOn() {
if (mute) {
mute = false;
debug("soundOn()");
for (var _local3 in stack) {
var _local2 = ((stack[_local3]._oldVolume == undefined) ? 100 : (stack[_local3]._oldVolume));
setVolume(Number(_local3), _local2);
}
}
}
function getSoundStatus() {
return(!mute);
}
function play(id, secondsOffset, loops) {
if ((id == undefined) || (stack[id] == undefined)) {
return(0);
}
if (type == 2) {
stopAll();
}
secondsOffset = ((secondsOffset == undefined) ? 0 : (secondsOffset));
loops = ((loops == undefined) ? 1 : (loops));
var _local3 = stack[id];
if (mute) {
_local3.setVolume(0);
} else {
_local3.setVolume(100);
}
if (type == 2) {
loops = 65536;
}
_local3.start(secondsOffset, loops);
debug(((((("play(" + _local3.__link) + ", ") + secondsOffset) + ", ") + loops) + ")");
}
function playAll(secondsOffset, loops, autoDelete) {
for (var _local5 in stack) {
play(Number(_local5), secondsOffset, loops, autoDelete);
}
}
function addStream(link_name, autoDelete) {
if (link_name == undefined) {
return(0);
}
autoDelete = ((autoDelete == undefined) ? true : (autoDelete));
var _local4 = _mc.createEmptyMovieClip("attachS_" + (++_numSound), _mc.getNextHighestDepth());
var _local2 = new Sound(_local4);
_local2.attachSound(link_name);
_local2.__parent = this;
_local2.__link = link_name;
_local2.__num = _numSound;
_local2.__mc = _local4;
_local2.__autoDelete = autoDelete;
_local2.onSoundComplete = function () {
if (this.__autoDelete) {
this.__parent.deleteSound(this.__num);
}
};
debug(("addStream(" + link_name) + ")");
stack[_numSound] = _local2;
return(_local2.__num);
}
function deleteSound(id) {
if ((id == undefined) || (stack[id] == undefined)) {
return(0);
}
var _local2 = stack[id];
debug("Stack deletes a " + _local2.__link);
delete stack[id];
_local2.__mc.removeMovieClip();
}
function deleteAllSound() {
debug("deleteAllSound()");
for (var _local2 in stack) {
deleteSound(Number(_local2));
}
}
function stop(id) {
if ((id == undefined) || (stack[id] == undefined)) {
return(0);
}
var _local3 = stack[id];
_local3.stop();
debug(("stop(" + _local3.__link) + ")");
if (_local3.__autoDelete) {
if ((id != _numSound) || (type != 2)) {
deleteSound(id);
}
}
}
function stopAll() {
debug("stopAll()");
for (var _local2 in stack) {
stop(Number(_local2));
}
}
function setVolume(id, volume) {
if (((id == undefined) || (volume == undefined)) || (stack[id] == undefined)) {
return(0);
}
var _local2 = stack[id];
if (mute) {
_local2._oldVolume = volume;
return(0);
}
debug(((("setVolume(" + _local2.__link) + ", ") + volume) + ")");
if (_local2 != undefined) {
_local2.setVolume(volume);
}
}
function setAllVolume(volume) {
for (var _local2 in stack) {
setVolume(Number(_local2), volume);
}
}
function debug(msg) {
if (debugOn) {
trace((type + " ") + msg);
}
}
function toString() {
return("[gdp.sound.WaveEngine]");
}
var _numSound = 0;
static var _numClass = 0;
}
Symbol 457 MovieClip [__Packages.gdp.core.time.FrameTimer] Frame 0
class gdp.core.time.FrameTimer extends gdp.core.base.BaseClass
{
static var instance;
function FrameTimer () {
super();
nFramesCount = 0;
nFps = 0;
var _local3 = new gdp.core.process.Process(gdp.utils.Delegate.create(this, addFrame));
gdp.core.process.ProcessManager.getInstance().addProcess(_local3);
}
static function getInstance() {
if (instance == null) {
instance = new gdp.core.time.FrameTimer();
}
return(instance);
}
function addFrame(Void) {
nFramesCount++;
}
function setFps(nFps) {
this.nFps = nFps;
}
function getFps(Void) {
return(nFps);
}
function getTime(Void) {
return(int((nFramesCount / nFps) * 1000));
}
function getFrames(Void) {
return(nFramesCount);
}
function frameToMilliseconds(nFrame) {
return(int((nFrame / nFps) * 1000));
}
function millisecondsToFrame(nMs) {
return(Math.round((nMs * nFps) / 1000));
}
var nFps = null;
var nFramesCount = null;
}
Symbol 458 MovieClip [__Packages.core.Keyboard] Frame 0
class core.Keyboard extends gdp.core.base.BaseClass
{
function Keyboard () {
super();
oKeyListener = new Object();
oKeyListener.onKeyDown = gdp.utils.Delegate.create(this, function () {
switch (Key.getCode()) {
case 112 :
return;
case 113 :
return;
case 114 :
return;
case 115 :
return;
case 116 :
return;
case 32 :
if (!core.Game.getInstance().bIsPlay) {
return;
}
if (core.Game.getInstance().subMenu._name == undefined) {
core.Game.getInstance().showSubMenu();
} else {
core.Game.getInstance().subMenu.resume();
}
return;
case 27 :
trace("escape");
if (!core.Game.getInstance().bFullScreen) {
break;
}
trace("turn off fullscr");
core.Game.getInstance().bFullScreen = false;
fscommand ("fullscreen", false);
if (core.Game.getInstance().subMenu._name == null) {
break;
}
core.Game.getInstance().subMenu.refresh();
}
});
Key.addListener(oKeyListener);
}
var oKeyListener = null;
}
Symbol 459 MovieClip [__Packages.panels.Pause] Frame 0
class panels.Pause extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, btn, removeMovieClip;
function Pause () {
super();
_root.stop();
cacheAsBitmap = true;
btn.onRelease = gdp.utils.Delegate.create(this, unPause);
core.Game.getInstance().bIsPlay = false;
Mouse.show();
}
static function create(mcTarget) {
return(panels.Pause(mcTarget.attachMovie("Pause", "mcPause", mcTarget.getNextHighestDepth())));
}
function unPause() {
_root.play();
core.Game.getInstance().bIsPlay = true;
removeMovieClip();
}
}
Symbol 460 MovieClip [__Packages.effects.GameOverEffect] Frame 0
class effects.GameOverEffect extends gdp.core.base.BaseClass
{
function GameOverEffect (mcTarget) {
super();
this.mcTarget = mcTarget;
}
function start(Void) {
trace(("effects.GameOverEffect.start(" + [arguments]) + ")");
mcBlack = mcTarget.attachMovie("mcBlack", "mcBlack", mcTarget.getNextHighestDepth());
mcBlack._alpha = 0;
mcBlack.cacheAsBitmap = true;
mcBlack.onRelease = gdp.utils.Delegate.create(this, onRelease);
mcGameOver = mcTarget.attachMovie("mcGameOver", "mcGameOver", mcTarget.getNextHighestDepth());
mcGameOver.cacheAsBitmap = true;
mcGameOver._x = 400;
mcGameOver._y = -100;
prMove = new gdp.core.process.Process(gdp.utils.Delegate.create(this, move));
gdp.core.process.ProcessManager.getInstance().addProcess(prMove);
}
function move(Void) {
if (A < 0) {
return(0);
}
mcGameOver._y = mcGameOver._y + (A * Math.sin(t));
t = t + 0.3;
A = A - 5;
mcBlack._alpha = mcBlack._alpha + 2;
}
function onRelease(Void) {
gdp.core.process.ProcessManager.getInstance().killProcess(prMove);
fOnRelease();
mcBlack.removeMovieClip();
mcGameOver.removeMovieClip();
}
var mcGameOver = null;
var mcTarget = null;
var prMove = null;
var mcBlack = null;
var fOnRelease = null;
var A = 100;
var t = 0;
}
Symbol 461 MovieClip [__Packages.panels.GameWin] Frame 0
class panels.GameWin extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, btn, btnHighScores, removeMovieClip;
function GameWin () {
super();
Mouse.show();
cacheAsBitmap = true;
fade("out", gdp.utils.Delegate.create(this, initButtons));
}
static function create(mcTarget) {
return(panels.GameWin(mcTarget.attachMovie("GameWin", "mcGameWin", mcTarget.getNextHighestDepth())));
}
function initButtons(Void) {
btn.useHandCursor = false;
btnHighScores.onRelease = gdp.utils.Delegate.create(this, toHighScores);
}
function toHighScores(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
core.Game.getInstance().showHighScores();
hide();
}
function hide(Void) {
removeMovieClip();
}
function fade(sType, f) {
f();
return(undefined);
}
}
Symbol 462 MovieClip [__Packages.panels.GameOver] Frame 0
class panels.GameOver extends gdp.core.base.BaseMovieClip
{
var cacheAsBitmap, btn, btnPlayAgain, removeMovieClip;
function GameOver () {
super();
Mouse.show();
cacheAsBitmap = true;
fade("out", gdp.utils.Delegate.create(this, initButtons));
}
static function create(mcTarget) {
return(panels.GameOver(mcTarget.attachMovie("GameOver", "mcGameOver", mcTarget.getNextHighestDepth())));
}
function initButtons(Void) {
btn.useHandCursor = false;
btnPlayAgain.onRelease = gdp.utils.Delegate.create(this, toMenu);
}
function toMenu(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
core.Game.getInstance().showMainMenu();
hide();
}
function toHighScores(Void) {
core.Game.getInstance().playSound(core.Game.getInstance().sndBtn);
core.Game.getInstance().showHighScores();
hide();
}
function hide(Void) {
removeMovieClip();
}
function fade(sType, f) {
f();
return(undefined);
}
}