Section 1
//AssetFactory (cn.vlux.sharedLib.asset.AssetFactory)
package cn.vlux.sharedLib.asset {
import flash.display.*;
import flash.utils.*;
public class AssetFactory {
public function AssetFactory(){
super();
}
public static function swapDepths(pTarget:Sprite, pChild:DisplayObject, pDepth:int):void{
var pTarget = pTarget;
var pChild = pChild;
var pDepth = pDepth;
pTarget.addChildAt(pTarget.removeChild(pChild), pDepth);
//unresolved jump
var _slot1 = e;
pTarget.swapChildren(pChild, pTarget.getChildAt(pDepth));
}
public static function attachBitmap(pLinkage:String, pWidth:Number, pHeight:Number):Bitmap{
var assetClass:Class = (getDefinitionByName(pLinkage) as Class);
var asset:BitmapData = new assetClass(pWidth, pHeight);
var bitmap:Bitmap = new Bitmap(asset);
trace(bitmap);
return (bitmap);
}
public static function attachClip(pLinkage:String):DisplayObject{
var assetClass:Class = (getDefinitionByName(pLinkage) as Class);
var asset:DisplayObject = new (assetClass);
trace(asset);
return (asset);
}
public static function attachInLoader(pLoader:Loader, pLinkage:String, pNewName:String=null, pInitObject:Object=null):DisplayObject{
var assetClass:Class = (pLoader.contentLoaderInfo.applicationDomain.getDefinition(pLinkage) as Class);
var asset:DisplayObject = new (assetClass);
if (pNewName != null){
asset.name = pNewName;
};
if (pInitObject != null){
if (pInitObject.x != undefined){
asset.x = pInitObject.x;
};
if (pInitObject.y != undefined){
asset.y = pInitObject.y;
};
if (pInitObject.visible != undefined){
asset.visible = pInitObject.visible;
};
if (pInitObject.alpha != undefined){
asset.alpha = pInitObject.alpha;
};
};
return (asset);
}
public static function attachBitmapInLoader(pLoader:Loader, pLinkage:String, pWidth:Number, pHeight:Number):Bitmap{
var assetClass:Class = (pLoader.contentLoaderInfo.applicationDomain.getDefinition(pLinkage) as Class);
var asset:BitmapData = new assetClass(pWidth, pHeight);
var bitmap:Bitmap = new Bitmap(asset);
trace(bitmap);
return (bitmap);
}
}
}//package cn.vlux.sharedLib.asset
Section 2
//ErrorLog (cn.vlux.sharedLib.debug.ErrorLog)
package cn.vlux.sharedLib.debug {
public class ErrorLog {
private static var log:String = "1.检查本地变量是否错误;";
public function ErrorLog(){
super();
}
public static function print():void{
trace(log);
}
public static function getLog():String{
return (log);
}
}
}//package cn.vlux.sharedLib.debug
Section 3
//Digit (cn.vlux.sharedLib.game.Digit)
package cn.vlux.sharedLib.game {
import flash.display.*;
public class Digit extends MovieClip {
public function Digit(){
super();
}
public function get number(){
return ((currentFrame - 1));
}
public function set number(n){
this.gotoAndStop((n + 1));
}
public function before(dg){
return ((x < dg.x));
}
}
}//package cn.vlux.sharedLib.game
Section 4
//DigitSet (cn.vlux.sharedLib.game.DigitSet)
package cn.vlux.sharedLib.game {
public dynamic class DigitSet {
private var digits_array;
private var figure;
private var align;
private var width;
private var base_mc;
private var left;
private var arranged;
private var right;
public static var digitsets = new Object();
public function DigitSet(mc){
super();
base_mc = mc;
arranged = false;
figure = "0";
digits_array = new Array();
}
public function numberAt(i){
return (Number(figure.charAt(((figure.length - i) - 1))));
}
public function get number(){
return (Number(figure));
}
public function registerDigit(dg){
digits_array.push(dg);
arranged = false;
}
public function set number(v){
if (!arranged){
arrange();
};
figure = String(v);
var _local3:* = digits_array.length;
var _local2:* = 0;
while (_local2 < _local3) {
if (_local2 < figure.length){
digits_array[_local2]["number"] = numberAt(_local2);
digits_array[_local2].visible = true;
} else {
digits_array[_local2]["number"] = 0;
digits_array[_local2].visible = false;
};
_local2++;
};
applyAlign(figure.length);
}
public function applyAlign(length){
var _local3:*;
var _local4:*;
var _local2:*;
if (align == "center"){
_local3 = (width / (digits_array.length - 1));
_local4 = (((left + right) / 2) - (((length - 1) * _local3) / 2));
_local2 = 0;
while (_local2 < length) {
digits_array[_local2]._x = (_local4 + (_local2 * _local3));
_local2++;
};
};
}
public function arrange(){
var _local5:*;
var _local6:*;
var _local8:*;
var _local2:*;
var _local4:* = digits_array;
var _local7:* = _local4.length;
var _local3:* = 0;
while (_local3 < _local7) {
_local2 = _local3;
while (_local2 < _local7) {
_local5 = _local4[_local3];
_local6 = _local4[_local2];
if (_local5.before(_local6)){
_local8 = _local5;
_local4[_local3] = _local6;
_local4[_local2] = _local5;
};
_local2++;
};
_local3++;
};
right = _local4[(_local4.length - 1)]._x;
left = _local4[0]._x;
width = (right - left);
arranged = true;
}
}
}//package cn.vlux.sharedLib.game
Section 5
//JSON (cn.vlux.sharedLib.json.JSON)
package cn.vlux.sharedLib.json {
public class JSON {
public function JSON(){
super();
}
public static function decode(s:String){
var decoder:JSONDecoder = new JSONDecoder(s);
return (decoder.getValue());
}
public static function encode(o:Object):String{
var encoder:JSONEncoder = new JSONEncoder(o);
return (encoder.getString());
}
}
}//package cn.vlux.sharedLib.json
Section 6
//JSONDecoder (cn.vlux.sharedLib.json.JSONDecoder)
package cn.vlux.sharedLib.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(s:String){
super();
tokenizer = new JSONTokenizer(s);
nextToken();
value = parseValue();
}
private function parseObject():Object{
var key:String;
var o:Object = new Object();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (o);
};
while (true) {
if (token.type == JSONTokenType.STRING){
key = String(token.value);
nextToken();
if (token.type == JSONTokenType.COLON){
nextToken();
o[key] = parseValue();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (o);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting } or , but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting : but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting string but found " + token.value));
};
};
return (null);
}
private function parseValue():Object{
switch (token.type){
case JSONTokenType.LEFT_BRACE:
return (parseObject());
case JSONTokenType.LEFT_BRACKET:
return (parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (token.value);
default:
tokenizer.parseError(("Unexpected " + token.value));
};
return (null);
}
private function nextToken():JSONToken{
return ((token = tokenizer.getNextToken()));
}
public function getValue(){
return (value);
}
private function parseArray():Array{
var a:Array = new Array();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (a);
};
while (true) {
a.push(parseValue());
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (a);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting ] or , but found " + token.value));
};
};
return (null);
}
}
}//package cn.vlux.sharedLib.json
Section 7
//JSONEncoder (cn.vlux.sharedLib.json.JSONEncoder)
package cn.vlux.sharedLib.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(value){
super();
jsonString = convertToString(value);
}
private function escapeString(str:String):String{
var ch:String;
var hexCode:String;
var zeroPad:String;
var s:String = "";
var len:Number = str.length;
var i:int;
while (i < len) {
ch = str.charAt(i);
switch (ch){
case "\"":
s = (s + "\\\"");
break;
case "\\":
s = (s + "\\\\");
break;
case "\b":
s = (s + "\\b");
break;
case "\f":
s = (s + "\\f");
break;
case "\n":
s = (s + "\\n");
break;
case "\r":
s = (s + "\\r");
break;
case "\t":
s = (s + "\\t");
break;
default:
if (ch < " "){
hexCode = ch.charCodeAt(0).toString(16);
zeroPad = ((hexCode.length == 2)) ? "00" : "000";
s = (s + (("\\u" + zeroPad) + hexCode));
} else {
s = (s + ch);
};
};
i++;
};
return ((("\"" + s) + "\""));
}
private function arrayToString(a:Array):String{
var s:String = "";
var i:int;
while (i < a.length) {
if (s.length > 0){
s = (s + ",");
};
s = (s + convertToString(a[i]));
i++;
};
return ((("[" + s) + "]"));
}
public function getString():String{
return (jsonString);
}
private function objectToString(o:Object):String{
var value:Object;
var key:String;
var v:XML;
var o = o;
var s = "";
var classInfo:XML = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(key) + ":") + convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
private function convertToString(value):String{
if ((value is String)){
return (escapeString((value as String)));
};
if ((value is Number)){
return ((isFinite((value as Number))) ? value.toString() : "null");
} else {
if ((value is Boolean)){
return ((value) ? "true" : "false");
} else {
if ((value is Array)){
return (arrayToString((value as Array)));
};
if ((((value is Object)) && (!((value == null))))){
return (objectToString(value));
};
};
};
return ("null");
}
}
}//package cn.vlux.sharedLib.json
Section 8
//JSONParseError (cn.vlux.sharedLib.json.JSONParseError)
package cn.vlux.sharedLib.json {
public class JSONParseError extends Error {
private var _location:int;
private var _text:String;
public function JSONParseError(message:String="", location:int=0, text:String=""){
super(message);
_location = location;
_text = text;
}
public function get location():int{
return (_location);
}
public function get text():String{
return (_text);
}
}
}//package cn.vlux.sharedLib.json
Section 9
//JSONToken (cn.vlux.sharedLib.json.JSONToken)
package cn.vlux.sharedLib.json {
public class JSONToken {
private var _value:Object;
private var
:int;
public function JSONToken(type:int=-1, value:Object=null){
super();
= type;
_value = value;
}
public function get value():Object{
return (_value);
}
public function get type():int{
return (
);
}
public function set type(value:int):void{
= value;
}
public function set value(v:Object):void{
_value = v;
}
}
}//package cn.vlux.sharedLib.json
Section 10
//JSONTokenizer (cn.vlux.sharedLib.json.JSONTokenizer)
package cn.vlux.sharedLib.json {
public class JSONTokenizer {
private var loc:int;
private var ch:String;
private var obj:Object;
private var jsonString:String;
public function JSONTokenizer(s:String){
super();
jsonString = s;
loc = 0;
nextChar();
}
private function skipComments():void{
if (ch == "/"){
nextChar();
switch (ch){
case "/":
do {
nextChar();
} while (((!((ch == "\n"))) && (!((ch == "")))));
nextChar();
break;
case "*":
nextChar();
while (true) {
if (ch == "*"){
nextChar();
if (ch == "/"){
nextChar();
break;
};
} else {
nextChar();
};
if (ch == ""){
parseError("Multi-line comment not closed");
};
};
break;
default:
parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function isDigit(ch:String):Boolean{
return ((((ch >= "0")) && ((ch <= "9"))));
}
private function readString():JSONToken{
var _local5:String;
var i:int;
var token:JSONToken = new JSONToken();
token.type = JSONTokenType.STRING;
var string:String = "";
nextChar();
while (((!((ch == "\""))) && (!((ch == ""))))) {
if (ch == "\\"){
nextChar();
switch (ch){
case "\"":
string = (string + "\"");
break;
case "/":
string = (string + "/");
break;
case "\\":
string = (string + "\\");
break;
case "b":
string = (string + "\b");
break;
case "f":
string = (string + "\f");
break;
case "n":
string = (string + "\n");
break;
case "r":
string = (string + "\r");
break;
case "t":
string = (string + "\t");
break;
case "u":
_local5 = "";
i = 0;
while (i < 4) {
if (!isHexDigit(nextChar())){
parseError((" Excepted a hex digit, but found: " + ch));
};
_local5 = (_local5 + ch);
i++;
};
string = (string + String.fromCharCode(parseInt(_local5, 16)));
break;
default:
string = (string + ("\\" + ch));
};
} else {
string = (string + ch);
};
nextChar();
};
if (ch == ""){
parseError("Unterminated string literal");
};
nextChar();
token.value = string;
return (token);
}
private function nextChar():String{
return ((ch = jsonString.charAt(loc++)));
}
public function getNextToken():JSONToken{
var _local2:String;
var _local3:String;
var _local4:String;
var token:JSONToken = new JSONToken();
skipIgnored();
switch (ch){
case "{":
token.type = JSONTokenType.LEFT_BRACE;
token.value = "{";
nextChar();
break;
case "}":
token.type = JSONTokenType.RIGHT_BRACE;
token.value = "}";
nextChar();
break;
case "[":
token.type = JSONTokenType.LEFT_BRACKET;
token.value = "[";
nextChar();
break;
case "]":
token.type = JSONTokenType.RIGHT_BRACKET;
token.value = "]";
nextChar();
break;
case ",":
token.type = JSONTokenType.COMMA;
token.value = ",";
nextChar();
break;
case ":":
token.type = JSONTokenType.COLON;
token.value = ":";
nextChar();
break;
case "t":
_local2 = ((("t" + nextChar()) + nextChar()) + nextChar());
if (_local2 == "true"){
token.type = JSONTokenType.TRUE;
token.value = true;
nextChar();
} else {
parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar());
if (_local3 == "false"){
token.type = JSONTokenType.FALSE;
token.value = false;
nextChar();
} else {
parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + nextChar()) + nextChar()) + nextChar());
if (_local4 == "null"){
token.type = JSONTokenType.NULL;
token.value = null;
nextChar();
} else {
parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
token = readString();
break;
default:
if (((isDigit(ch)) || ((ch == "-")))){
token = readNumber();
} else {
if (ch == ""){
return (null);
};
parseError((("Unexpected " + ch) + " encountered"));
};
};
return (token);
}
private function skipWhite():void{
while (isWhiteSpace(ch)) {
nextChar();
};
}
public function parseError(message:String):void{
throw (new JSONParseError(message, loc, jsonString));
}
private function isWhiteSpace(ch:String):Boolean{
return ((((((ch == " ")) || ((ch == "\t")))) || ((ch == "\n"))));
}
private function skipIgnored():void{
skipWhite();
skipComments();
skipWhite();
}
private function isHexDigit(ch:String):Boolean{
var uc:String = ch.toUpperCase();
return (((isDigit(ch)) || ((((uc >= "A")) && ((uc <= "F"))))));
}
private function readNumber():JSONToken{
var token:JSONToken = new JSONToken();
token.type = JSONTokenType.NUMBER;
var input:String = "";
if (ch == "-"){
input = (input + "-");
nextChar();
};
if (!isDigit(ch)){
parseError("Expecting a digit");
};
if (ch == "0"){
input = (input + ch);
nextChar();
if (isDigit(ch)){
parseError("A digit cannot immediately follow 0");
};
} else {
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
if (ch == "."){
input = (input + ".");
nextChar();
if (!isDigit(ch)){
parseError("Expecting a digit");
};
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
if ((((ch == "e")) || ((ch == "E")))){
input = (input + "e");
nextChar();
if ((((ch == "+")) || ((ch == "-")))){
input = (input + ch);
nextChar();
};
if (!isDigit(ch)){
parseError("Scientific notation number needs exponent value");
};
while (isDigit(ch)) {
input = (input + ch);
nextChar();
};
};
var num:Number = Number(input);
if (((isFinite(num)) && (!(isNaN(num))))){
token.value = num;
return (token);
};
parseError((("Number " + num) + " is not valid!"));
return (null);
}
}
}//package cn.vlux.sharedLib.json
Section 11
//JSONTokenType (cn.vlux.sharedLib.json.JSONTokenType)
package cn.vlux.sharedLib.json {
public class JSONTokenType {
public static const NUMBER:int = 11;
public static const FALSE:int = 8;
public static const RIGHT_BRACKET:int = 4;
public static const NULL:int = 9;
public static const TRUE:int = 7;
public static const RIGHT_BRACE:int = 2;
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACKET:int = 3;
public static const STRING:int = 10;
public static const LEFT_BRACE:int = 1;
public static const COLON:int = 6;
public function JSONTokenType(){
super();
}
}
}//package cn.vlux.sharedLib.json
Section 12
//SoundGroup (cn.vlux.sharedLib.media.SoundGroup)
package cn.vlux.sharedLib.media {
import flash.media.*;
import flash.utils.*;
public class SoundGroup {
private var
:Dictionary;
private var
:String;
private var :Boolean;
private var
:Number;
private var
:SoundPlayer;
public function SoundGroup():void{
super();
= 1;
= false;
= new Dictionary();
}
public function
():void{
var sndStr:String;
for (sndStr in
) {
[sndStr].stop();
};
}
public function
(_key:String):SoundPlayer{
return (
[_key]);
}
public function clear():void{
= new Dictionary();
}
public function get curSndPlayer():SoundPlayer{
return (
);
}
public function stopSound(_key:String):void{
var sndPlayer:SoundPlayer;
sndPlayer =
(_key);
sndPlayer.stop();
}
public function put(_key:String, _soundPlayer:SoundPlayer):void{
if (((!((_key == null))) && (!((_soundPlayer == null))))){
[_key] = _soundPlayer;
};
}
public function set mute(_mute:Boolean):void{
var soundChannel:SoundChannel;
var soundTransform:SoundTransform = new SoundTransform();
if (
!= null){
soundChannel =
.soundChannel;
};
if (soundChannel != null){
if (_mute){
soundTransform.volume = 0;
} else {
soundTransform.volume =
;
};
soundChannel.soundTransform = soundTransform;
};
= _mute;
}
public function set volume(_volume:Number):void{
var soundChannel:SoundChannel;
var soundTransform:SoundTransform = new SoundTransform();
soundTransform.volume = _volume;
if (
!= null){
soundChannel =
.soundChannel;
};
if (soundChannel != null){
soundChannel.soundTransform = soundTransform;
};
= _volume;
}
public function get mute():Boolean{
return ();
}
public function get volume():Number{
return (
);
}
public function playSound(_key:String, _startTime:Number=0, _loops:int=0):void{
var sndPlayer:SoundPlayer;
var sndTransform:SoundTransform = new SoundTransform();
if (){
sndTransform.volume = 0;
} else {
sndTransform.volume =
;
};
sndPlayer =
(_key);
sndPlayer.play(_startTime, _loops, sndTransform);
= sndPlayer;
= _key;
}
public function get curSndKey():String{
return (
);
}
}
}//package cn.vlux.sharedLib.media
Section 13
//SoundPlayer (cn.vlux.sharedLib.media.SoundPlayer)
package cn.vlux.sharedLib.media {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.net.*;
public class SoundPlayer extends EventDispatcher {
private var
:Boolean;// = true
private var
:SoundChannel;
private var
:Boolean;// = false
private var
:Sound;
public static const SOUND_COMPLETE:String = "soundComplete";
public static var isPlay:Boolean = true;
public function SoundPlayer(isbk:Boolean=false, liburl:String=""):void{
super();
= isbk;
if (liburl != ""){
(liburl);
};
}
public function stop():void{
if ((((
== null)) || ((
== null)))){
return;
};
.stop();
}
private function
(event:ProgressEvent):void{
}
private function
(event:IOErrorEvent):void{
trace(event);
}
private function
(event:Event):void{
dispatchEvent(new Event(SOUND_COMPLETE));
}
public function
(_str:String):Boolean{
= false;
= new Sound();
.addEventListener(Event.COMPLETE,
);
.addEventListener(Event.ID3,
);
.addEventListener(IOErrorEvent.IO_ERROR,
);
.addEventListener(ProgressEvent.PROGRESS,
);
.load(new URLRequest(_str));
return (true);
}
public function
(_str:String):Boolean{
= true;
var soundclass:Class = Class(getDefinitionByName(_str));
if (soundclass == null){
return (false);
};
= new (soundclass);
return (true);
}
private function
(event:Event):void{
= true;
}
private function
(event:Event):void{
trace(event);
}
public function get soundChannel():SoundChannel{
return (
);
}
public function pause():void{
if ((((
== null)) || ((
== null)))){
return;
};
.stop();
}
public function play(_startTime:Number=0, _loops:int=0, _sndTransform:SoundTransform=null):Boolean{
if ((((((((
== null)) || ((
.length == 0)))) || (!(
)))) || (!(((
) || (isPlay)))))){
return (false);
};
=
.play(_startTime, _loops, _sndTransform);
.addEventListener(Event.SOUND_COMPLETE,
);
return (true);
}
public function
():void{
= null;
= null;
}
}
}//package cn.vlux.sharedLib.media
Section 14
//ArrayKeeper (cn.vlux.sharedLib.utils.ArrayKeeper)
package cn.vlux.sharedLib.utils {
import flash.utils.*;
public class ArrayKeeper {
private var :Dictionary;
private var :Class;
private var array:TypedArray;
public function ArrayKeeper(pArray:TypedArray=null){
super();
if (pArray == null){
(new TypedArray(Object));
} else {
(pArray);
};
}
public function push(pItem):void{
array.push(pItem);
= null;
}
public function remove(pItem):void{
array.removeItem(pItem);
= null;
}
public function ():String{
var item:*;
var str:String = "ArrayKeeper::printMap: \n";
for each (item in ) {
str = (str + (("item array: " + item) + "\n"));
};
return (str);
}
public function getArray(pClass:Class=null):TypedArray{
if (pClass == null){
return (array);
};
if ( === pClass){
return (array);
};
NullArgumentError.check(pClass);
if ( == null){
= new Dictionary();
};
var cArray:TypedArray = [pClass];
if (cArray != null){
return (cArray);
};
cArray = new TypedArray(pClass);
var i:uint;
while (i < array.length) {
if ((array.getItem(i) is pClass)){
cArray.push(array.getItem(i));
};
i++;
};
[pClass] = cArray;
return (cArray);
}
public function (array:TypedArray):void{
NullArgumentError.check((this.array = array));
= array.getClass();
= null;
}
}
}//package cn.vlux.sharedLib.utils
Section 15
//ArrayUtil (cn.vlux.sharedLib.utils.ArrayUtil)
package cn.vlux.sharedLib.utils {
public class ArrayUtil {
public function ArrayUtil(){
super();
}
public static function removeValueFromArray(arr:Array, value:Object):void{
var len:uint = arr.length;
var i:Number = len;
while (i > -1) {
if (arr[i] === value){
arr.splice(i, 1);
};
i--;
};
}
public static function copyArray(arr:Array):Array{
return (arr.slice());
}
public static function removeElement(pArray:Array, pIndex:uint):void{
var j:uint;
var i:uint;
while (i < pArray.length) {
if (i == pIndex){
j = i;
while (j < pArray.length) {
if (pArray[(j + 1)] != undefined){
pArray[j] = pArray[(j + 1)];
(pArray[j] as IArrayUtilElement).instanceID--;
} else {
pArray.pop();
};
j++;
};
};
i++;
};
}
public static function arrayContainsValue(arr:Array, value:Object):Boolean{
return (!((arr.indexOf(value) == -1)));
}
public static function arraysAreEqual(arr1:Array, arr2:Array):Boolean{
if (arr1.length != arr2.length){
return (false);
};
var len:Number = arr1.length;
var i:Number = 0;
while (i < len) {
if (arr1[i] !== arr2[i]){
return (false);
};
i++;
};
return (true);
}
public static function sort(pArray:Array, pIncrease:Boolean=true):void{
var i:int;
var j:int;
var temp:int;
i = 1;
while (i < pArray.length) {
j = 0;
while (j < (pArray.length - 1)) {
if (pIncrease){
if (pArray[i] < pArray[j]){
temp = pArray[i];
pArray[i] = pArray[j];
pArray[j] = temp;
};
} else {
if (pArray[i] > pArray[j]){
temp = pArray[i];
pArray[i] = pArray[j];
pArray[j] = temp;
};
};
j++;
};
i++;
};
}
public static function createUniqueCopy(a:Array):Array{
var item:Object;
var newArray:Array = new Array();
var len:Number = a.length;
var i:uint;
while (i < len) {
item = a[i];
if (ArrayUtil.arrayContainsValue(newArray, item)){
} else {
newArray.push(item);
};
i++;
};
return (newArray);
}
}
}//package cn.vlux.sharedLib.utils
Section 16
//ClassUtil (cn.vlux.sharedLib.utils.ClassUtil)
package cn.vlux.sharedLib.utils {
import flash.utils.*;
public class ClassUtil {
public function ClassUtil(){
super();
}
public static function getClassFromInstance(pInstance):Class{
var insname:String = getQualifiedClassName(pInstance);
return ((getDefinitionByName(insname) as Class));
}
public static function classToName(pClass):String{
var s:String;
var name:String;
var s2:String;
if ((pClass is Class)){
s = String(pClass);
s = s.slice(1, (s.length - 1));
name = s.split(" ")[1];
return (name);
};
s2 = getQualifiedClassName(pClass);
if (s2.indexOf("::") != -1){
s2 = s2.split("::")[1];
};
return (s2);
}
}
}//package cn.vlux.sharedLib.utils
Section 17
//IArrayUtilElement (cn.vlux.sharedLib.utils.IArrayUtilElement)
package cn.vlux.sharedLib.utils {
public interface IArrayUtilElement {
function get instanceID():uint;
function set instanceID(D:\Works\Flash\FDTWorkspace\SharedLib\src;cn\vlux\sharedLib\utils;IArrayUtilElement.as:uint):void;
}
}//package cn.vlux.sharedLib.utils
Section 18
//NaNArgumentError (cn.vlux.sharedLib.utils.NaNArgumentError)
package cn.vlux.sharedLib.utils {
import cn.vlux.sharedLib.debug.*;
public class NaNArgumentError extends TypeError {
public function NaNArgumentError(arguName:String=null){
super(((("can't pass a NaN to " + arguName) + "; ") + ErrorLog.getLog()));
}
public static function check(argument:Number, arguName:String=null):void{
if (isNaN(argument)){
throw (new NaNArgumentError(arguName));
};
}
}
}//package cn.vlux.sharedLib.utils
Section 19
//NullArgumentError (cn.vlux.sharedLib.utils.NullArgumentError)
package cn.vlux.sharedLib.utils {
public class NullArgumentError extends TypeError {
public function NullArgumentError(arguName:String="this argument"){
super((("can't pass a null to " + arguName) + "! "));
}
public static function check(argument:Object, arguName:String=null):void{
if (argument == null){
throw (new NaNArgumentError(arguName));
};
}
}
}//package cn.vlux.sharedLib.utils
Section 20
//TypedArray (cn.vlux.sharedLib.utils.TypedArray)
package cn.vlux.sharedLib.utils {
import flash.utils.*;
public class TypedArray {
private var :Class;
private var array:Array;
public function TypedArray(typeParam:Class, ... _args){
var dlen:Number;
var ulen:uint;
var i:int;
super();
if (typeParam == null){
throw (new TypeError("typeParam can not be null!"));
};
= typeParam;
array = new Array();
var n:uint = _args.length;
if ((((n == 1)) && ((_args[0] is Number)))){
dlen = _args[0];
ulen = dlen;
if (ulen != dlen){
throw (new RangeError((("Array index is not a 32-bit unsigned integer (" + dlen) + ")")));
};
array.length = ulen;
} else {
i = 0;
while (i < n) {
this.push(_args[i]);
i++;
};
array.length = this.length;
};
}
private function (pItem):Boolean{
if ((pItem is )){
return (true);
};
throw (new TypeError((((("Wrong Type!The items of this TypedArray can only assign '" + ClassUtil.classToName()) + "' type, but now the argument is '") + getQualifiedClassName(pItem)) + "' type!")));
}
public function get length():uint{
return (array.length);
}
public function unshift(... _args):uint{
var i:*;
for (i in _args) {
(_args[i]);
};
return (array.unshift.apply(this, _args));
}
public function toString():String{
return (array.toString());
}
public function getItem(pIndex:uint){
return (array[pIndex]);
}
public function getClass():Class{
return ();
}
public function concat(... _args):Array{
var i:*;
var passArgs:TypedArray = new TypedArray();
for (i in _args) {
passArgs.push(_args[i]);
};
return (super.concat.apply(this, passArgs));
}
public function (pItem, pIndex:uint):void{
(pItem);
array[pIndex] = pItem;
}
public function removeItem(pItem):void{
(pItem);
ArrayUtil.removeValueFromArray(array, pItem);
}
public function push(... _args):uint{
var i:*;
for (i in _args) {
(_args[i]);
};
return (array.push.apply(this, _args));
}
public function splice(... _args):Array{
var i:int;
if (_args.length > 2){
i = 2;
while (i < _args.length) {
(_args[i]);
i++;
};
};
return (array.splice.apply(this, _args));
}
public function dispose():void{
= null;
array = null;
}
}
}//package cn.vlux.sharedLib.utils
Section 21
//HitsCounterAnimateCtlr (com.creetor.game.YLLegend.action.animateUI.HitsCounterAnimateCtlr)
package com.creetor.game.YLLegend.action.animateUI {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.action.*;
public class HitsCounterAnimateCtlr extends AnimateController {
private var
:int;
public function HitsCounterAnimateCtlr(pModel:IAnimatable){
super(AnimState.DEFAULT, pModel, 1);
}
override protected function init():void{
super.init();
reset();
}
override public function update():void{
if (actionClip.currentFrame >= 6){
if (
< 20){
++;
return;
};
};
super.update();
}
override public function reset():void{
= 0;
}
}
}//package com.creetor.game.YLLegend.action.animateUI
Section 22
//YanLoong_attack1_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_attack1_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class YanLoong_attack1_ctlr extends AttackActionCtlr {
private var :YanLoong;
public function YanLoong_attack1_ctlr(pModel:YanLoong){
super(CharAnimState.ATTACK1, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(2, 11, -24, 26, 26), new HitAreaInfo(3, 45, -33, 38, 26), new HitAreaInfo(5, 44, -40, 26, 26, false)], 1);
}
override protected function init():void{
super.init();
= (model as YanLoong);
_attackActionInfo = new AttackActionInfo(1, 1, 0.2, .direction, HurtType.UP_HURT, 0);
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 23
//YanLoong_attack2_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_attack2_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class YanLoong_attack2_ctlr extends AttackActionCtlr {
private var :YanLoong;
public function YanLoong_attack2_ctlr(pModel:YanLoong){
super(CharAnimState.ATTACK2, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(2, 48, -42, 37, 26), new HitAreaInfo(3, 29, -16, 47, 26), new HitAreaInfo(5, -37, -14, 40, 26), new HitAreaInfo(6, -39, -21, 26, 26, false)], 1);
}
override protected function init():void{
super.init();
= (model as YanLoong);
_attackActionInfo = new AttackActionInfo(1, 1, 0.2, .direction, HurtType.MID_HURT, 0);
}
override public function dispose():void{
super.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 24
//YanLoong_dashAttack_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_dashAttack_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.utils.*;
public class YanLoong_dashAttack_ctlr extends AttackActionCtlr {
private var _initMoveSpeed:Number;
private var :Number;
private var :YanLoong;
public function YanLoong_dashAttack_ctlr(pModel:YanLoong, pSpeed:Number){
super(CharAnimState.DASHATTACK, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(4, 62, -44, 46, 26), new HitAreaInfo(7, 76, -44, 46, 26), new HitAreaInfo(13, 62, -44, 46, 26), new HitAreaInfo(13, 62, -44, 46, 26, false)], 1);
_initMoveSpeed = pSpeed;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame >= 7){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override public function dispose():void{
super.dispose();
= null;
}
override protected function init():void{
super.init();
= (model as YanLoong);
= _initMoveSpeed;
_attackActionInfo = new AttackActionInfo(2, 1, 0.3, .direction, HurtType.AIR_HURT, 0.7);
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 25
//YanLoong_dragonUpCut_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_dragonUpCut_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.model.shot.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public class YanLoong_dragonUpCut_ctlr extends AttackActionCtlr {
private var :Number;
private var _hasLaunched:Boolean;
private var _isAirLaunched:Boolean;
private var :YanLoong;
public function YanLoong_dragonUpCut_ctlr(pModel:YanLoong){
var bodyAreaInfo:HitAreaInfo = pModel.defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
super(CharAnimState.DRAGON_UPCUT, pModel, [bodyAreaInfo, new HitAreaInfo(23, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)], [new HitAreaInfo(4, 8, -14, 35, 26), new HitAreaInfo(7, 47, -34, 40, 39), new HitAreaInfo(10, 39, -75, 43, 77), new HitAreaInfo(13, -42, -85, 32, 29), new HitAreaInfo(15, -29, -34, 37, 47), new HitAreaInfo(17, -25, -25, 27, 29), new HitAreaInfo(19, 6, -8, 27, 29), new HitAreaInfo(21, 8, -14, 35, 26), new HitAreaInfo(24, 47, -34, 40, 39), new HitAreaInfo(27, 39, -75, 43, 77), new HitAreaInfo(32, -42, -85, 32, 29), new HitAreaInfo(35, -29, -34, 37, 47), new HitAreaInfo(39, -25, -25, 27, 29)], 1);
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 6){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.MID_HURT, 0.9, true, HittedEffectType.FIRE_A);
} else {
if (actionClip.currentFrame == 9){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.UP_HURT, 0.7, true, HittedEffectType.FIRE_A);
} else {
if (actionClip.currentFrame == 12){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.UP_HURT, 0.2, true, HittedEffectType.FIRE_A);
} else {
if (actionClip.currentFrame == 18){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.4, .direction, HurtType.MID_HURT, 7, true, HittedEffectType.FIRE_A);
} else {
if (actionClip.currentFrame == 23){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.9, true, HittedEffectType.FIRE_A);
} else {
if (actionClip.currentFrame == 26){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.7, true, HittedEffectType.FIRE_A);
} else {
if (actionClip.currentFrame == 31){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.2, true, HittedEffectType.FIRE_A);
};
};
};
};
};
};
};
if (actionClip.currentFrame == 10){
if (!_isAirLaunched){
.inAir(0.5);
trace("inAir");
_isAirLaunched = true;
};
} else {
if (actionClip.currentFrame == 24){
if (!_hasLaunched){
.launchShot(60, 0, ShotType.FIRE_DRAGON_SHOT);
_hasLaunched = true;
};
_isAirLaunched = false;
} else {
if ((((actionClip.currentFrame < 27)) && ((actionClip.currentFrame >= 20)))){
if (.isInAir()){
endAction();
return;
};
} else {
if (actionClip.currentFrame == 27){
if (!_isAirLaunched){
.inAir(1.1);
trace("inAir");
_isAirLaunched = true;
};
} else {
if (actionClip.currentFrame >= 32){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
if (((!(.isInAir())) && (!(.isHitted())))){
resetFreeze();
endAction();
.resetHitChecker();
};
};
};
};
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override public function endAction():void{
super.endAction();
_isAirLaunched = false;
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.BURNING1);
_isActionSndPlayed = true;
}
override protected function init():void{
super.init();
= (model as YanLoong);
= .upCutSpeed;
_attackActionInfo = new AttackActionInfo(1, 1, 0.2, .direction, HurtType.MID_HURT, 7, true, HittedEffectType.FIRE_A);
_isAirLaunched = false;
_hasLaunched = false;
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 26
//YanLoong_finalAttack_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_finalAttack_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.utils.*;
public class YanLoong_finalAttack_ctlr extends AttackActionCtlr {
private var _initMoveSpeed:Number;
private var ;
private var :YanLoong;
public function YanLoong_finalAttack_ctlr(pModel:YanLoong, pInitMoveSpeed:Number){
super(CharAnimState.FINALATTACK, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(3, 35, -77, 37, 57), new HitAreaInfo(4, 56, -45, 39, 29), new HitAreaInfo(5, 55, -11, 39, 29), new HitAreaInfo(6, 52, -2, 39, 17), new HitAreaInfo(6, 52, -2, 39, 17, false)], 1);
_initMoveSpeed = pInitMoveSpeed;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame >= 5){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override public function dispose():void{
super.dispose();
= null;
}
override protected function init():void{
super.init();
= (model as YanLoong);
= _initMoveSpeed;
_attackActionInfo = new AttackActionInfo(1, 1, 0.3, .direction, HurtType.AIR_HURT, 0.7);
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 27
//YanLoong_heavyAttack_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_heavyAttack_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.utils.*;
public class YanLoong_heavyAttack_ctlr extends AttackActionCtlr {
private var _initMoveSpeed:Number;
private var ;
private var _isAirLaunched:Boolean;
private var :YanLoong;
public function YanLoong_heavyAttack_ctlr(pModel:YanLoong, pInitMoveSpeed:Number){
super(CharAnimState.HEAVYATTACK, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(4, 35, -77, 37, 57), new HitAreaInfo(6, 56, -45, 39, 29), new HitAreaInfo(8, 55, -11, 39, 29), new HitAreaInfo(10, 52, -2, 39, 17), new HitAreaInfo(13, 52, -2, 39, 17, false)], 1);
_initMoveSpeed = pInitMoveSpeed;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 1){
if (!_isAirLaunched){
.inAir(0.5);
trace("inAir");
_isAirLaunched = true;
};
};
if (actionClip.currentFrame >= 10){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override public function endAction():void{
super.endAction();
_isAirLaunched = false;
}
override protected function init():void{
super.init();
= (model as YanLoong);
= _initMoveSpeed;
_isAirLaunched = false;
_attackActionInfo = new AttackActionInfo(3, 2, 0.3, .direction, HurtType.AIR_HURT, 0.7);
}
override public function dispose():void{
super.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 28
//YanLoong_magicAttack_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_magicAttack_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
public class YanLoong_magicAttack_ctlr extends SimpleActionCtlr {
private var :YanLoong;
private var _hasLaunched:Boolean;
public function YanLoong_magicAttack_ctlr(pModel:YanLoong){
super(CharAnimState.MAGICATTACK, pModel, [pModel.defaultBodyAreaInfo], 1);
= pModel;
_hasLaunched = false;
}
override public function endAction():void{
super.endAction();
_hasLaunched = false;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 6){
if (!_hasLaunched){
.launchShot(56, -47);
_hasLaunched = true;
};
};
};
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 29
//YanLoong_rotaAttack_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_rotaAttack_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.sound.*;
public class YanLoong_rotaAttack_ctlr extends AttackActionCtlr {
private var :YanLoong;
public function YanLoong_rotaAttack_ctlr(pModel:YanLoong){
var bodyAreaInfo:HitAreaInfo = pModel.defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
super(CharAnimState.ROTAATTACK, pModel, [bodyAreaInfo], [new HitAreaInfo(2, 26, -51, 82, 46), new HitAreaInfo(3, 34, -28, 57, 48), new HitAreaInfo(5, 9, -20, 72, 33), new HitAreaInfo(6, -34, -28, 66, 36), new HitAreaInfo(8, -8, -48, 39, 37), new HitAreaInfo(10, -8, -48, 39, 37, false)], 2);
}
override protected function init():void{
super.init();
= (model as YanLoong);
_attackActionInfo = new AttackActionInfo(2, 1, 0.4, .direction, HurtType.AIR_HURT, 0.8);
}
override protected function playSndEffect():void{
if (actionClip.currentFrame == 1){
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.SHAKING2);
_isActionSndPlayed = true;
} else {
if (actionClip.currentFrame == 2){
resetActionSndPlay();
} else {
if (actionClip.currentFrame == 5){
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.SHAKING2);
_isActionSndPlayed = true;
} else {
if (actionClip.currentFrame == 6){
resetActionSndPlay();
};
};
};
};
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 1){
_attackActionInfo.setValue(2, 1, 0.4, .direction, HurtType.AIR_HURT, 0.8);
} else {
if (actionClip.currentFrame == 5){
_attackActionInfo.setValue(2, 1, 0.4, -(.direction), HurtType.AIR_HURT, 0.8);
};
};
};
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 30
//YanLoong_squatAttack_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_squatAttack_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class YanLoong_squatAttack_ctlr extends AttackActionCtlr {
private var :YanLoong;
public function YanLoong_squatAttack_ctlr(pModel:YanLoong){
super(CharAnimState.SQUATATTACK, pModel, [new HitAreaInfo(1, 1, -32, 32, 64)], [new HitAreaInfo(3, 12, -10, 26, 26), new HitAreaInfo(5, 45, -19, 40, 26), new HitAreaInfo(7, 43, -26, 26, 26)], 1);
}
override protected function init():void{
super.init();
= (model as YanLoong);
_attackActionInfo = new AttackActionInfo(1, 1, 0.2, .direction, HurtType.MID_HURT, 0);
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 31
//YanLoong_squatKick_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_squatKick_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public class YanLoong_squatKick_ctlr extends AttackActionCtlr {
private var :Number;
private var :YanLoong;
public function YanLoong_squatKick_ctlr(pModel:YanLoong){
super(CharAnimState.SQUATKICK, pModel, [new HitAreaInfo(1, -11, -27, 40, 57), new HitAreaInfo(3, -7, -27, 40, 57), new HitAreaInfo(11, -11, -27, 40, 57)], [new HitAreaInfo(3, 18, -13, 47, 26), new HitAreaInfo(20, 12, -12, 26, 26, false)], 1);
}
override protected function init():void{
super.init();
= (model as YanLoong);
= .squatKickSpeed;
_attackActionInfo = new AttackActionInfo(2, 1, 0.2, .direction, HurtType.AIR_HURT, 0.7, false, HittedEffectType.BARE_A);
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame >= 11){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
if (actionClip.currentFrame > 3){
.moveX(TimeDiff.getDiff(), );
};
};
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.SHAKING2);
_isActionSndPlayed = true;
}
override public function dispose():void{
super.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 32
//YanLoong_upAttack_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_upAttack_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.utils.*;
public class YanLoong_upAttack_ctlr extends AttackActionCtlr {
private var :Number;
private var :YanLoong;
private static const MOVE_SPEED:Number = 0.1;
public function YanLoong_upAttack_ctlr(pModel:YanLoong){
super(CharAnimState.UPATTACK, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(2, 12, -15, 26, 26), new HitAreaInfo(3, 44, -47, 36, 39), new HitAreaInfo(4, 34, -89, 36, 39), new HitAreaInfo(6, 28, -89, 22, 39), new HitAreaInfo(6, 28, -89, 22, 39, false)], 1);
}
override protected function init():void{
super.init();
= (model as YanLoong);
= MOVE_SPEED;
_attackActionInfo = new AttackActionInfo(1, 1, 0.3, .direction, HurtType.UP_HURT);
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame >= 6){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
.moveX(TimeDiff.getDiff(), );
};
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 33
//YanLoong_upCut_ctlr (com.creetor.game.YLLegend.action.YanLoong.YanLoong_upCut_ctlr)
package com.creetor.game.YLLegend.action.YanLoong {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.utils.*;
public class YanLoong_upCut_ctlr extends AttackActionCtlr {
private var _isAirLaunched:Boolean;
private var :Number;
private var :YanLoong;
public function YanLoong_upCut_ctlr(pModel:YanLoong){
super(CharAnimState.UPCUT, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(3, 8, -14, 35, 26), new HitAreaInfo(6, 47, -34, 40, 39), new HitAreaInfo(9, 39, -75, 43, 77), new HitAreaInfo(14, -42, -85, 32, 29), new HitAreaInfo(17, -29, -34, 37, 47), new HitAreaInfo(21, -25, -25, 27, 29)], 1);
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 4){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.9);
} else {
if (actionClip.currentFrame == 8){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.7);
} else {
if (actionClip.currentFrame == 13){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.2);
};
};
};
if (actionClip.currentFrame < 9){
if (.isInAir()){
endAction();
return;
};
} else {
if (actionClip.currentFrame == 9){
if (!_isAirLaunched){
.inAir();
trace("inAir");
_isAirLaunched = true;
};
} else {
if (actionClip.currentFrame >= 14){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
if (((!(.isInAir())) && (!(.isHitted())))){
resetFreeze();
endAction();
.resetHitChecker();
};
};
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override protected function init():void{
super.init();
= (model as YanLoong);
= .upCutSpeed;
_attackActionInfo = new AttackActionInfo(2, 1, 0.4, .direction, HurtType.MID_HURT, 7);
_isAirLaunched = false;
}
override public function endAction():void{
super.endAction();
_isAirLaunched = false;
}
}
}//package com.creetor.game.YLLegend.action.YanLoong
Section 34
//ActionClipController (com.creetor.game.YLLegend.action.ActionClipController)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
import com.creetor.game.YLLegend.utils.*;
public class ActionClipController implements IAnimateController {
private var
:int;
private var
:Number;
private var
:Array;
private var
:Number;
private var
:int;
protected var _spriteObject:ISpriteObject;
private var
:MovieClip;
private var
:Number;
private var
:String;
private var
:Number;
protected var _isActionSndPlayed:Boolean;
private static const FREEZETIME_UNIT:Number = 6;
public function ActionClipController(pName:String, pSpriteObject:ISpriteObject, pBodyAreaInfoList:Array, pLoopTimes:int=0){
super();
= pName;
_spriteObject = pSpriteObject;
= pBodyAreaInfoList;
= pLoopTimes;
init();
}
public function get loopTimes():int{
return (
);
}
public function get maxFreezeTime():Number{
return (
);
}
public function get name():String{
return (
);
}
protected function init():void{
= 0;
= 0;
= 0;
= 0;
= 0;
resetActionSndPlay();
}
protected function playSndEffect():void{
}
protected function resetActionSndPlay():void{
_isActionSndPlayed = false;
}
public function resetAnimate():void{
= 0;
= 0;
actionClip.gotoAndStop(1);
}
public function setFreezeTime(freezeTime:Number):void{
= (
+ freezeTime);
= Math.floor((
* FREEZETIME_UNIT));
}
public function dispose():void{
= null;
_spriteObject = null;
}
public function get actionClip():MovieClip{
return (
);
}
public function get model():IAnimatable{
return (_spriteObject);
}
protected function updateAreas():void{
}
public function resetFreeze():void{
= 0;
= 0;
= 0;
trace(("resetFreeze: " + _spriteObject));
_spriteObject.resetFreeze();
}
public function update():void{
var animStepInter:Number;
if (!isFreeze){
animStepInter = (TimeDiff.getDiff() / Game.getFrameRate());
= (
+ animStepInter);
if (
>= actionClip.totalFrames){
if (loopTimes > 0){
if (
< (loopTimes - 1)){
++;
} else {
endAction();
return;
};
};
= 0;
resetAreas();
};
actionClip.gotoAndStop(Math.floor(
));
updateAreas();
if ((((
> 0)) && ((
>=
)))){
resetFreeze();
};
} else {
++;
};
playSndEffect();
}
public function reset():void{
init();
}
public function set actionClip(pActionClip:MovieClip):void{
= pActionClip;
();
}
protected function
():void{
.addEventListener(AreaInfoEvent.UPDATE_BODY_AREA,
);
}
public function get isFreeze():Boolean{
return ((
<
));
}
public function get bodyAreaInfoList():Array{
return (
);
}
public function get freezeCounter():Number{
return (
);
}
public function endAction():void{
_spriteObject.endAction(name);
_spriteObject.resetBodyArea();
actionClip.gotoAndStop(actionClip.totalFrames);
init();
resetActionSndPlay();
}
private function
(event:AreaInfoEvent):void{
_spriteObject.getBodyArea().x = event.areaInfo.x;
_spriteObject.getBodyArea().y = event.areaInfo.y;
_spriteObject.getBodyArea().width = event.areaInfo.width;
_spriteObject.getBodyArea().height = event.areaInfo.height;
}
protected function resetAreas():void{
}
}
}//package com.creetor.game.YLLegend.action
Section 35
//AirHurtController (com.creetor.game.YLLegend.action.AirHurtController)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.view.*;
import com.creetor.game.YLLegend.utils.*;
public class AirHurtController extends SimpleActionCtlr {
private var
:Char;
public function AirHurtController(pName:String, pModel:Char, pBodyAreaInfoList:Array){
super(pName, pModel, pBodyAreaInfoList, 1);
= pModel;
}
override public function update():void{
super.update();
if (((
.getBurningHurt()) && ((actionClip.currentFrame < actionClip.totalFrames)))){
GraphicEffectsFactory.burning(
.getSp());
};
if (!isFreeze){
.doAirHurt();
.beHittedBackSpeed = (
.beHittedBackSpeed - Game.FRICTION);
if (
.beHittedBackSpeed < 0){
.beHittedBackSpeed = 0;
};
if (!
.isInAir()){
endAction();
};
.moveX(TimeDiff.getDiff(),
.beHittedBackSpeed,
.beHittedBackDir);
};
}
override public function endAction():void{
super.endAction();
.fallDown();
actionClip.gotoAndStop(1);
if (
.getBurningHurt()){
GraphicEffectsFactory.removeBurning(
.getSp());
};
}
override public function dispose():void{
super.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.action
Section 36
//AnimateController (com.creetor.game.YLLegend.action.AnimateController)
package com.creetor.game.YLLegend.action {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
import com.creetor.game.YLLegend.utils.*;
public class AnimateController extends EventDispatcher implements IAnimateController {
private var
:int;
private var
:MovieClip;
private var
:String;
private var :IAnimatable;
private var
:Number;
private var
:Number;
protected static const ANIMSTEP_DIVISOR:uint = 50;
public function AnimateController(pName:String, pModel:IAnimatable, pLoopTimes:int=0){
super();
= pName;
= pModel;
= pLoopTimes;
init();
}
public function get loopTimes():int{
return (
);
}
public function get name():String{
return (
);
}
public function set actionClip(pActionClip:MovieClip):void{
= pActionClip;
}
protected function endAnimate():void{
.endAnimate();
dispose();
dispatchEvent(new AnimateControllerEvent(AnimateControllerEvent.END_ANIMATE));
}
public function reset():void{
init();
}
protected function init():void{
= 0;
= 0;
}
public function resetAnimate():void{
= 0;
= 0;
actionClip.gotoAndStop(1);
}
public function update():void{
var animStepInter:Number = (TimeDiff.getDiff() / ANIMSTEP_DIVISOR);
= (
+ animStepInter);
if (
>= actionClip.totalFrames){
if (loopTimes > 0){
if (
< (loopTimes - 1)){
++;
} else {
endAnimate();
return;
};
};
= 0;
};
actionClip.gotoAndStop(Math.floor(
));
}
public function dispose():void{
= null;
= null;
}
public function get actionClip():MovieClip{
return (
);
}
public function get model():IAnimatable{
return ( );
}
}
}//package com.creetor.game.YLLegend.action
Section 37
//AttackActionCtlr (com.creetor.game.YLLegend.action.AttackActionCtlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.char.*;
public class AttackActionCtlr extends CharActionCtlr implements IAttackAction {
protected var _attackActionInfo:AttackActionInfo;
public function AttackActionCtlr(pName:String, pModel:IChar, pBodyAreaInfoList:Array, pAttackAreaInfoList:Array, pLoopTimes:int=0){
super(pName, pModel, pBodyAreaInfoList, pAttackAreaInfoList, pLoopTimes);
}
public function get backSpeed():Number{
return (_attackActionInfo.backSpeed);
}
public function get isBurning():Boolean{
return (_attackActionInfo.isBurning);
}
public function get airSpeed():Number{
return (_attackActionInfo.airSpeed);
}
public function get hurtType():String{
return (_attackActionInfo.hurtType);
}
public function get hittedEffectType():String{
return (_attackActionInfo.hittedEffectType);
}
public function get freezeTime():Number{
return (_attackActionInfo.freezeTime);
}
public function get attackPower():Number{
return (_attackActionInfo.attackPower);
}
public function get backDirection():Number{
return (_attackActionInfo.backDirection);
}
}
}//package com.creetor.game.YLLegend.action
Section 38
//AttackActionInfo (com.creetor.game.YLLegend.action.AttackActionInfo)
package com.creetor.game.YLLegend.action {
public class AttackActionInfo implements IAttackAction {
private var
:Number;
private var
:String;
private var _hittedEffectType:String;
private var
:Number;
private var
:Number;
private var
:Number;
private var
:Number;
private var _isBurning:Boolean;
public function AttackActionInfo(pAttackPower:Number, pFreezeTime:Number, pBackSpeed:Number, pBackDirection:Number, pHurtType:String, pAirSpeed:Number=0, pIsBurning:Boolean=false, pHittedEffectType:String="Sword_A"){
super();
setValue(pAttackPower, pFreezeTime, pBackSpeed, pBackDirection, pHurtType, pAirSpeed, pIsBurning, pHittedEffectType);
}
public function get isBurning():Boolean{
return (_isBurning);
}
public function get freezeTime():Number{
return (
);
}
public function get backDirection():Number{
return (
);
}
public function get backSpeed():Number{
return (
);
}
public function get airSpeed():Number{
return (
);
}
public function get hurtType():String{
return (
);
}
public function get hittedEffectType():String{
return (_hittedEffectType);
}
public function setValue(pAttackPower:Number, pFreezeTime:Number, pBackSpeed:Number, pBackDirection:Number, pHurtType:String, pAirSpeed:Number=0, pIsBurning:Boolean=false, pHittedEffectType:String="Sword_A"){
= pAttackPower;
= pFreezeTime;
= pBackSpeed;
= pBackDirection;
= pHurtType;
= pAirSpeed;
_isBurning = pIsBurning;
_hittedEffectType = pHittedEffectType;
}
public function get attackPower():Number{
return (
);
}
}
}//package com.creetor.game.YLLegend.action
Section 39
//BossA_attack1_ctlr (com.creetor.game.YLLegend.action.BossA_attack1_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.sound.*;
public class BossA_attack1_ctlr extends AttackActionCtlr {
private var _enemy1:IChar;
public function BossA_attack1_ctlr(pModel:IChar){
var bodyAreaInfo:HitAreaInfo = pModel.defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
super(CharAnimState.ATTACK1, pModel, [bodyAreaInfo, new HitAreaInfo(10, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)], [new HitAreaInfo(7, 42, -81, 174, 37), new HitAreaInfo(10, 115, -81, 234, 37), new HitAreaInfo(14, 42, -81, 174, 37), new HitAreaInfo(16, 89, -81, 77, 37, false)], 1);
}
override protected function init():void{
super.init();
_enemy1 = (model as IChar);
_attackActionInfo = new AttackActionInfo(2, 1, 0.4, _enemy1.direction, HurtType.UP_HURT, 0);
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.SHAKING2);
_isActionSndPlayed = true;
}
}
}//package com.creetor.game.YLLegend.action
Section 40
//BossA_heavyAttack_ctlr (com.creetor.game.YLLegend.action.BossA_heavyAttack_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.utils.*;
public class BossA_heavyAttack_ctlr extends AttackActionCtlr {
private var _bossA:BossA;
private var _initMoveSpeed:Number;
private var ;
public function BossA_heavyAttack_ctlr(pModel:BossA, pInitMoveSpeed:Number){
var bodyAreaInfo:HitAreaInfo = pModel.defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
super(CharAnimState.HEAVYATTACK, pModel, [bodyAreaInfo, new HitAreaInfo(10, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)], [new HitAreaInfo(4, 33, -176, 60, 127), new HitAreaInfo(7, 107, -153, 125, 127), new HitAreaInfo(10, 110, -77, 125, 86), new HitAreaInfo(13, 106, -27, 110, 51), new HitAreaInfo(16, 106, -27, 110, 51, false)], 1);
_initMoveSpeed = pInitMoveSpeed;
}
override public function dispose():void{
super.dispose();
_bossA = null;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame >= 10){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
_bossA.moveX(TimeDiff.getDiff(), );
};
}
override protected function init():void{
super.init();
_bossA = (model as BossA);
= _initMoveSpeed;
_attackActionInfo = new AttackActionInfo(3, 2, 0.5, _bossA.direction, HurtType.AIR_HURT, 0.7);
}
}
}//package com.creetor.game.YLLegend.action
Section 41
//BossB_attack1_ctlr (com.creetor.game.YLLegend.action.BossB_attack1_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
public class BossB_attack1_ctlr extends AttackActionCtlr {
private var _enemy1:IChar;
public function BossB_attack1_ctlr(pModel:IChar){
var bodyAreaInfo:HitAreaInfo = pModel.defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
super(CharAnimState.ATTACK1, pModel, [bodyAreaInfo, new HitAreaInfo(8, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)], [new HitAreaInfo(3, 25, -32, 67, 23), new HitAreaInfo(5, 55, -43, 71, 37), new HitAreaInfo(7, 79, -43, 37, 22), new HitAreaInfo(8, 79, -43, 37, 22, false)], 1);
}
override protected function init():void{
super.init();
_enemy1 = (model as IChar);
_attackActionInfo = new AttackActionInfo(1, 1, 0.2, _enemy1.direction, HurtType.UP_HURT, 0);
}
}
}//package com.creetor.game.YLLegend.action
Section 42
//BossB_dashAttack_ctlr (com.creetor.game.YLLegend.action.BossB_dashAttack_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.utils.*;
public class BossB_dashAttack_ctlr extends AttackActionCtlr {
private var _initMoveSpeed:Number;
private var :Number;
private var :BossB;
public function BossB_dashAttack_ctlr(pModel:BossB, pSpeed:Number){
super(CharAnimState.DASHATTACK, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(3, 25, -32, 67, 23), new HitAreaInfo(5, 55, -43, 71, 37), new HitAreaInfo(7, 79, -43, 37, 22), new HitAreaInfo(8, 79, -43, 37, 22, false)], 1);
_initMoveSpeed = pSpeed;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame >= 7){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override public function dispose():void{
super.dispose();
= null;
}
override protected function init():void{
super.init();
= (model as BossB);
= _initMoveSpeed;
_attackActionInfo = new AttackActionInfo(1, 1, 0.3, .direction, HurtType.UP_HURT, 0.7);
}
}
}//package com.creetor.game.YLLegend.action
Section 43
//BossB_magicAttack_ctlr (com.creetor.game.YLLegend.action.BossB_magicAttack_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.char.*;
public class BossB_magicAttack_ctlr extends SimpleActionCtlr {
private var :BossB;
private var _hasLaunched:Boolean;
public function BossB_magicAttack_ctlr(pModel:BossB){
super(CharAnimState.MAGICATTACK, pModel, [pModel.defaultBodyAreaInfo], 1);
= pModel;
_hasLaunched = false;
}
override public function endAction():void{
super.endAction();
_hasLaunched = false;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 7){
if (!_hasLaunched){
.launchShot(56, -47);
_hasLaunched = true;
};
};
};
}
}
}//package com.creetor.game.YLLegend.action
Section 44
//BossB_upCut_ctlr (com.creetor.game.YLLegend.action.BossB_upCut_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.utils.*;
public class BossB_upCut_ctlr extends AttackActionCtlr {
private var _isAirLaunched:Boolean;
private var :Number;
private var :BossB;
private static const INIT_MOVESPEED:Number = 0.2;
public function BossB_upCut_ctlr(pModel:BossB){
var bodyAreaInfo:HitAreaInfo = pModel.defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
super(CharAnimState.UPCUT, pModel, [bodyAreaInfo, new HitAreaInfo(15, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)], [new HitAreaInfo(3, 55, -12, 37, 37), new HitAreaInfo(6, 59, -60, 37, 68), new HitAreaInfo(9, 25, -116, 63, 42), new HitAreaInfo(13, 10, -116, 32, 42), new HitAreaInfo(15, -29, -34, 37, 47, false)], 1);
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 5){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.9);
} else {
if (actionClip.currentFrame == 8){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.7);
} else {
if (actionClip.currentFrame == 12){
.resetHitChecker();
.resetHitArea();
_attackActionInfo.setValue(1, 1, 0.2, .direction, HurtType.AIR_HURT, 0.2);
};
};
};
if (actionClip.currentFrame < 9){
if (.isInAir()){
endAction();
return;
};
} else {
if (actionClip.currentFrame == 9){
if (!_isAirLaunched){
.inAir();
trace("inAir");
_isAirLaunched = true;
};
} else {
if (actionClip.currentFrame >= 15){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
if (((!(.isInAir())) && (!(.isHitted())))){
resetFreeze();
endAction();
.resetHitChecker();
};
};
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override protected function init():void{
super.init();
= (model as BossB);
= INIT_MOVESPEED;
_attackActionInfo = new AttackActionInfo(1, 1, 0.4, .direction, HurtType.MID_HURT, 7);
_isAirLaunched = false;
}
override public function endAction():void{
super.endAction();
_isAirLaunched = false;
}
}
}//package com.creetor.game.YLLegend.action
Section 45
//BossC_heavyAttack_ctlr (com.creetor.game.YLLegend.action.BossC_heavyAttack_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.sound.*;
public class BossC_heavyAttack_ctlr extends AttackActionCtlr {
private var _bossC:BossC;
private var _hasLaunched:Boolean;
public function BossC_heavyAttack_ctlr(pModel:BossC){
var bodyAreaInfo:HitAreaInfo = pModel.defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
super(CharAnimState.HEAVYATTACK, pModel, [bodyAreaInfo, new HitAreaInfo(10, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)], [new HitAreaInfo(4, 33, -176, 60, 127), new HitAreaInfo(7, 107, -153, 125, 127), new HitAreaInfo(10, 110, -77, 125, 86), new HitAreaInfo(13, 106, -27, 110, 51), new HitAreaInfo(16, 106, -27, 110, 51, false)], 1);
}
override protected function init():void{
super.init();
_bossC = (model as BossC);
_attackActionInfo = new AttackActionInfo(3, 2, 0.5, _bossC.direction, HurtType.AIR_HURT, 0.7);
_hasLaunched = false;
}
override public function endAction():void{
super.endAction();
_hasLaunched = false;
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.SHAKING2);
_isActionSndPlayed = true;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 9){
_bossC.resetHitChecker();
_bossC.resetHitArea();
_attackActionInfo.setValue(3, 2, 0.5, _bossC.direction, HurtType.AIR_HURT, 0.7);
} else {
if (actionClip.currentFrame == 13){
if (!_hasLaunched){
_bossC.launchShot(166, -47);
_hasLaunched = true;
};
};
};
};
}
override public function dispose():void{
super.dispose();
_bossC = null;
}
}
}//package com.creetor.game.YLLegend.action
Section 46
//BossC_jumpKick_ctlr (com.creetor.game.YLLegend.action.BossC_jumpKick_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public class BossC_jumpKick_ctlr extends AttackActionCtlr {
private var _initMoveSpeed:Number;
private var ;
private var _isAirLaunched:Boolean;
private var _bossC:BossC;
public function BossC_jumpKick_ctlr(pModel:BossC, pInitMoveSpeed:Number=0.24){
var bodyAreaInfo:HitAreaInfo = pModel.defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
super(CharAnimState.JUMPKICK, pModel, [bodyAreaInfo, new HitAreaInfo(24, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)], [new HitAreaInfo(5, 13, -37, 107, 76), new HitAreaInfo(8, 21, -29, 117, 62), new HitAreaInfo(15, 13, -37, 107, 76), new HitAreaInfo(25, 13, -37, 107, 76, false)], 1);
_initMoveSpeed = pInitMoveSpeed;
}
override public function dispose():void{
super.dispose();
_bossC = null;
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.SHAKING2);
_isActionSndPlayed = true;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame == 1){
if (!_isAirLaunched){
_bossC.inAir(0.8);
trace("inAir");
_isAirLaunched = true;
};
} else {
if (actionClip.currentFrame == 7){
_bossC.resetHitChecker();
_bossC.resetHitArea();
_attackActionInfo.setValue(6, 3, 0.5, _bossC.direction, HurtType.AIR_HURT, 0.5, false, HittedEffectType.BARE_A);
} else {
if (actionClip.currentFrame == 14){
_bossC.resetHitChecker();
_bossC.resetHitArea();
_attackActionInfo.setValue(3, 2, 0.4, _bossC.direction, HurtType.AIR_HURT, 0.7, false, HittedEffectType.BARE_A);
} else {
if (actionClip.currentFrame >= 15){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
};
};
};
_bossC.moveX(TimeDiff.getDiff(), );
};
}
override protected function init():void{
super.init();
_bossC = (model as BossC);
= _initMoveSpeed;
_isAirLaunched = false;
_attackActionInfo = new AttackActionInfo(3, 2, 0.4, _bossC.direction, HurtType.UP_HURT, 0.7, false, HittedEffectType.BARE_A);
}
}
}//package com.creetor.game.YLLegend.action
Section 47
//Char_fallDown_ctlr (com.creetor.game.YLLegend.action.Char_fallDown_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.view.*;
public class Char_fallDown_ctlr extends SimpleActionCtlr {
private var _deadCounter:uint;
private var
:IChar;
private static const DYING_TIME:uint = 120;
public function Char_fallDown_ctlr(pModel:IChar, pBodyAreaInfoList:Array){
super(CharAnimState.FALLDOWN, pModel, pBodyAreaInfoList, 1);
= pModel;
_deadCounter = 0;
}
override public function endAction():void{
super.endAction();
.endJump();
GraphicEffectsFactory.removeBurning(
.getSp());
resetActionSndPlay();
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.FALLDOWN1);
_isActionSndPlayed = true;
}
override public function update():void{
super.update();
if (!isFreeze){
if (!
.isAlive){
if (_deadCounter > 20){
GraphicEffectsFactory.twinkling(
.getSp());
};
if (_deadCounter < DYING_TIME){
resetAnimate();
_deadCounter++;
} else {
if ((
.getAttribute() is IEnemyAttribute)){
IEnemyAttribute(
.getAttribute()).addHeroExp();
};
.die();
};
};
};
}
override public function dispose():void{
super.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.action
Section 48
//Char_jumpAttack_ctlr (com.creetor.game.YLLegend.action.Char_jumpAttack_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.char.*;
public class Char_jumpAttack_ctlr extends AttackActionCtlr {
private var
:Char;
public function Char_jumpAttack_ctlr(pModel:Char, pAttackAreaInfoList:Array, pAttackPower:Number=1, pFreezeTime:Number=1, pBackSpeed:Number=0.2, pHurtType:String="airHurt", pAirSpeed:Number=0.7, pBodyAreaInfoList:Array=null){
var bodyAreaInfoList:Array;
if (pBodyAreaInfoList == null){
bodyAreaInfoList = [pModel.defaultBodyAreaInfo];
} else {
bodyAreaInfoList = pBodyAreaInfoList;
};
super(CharAnimState.JUMPATTACK, pModel, bodyAreaInfoList, pAttackAreaInfoList, 1);
= pModel;
_attackActionInfo = new AttackActionInfo(pAttackPower, pFreezeTime, pBackSpeed,
.direction, pHurtType, pAirSpeed);
}
override public function update():void{
super.update();
if (!isFreeze){
if (((!(
.isInAir())) && (!(
.isHitted())))){
resetFreeze();
.resetHitChecker();
endAction();
};
};
}
override public function dispose():void{
super.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.action
Section 49
//Char_run_ctlr (com.creetor.game.YLLegend.action.Char_run_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public class Char_run_ctlr extends SimpleActionCtlr {
private var _initMoveSpeed:Number;
private var :Number;
private var
:Char;
public function Char_run_ctlr(pModel:Char, pSpeed:Number, pBodyAreaInfoList:Array=null, pLoopTimes:int=1){
var bodyAreaInfoList:Array;
if (pBodyAreaInfoList == null){
bodyAreaInfoList = [pModel.defaultBodyAreaInfo];
} else {
bodyAreaInfoList = pBodyAreaInfoList;
};
super(CharAnimState.RUN, pModel, bodyAreaInfoList, pLoopTimes);
= pModel;
_initMoveSpeed = pSpeed;
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.SHAKING2);
_isActionSndPlayed = true;
}
override public function endAction():void{
super.endAction();
_spriteObject.resetBodyArea();
init();
}
override protected function init():void{
super.init();
= _initMoveSpeed;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame >= 11){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override public function dispose():void{
super.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.action
Section 50
//CharActionCtlr (com.creetor.game.YLLegend.action.CharActionCtlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.sound.*;
public class CharActionCtlr extends ActionClipController {
private var _attackAreaInfoList:Array;
private var _attackAreaCounter:uint;
private var _bodyAreaCounter:uint;
private var
:IChar;
public function CharActionCtlr(pName:String, pModel:IChar, pBodyAreaInfoList:Array, pAttackAreaInfoList:Array, pLoopTimes:int=0){
super(pName, pModel, pBodyAreaInfoList, pLoopTimes);
_attackAreaInfoList = pAttackAreaInfoList;
= pModel;
}
public function get attackAreaInfoList():Array{
return (_attackAreaInfoList);
}
protected function hitCheck():void{
if (!isFreeze){
if ((((actionClip.currentFrame >= _attackAreaInfoList[0].frame)) && ((actionClip.currentFrame < actionClip.totalFrames)))){
.hitCheck();
} else {
if (actionClip.currentFrame >= actionClip.totalFrames){
.resetHitChecker();
};
};
};
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
if ((((((((((((((name == CharAnimState.ATTACK1)) || (CharAnimState.ATTACK2))) || (CharAnimState.DASHATTACK))) || (CharAnimState.FINALATTACK))) || (CharAnimState.HEAVYATTACK))) || (CharAnimState.JUMPATTACK))) || (CharAnimState.UPCUT))){
SoundManager.getInstance().playEffect(SoundType.SHAKING1);
_isActionSndPlayed = true;
};
}
override protected function init():void{
super.init();
_bodyAreaCounter = 0;
_attackAreaCounter = 0;
}
override public function endAction():void{
super.endAction();
.resetHitArea();
.resetHitChecker();
}
override public function update():void{
super.update();
hitCheck();
}
override protected function updateAreas():void{
var bodyAreaInfo:HitAreaInfo = bodyAreaInfoList[_bodyAreaCounter];
if (bodyAreaInfo.frame == actionClip.currentFrame){
.getBodyArea().x = bodyAreaInfo.x;
.getBodyArea().y = bodyAreaInfo.y;
.getBodyArea().width = bodyAreaInfo.width;
.getBodyArea().height = bodyAreaInfo.height;
.getBodyArea().enableHitTest = bodyAreaInfo.enableHitTest;
if (_bodyAreaCounter < (bodyAreaInfoList.length - 1)){
_bodyAreaCounter++;
};
};
var attackAreaInfo:HitAreaInfo = attackAreaInfoList[_attackAreaCounter];
if (attackAreaInfo.frame == actionClip.currentFrame){
.hitArea.x = attackAreaInfo.x;
.hitArea.y = attackAreaInfo.y;
.hitArea.width = attackAreaInfo.width;
.hitArea.height = attackAreaInfo.height;
.hitArea.enableHitTest = attackAreaInfo.enableHitTest;
if (_attackAreaCounter < (attackAreaInfoList.length - 1)){
_attackAreaCounter++;
};
};
}
override protected function resetAreas():void{
_bodyAreaCounter = 0;
_attackAreaCounter = 0;
}
override public function dispose():void{
super.dispose();
_attackAreaInfoList = null;
= null;
}
}
}//package com.creetor.game.YLLegend.action
Section 51
//DragonShotAction (com.creetor.game.YLLegend.action.DragonShotAction)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.shot.*;
import com.creetor.game.YLLegend.sound.*;
public class DragonShotAction extends ShotActionCtlr {
public function DragonShotAction(pName:String, pModel:Shot, pBodyAreaInfoList:Array, pLoopTimes:int=0){
super(pName, pModel, pBodyAreaInfoList, pLoopTimes);
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.BURNING1);
_isActionSndPlayed = true;
}
}
}//package com.creetor.game.YLLegend.action
Section 52
//FireDragonShotCtr (com.creetor.game.YLLegend.action.FireDragonShotCtr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.shot.*;
import com.creetor.game.YLLegend.hitTest.*;
public class FireDragonShotCtr extends DragonShotAction {
private var _fireDragonShot:FireDragonShot;
public function FireDragonShotCtr(pModel:Shot){
super(ShotAnimState.MOVE, pModel, [new HitAreaInfo(1, 7, -29, 37, 60), new HitAreaInfo(5, 8, -13, 37, 92), new HitAreaInfo(7, 8, -2, 37, 115), new HitAreaInfo(8, 8, 12, 37, 142), new HitAreaInfo(9, 8, 27, 37, 172), new HitAreaInfo(10, 8, 12, 37, 142), new HitAreaInfo(11, 8, -2, 37, 115), new HitAreaInfo(12, 8, -13, 37, 92), new HitAreaInfo(14, 8, -29, 37, 60)], 1);
_fireDragonShot = (pModel as FireDragonShot);
_attackActionInfo = new AttackActionInfo(2, 1, 0.1, _fireDragonShot.direction, HurtType.AIR_HURT, 0.9, true, HittedEffectType.FIRE_B);
}
override public function update():void{
super.update();
if (actionClip == null){
return;
};
if (actionClip.currentFrame == 4){
_fireDragonShot.resetHitChecker();
_fireDragonShot.resetHitArea();
} else {
if (actionClip.currentFrame == 7){
_fireDragonShot.resetHitChecker();
_fireDragonShot.resetHitArea();
} else {
if (actionClip.currentFrame == 11){
_fireDragonShot.resetHitChecker();
_fireDragonShot.resetHitArea();
};
};
};
}
override public function dispose():void{
super.dispose();
_fireDragonShot = null;
_attackActionInfo = null;
}
}
}//package com.creetor.game.YLLegend.action
Section 53
//IAnimateController (com.creetor.game.YLLegend.action.IAnimateController)
package com.creetor.game.YLLegend.action {
import flash.display.*;
public interface IAnimateController {
function get loopTimes():int;
function resetAnimate():void;
function get actionClip():MovieClip;
function update():void;
function set actionClip(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\action;IAnimateController.as:MovieClip):void;
function reset():void;
}
}//package com.creetor.game.YLLegend.action
Section 54
//IAttackAction (com.creetor.game.YLLegend.action.IAttackAction)
package com.creetor.game.YLLegend.action {
public interface IAttackAction {
function get backSpeed():Number;
function get isBurning():Boolean;
function get freezeTime():Number;
function get backDirection():Number;
function get hurtType():String;
function get hittedEffectType():String;
function get attackPower():Number;
function get airSpeed():Number;
}
}//package com.creetor.game.YLLegend.action
Section 55
//MapChangeFaderCtlr (com.creetor.game.YLLegend.action.MapChangeFaderCtlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
public final class MapChangeFaderCtlr extends AnimateController {
private var
:Boolean;
public function MapChangeFaderCtlr(pName:String, pModel:IAnimatable, pLoopTimes:int=0){
super(pName, pModel, pLoopTimes);
}
override protected function init():void{
super.init();
= false;
}
override public function update():void{
super.update();
if (((((!((actionClip == null))) && ((actionClip.currentFrame >= (actionClip.totalFrames / 2))))) && (!(
)))){
dispatchEvent(new MapChangeFaderEvent(MapChangeFaderEvent.CHANGE_MAP));
= true;
};
}
}
}//package com.creetor.game.YLLegend.action
Section 56
//ShotActionCtlr (com.creetor.game.YLLegend.action.ShotActionCtlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.shot.*;
public class ShotActionCtlr extends SimpleActionCtlr implements IAttackAction {
protected var _attackActionInfo:AttackActionInfo;
private var _shot:Shot;
public function ShotActionCtlr(pName:String, pModel:Shot, pBodyAreaInfoList:Array, pLoopTimes:int=0){
super(pName, pModel, pBodyAreaInfoList, pLoopTimes);
_shot = pModel;
}
public function get hurtType():String{
return (_attackActionInfo.hurtType);
}
override public function update():void{
super.update();
if (actionClip == null){
return;
};
hitCheck();
}
public function get freezeTime():Number{
return (_attackActionInfo.freezeTime);
}
public function get attackPower():Number{
return (_attackActionInfo.attackPower);
}
public function get backDirection():Number{
return (_attackActionInfo.backDirection);
}
public function get backSpeed():Number{
return (_attackActionInfo.backSpeed);
}
override public function dispose():void{
super.dispose();
_shot = null;
}
public function get hittedEffectType():String{
return (_attackActionInfo.hittedEffectType);
}
public function get airSpeed():Number{
return (_attackActionInfo.airSpeed);
}
public function setAttackActionInfo(attackActionInfo:AttackActionInfo):void{
_attackActionInfo = attackActionInfo;
}
public function get isBurning():Boolean{
return (_attackActionInfo.isBurning);
}
protected function hitCheck():void{
if (!isFreeze){
if ((((actionClip.currentFrame >= bodyAreaInfoList[0].frame)) && ((actionClip.currentFrame < actionClip.totalFrames)))){
_shot.hitCheck();
} else {
if (actionClip.currentFrame >= actionClip.totalFrames){
_shot.resetHitChecker();
};
};
};
}
}
}//package com.creetor.game.YLLegend.action
Section 57
//SimpleActionCtlr (com.creetor.game.YLLegend.action.SimpleActionCtlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SimpleActionCtlr extends ActionClipController {
private var _listCounter:Number;
public function SimpleActionCtlr(pName:String, pModel:ISpriteObject, pBodyAreaInfoList:Array, pLoopTimes:int=0){
super(pName, pModel, pBodyAreaInfoList, pLoopTimes);
}
override protected function init():void{
super.init();
_listCounter = 0;
}
override public function endAction():void{
_spriteObject.endAction(name);
actionClip.gotoAndStop(actionClip.totalFrames);
//unresolved jump
var _slot1 = e;
resetActionSndPlay();
}
override public function dispose():void{
super.dispose();
_spriteObject = null;
}
override protected function updateAreas():void{
var bodyAreaInfo:HitAreaInfo = bodyAreaInfoList[_listCounter];
if (bodyAreaInfo == null){
return;
};
if (bodyAreaInfo.frame == actionClip.currentFrame){
_spriteObject.getBodyArea().x = bodyAreaInfo.x;
_spriteObject.getBodyArea().y = bodyAreaInfo.y;
_spriteObject.getBodyArea().width = bodyAreaInfo.width;
_spriteObject.getBodyArea().height = bodyAreaInfo.height;
_spriteObject.getBodyArea().enableHitTest = bodyAreaInfo.enableHitTest;
if (_listCounter < (bodyAreaInfoList.length - 1)){
_listCounter++;
};
};
}
}
}//package com.creetor.game.YLLegend.action
Section 58
//SimpleAnimateController (com.creetor.game.YLLegend.action.SimpleAnimateController)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
public final class SimpleAnimateController extends AnimateController {
public function SimpleAnimateController(pName:String, pModel:IAnimatable, pLoopTimes:int=0){
super(pName, pModel, pLoopTimes);
}
}
}//package com.creetor.game.YLLegend.action
Section 59
//SoldierA_attack1_ctlr (com.creetor.game.YLLegend.action.SoldierA_attack1_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SoldierA_attack1_ctlr extends AttackActionCtlr {
private var _enemy1:IChar;
public function SoldierA_attack1_ctlr(pModel:IChar){
super(CharAnimState.ATTACK1, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(3, -8, -23, 37, 21), new HitAreaInfo(5, 54, -24, 37, 21), new HitAreaInfo(5, 66, -46, 37, 21)], 1);
}
override protected function init():void{
super.init();
_enemy1 = (model as IChar);
_attackActionInfo = new AttackActionInfo(1, 1, 0.2, _enemy1.direction, HurtType.UP_HURT, 0);
}
}
}//package com.creetor.game.YLLegend.action
Section 60
//SoldierB_rollAttack_ctlr (com.creetor.game.YLLegend.action.SoldierB_rollAttack_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public class SoldierB_rollAttack_ctlr extends AttackActionCtlr {
private var
:IChar;
private var _initMoveSpeed:Number;
private var :Number;
public function SoldierB_rollAttack_ctlr(pModel:IChar, pSpeed:Number){
super(CharAnimState.ROLLATTACK, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(17, -8, -23, 37, 21), new HitAreaInfo(19, 54, -24, 37, 21), new HitAreaInfo(21, 66, -46, 37, 21)], 1);
_initMoveSpeed = pSpeed;
}
override protected function playSndEffect():void{
if (_isActionSndPlayed){
return;
};
SoundManager.getInstance().playEffect(SoundType.SHAKING2);
_isActionSndPlayed = true;
}
override public function update():void{
super.update();
if (!isFreeze){
if (actionClip.currentFrame >= 15){
= ( - Game.FRICTION);
if ( < 0){
= 0;
};
};
.moveX(TimeDiff.getDiff(), );
};
}
override public function dispose():void{
super.dispose();
= null;
}
override protected function init():void{
super.init();
= (model as IChar);
= _initMoveSpeed;
_attackActionInfo = new AttackActionInfo(2, 1, 0.2,
.direction, HurtType.AIR_HURT, 0.7);
}
}
}//package com.creetor.game.YLLegend.action
Section 61
//SoldierC_attack1_ctlr (com.creetor.game.YLLegend.action.SoldierC_attack1_ctlr)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SoldierC_attack1_ctlr extends AttackActionCtlr {
private var _enemy1:IChar;
public function SoldierC_attack1_ctlr(pModel:IChar){
super(CharAnimState.ATTACK1, pModel, [pModel.defaultBodyAreaInfo], [new HitAreaInfo(4, 32, -83, 34, 34), new HitAreaInfo(6, 35, -49, 34, 34), new HitAreaInfo(9, 39, -42, 34, 34), new HitAreaInfo(9, 39, -42, 34, 34, false)], 1);
}
override protected function init():void{
super.init();
_enemy1 = (model as IChar);
_attackActionInfo = new AttackActionInfo(2, 1, 0.2, _enemy1.direction, HurtType.MID_HURT, 0);
}
}
}//package com.creetor.game.YLLegend.action
Section 62
//StandHurtController (com.creetor.game.YLLegend.action.StandHurtController)
package com.creetor.game.YLLegend.action {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.view.*;
import com.creetor.game.YLLegend.utils.*;
public class StandHurtController extends SimpleActionCtlr {
private var
:Char;
public function StandHurtController(pName:String, pModel:Char, pBodyAreaInfoList:Array){
super(pName, pModel, pBodyAreaInfoList, 1);
= pModel;
}
override public function update():void{
if (((
.getBurningHurt()) && ((actionClip.currentFrame < actionClip.totalFrames)))){
GraphicEffectsFactory.burning(
.getSp());
};
super.update();
if (!isFreeze){
.beHittedBackSpeed = (
.beHittedBackSpeed - Game.FRICTION);
if (
.beHittedBackSpeed < 0){
.beHittedBackSpeed = 0;
};
.moveX(TimeDiff.getDiff(),
.beHittedBackSpeed,
.beHittedBackDir);
};
}
override public function endAction():void{
super.endAction();
if (
.getBurningHurt()){
GraphicEffectsFactory.removeBurning(
.getSp());
};
}
override public function dispose():void{
super.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.action
Section 63
//BossAOperator (com.creetor.game.YLLegend.ai.BossAOperator)
package com.creetor.game.YLLegend.ai {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.char.*;
public class BossAOperator extends DefaultEnemyOperator {
private var
:IBossAConsole;
public function BossAOperator(pChar:IBossAConsole, pHero:IChar, pFreq:uint=8){
super(pChar, pHero, pFreq);
= pChar;
.addEventListener(CharEvent.GETUP, onGetUpAction);
}
protected function onGetUpAction(event:CharEvent):void{
var distent:* = checkDistentX();
var ranNum:Number = Math.random();
if (distent < 100){
.normalAttack();
} else {
if (distent < 200){
moveToAim();
if (ranNum < 0.2){
.normalAttack();
};
} else {
moveToAim();
if (ranNum < 0.05){
.heavyAttack();
};
};
};
}
override protected function nearAction(ranNum:Number, pDistent:Number=0):void{
if (ranNum < 0.2){
.heavyAttack();
} else {
if (ranNum < 0.3){
randomMove();
} else {
if (ranNum < 0.6){
.normalAttack();
} else {
if (ranNum < 0.7){
.jump();
};
};
};
};
var distentY:Number = checkDistentY();
if ((((distentY > 64)) && ((ranNum < 0.7)))){
.jump();
};
avoidDownAttack();
}
override protected function updateAction():void{
var distent:* = checkDistentX();
var ranNum:Number = Math.random();
moveToAim();
if (distent < 300){
nearAction(ranNum, distent);
} else {
farAction(ranNum);
if (ranNum < 0.2){
.heavyAttack();
};
};
jumpOverBlock();
}
}
}//package com.creetor.game.YLLegend.ai
Section 64
//BossBOperator (com.creetor.game.YLLegend.ai.BossBOperator)
package com.creetor.game.YLLegend.ai {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.char.*;
public class BossBOperator extends DefaultEnemyOperator {
private var
:IBossBConsole;
public function BossBOperator(pChar:IBossBConsole, pHero:IChar, pFrequqncy:uint=8){
super(pChar, pHero, pFrequqncy);
= pChar;
.addEventListener(CharEvent.GETUP, onGetUpAction);
}
private function onGetUpAction(event:CharEvent):void{
var distent:* = checkDistentX();
var ranNum:Number = Math.random();
if (distent < 80){
if (ranNum < 0.4){
.run();
} else {
if (ranNum < 0.7){
.upCut();
};
};
} else {
if (distent < 160){
moveToAim();
if (ranNum < 0.2){
.run();
};
} else {
moveToAim();
if (ranNum < 0.2){
.magicAttack();
};
};
};
}
override protected function nearAction(ranNum:Number, pDistent:Number=0):void{
if (pDistent > 20){
if (ranNum < 0.3){
.upCut();
} else {
if (ranNum < 0.4){
.run();
} else {
if (ranNum < 0.6){
.magicAttack();
};
};
};
};
if (ranNum < 0.7){
.normalAttack();
} else {
if (ranNum < 0.8){
.jump();
};
};
var distentY:Number = checkDistentY();
if ((((distentY > 64)) && ((ranNum < 0.7)))){
.jump();
};
avoidDownAttack();
}
override protected function updateAction():void{
var distent:* = checkDistentX();
var ranNum:Number = Math.random();
moveToAim();
if (distent < 160){
nearAction(ranNum, distent);
} else {
farAction(ranNum);
if (ranNum < 0.5){
.magicAttack();
} else {
if (ranNum < 0.7){
.run();
};
};
};
jumpOverBlock();
}
}
}//package com.creetor.game.YLLegend.ai
Section 65
//BossCOperator (com.creetor.game.YLLegend.ai.BossCOperator)
package com.creetor.game.YLLegend.ai {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.char.*;
public class BossCOperator extends BossAOperator {
private var
:IBossCConsole;
public function BossCOperator(pChar:IBossCConsole, pHero:IChar, pFreq:int=8){
super(pChar, pHero, pFreq);
= pChar;
.addEventListener(BossCEvent.END_JUMPKICK,
);
}
private function
(event:BossCEvent):void{
moveToAim();
}
override protected function onGetUpAction(event:CharEvent):void{
var distent:* = checkDistentX();
var ranNum:Number = Math.random();
if (distent < 100){
moveToAim();
if (ranNum < 0.1){
.heavyAttack();
} else {
if (ranNum < 0.2){
.normalAttack();
} else {
if (ranNum < 0.7){
.jumpKick();
};
};
};
} else {
if (distent < 200){
moveToAim();
if (ranNum < 0.3){
.heavyAttack();
} else {
if (ranNum < 0.6){
.jumpKick();
};
};
} else {
moveToAim();
if (ranNum < 0.4){
.heavyAttack();
} else {
if (ranNum < 0.8){
.jumpKick();
};
};
};
};
}
override protected function nearAction(ranNum:Number, pDistent:Number=0):void{
super.nearAction(ranNum, pDistent);
if ((((ranNum >= 0.7)) && ((ranNum < 0.95)))){
.jumpKick();
};
}
override protected function updateAction():void{
var distent:* = checkDistentX();
var ranNum:Number = Math.random();
moveToAim();
if (distent < 300){
nearAction(ranNum, distent);
} else {
farAction(ranNum);
if (ranNum < 0.3){
.heavyAttack();
} else {
if (ranNum < 0.6){
.jumpKick();
};
};
};
jumpOverBlock();
}
}
}//package com.creetor.game.YLLegend.ai
Section 66
//DefaultEnemyOperator (com.creetor.game.YLLegend.ai.DefaultEnemyOperator)
package com.creetor.game.YLLegend.ai {
import com.creetor.game.YLLegend.model.char.*;
public class DefaultEnemyOperator implements IAIOperator {
private var :ICharConsole;
protected var _opponent:IChar;
private var
:int;
public function DefaultEnemyOperator(pChar:ICharConsole, pHero:IChar, pFrequqncy:uint=8){
super();
= pChar;
_opponent = pHero;
init();
= pFrequqncy;
moveToAim();
}
public function update():void{
if ( .isFallDown()){
.endMoveLeft();
.endMoveRight();
return;
};
var i:* = int((Math.random() * 100));
if (i <
){
updateAction();
};
}
protected function checkDistentY():Number{
var distent:Number;
distent = ( .getSp().y - _opponent.getSp().y);
//unresolved jump
var _slot1 = e;
distent = 0;
return (distent);
}
protected function avoidDownAttack():void{
}
protected function jumpOverBlock():void{
if ((( .isHitWallLeft()) || ( .isHitWallRight()))){
.jump();
};
}
protected function farAction(ranNum:Number):void{
if (ranNum < 0.5){
moveToAim();
} else {
if (ranNum < 0.6){
.stand();
};
};
}
public function dispose():void{
= null;
_opponent = null;
}
protected function init():void{
}
public function setFrequency(frequency:int):void{
= (
+ frequency);
}
protected function randomMove():void{
var ran:Number = Math.random();
if ( .isActionLocked){
return;
};
if (ran < 0.5){
.moveLeft();
} else {
.moveRight();
};
}
protected function moveToAim():void{
var distentX:Number = checkDistentX(true);
trace(("moveToAim: " + distentX));
if ( .isActionLocked){
return;
};
if (distentX >= 0){
.moveLeft();
trace("left");
} else {
if (distentX < 0){
.moveRight();
trace("right");
};
};
}
protected function checkDistentX(pSym:Boolean=false):Number{
var distent:Number;
var pSym = pSym;
if (pSym == false){
distent = Math.abs(( .getSp().x - _opponent.getSp().x));
} else {
distent = ( .getSp().x - _opponent.getSp().x);
};
//unresolved jump
var _slot1 = e;
distent = 0;
return (distent);
}
protected function nearAction(ranNum:Number, pDistent:Number=0):void{
if (ranNum < 0.4){
.normalAttack();
} else {
if (ranNum < 0.7){
randomMove();
} else {
if (ranNum < 0.8){
.jump();
};
};
};
var distentY:Number = checkDistentY();
if ((((distentY > 64)) && ((ranNum < 0.5)))){
.jump();
};
avoidDownAttack();
}
protected function updateAction():void{
var distent:* = checkDistentX();
var ranNum:Number = Math.random();
moveToAim();
if (distent < 80){
if (!_opponent.isFallDown()){
nearAction(ranNum, distent);
};
} else {
farAction(ranNum);
};
jumpOverBlock();
}
}
}//package com.creetor.game.YLLegend.ai
Section 67
//IAIOperator (com.creetor.game.YLLegend.ai.IAIOperator)
package com.creetor.game.YLLegend.ai {
public interface IAIOperator extends ICharOperator {
function setFrequency(:int):void;
}
}//package com.creetor.game.YLLegend.ai
Section 68
//IBossAConsole (com.creetor.game.YLLegend.ai.IBossAConsole)
package com.creetor.game.YLLegend.ai {
public interface IBossAConsole extends ICharConsole {
function heavyAttack():void;
}
}//package com.creetor.game.YLLegend.ai
Section 69
//IBossBConsole (com.creetor.game.YLLegend.ai.IBossBConsole)
package com.creetor.game.YLLegend.ai {
public interface IBossBConsole extends ICharConsole {
function run():void;
function magicAttack():void;
function upCut():void;
}
}//package com.creetor.game.YLLegend.ai
Section 70
//IBossCConsole (com.creetor.game.YLLegend.ai.IBossCConsole)
package com.creetor.game.YLLegend.ai {
public interface IBossCConsole extends IBossAConsole {
function jumpKick():void;
}
}//package com.creetor.game.YLLegend.ai
Section 71
//ICharConsole (com.creetor.game.YLLegend.ai.ICharConsole)
package com.creetor.game.YLLegend.ai {
import flash.events.*;
import com.creetor.game.YLLegend.model.char.*;
public interface ICharConsole extends ICharAccessor, IEventDispatcher {
function endMoveRight():void;
function endMoveLeft():void;
function stand():void;
function endUpForward():void;
function moveLeft():void;
function upForward():void;
function moveRight():void;
function
(:int):void;
function jump():void;
function normalAttack():void;
}
}//package com.creetor.game.YLLegend.ai
Section 72
//ICharOperator (com.creetor.game.YLLegend.ai.ICharOperator)
package com.creetor.game.YLLegend.ai {
public interface ICharOperator {
function update():void;
function dispose():void;
}
}//package com.creetor.game.YLLegend.ai
Section 73
//ISoldierBConsole (com.creetor.game.YLLegend.ai.ISoldierBConsole)
package com.creetor.game.YLLegend.ai {
public interface ISoldierBConsole extends ICharConsole {
function rollAttack():void;
}
}//package com.creetor.game.YLLegend.ai
Section 74
//IYanLoongConsole (com.creetor.game.YLLegend.ai.IYanLoongConsole)
package com.creetor.game.YLLegend.ai {
public interface IYanLoongConsole extends ICharConsole {
function rotaAttack():void;
function extraAttack():void;
function squat():void;
function run():void;
function combo(:String):void;
function endSquat():void;
}
}//package com.creetor.game.YLLegend.ai
Section 75
//SoldierBOperator (com.creetor.game.YLLegend.ai.SoldierBOperator)
package com.creetor.game.YLLegend.ai {
import com.creetor.game.YLLegend.model.char.*;
public class SoldierBOperator extends DefaultEnemyOperator {
private var _soldierBConsole:ISoldierBConsole;
public function SoldierBOperator(pChar:ISoldierBConsole, pHero:IChar){
super(pChar, pHero);
_soldierBConsole = pChar;
}
override protected function updateAction():void{
var ranNum:Number;
var distent:* = checkDistentX();
ranNum = Math.random();
if (distent < 80){
if (!_opponent.isFallDown()){
nearAction(ranNum);
};
} else {
if ((((((distent > 80)) && ((distent < 400)))) && ((ranNum < 0.4)))){
moveToAim();
_soldierBConsole.rollAttack();
} else {
farAction(ranNum);
};
};
jumpOverBlock();
}
}
}//package com.creetor.game.YLLegend.ai
Section 76
//YanLoongOperator (com.creetor.game.YLLegend.ai.YanLoongOperator)
package com.creetor.game.YLLegend.ai {
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.*;
public class YanLoongOperator implements ICharOperator, ISkillLockable {
private var :SkillLocker;
private var :IYanLoongConsole;
public function YanLoongOperator(pCharConsole:IYanLoongConsole){
super();
= pCharConsole;
= new SkillLocker([CharAnimState.SQUATKICK, CharAnimState.HEAVYATTACK, CharAnimState.UPCUT, CharAnimState.DRAGON_UPCUT]);
}
public function squat():void{
.squat();
}
public function moveRight():void{
.moveRight();
}
public function combo(pComboName:String):void{
if ((((pComboName == "combo_0")) || ((pComboName == "combo_1")))){
if ( .getLocker(CharAnimState.UPCUT)){
return;
};
} else {
if ((((pComboName == "combo_2")) || ((pComboName == "combo_3")))){
if ( .getLocker(CharAnimState.HEAVYATTACK)){
return;
};
} else {
if ((((pComboName == "combo_4")) || ((pComboName == "combo_5")))){
if ( .getLocker(CharAnimState.DRAGON_UPCUT)){
return;
};
};
};
};
.combo(pComboName);
}
public function normalAttack():void{
.normalAttack();
}
public function update():void{
}
public function run():void{
.run();
}
public function getSkillLocker():SkillLocker{
return ( );
}
public function endUpForward():void{
.endUpForward();
}
public function rotaAttack():void{
.rotaAttack();
}
public function isHitWallLeft():Boolean{
return ( .isHitWallLeft());
}
public function dispose():void{
= null;
.dispose();
= null;
}
public function isHitWallRight():Boolean{
return ( .isHitWallRight());
}
public function upForward():void{
.upForward();
}
public function jump():void{
.jump();
}
public function endSquat():void{
.endSquat();
}
public function endMoveRight():void{
.endMoveRight();
}
public function moveLeft():void{
.moveLeft();
}
public function endMoveLeft():void{
.endMoveLeft();
}
public function extraAttack():void{
if ((( .isSquat) && ( .getLocker(CharAnimState.SQUATKICK)))){
return;
};
.extraAttack();
}
}
}//package com.creetor.game.YLLegend.ai
Section 77
//ComboInputController (com.creetor.game.YLLegend.controller.ComboInputController)
package com.creetor.game.YLLegend.controller {
import flash.events.*;
import com.creetor.game.YLLegend.ai.*;
import flash.utils.*;
public class ComboInputController extends HeroController {
private var :Array;
private var :Array;
private var :uint;
private var :uint;
private var :Object;
private var :uint;
private var :Array;
private static const KEY_PRESS_INTERVAL:int = 150;
public function ComboInputController(pChar:YanLoongOperator){
super(pChar);
();
= 0;
= 0;
= ;
();
}
override protected function keyUp(event:KeyboardEvent):void{
super.keyUp(event);
= event.keyCode;
= getTimer();
}
private function
(pKeyCode:uint):void{
var keyCode:uint = pKeyCode;
if ( == 0){
.push(keyCode);
= getTimer();
} else {
if (( - ( = getTimer())) > -(KEY_PRESS_INTERVAL)){
.push(keyCode);
if ((((keyCode == _keyMap[ATTACK1])) || ((keyCode == _keyMap[ATTACK3])))){
trace(("keyChain :" + keyCode));
();
();
};
if ( .length > 6){
();
};
} else {
();
.push(keyCode);
};
};
}
override public function dispose():void{
super.dispose();
= null;
= null;
= null;
= null;
}
private function ():void{
var skill_string:String;
var key_string:String = .toString();
var i:int;
while (i < .length) {
skill_string = [i].toString();
if (key_string.indexOf(skill_string) != -1){
_charOperator.combo(("combo_" + i));
};
i++;
};
();
}
override protected function updateKeyStyleChanging():void{
();
();
}
private function ():void{
= new Array();
var i:uint;
while (i < .length) {
.push( [ [i]]);
i++;
};
}
private function (){
= [];
= 0;
}
public function setComboIndexs(pComboIndexs:Array):void{
= pComboIndexs;
();
}
override protected function keyDown(event:KeyboardEvent):void{
if (_oldKeyCode == event.keyCode){
return;
};
(event.keyCode);
super.keyDown(event);
if (((((getTimer() - ) < KEY_PRESS_INTERVAL)) && (( == event.keyCode)))){
if ((((event.keyCode == _keyMap[LEFT])) || ((event.keyCode == _keyMap[RIGHT])))){
_charOperator.run();
};
};
}
private function ():void{
= [[_keyMap[DOWN], _keyMap[RIGHT], _keyMap[ATTACK1]], [_keyMap[DOWN], _keyMap[LEFT], _keyMap[ATTACK1]], [_keyMap[LEFT], _keyMap[RIGHT], _keyMap[ATTACK1]], [_keyMap[RIGHT], _keyMap[LEFT], _keyMap[ATTACK1]], [_keyMap[DOWN], _keyMap[RIGHT], _keyMap[ATTACK3]], [_keyMap[DOWN], _keyMap[LEFT], _keyMap[ATTACK3]]];
}
}
}//package com.creetor.game.YLLegend.controller
Section 78
//HeroController (com.creetor.game.YLLegend.controller.HeroController)
package com.creetor.game.YLLegend.controller {
import flash.events.*;
import com.creetor.game.YLLegend.ai.*;
public class HeroController extends UserInputAdapter {
protected var _charOperator:YanLoongOperator;
public function HeroController(pCharOperator:YanLoongOperator){
super();
_charOperator = pCharOperator;
}
override protected function keyDown(event:KeyboardEvent):void{
super.keyDown(event);
if (event.keyCode == _keyMap[LEFT]){
_charOperator.moveLeft();
} else {
if (event.keyCode == _keyMap[RIGHT]){
_charOperator.moveRight();
} else {
if (event.keyCode == _keyMap[UP]){
_charOperator.upForward();
} else {
if (event.keyCode == _keyMap[DOWN]){
_charOperator.squat();
};
};
};
};
if (event.keyCode == _keyMap[ATTACK1]){
_charOperator.normalAttack();
} else {
if (event.keyCode == _keyMap[JUMP]){
_charOperator.jump();
} else {
if (event.keyCode == _keyMap[ATTACK3]){
_charOperator.extraAttack();
};
};
};
}
override public function disable():void{
super.disable();
_charOperator.endMoveLeft();
_charOperator.endMoveRight();
_charOperator.endSquat();
}
override protected function keyUp(event:KeyboardEvent):void{
super.keyUp(event);
if (event.keyCode == _keyMap[LEFT]){
_charOperator.endMoveLeft();
} else {
if (event.keyCode == _keyMap[RIGHT]){
_charOperator.endMoveRight();
} else {
if (event.keyCode == _keyMap[UP]){
_charOperator.endUpForward();
} else {
if (event.keyCode == _keyMap[DOWN]){
_charOperator.endSquat();
};
};
};
};
}
override public function dispose():void{
disable();
super.dispose();
_charOperator = null;
}
}
}//package com.creetor.game.YLLegend.controller
Section 79
//HeroSkillPanController (com.creetor.game.YLLegend.controller.HeroSkillPanController)
package com.creetor.game.YLLegend.controller {
import flash.events.*;
import com.creetor.game.YLLegend.ui.*;
public class HeroSkillPanController extends UserInputAdapter implements IUIController {
private var :ISkillPanConsole;
public function HeroSkillPanController(pUIOperator:ISkillPanConsole){
super();
= pUIOperator;
stage.addEventListener(KeyboardEvent.KEY_DOWN, );
}
override protected function keyDown(event:KeyboardEvent):void{
super.keyDown(event);
if (event.keyCode == _keyMap[LEFT]){
.cursorLeft();
} else {
if (event.keyCode == _keyMap[RIGHT]){
.cursorRight();
} else {
if (event.keyCode == _keyMap[UP]){
.cursorUp();
} else {
if (event.keyCode == _keyMap[DOWN]){
.cursorDown();
};
};
};
};
if (event.keyCode == _keyMap[ATTACK1]){
.equipQigong();
} else {
if (event.keyCode == _keyMap[JUMP]){
.confirm();
} else {
if (event.keyCode == _keyMap[ATTACK3]){
.cancel();
};
};
};
}
private function (event:KeyboardEvent):void{
if (event.keyCode == _keyMap[PAUSE]){
.confirm();
};
}
override public function dispose():void{
super.disable();
stage.removeEventListener(KeyboardEvent.KEY_DOWN, );
= null;
}
}
}//package com.creetor.game.YLLegend.controller
Section 80
//IUIController (com.creetor.game.YLLegend.controller.IUIController)
package com.creetor.game.YLLegend.controller {
public interface IUIController {
function disable():void;
function enable():void;
function dispose():void;
}
}//package com.creetor.game.YLLegend.controller
Section 81
//SimpleUIController (com.creetor.game.YLLegend.controller.SimpleUIController)
package com.creetor.game.YLLegend.controller {
import flash.events.*;
import com.creetor.game.YLLegend.ui.*;
public class SimpleUIController extends UserInputAdapter implements IUIController {
private var :IUIConsole;
public function SimpleUIController(pUIOperator:IUIConsole){
super();
= pUIOperator;
}
override protected function keyDown(event:KeyboardEvent):void{
super.keyDown(event);
if (event.keyCode == _keyMap[JUMP]){
.confirm();
} else {
if (event.keyCode == _keyMap[ATTACK1]){
.confirm();
} else {
if (event.keyCode == _keyMap[ATTACK3]){
.confirm();
} else {
if (event.keyCode == _keyMap[PAUSE]){
.cancel();
};
};
};
};
}
override public function dispose():void{
super.disable();
= null;
}
}
}//package com.creetor.game.YLLegend.controller
Section 82
//UserInputAdapter (com.creetor.game.YLLegend.controller.UserInputAdapter)
package com.creetor.game.YLLegend.controller {
import flash.events.*;
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
import flash.ui.*;
public class UserInputAdapter {
protected var _oldKeyCode:uint;
private var :Boolean;
public static const LEFT:Number = 0;
public static const PAUSE:Number = 7;
public static const UP:Number = 2;
public static const L_STYLE:String = "l_style";
public static const R_STYLE:String = "r_style";
public static const DOWN:Number = 3;
public static const ATTACK3:Number = 6;
public static const JUMP:Number = 5;
public static const ATTACK1:Number = 4;
public static const NUM_STATES:Number = 8;
public static const RIGHT:Number = 1;
private static var _instances:Array = new Array();
private static var keyStyle:String = "l_style";
protected static var _keyMap:Array;
public static var stage:Stage;
public function UserInputAdapter(){
super();
init();
_instances.push(this);
= initKeymap(keyStyle);
}
protected function keyDown(event:KeyboardEvent):void{
if (Game.gameMode != "play"){
return;
};
if (_oldKeyCode == event.keyCode){
return;
};
_oldKeyCode = event.keyCode;
}
public function enable():void{
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
}
protected function updateKeyStyleChanging():void{
}
public function disable():void{
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyUp);
_oldKeyCode = 0;
}
private function init():void{
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
enable();
}
protected function keyUp(event:KeyboardEvent):void{
_oldKeyCode = 0;
}
public function get keyMap():Array{
return (_keyMap);
}
public function dispose():void{
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyUp);
}
private static function initKeymap(pKeyStyle:String):Boolean{
_keyMap = new Array(NUM_STATES);
if (pKeyStyle == R_STYLE){
keyStyle = R_STYLE;
_keyMap[LEFT] = Keyboard.LEFT;
_keyMap[RIGHT] = Keyboard.RIGHT;
_keyMap[UP] = Keyboard.UP;
_keyMap[DOWN] = Keyboard.DOWN;
_keyMap[ATTACK1] = 32;
_keyMap[JUMP] = 86;
_keyMap[ATTACK3] = 66;
_keyMap[PAUSE] = 67;
} else {
if (pKeyStyle == L_STYLE){
keyStyle = L_STYLE;
_keyMap[LEFT] = 65;
_keyMap[RIGHT] = 68;
_keyMap[UP] = 87;
_keyMap[DOWN] = 83;
_keyMap[ATTACK1] = 74;
_keyMap[JUMP] = 75;
_keyMap[ATTACK3] = 76;
_keyMap[PAUSE] = 73;
};
};
return (true);
}
public static function getKeyStyle():String{
return (keyStyle);
}
public static function setKeyStyle(pKeyStyle:String):void{
initKeymap(pKeyStyle);
var i:uint;
while (i < _instances.length) {
_instances[0].updateKeyStyleChanging();
i++;
};
}
}
}//package com.creetor.game.YLLegend.controller
Section 83
//AlertEvent (com.creetor.game.YLLegend.events.AlertEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class AlertEvent extends Event {
private var
:String;
public static const ALERT:String = "alert";
public function AlertEvent(type:String, pMsg:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
= pMsg;
}
public function get msg():String{
return (
);
}
}
}//package com.creetor.game.YLLegend.events
Section 84
//AnimateControllerEvent (com.creetor.game.YLLegend.events.AnimateControllerEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class AnimateControllerEvent extends Event {
public static const END_ANIMATE:String = "endAnimate";
public function AnimateControllerEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 85
//AnimStateEvent (com.creetor.game.YLLegend.events.AnimStateEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class AnimStateEvent extends Event {
public var animState:String;
public static const SET_ANIMATION:String = "setAnimation";
public function AnimStateEvent(type:String, pAnimState:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
animState = pAnimState;
}
}
}//package com.creetor.game.YLLegend.events
Section 86
//AreaInfoEvent (com.creetor.game.YLLegend.events.AreaInfoEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
import com.creetor.game.YLLegend.hitTest.*;
public class AreaInfoEvent extends Event {
public var areaInfo:HitAreaInfo;
public static const UPDATE_BODY_AREA:String = "updateBodyArea";
public static const UPDATE_ATTACK_AREA:String = "updateAttackArea";
public function AreaInfoEvent(type:String, pAreaInfo:HitAreaInfo, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
areaInfo = pAreaInfo;
}
}
}//package com.creetor.game.YLLegend.events
Section 87
//BossCEvent (com.creetor.game.YLLegend.events.BossCEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class BossCEvent extends Event {
public static const END_JUMPKICK:String = "endJumpKick";
public function BossCEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 88
//CharEvent (com.creetor.game.YLLegend.events.CharEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
import com.creetor.game.YLLegend.model.char.*;
public class CharEvent extends Event {
private var
:IChar;
private var
;
public static const DIE:String = "die";
public static const ADD_HP:String = "addHP";
public static const ADD_POWER:String = "addPower";
public static const DYING:String = "dying";
public static const GETUP:String = "getUp";
public static const USE_POWER:String = "usePower";
public static const UPDATE_TOTALPP:String = "updateTotalPP";
public static const HURT:String = "hurt";
public static const SHOW_CHAR_STATUS:String = "showCharStatus";
public static const UPDATE_TOTALHP:String = "updateTotalHP";
public function CharEvent(type:String, pParam=null, pHitChar:IChar=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
= pParam;
= pHitChar;
}
public function get curPP():uint{
if ((((type == USE_POWER)) || ((type == ADD_POWER)))){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
public function get char():IChar{
if (type == SHOW_CHAR_STATUS){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
public function get curHP():uint{
if ((((type == HURT)) || ((type == ADD_HP)))){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
public function get hitChar():IChar{
if (type == HURT){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
public function get totalPP():uint{
if (type == UPDATE_TOTALPP){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
public function get totalHP():uint{
if (type == UPDATE_TOTALHP){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
}
}//package com.creetor.game.YLLegend.events
Section 89
//CheckBoxEvent (com.creetor.game.YLLegend.events.CheckBoxEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class CheckBoxEvent extends Event {
public var id:uint;
public static const SELECT:String = "checkBox_select";
public static const UNSELECT:String = "checkBox_unselect";
public function CheckBoxEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 90
//EnemyEvent (com.creetor.game.YLLegend.events.EnemyEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class EnemyEvent extends Event {
public var heroAddedExp:Number;
public static const DYING:String = "dying";
public function EnemyEvent(type:String, pExp:Number=0, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
heroAddedExp = pExp;
}
}
}//package com.creetor.game.YLLegend.events
Section 91
//GameEvent (com.creetor.game.YLLegend.events.GameEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
import com.creetor.game.YLLegend.model.*;
public class GameEvent extends Event {
private var :IModel;
public static const GAME_OVER:String = "gameOver";
public static const DROP_ANCHOR:String = "dropAnchor";
public static const ENABLE_INPUT:String = "enableInput";
public static const GAME_ENDING:String = "gameEnding";
public static const REMOVE_MAPFADER:String = "removeMapFader";
public static const ADD_MAPFADER:String = "addMapFader";
public static const UNABLE_INPUT:String = "unableInput";
public function GameEvent(type:String, pModel:IModel=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
= pModel;
}
public function getModel():IModel{
return ( );
}
}
}//package com.creetor.game.YLLegend.events
Section 92
//GameOverScreenEvent (com.creetor.game.YLLegend.events.GameOverScreenEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class GameOverScreenEvent extends Event {
public static const BACK_TO_MAIN:String = "backToMain";
public static const CONTINUE:String = "continue";
public function GameOverScreenEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 93
//HeroEvent (com.creetor.game.YLLegend.events.HeroEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
import com.creetor.game.YLLegend.model.item.*;
public class HeroEvent extends Event {
private var
;
public static const GET_ITEM:String = "getItem";
public static const TOUCH_DOOR:String = "touchDoor";
public static const TOUCH_ANCHOR:String = "touchAnchor";
public static const LEVEL_UP:String = "levelUp";
public static const LEARN_SKILL:String = "learnSkill";
public static const ADD_EXP:String = "addExp";
public function HeroEvent(type:String, pParam=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
= pParam;
}
public function get item():IItem{
if ((((type == GET_ITEM)) || ((type == LEARN_SKILL)))){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
public function get level():uint{
if (type == LEVEL_UP){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
public function get exp():uint{
if (type == ADD_EXP){
return (
);
};
throw (new TypeError(("Can't access this param, because this event current type is: " + type)));
}
}
}//package com.creetor.game.YLLegend.events
Section 94
//HittedEvent (com.creetor.game.YLLegend.events.HittedEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
import com.creetor.game.YLLegend.model.*;
public class HittedEvent extends Event {
private var :Array;
private var :IHitter;
public static const HITTED:String = "hitted";
public function HittedEvent(type:String, pHitter:IHitter, pTargets:Array, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
= pHitter;
= pTargets;
}
public function get targets():Array{
return ();
}
public function get hitter():IHitter{
return ();
}
}
}//package com.creetor.game.YLLegend.events
Section 95
//ItemEvent (com.creetor.game.YLLegend.events.ItemEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class ItemEvent extends Event {
public static const BEPICKEDUP:String = "bePickedUp";
public function ItemEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 96
//MapChangeFaderEvent (com.creetor.game.YLLegend.events.MapChangeFaderEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class MapChangeFaderEvent extends Event {
public static const CHANGE_MAP:String = "changeMap";
public function MapChangeFaderEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 97
//ModelEvent (com.creetor.game.YLLegend.events.ModelEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class ModelEvent extends Event {
public static const REMOVE:String = "remove";
public function ModelEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 98
//OptionScreenEvent (com.creetor.game.YLLegend.events.OptionScreenEvent)
package com.creetor.game.YLLegend.events {
public class OptionScreenEvent extends ScreenEvent {
public static const R_STYLE:String = "r_style";
public static const L_STYLE:String = "l_style";
public function OptionScreenEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 99
//ScreenEvent (com.creetor.game.YLLegend.events.ScreenEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class ScreenEvent extends Event {
public static const ANI_COMPLETE:String = "aniComplete";
public static const BACK:String = "back";
public function ScreenEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 100
//TitleScreenEvent (com.creetor.game.YLLegend.events.TitleScreenEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class TitleScreenEvent extends Event {
public static const HIGHSCORES:String = "highscores";
public static const CONTINUE:String = "continue";
public static const START:String = "start";
public static const OPTION:String = "option";
public static const CREDITS:String = "credits";
public static const HOWTOPLAY:String = "howToPlay";
public function TitleScreenEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 101
//UIConsoleEvent (com.creetor.game.YLLegend.events.UIConsoleEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class UIConsoleEvent extends Event {
public static const HIDE:String = "hide";
public static const REMOVE:String = "remove";
public static const SHOW:String = "show";
public function UIConsoleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}//package com.creetor.game.YLLegend.events
Section 102
//UIManagerEvent (com.creetor.game.YLLegend.events.UIManagerEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
public class UIManagerEvent extends Event {
private var
:String;
public static const SET_KEY_STYLE:String = "setKeyStyle";
public static const START_GAME:String = "startGame";
public function UIManagerEvent(type:String, pKeyStyle:String="r_style", bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
= pKeyStyle;
}
public function getKeyStyle():String{
return (
);
}
}
}//package com.creetor.game.YLLegend.events
Section 103
//WorldAnimatorEvent (com.creetor.game.YLLegend.events.WorldAnimatorEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
import com.creetor.game.YLLegend.model.*;
public class WorldAnimatorEvent extends Event {
public var model:IModel;
private var :String;
public static const REMOVE_VIEW:String = "removeView";
public static const ADD_VIEW:String = "addView";
public static const REDRAWMAP:String = "reDrawMap";
public static const DRAWMAP:String = "drawMap";
public static const CLEAR:String = "clear";
public function WorldAnimatorEvent(type:String, pModel:IModel=null, pBgData:String=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
model = pModel;
= pBgData;
}
public function getBgData():String{
return ( );
}
}
}//package com.creetor.game.YLLegend.events
Section 104
//WorldEvent (com.creetor.game.YLLegend.events.WorldEvent)
package com.creetor.game.YLLegend.events {
import flash.events.*;
import com.creetor.game.YLLegend.model.item.*;
public class WorldEvent extends Event {
private var
:IItem;
public static const LEVEL_COMPLETE:String = "level_complete";
public static const GAME_COMPLETE:String = "game_complete";
public static const ITEM_PICKUP:String = "itemPickUp";
public static const HERODIE:String = "heroDie";
public function WorldEvent(type:String, pItemPicked:IItem=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
= pItemPicked;
}
public function getItemPicked():IItem{
return (
);
}
}
}//package com.creetor.game.YLLegend.events
Section 105
//AsHitArea_sp (com.creetor.game.YLLegend.hitTest.AsHitArea_sp)
package com.creetor.game.YLLegend.hitTest {
import flash.display.*;
public class AsHitArea_sp extends Sprite {
private var
:Boolean;
public function AsHitArea_sp(){
super();
= true;
}
public function get enableHitTest():Boolean{
return (
);
}
public function set enableHitTest(pEnableHitTest:Boolean):void{
= pEnableHitTest;
}
override public function hitTestObject(obj:DisplayObject):Boolean{
if ((obj is AsHitArea_sp)){
if (!AsHitArea_sp(obj).enableHitTest){
return (false);
};
};
if (
){
return (super.hitTestObject(obj));
};
return (false);
}
}
}//package com.creetor.game.YLLegend.hitTest
Section 106
//BodyArea_sp (com.creetor.game.YLLegend.hitTest.BodyArea_sp)
package com.creetor.game.YLLegend.hitTest {
public class BodyArea_sp extends AsHitArea_sp {
public function BodyArea_sp(){
super();
graphics.beginFill(0xFF00, 0.5);
graphics.drawRect(-1, -1, 2, 2);
graphics.endFill();
}
}
}//package com.creetor.game.YLLegend.hitTest
Section 107
//HitArea_sp (com.creetor.game.YLLegend.hitTest.HitArea_sp)
package com.creetor.game.YLLegend.hitTest {
public class HitArea_sp extends AsHitArea_sp {
public function HitArea_sp(){
super();
graphics.beginFill(0xFF0000, 0.5);
graphics.drawRect(-1, -1, 2, 2);
graphics.endFill();
}
}
}//package com.creetor.game.YLLegend.hitTest
Section 108
//HitAreaInfo (com.creetor.game.YLLegend.hitTest.HitAreaInfo)
package com.creetor.game.YLLegend.hitTest {
public class HitAreaInfo {
private var
:Boolean;
private var _height:Number;
private var _width:Number;
private var
:int;
private var _x:Number;
private var :Number;
public function HitAreaInfo(pFrame:int, pX:Number, pY:Number, pWidth:Number, pHeight:Number, pEnableHitTest:Boolean=true){
super();
= pFrame;
_x = pX;
= pY;
_width = pWidth;
_height = pHeight;
= pEnableHitTest;
}
public function get y():Number{
return ();
}
public function get enableHitTest():Boolean{
return (
);
}
public function copy():HitAreaInfo{
return (new HitAreaInfo(
, _x, , _width, _height,
));
}
public function get frame():int{
return (
);
}
public function set enableHitTest(enableHitTest:Boolean):void{
= enableHitTest;
}
public function get height():Number{
return (_height);
}
public function get x():Number{
return (_x);
}
public function get width():Number{
return (_width);
}
}
}//package com.creetor.game.YLLegend.hitTest
Section 109
//HitChecker (com.creetor.game.YLLegend.hitTest.HitChecker)
package com.creetor.game.YLLegend.hitTest {
import flash.events.*;
import com.creetor.game.YLLegend.model.*;
public class HitChecker extends EventDispatcher {
private var :IHitter;
private var _hittedTargetList:Array;
private var _world:IWorld;
public function HitChecker(pWorld:IWorld, pHitter:IHitter){
super();
_world = pWorld;
= pHitter;
init();
}
private function (pTarget:IHurter):Boolean{
var i:uint;
while (i < _hittedTargetList.length) {
if (_hittedTargetList[i] == pTarget){
return (true);
};
i++;
};
return (false);
}
public function reset():void{
clearHittedTargetList();
trace("HitChecker::reset");
}
private function init():void{
_hittedTargetList = new Array();
}
public function hitCheck(pTarget:IHurter):void{
if ((pTarget)){
return;
};
if (.hitArea.hitTestObject(pTarget.getBodyArea())){
_hittedTargetList.push(pTarget);
.addHittedTarget(pTarget);
};
}
private function clearHittedTargetList():void{
_hittedTargetList = new Array();
}
public function dispose():void{
_world = null;
= null;
_hittedTargetList = null;
}
}
}//package com.creetor.game.YLLegend.hitTest
Section 110
//BossA (com.creetor.game.YLLegend.model.char.BossA)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.ai.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class BossA extends Char implements IBossAConsole {
private var _isHeavyAttack:Boolean;
public function BossA(pWorld:World, pX:Number, pY:Number){
super(pWorld, pX, pY, [CharAnimState.HEAVYATTACK]);
}
override protected function doAction(timeDiff:int):void{
if (_isHeavyAttack){
setNewAnimState(CharAnimState.HEAVYATTACK);
} else {
super.doAction(timeDiff);
};
}
override protected function initActionClipInfoList():void{
super.initActionClipInfoList();
defaultBodyAreaInfo = new HitAreaInfo(1, 9, -64, 100, 134);
defaultAttackAreaInfo = new HitAreaInfo(1, 0, 0, 2, 2);
_actionClipCtlrHash[CharAnimState.UP_HURT] = new StandHurtController(CharAnimState.UP_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.MID_HURT] = new StandHurtController(CharAnimState.MID_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.AIR_HURT] = new AirHurtController(CharAnimState.AIR_HURT, this, [new HitAreaInfo(1, 5, -39, 52, 58), new HitAreaInfo(7, 4, -19, 84, 38)]);
_actionClipCtlrHash[CharAnimState.FALLDOWN] = new Char_fallDown_ctlr(this, [new HitAreaInfo(1, 0, -13, 95, 40, false)]);
_actionClipCtlrHash[CharAnimState.ATTACK1] = new BossA_attack1_ctlr(this);
_actionClipCtlrHash[CharAnimState.HEAVYATTACK] = new BossA_heavyAttack_ctlr(this, 0.1);
var bodyAreaInfo:HitAreaInfo = defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
_actionClipCtlrHash[CharAnimState.JUMPATTACK] = new Char_jumpAttack_ctlr(this, [new HitAreaInfo(4, 97, 7, 137, 88), new HitAreaInfo(9, 38, -31, 32, 49, false)], 2, 1, 0.4, HurtType.AIR_HURT, 0.8, [bodyAreaInfo, new HitAreaInfo(9, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)]);
}
override public function get height():Number{
return (100);
}
override public function get width():Number{
return (50);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, "stand", false, false, false, 1, 0.08);
setAbility(300);
_isHeavyAttack = false;
}
override public function endAction(pActionName:String):void{
super.endAction(pActionName);
if (pActionName == CharAnimState.HEAVYATTACK){
endHeavyAttack();
};
}
public function endHeavyAttack():void{
_isHeavyAttack = false;
isActionLocked = false;
}
public function heavyAttack():void{
if (((!(isActionLocked)) && (!(_isInAir)))){
_isHeavyAttack = true;
isActionLocked = true;
};
}
override public function checkEnableJump():Boolean{
return (((super.checkEnableJump()) && (!(_isHeavyAttack))));
}
}
}//package com.creetor.game.YLLegend.model.char
Section 111
//BossB (com.creetor.game.YLLegend.model.char.BossB)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.ai.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class BossB extends Char implements IBossBConsole {
private var :Boolean;
private var _isUpCut:Boolean;
public function BossB(pWorld:World, pX:Number, pY:Number){
super(pWorld, pX, pY, [CharAnimState.RUN, CharAnimState.DASHATTACK, CharAnimState.UPCUT, CharAnimState.MAGICATTACK]);
}
override protected function doAction(timeDiff:int):void{
if (_isUpCut){
setNewAnimState(CharAnimState.UPCUT);
} else {
if ( ){
setNewAnimState(CharAnimState.MAGICATTACK);
} else {
super.doAction(timeDiff);
};
};
}
override protected function initActionClipInfoList():void{
super.initActionClipInfoList();
defaultBodyAreaInfo = new HitAreaInfo(1, -2, -45, 40, 90);
defaultAttackAreaInfo = new HitAreaInfo(1, 0, 0, 2, 2);
_actionClipCtlrHash[CharAnimState.UP_HURT] = new StandHurtController(CharAnimState.UP_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.MID_HURT] = new StandHurtController(CharAnimState.MID_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.AIR_HURT] = new AirHurtController(CharAnimState.AIR_HURT, this, [new HitAreaInfo(1, 5, -39, 52, 58), new HitAreaInfo(7, 4, -19, 84, 38)]);
_actionClipCtlrHash[CharAnimState.FALLDOWN] = new Char_fallDown_ctlr(this, [new HitAreaInfo(1, 0, -13, 95, 40, false)]);
_actionClipCtlrHash[CharAnimState.ATTACK1] = new BossB_attack1_ctlr(this);
var bodyAreaInfo:HitAreaInfo = defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
_actionClipCtlrHash[CharAnimState.JUMPATTACK] = new Char_jumpAttack_ctlr(this, [new HitAreaInfo(4, 17, -23, 54, 37), new HitAreaInfo(9, 17, -23, 54, 37, false)], 1, 1, 0.3, HurtType.AIR_HURT, 0.7, [bodyAreaInfo, new HitAreaInfo(9, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)]);
_actionClipCtlrHash[CharAnimState.RUN] = new Char_run_ctlr(this, 0.2, [bodyAreaInfo], 2);
_actionClipCtlrHash[CharAnimState.UPCUT] = new BossB_upCut_ctlr(this);
_actionClipCtlrHash[CharAnimState.MAGICATTACK] = new BossB_magicAttack_ctlr(this);
_actionClipCtlrHash[CharAnimState.DASHATTACK] = new BossB_dashAttack_ctlr(this, 0.2);
}
public function upCut():void{
if (((!(isActionLocked)) && (!(_isInAir)))){
_isUpCut = true;
isActionLocked = true;
};
}
public function launchShot(pX:Number, pY:Number):void{
_world.createIceBirdShot(this, pX, pY);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, "stand", false, false, false, 1, 0.12);
setAbility(300);
_isUpCut = false;
= false;
}
override public function endAction(pActionName:String):void{
super.endAction(pActionName);
if (pActionName == CharAnimState.UPCUT){
endUpCut();
} else {
if (pActionName == CharAnimState.MAGICATTACK){
endMagicAttack();
};
};
}
public function magicAttack():void{
if (((!(isActionLocked)) && (!(_isInAir)))){
= true;
isActionLocked = true;
};
}
override public function checkEnableJump():Boolean{
return (((super.checkEnableJump()) && (!(_isUpCut))));
}
private function endMagicAttack():void{
= false;
isActionLocked = false;
}
public function endUpCut():void{
_isUpCut = false;
isActionLocked = false;
}
}
}//package com.creetor.game.YLLegend.model.char
Section 112
//BossC (com.creetor.game.YLLegend.model.char.BossC)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.ai.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class BossC extends Char implements IBossCConsole {
private var _isHeavyAttack:Boolean;
private var _isJumpKick:Boolean;
public function BossC(pWorld:World, pX:Number, pY:Number){
super(pWorld, pX, pY, [CharAnimState.HEAVYATTACK, CharAnimState.JUMPKICK]);
}
override protected function doAction(timeDiff:int):void{
if (_isJumpKick){
setNewAnimState(CharAnimState.JUMPKICK);
} else {
if (_isHeavyAttack){
setNewAnimState(CharAnimState.HEAVYATTACK);
} else {
super.doAction(timeDiff);
};
};
}
override protected function initActionClipInfoList():void{
super.initActionClipInfoList();
defaultBodyAreaInfo = new HitAreaInfo(1, 9, -64, 100, 134);
defaultAttackAreaInfo = new HitAreaInfo(1, 0, 0, 2, 2);
_actionClipCtlrHash[CharAnimState.UP_HURT] = new StandHurtController(CharAnimState.UP_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.MID_HURT] = new StandHurtController(CharAnimState.MID_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.AIR_HURT] = new AirHurtController(CharAnimState.AIR_HURT, this, [new HitAreaInfo(1, 5, -39, 52, 58), new HitAreaInfo(7, 4, -19, 84, 38)]);
_actionClipCtlrHash[CharAnimState.FALLDOWN] = new Char_fallDown_ctlr(this, [new HitAreaInfo(1, 0, -13, 95, 40, false)]);
_actionClipCtlrHash[CharAnimState.ATTACK1] = new BossA_attack1_ctlr(this);
_actionClipCtlrHash[CharAnimState.HEAVYATTACK] = new BossC_heavyAttack_ctlr(this);
_actionClipCtlrHash[CharAnimState.JUMPKICK] = new BossC_jumpKick_ctlr(this);
var bodyAreaInfo:HitAreaInfo = defaultBodyAreaInfo.copy();
bodyAreaInfo.enableHitTest = false;
_actionClipCtlrHash[CharAnimState.JUMPATTACK] = new Char_jumpAttack_ctlr(this, [new HitAreaInfo(4, 97, 7, 137, 88), new HitAreaInfo(9, 38, -31, 32, 49, false)], 2, 1, 0.4, HurtType.AIR_HURT, 0.8, [bodyAreaInfo, new HitAreaInfo(9, bodyAreaInfo.x, bodyAreaInfo.y, bodyAreaInfo.width, bodyAreaInfo.height)]);
}
public function endHeavyAttack():void{
_isHeavyAttack = false;
isActionLocked = false;
}
override public function get height():Number{
return (100);
}
override public function get width():Number{
return (50);
}
private function endJumpKick():void{
_isJumpKick = false;
isActionLocked = false;
dispatchEvent(new BossCEvent(BossCEvent.END_JUMPKICK));
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, "stand", false, false, false, 1, 0.08);
setAbility(400);
_isHeavyAttack = false;
_isJumpKick = false;
}
override public function endAction(pActionName:String):void{
super.endAction(pActionName);
if (pActionName == CharAnimState.HEAVYATTACK){
endHeavyAttack();
} else {
if (pActionName == CharAnimState.JUMPKICK){
endJumpKick();
};
};
}
public function jumpKick():void{
if (((!(isActionLocked)) && (!(_isInAir)))){
_isJumpKick = true;
isActionLocked = true;
};
}
public function heavyAttack():void{
if (((!(isActionLocked)) && (!(_isInAir)))){
_isHeavyAttack = true;
isActionLocked = true;
};
}
override public function checkEnableJump():Boolean{
return (((((super.checkEnableJump()) && (!(_isHeavyAttack)))) && (!(_isJumpKick))));
}
public function launchShot(pX:Number, pY:Number):void{
_world.createSlashShot(this, pX, pY);
}
}
}//package com.creetor.game.YLLegend.model.char
Section 113
//Char (com.creetor.game.YLLegend.model.char.Char)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.ai.*;
import com.creetor.game.YLLegend.model.shot.*;
import flash.geom.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class Char extends SpriteObject implements IChar {
private var
:Boolean;
private var :Boolean;
private var :Number;
private var :Array;
private var :Boolean;
private var :Number;
private var :HitChecker;
private var :Number;
private var :Number;
private var
:Boolean;
private var
:Boolean;
private var :Boolean;
private var :Boolean;
private var :Number;
private var :Boolean;
private var :Number;
private var :Boolean;
private var :Number;
private var
:Boolean;
private var
:Object;
private var
:Boolean;
private var
:HitAreaInfo;
private var
:Boolean;
private var
:Number;
private var
:ICharAttribute;
private var
:Boolean;
private var
:Number;
private var
:Number;
private var
:Boolean;
private var
:Number;
private var
:Number;
private var
:String;
private var
:Boolean;
private var
:Boolean;
private var
:Boolean;
private var
:Boolean;
private var
:Number;
private var
:AsHitArea_sp;
private var _charOperator:ICharOperator;
private static const DAMAGE_UNIT:Number = 10;
private static const POWER_ADDED_UNIT:Number = 2;
protected static const POWER_UNIT:Number = 5;
public function Char(pWorld:IWorld, pX:Number, pY:Number, pAnimStateList:Array=null){
var i:uint;
var j:uint;
super(pWorld, pX, pY);
= [CharAnimState.STAND, CharAnimState.WALK, CharAnimState.JUMP, CharAnimState.UP_HURT, CharAnimState.MID_HURT, CharAnimState.AIR_HURT, CharAnimState.FALLDOWN, CharAnimState.JUMPATTACK, CharAnimState.ATTACK1];
if (pAnimStateList != null){
i = 0;
while (i < .length) {
j = 0;
while (j < pAnimStateList.length) {
if ([i] == pAnimStateList[j]){
pAnimStateList.splice(j, 1);
};
j++;
};
i++;
};
= .concat(pAnimStateList);
};
initActionClipInfoList();
}
override public function get beHittedAirSpeed():Number{
return ( );
}
private function ():void{
= false;
isActionLocked = false;
}
public function setCurHP(curHP:Number):void{
= curHP;
}
public function isFallDown():Boolean{
return (
);
}
public function normalAttack():void{
if (
){
squatAttack();
} else {
if (_isInAir){
jumpAttack();
} else {
if (){
dashAttack();
} else {
standAttack();
};
};
};
}
public function getHittedTargetAirSpeed():Number{
return (
().airSpeed);
}
private function jumpAttack():void{
if (!isActionLocked){
= true;
isActionLocked = true;
};
}
override public function hurt(pIHitable:IHitter):void{
var hurtType:String;
if (_invincible){
return;
};
actionClipCtlr.endAction();
actionClipCtlr.resetFreeze();
((pIHitable.getCurrentAttackPower() * DAMAGE_UNIT));
if (){
if (
>=
){
airHurt();
= 0.4;
} else {
++;
hurtType = pIHitable.getHittedTargetHurtType();
switch (hurtType){
case HurtType.UP_HURT:
upHurt();
break;
case HurtType.MID_HURT:
midHurt();
break;
case HurtType.AIR_HURT:
airHurt(pIHitable.getHittedTargetAirSpeed());
break;
};
= pIHitable.getHittedTargetBackSpeed();
};
} else {
airHurt(0.7);
= 0.4;
};
= pIHitable.getHittedTargetBackDir();
isActionLocked = true;
var hitable:IHitter = pIHitable;
if ((pIHitable is IShot)){
hitable = IShot(pIHitable).getOwner();
};
if (pIHitable.isBurning()){
= true;
} else {
= false;
};
dispatchEvent(new CharEvent(CharEvent.HURT, , (hitable as IChar)));
}
override public function dispose():void{
super.dispose();
_world = null;
.dispose();
= null;
= null;
= null;
_charOperator.dispose();
_charOperator = null;
.dispose();
= null;
}
public function jump():void{
if (!isInAir()){
= true;
};
}
protected function setValue(pDx:Number=0, pDy:Number=0, pInAir:Boolean=true, pDirection:int=1, pAnimstate:String="stand", pJump:Boolean=false, pMoveRight:Boolean=true, pMoveLeft:Boolean=false, pJumpSpeed:Number=1, pWalkSpeed:Number=0.08, pMaxHurtTimes:Number=5, pDefaultSpeed:Number=0.5):void{
_dx = pDx;
_dy = pDy;
_isInAir = pInAir;
_direction = pDirection;
_animstate = pAnimstate;
= pJump;
= pMoveRight;
= pMoveLeft;
= pJumpSpeed;
= pWalkSpeed;
= pMaxHurtTimes;
= pDefaultSpeed;
}
public function endMoveRight():void{
= false;
}
public function get isStandAttack():Boolean{
return ();
}
public function endSquat():void{
= false;
}
public function get curPP():Number{
return (
);
}
public function get totalPP():Number{
return (
);
}
protected function ():Boolean{
if ((((((((((_direction == 1)) && ((_world.modelListMapHash[((centerY + ",") + (rightX + 1))] is IImpassable)))) || ((((_direction == -1)) && ((_world.modelListMapHash[((centerY + ",") + (leftX - 1))] is IImpassable)))))) || (_hitWallLeft))) || (_hitWallRight))){
return (false);
};
return (true);
}
override protected function outOfVertiEdgesHandler():void{
super.outOfVertiEdgesHandler();
die();
}
public function squat():void{
= true;
}
override public function set beHittedBackSpeed(beHittedBackSpeed:Number):void{
= beHittedBackSpeed;
}
public function set isActionLocked(pIsActionLocked:Boolean):void{
= pIsActionLocked;
}
public function
():Boolean{
return (((isStandHurt()) || ()));
}
public function getCurrentAttackPower():Number{
return ((
().attackPower +
));
}
protected function initActionClipInfoList():void{
_actionClipCtlrHash = new Object();
}
public function getHittedTargetBackDir():Number{
return (
().backDirection);
}
protected function setAbility(pTotalHP:Number=160, pTotalPP:Number=160, pAttackPower:Number=0):void{
= ( = pTotalHP);
= (
= pTotalPP);
= pAttackPower;
}
public function resetHitArea():void{
.x =
.x;
.y =
.y;
.width =
.width;
.height =
.height;
.enableHitTest = false;
}
public function getAttackPower():Number{
return (
);
}
private function midHurt():void{
if (!_isInAir){
= true;
} else {
airHurt();
};
}
private function airHurt(pAirSpeed):void{
= true;
= pAirSpeed;
}
private function dashAttack():void{
endRun();
= true;
isActionLocked = true;
}
public function setAttribute(pAttribute:ICharAttribute):void{
= pAttribute;
}
public function die():void{
dispatchEvent(new CharEvent(CharEvent.DIE));
_world.remove(this);
}
public function setTotalHP(pTotalHP:Number):void{
= pTotalHP;
dispatchEvent(new CharEvent(CharEvent.UPDATE_TOTALHP, ));
}
public function run():void{
if (!isActionLocked){
= true;
isActionLocked = true;
};
}
public function getHittedTargetsAndClear():Array{
var tempList:Array = ;
= new Array();
return (tempList);
}
public function getCharOperator():ICharOperator{
return (_charOperator);
}
public function get dy():Number{
return (_dy);
}
override public function freeze(pFreezeTime:Number=0):void{
if ((((() || (
))) || ())){
actionClipCtlr.resetAnimate();
};
actionClipCtlr.setFreezeTime(pFreezeTime);
= true;
trace(((("freeze: " + getSp().scaleX) + ",") + pFreezeTime));
}
protected function checkHittedCharType(pChar:Char):Boolean{
return (getAttribute().checkHittedCharType(pChar));
}
public function
():void{
_horizontalChange = 0;
_newAnimState = CharAnimState.STAND;
_newDirection = _direction;
= 0;
}
protected function doAction(timeDiff:int):void{
if (
){
setNewAnimState(CharAnimState.DASHATTACK);
} else {
if (){
setNewAnimState(CharAnimState.RUN);
} else {
if (){
setNewAnimState(CharAnimState.ATTACK1);
} else {
if (
){
setNewAnimState(CharAnimState.SQUATATTACK);
} else {
if (
){
setNewAnimState(CharAnimState.JUMPATTACK);
} else {
if (
){
setNewAnimState(CharAnimState.SQUAT);
} else {
if (!isActionLocked){
if (
){
(-1, timeDiff);
} else {
if (
){
(1, timeDiff);
};
};
};
};
};
};
};
};
};
}
protected function set newAnimState(newAnimState:String):void{
_newAnimState = newAnimState;
}
public function addHittedTarget(pTarget:IHurter):void{
.push(pTarget);
}
private function ():void{
= false;
isActionLocked = false;
dispatchEvent(new CharEvent(CharEvent.GETUP));
}
public function fallDown():void{
= true;
isActionLocked = true;
}
public function get hitArea():AsHitArea_sp{
return (
);
}
public function get isMoveRight():Boolean{
return (
);
}
override public function resetFreeze():void{
= false;
}
override protected function setNewAnimState(pAnimState:String):void{
_newAnimState = pAnimState;
if ((_actionClipCtlrHash[_newAnimState] is IAttackAction)){
= _newAnimState;
};
}
public function getShotType():Object{
return (
);
}
public function moveRight():void{
= true;
if (
== true){
endMoveLeft();
};
}
public function getHittedTargetHurtType():String{
return (
().hurtType);
}
public function get isMoveLeft():Boolean{
return (
);
}
public function get isUpForwards():Boolean{
return (
);
}
override public function update(timeDiff:int):void{
if (timeDiff < 1){
return;
};
if (getSp() == null){
return;
};
if (!
){
_verticalChange = ((_dy * timeDiff) + (timeDiff * Game.GRAVITY));
if (_verticalChange > 15){
_verticalChange = 15;
};
_dy = (_dy + (timeDiff * Game.GRAVITY));
if (!isActionLocked){
();
};
};
doAction(timeDiff);
();
if (!
){
if (((
) && (!(isActionLocked)))){
();
};
if (_isInAir){
if (checkEnableJump()){
actionClipCtlr.endAction();
resetHitArea();
_newAnimState = CharAnimState.JUMP;
};
move();
};
};
_animstate = _newAnimState;
if (_animstate == CharAnimState.WALK){
setAnimation(CharAnimState.WALK);
} else {
setAnimation(_animstate);
};
if (_newDirection != _direction){
_direction = _newDirection;
_sp.scaleX = _direction;
};
super.update(timeDiff);
if (_charOperator != null){
_charOperator.update();
};
if (
!= null){
.update();
};
}
public function isInAir():Boolean{
return (_isInAir);
}
override public function get beHittedBackDir():Number{
return ( );
}
public function addPower(pPower:Number):void{
var PPadded:int = (pPower * POWER_ADDED_UNIT);
if ((
+ PPadded) <
){
= (
+ PPadded);
} else {
=
;
};
dispatchEvent(new CharEvent(CharEvent.ADD_POWER,
));
}
public function get isJumpAttack():Boolean{
return (
);
}
private function
():IAttackAction{
if ((actionClipCtlr is IAttackAction)){
return (IAttackAction(actionClipCtlr));
};
return (IAttackAction(_actionClipCtlrHash[
]));
}
override public function endAction(pActionName:String):void{
if (pActionName == CharAnimState.ATTACK1){
endStandAttack();
} else {
if (pActionName == CharAnimState.JUMP){
endJump();
} else {
if (pActionName == CharAnimState.SQUATATTACK){
();
} else {
if (pActionName == CharAnimState.UP_HURT){
();
} else {
if (pActionName == CharAnimState.AIR_HURT){
();
} else {
if (pActionName == CharAnimState.MID_HURT){
();
} else {
if (pActionName == CharAnimState.FALLDOWN){
();
} else {
if (pActionName == CharAnimState.JUMPATTACK){
();
} else {
if (pActionName == CharAnimState.RUN){
endRun();
} else {
if (pActionName == CharAnimState.DASHATTACK){
endDashAttack();
};
};
};
};
};
};
};
};
};
};
}
protected function
(pDir:int, timeDiff:int):void{
_newDirection = pDir;
moveX(timeDiff, );
setNewAnimState(CharAnimState.WALK);
}
public function isStandHurt():Boolean{
return ((() || (
)));
}
public function isRun():Boolean{
return ();
}
public function setCurPP(curPP:Number):void{
= curPP;
}
public function endUpForward():void{
= false;
}
override protected function init():void{
super.init();
setValue();
setAbility();
= true;
= false;
= false;
= false;
= false;
= false;
= false;
= false;
= 0;
= 0;
= 0;
= new HitChecker(_world, this);
= new Array();
}
public function get isUpHurt():Boolean{
return ();
}
private function
():void{
= false;
isActionLocked = false;
}
private function
():void{
= false;
isActionLocked = false;
}
override public function setActionClipCtrler(pAnimState:String, pLoopTimers:int=0):void{
_actionClipCtlrHash[pAnimState] = new SimpleActionCtlr(pAnimState, this, [defaultBodyAreaInfo], pLoopTimers);
}
override public function get beHittedBackSpeed():Number{
return ();
}
public function isBurning():Boolean{
return (
().isBurning);
}
public function get isActionLocked():Boolean{
return (
);
}
protected function dying():void{
= false;
}
public function squatAttack():void{
if (!isActionLocked){
= true;
isActionLocked = true;
};
}
public function getBurningHurt():Boolean{
return ();
}
private function
():void{
if (){
setNewAnimState(CharAnimState.AIR_HURT);
} else {
if (){
setNewAnimState(CharAnimState.UP_HURT);
} else {
if (
){
setNewAnimState(CharAnimState.MID_HURT);
} else {
if (
){
setNewAnimState(CharAnimState.FALLDOWN);
};
};
};
};
}
public function
(pDir:int):void{
_direction = pDir;
}
public function get isSquat():Boolean{
return (
);
}
public function hitCheck():void{
var i:uint;
while (i < _world.chars.length) {
if (checkHittedCharType(_world.chars.getItem(i))){
.hitCheck(_world.chars.getItem(i));
};
i++;
};
}
private function upHurt():void{
if (!_isInAir){
= true;
} else {
airHurt();
};
}
public function get isDashAttack():Boolean{
trace(("_isDashAttack: " +
));
return (
);
}
public function get curHP():Number{
return ();
}
private function
():void{
= false;
isActionLocked = false;
}
public function get totalHP():Number{
return ();
}
protected function
():void{
= false;
isActionLocked = false;
}
public function resetHitChecker():void{
.reset();
}
public function shotHitted(pAttackPower:Number):void{
}
private function
():void{
= false;
_isInAir = true;
_dy = -(
);
_verticalChange = -(
);
setNewAnimState(CharAnimState.JUMP);
}
public function addHP(pHPValue:int):void{
var HPadded:int = (pHPValue * DAMAGE_UNIT);
if (( + HPadded) >= ){
= ;
} else {
= ( + HPadded);
};
dispatchEvent(new CharEvent(CharEvent.ADD_HP, ));
}
public function isHitted():Boolean{
if (.length > 0){
return (true);
};
return (false);
}
public function doAirHurt():void{
if ( == 0){
return;
};
_isInAir = true;
_dy = -( );
_verticalChange = -( );
= 0;
}
protected function
(pDamageValue:Number):void{
if (( - pDamageValue) > 0){
= ( - pDamageValue);
} else {
= 0;
dying();
};
}
public function endMoveLeft():void{
= false;
}
public function moveLeft():void{
= true;
if (
== true){
endMoveRight();
};
}
public function checkEnableJump():Boolean{
return (((!()) && (!(
))));
}
override public function get actionClipCtlr():ActionClipController{
return (_actionClipCtlrHash[_animstate]);
}
public function setTotalPP(pTotalPP:Number):void{
= pTotalPP;
dispatchEvent(new CharEvent(CharEvent.UPDATE_TOTALPP,
));
}
public function set hitArea(pAttackArea:AsHitArea_sp):void{
= pAttackArea;
}
public function combo(pComboName:String):void{
}
public function getScreenPos():Point{
var x:Number = (_world.getSprite_sp().x + _sp.x);
var y:Number = (_world.getSprite_sp().y + _sp.y);
return (new Point(x, y));
}
public function getHittedTargetBackSpeed():Number{
return (
().backSpeed);
}
public function setCharOperator(charOperator:ICharOperator):void{
_charOperator = charOperator;
}
public function getHittedEffectType():String{
return (
().hittedEffectType);
}
public function getCurrentFreezeTime():Number{
return (
().freezeTime);
}
public function get isSquatAttack():Boolean{
return (
);
}
override protected function outOfHorizEdgesHandler():void{
super.outOfHorizEdgesHandler();
}
public function endJump():void{
= false;
}
public function upForward():void{
= true;
}
private function endDashAttack():void{
= false;
trace("endDashAttack");
isActionLocked = false;
}
public function endRun():void{
= false;
isActionLocked = false;
}
public function standAttack():void{
if (!isActionLocked){
= true;
isActionLocked = true;
};
}
override public function get defaultAnimState():String{
return (CharAnimState.STAND);
}
public function get isAlive():Boolean{
return ();
}
protected function usePower(pPower:Number):void{
if ((
- pPower) > 0){
= (
- pPower);
} else {
= 0;
};
dispatchEvent(new CharEvent(CharEvent.USE_POWER,
));
}
public function set defaultAttackAreaInfo(defaultAttackAreaInfo:HitAreaInfo):void{
= defaultAttackAreaInfo;
}
public function stand():void{
endMoveLeft();
endMoveRight();
endSquat();
endJump();
}
public function setAttackPower(attackPower:Number):void{
= attackPower;
}
public function endStandAttack():void{
= false;
isActionLocked = false;
}
public function get defaultAttackAreaInfo():HitAreaInfo{
return (
);
}
public function inAir(pAirSpeed:Number=0):void{
_isInAir = true;
if (pAirSpeed == 0){
_dy = -(
);
_verticalChange = -(
);
} else {
_dy = -(pAirSpeed);
_verticalChange = -(pAirSpeed);
};
}
public function getAttribute():ICharAttribute{
return (
);
}
public function setShotType(pShotType:Object):void{
= pShotType;
}
public function get isAirHurt():Boolean{
return ();
}
}
}//package com.creetor.game.YLLegend.model.char
Section 114
//CharAnimState (com.creetor.game.YLLegend.model.char.CharAnimState)
package com.creetor.game.YLLegend.model.char {
public class CharAnimState {
public static const ROTAATTACK:String = "rotaAttack";
public static const DRAGON_UPCUT:String = "dragonUpCut";
public static const JUMPKICK:String = "jumpKick";
public static const AIR_HURT:String = "airHurt";
public static const ROLLATTACK:String = "rollAttack";
public static const MID_HURT:String = "midHurt";
public static const WALK:String = "walk";
public static const MAGICATTACK:String = "magicAttack";
public static const DASHATTACK:String = "dashAttack";
public static const FALLDOWN:String = "fallDown";
public static const UPATTACK:String = "upAttack";
public static const FINALATTACK:String = "finalAttack";
public static const UPCUT:String = "upCut";
public static const ATTACK1:String = "attack1";
public static const ATTACK2:String = "attack2";
public static const RUN:String = "run";
public static const JUMP:String = "jump";
public static const HEAVYATTACK:String = "heavyAttack";
public static const SQUATKICK:String = "squatKick";
public static const SQUAT:String = "squat";
public static const SQUATATTACK:String = "squatAttack";
public static const UP_HURT:String = "upHurt";
public static const STAND:String = "stand";
public static const JUMPATTACK:String = "jumpAttack";
public function CharAnimState(){
super();
}
}
}//package com.creetor.game.YLLegend.model.char
Section 115
//EnemyAttribute (com.creetor.game.YLLegend.model.char.EnemyAttribute)
package com.creetor.game.YLLegend.model.char {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.item.*;
public class EnemyAttribute extends EventDispatcher implements IEnemyAttribute {
private var _world:IWorld;
private var _itemDropped:IItem;
private var _heroAddedExp:uint;
private var
:IChar;
public function EnemyAttribute(pChar:IChar, pWorld:IWorld){
super();
= pChar;
_world = pWorld;
}
public function update():void{
if (((((
.getSp().x + _world.getSprite_sp().x) > ((Game.WORLD_WIDTH + (5 * Game.TILE_WIDTH)) +
.width))) || (((
.getSp().x + _world.getSprite_sp().x) < ((-5 * Game.TILE_WIDTH) -
.width))))){
.actionClipCtlr.endAction();
.die();
};
//unresolved jump
var _slot1 = e;
}
public function getChar():IChar{
return (
);
}
public function hittedHandler():void{
}
public function get heroAddedExp():uint{
return (_heroAddedExp);
}
public function checkHittedCharType(pChar:IChar):Boolean{
return (!((pChar.getAttribute() is IEnemyAttribute)));
}
public function dispose():void{
= null;
_world = null;
_itemDropped = null;
}
private function dropItem():void{
var ran:Number;
if (_itemDropped == null){
ran = Math.random();
if (ran <= 0.1){
_itemDropped = _world.createPeach(
.getSp().x,
.getSp().y);
} else {
if (ran <= 0.125){
_itemDropped = _world.createPanax(
.getSp().x,
.getSp().y);
} else {
if (ran <= 0.225){
_itemDropped = _world.createGreCalabash(
.getSp().x,
.getSp().y);
} else {
if (ran <= 0.25){
_itemDropped = _world.createOraCalabash(
.getSp().x,
.getSp().y);
};
};
};
};
};
}
public function shotHittedHandler(pAttackPower:Number):void{
}
public function addHeroExp():void{
dispatchEvent(new EnemyEvent(EnemyEvent.DYING, _heroAddedExp));
dropItem();
}
public function set heroAddedExp(pHeroAddedExp:uint):void{
_heroAddedExp = pHeroAddedExp;
}
}
}//package com.creetor.game.YLLegend.model.char
Section 116
//HeroAttribute (com.creetor.game.YLLegend.model.char.HeroAttribute)
package com.creetor.game.YLLegend.model.char {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
import com.creetor.game.YLLegend.model.item.*;
import com.creetor.game.YLLegend.model.shot.*;
import com.creetor.game.YLLegend.model.scene.*;
import flash.utils.*;
public final class HeroAttribute extends EventDispatcher implements IHeroAttribute {
private var
:uint;
private var _hasTouchedDoor:Boolean;
private var _world:IWorld;
private var
:HeroSkillPakage;
private var _heroChar:IChar;
private var _hasTouchedAnchor:Boolean;
private var _exp:Number;
private static const EXP_UNIT:Number = 10;
public function HeroAttribute(pHeroChar:IChar, pWorld:IWorld){
super();
_heroChar = pHeroChar;
_world = pWorld;
= 1;
_exp = 0;
= new HeroSkillPakage();
.addQigong(new LitFireBallIcon(_world, {name:"Qigong_1_mc"}));
resetTouchDoor();
}
public function addSkillToPackage(pSkill):void{
var i:uint;
if ((pSkill is IItem)){
i = 0;
while (i <
.getComboList().length) {
if (ComboBook(pSkill).getName() ==
.getComboList()[i].getName()){
return;
};
i++;
};
.addCombo(pSkill);
};
}
private function (pComboDataList:Array):void{
var itemClass:Class;
var item:IItem;
var comboList:Array = new Array();
var i:uint;
while (i < pComboDataList.length) {
if ((pComboDataList[i].type is String)){
itemClass = (getDefinitionByName(("com.creetor.game.YLLegend.model.item." + pComboDataList[i].type)) as Class);
} else {
if ((pComboDataList[i].type is Class)){
itemClass = pComboDataList[i].type;
} else {
throw (new Error("unexpect type!"));
};
};
item = new itemClass(null, pComboDataList[i].child);
comboList.push(item);
updateSkillLocker(item);
i++;
};
.setComboList(comboList);
}
public function get level():uint{
return (
);
}
public function resetTouchAnchor():void{
_hasTouchedAnchor = false;
}
public function checkHittedCharType(pChar:IChar):Boolean{
return (!((pChar.getAttribute() == this)));
}
public function hittedHandler():void{
addExp((_heroChar.getCurrentAttackPower() * EXP_UNIT));
}
public function get exp():uint{
return (_exp);
}
public function dispose():void{
_world = null;
.dispose();
= null;
_heroChar = null;
}
public function getData():Object{
var data:HeroData = new HeroData();
data.curHP = _heroChar.curHP;
data.totalHP = _heroChar.totalHP;
data.curPP = _heroChar.curPP;
data.totalPP = _heroChar.totalPP;
data.exp = _exp;
data.level =
;
data.x = _heroChar.getSp().x;
data.y = _heroChar.getSp().y;
data.shotType = _heroChar.getShotType();
data.attackPower = _heroChar.getAttackPower();
var comboList:Array = new Array();
var i:uint;
while (i <
.getComboList().length) {
comboList.push(IDataSaveable(
.getComboList()[i]).getData());
i++;
};
data.comboList = comboList;
var qigongList:Array = new Array();
i = 0;
while (i <
.getQigongList().length) {
qigongList.push(IDataSaveable(
.getQigongList()[i]).getData());
i++;
};
data.qigongList = qigongList;
return (data);
}
private function checkInQigongList(pQigong:ShotIcon):Boolean{
var i:uint;
while (i <
.getQigongList().length) {
if (pQigong.getName() ==
.getQigongList()[i].getName()){
return (true);
};
i++;
};
return (false);
}
public function
():HeroSkillPakage{
return (
);
}
public function shotHittedHandler(pAttackPower:Number):void{
addExp((pAttackPower * EXP_UNIT));
}
private function updateQigongList(pQigongDataList:Array):void{
var itemClass:Class;
var qigongList:Array = new Array();
var len:uint = pQigongDataList.length;
var i:uint;
while (i < len) {
if ((pQigongDataList[i].type is String)){
itemClass = (getDefinitionByName(("com.creetor.game.YLLegend.model.item." + pQigongDataList[i].type)) as Class);
} else {
if ((pQigongDataList[i].type is Class)){
itemClass = pQigongDataList[i].type;
} else {
throw (new Error("unexpect type!"));
};
};
qigongList.push(new itemClass(null, pQigongDataList[i].child));
i++;
};
.setQigongList(qigongList);
}
private function checkTouchAnchor():void{
var obj:Object = _world.getMapModel(1, (_heroChar.getCenterX() + 1));
if ((((((obj is Anchor)) && (!(Anchor(obj).getHasDropped())))) && (!(_hasTouchedAnchor)))){
_hasTouchedAnchor = true;
dispatchEvent(new HeroEvent(HeroEvent.TOUCH_ANCHOR));
};
}
public function levelUp():void{
var qigong:ShotIcon;
if (
< 99){
++;
if (
== 4){
qigong = new MidFireBallIcon(_world, {name:"Qigong_2_mc"});
if (!checkInQigongList(qigong)){
.addQigong(qigong);
dispatchEvent(new HeroEvent(HeroEvent.LEARN_SKILL, qigong));
};
} else {
if (
== 6){
qigong = new BigFireBallIcon(_world, {name:"Qigong_3_mc"});
if (!checkInQigongList(qigong)){
.addQigong(qigong);
dispatchEvent(new HeroEvent(HeroEvent.LEARN_SKILL, qigong));
};
} else {
if (
> 4){
ShotType.setDragonShot((
- 4));
};
};
};
if (_heroChar.totalHP <= 290){
_heroChar.setTotalHP((_heroChar.totalHP + 10));
};
if (_heroChar.totalPP <= 290){
_heroChar.setTotalPP((_heroChar.totalPP + 10));
};
if (
== 18){
_heroChar.setAttackPower(1);
} else {
if (
== 28){
_heroChar.setAttackPower(2);
} else {
if (
== 38){
_heroChar.setAttackPower(3);
} else {
if (
== 48){
_heroChar.setAttackPower(4);
};
};
};
};
dispatchEvent(new HeroEvent(HeroEvent.LEVEL_UP,
));
};
}
private function updateSkillLocker(item:IItem):void{
if ((item is SquatKickBook)){
ISkillLockable(_heroChar.getCharOperator()).getSkillLocker().unlock(CharAnimState.SQUATKICK);
} else {
if ((item is HeavyAttackBook)){
ISkillLockable(_heroChar.getCharOperator()).getSkillLocker().unlock(CharAnimState.HEAVYATTACK);
} else {
if ((item is UpCutBook)){
ISkillLockable(_heroChar.getCharOperator()).getSkillLocker().unlock(CharAnimState.UPCUT);
} else {
if ((item is DragonUpCutBook)){
ISkillLockable(_heroChar.getCharOperator()).getSkillLocker().unlock(CharAnimState.DRAGON_UPCUT);
} else {
if ((item is DragonShotBook)){
.addQigong(new DragonShotIcon(_world, {name:"Qigong_4_mc"}));
} else {
if ((item is DBDragonShotBook)){
.addQigong(new DBDragonShotIcon(_world, {name:"Qigong_5_mc"}));
};
};
};
};
};
};
}
public function setData(pData:Object):void{
_heroChar.setCurHP(pData.curHP);
_heroChar.setTotalHP(pData.totalHP);
if (_heroChar.curHP <= 50){
_heroChar.addHP(Panax.HP_ADDED);
} else {
if (_heroChar.curHP <= 80){
_heroChar.addHP(Peach.HP_ADDED);
};
};
_heroChar.setCurPP(pData.curPP);
_heroChar.setTotalPP(pData.totalPP);
_heroChar.moveTo(pData.x, pData.y);
if (
> 4){
ShotType.setDragonShot((
- 4));
};
_heroChar.setShotType(pData.shotType);
_heroChar.setAttackPower(pData.attackPower);
_exp = pData.exp;
= pData.level;
(pData.comboList);
updateQigongList(pData.qigongList);
}
public function update():void{
if (((!((_heroChar.getHorizontalChange() == 0))) || (_heroChar.isUpForwards))){
checkTouchDoor();
checkTouchAnchor();
checkPickUpItem();
};
}
public function addExp(pExp:Number):void{
_exp = (_exp + pExp);
var event:HeroEvent = new HeroEvent(HeroEvent.ADD_EXP, exp);
dispatchEvent(event);
}
public function getChar():IChar{
return (_heroChar);
}
public function setShotType(pShotType:Object):void{
_heroChar.setShotType(pShotType);
}
public function unlockAllSkills():void{
var comboTypeList:Array = [SquatKickBook, HeavyAttackBook, DragonShotBook, UpCutBook, DBDragonShotBook, DragonUpCutBook];
var comboList:Array = new Array();
var i:uint;
while (i < comboTypeList.length) {
if ((((i == 2)) || ((i == 4)))){
comboList.push({type:comboTypeList[i], child:{name:"Item_6_mc", x:0, y:0}});
} else {
if (i == 5){
comboList.push({type:comboTypeList[i], child:{name:"Item_7_mc", x:0, y:0}});
} else {
comboList.push({type:comboTypeList[i], child:{name:"Item_5_mc", x:0, y:0}});
};
};
i++;
};
(comboList);
var shotTypeList:Array = [LitFireBallIcon, MidFireBallIcon, BigFireBallIcon, DragonShotIcon, DBDragonShotIcon];
var shotList:Array = new Array();
i = 0;
while (i < shotTypeList.length) {
shotList.push({type:shotTypeList[i], child:{name:(("Qigong_" + (i + 1)) + "_mc"), x:0, y:0}});
i++;
};
updateQigongList(shotList);
ISkillLockable(_heroChar.getCharOperator()).getSkillLocker().unlockAll();
}
private function checkTouchDoor():void{
var obj:Object = _world.getMapModel((_heroChar.getCenterY() + 1), (_heroChar.getCenterX() + 1));
if ((((obj is Door)) && (!(_hasTouchedDoor)))){
if (Door(obj).getIsUpForwards()){
if (((!(_heroChar.isUpForwards)) || (!((_heroChar.getHorizontalChange() == 0))))){
return;
};
};
_hasTouchedDoor = true;
_heroChar.setCenter(Door(obj).getHeroPosX(), Door(obj).getHeroPosY());
dispatchEvent(new HeroEvent(HeroEvent.TOUCH_DOOR));
};
}
private function checkPickUpItem():void{
var i:uint;
var item:IItem;
if (_world.items.length > 0){
while (i < _world.items.length) {
item = IItem(_world.items.getItem(i));
if (_heroChar.getBodyArea().hitTestObject(item.getSp())){
item.bePickedUp();
dispatchEvent(new HeroEvent(HeroEvent.GET_ITEM, item));
if ((item is ComboBook)){
updateSkillLocker(item);
} else {
if ((item is Peach)){
_heroChar.addHP(Peach.HP_ADDED);
item.dispose();
} else {
if ((item is Panax)){
_heroChar.addHP(Panax.HP_ADDED);
item.dispose();
} else {
if ((item is GreCalabash)){
_heroChar.addPower(GreCalabash.PP_ADDED);
item.dispose();
} else {
if ((item is OraCalabash)){
_heroChar.addPower(OraCalabash.PP_ADDED);
item.dispose();
};
};
};
};
};
};
i++;
};
};
}
public function resetTouchDoor():void{
_hasTouchedDoor = false;
}
}
}//package com.creetor.game.YLLegend.model.char
Section 117
//HeroSkillPakage (com.creetor.game.YLLegend.model.char.HeroSkillPakage)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.item.*;
public class HeroSkillPakage {
private var :Array;
private var
:Array;
public function HeroSkillPakage(){
super();
init();
}
public function setComboList(comboList:Array):void{
= comboList;
}
public function addCombo(pCombo:IItem):void{
.push(pCombo);
}
private function init():void{
= new Array();
= new Array();
}
public function getComboList():Array{
return ( );
}
public function setQigongList(qigongList:Array):void{
= qigongList;
}
public function addQigong(pQigong:IItem):void{
.push(pQigong);
}
public function getQigongList():Array{
return (
);
}
public function dispose():void{
= null;
= null;
}
}
}//package com.creetor.game.YLLegend.model.char
Section 118
//IChar (com.creetor.game.YLLegend.model.char.IChar)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.ai.*;
public interface IChar extends ISpriteObject, ICharAccessor, IHitter, ICharConsole {
function die():void;
function setTotalPP(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:Number):void;
function addPower(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:Number):void;
function setCurHP(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:Number):void;
function endJump():void;
function setTotalHP(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:Number):void;
function getCharOperator():ICharOperator;
function
():void;
function setShotType(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:Object):void;
function addHP(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:int):void;
function setAttribute(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:ICharAttribute):void;
function setAttackPower(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:Number):void;
function setCharOperator(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:ICharOperator):void;
function setCurPP(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IChar.as:Number):void;
}
}//package com.creetor.game.YLLegend.model.char
Section 119
//ICharAccessor (com.creetor.game.YLLegend.model.char.ICharAccessor)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
import flash.geom.*;
import com.creetor.game.YLLegend.hitTest.*;
public interface ICharAccessor extends ISpriteObjectAccessor {
function get curPP():Number;
function get isUpForwards():Boolean;
function get isAlive():Boolean;
function get totalPP():Number;
function getAttribute():ICharAttribute;
function get isSquat():Boolean;
function get curHP():Number;
function isHitWallRight():Boolean;
function get isActionLocked():Boolean;
function get totalHP():Number;
function isFallDown():Boolean;
function getShotType():Object;
function getScreenPos():Point;
function getBurningHurt():Boolean;
function getAttackPower():Number;
function
():Boolean;
function isHitWallLeft():Boolean;
function get defaultBodyAreaInfo():HitAreaInfo;
}
}//package com.creetor.game.YLLegend.model.char
Section 120
//ICharAttribute (com.creetor.game.YLLegend.model.char.ICharAttribute)
package com.creetor.game.YLLegend.model.char {
import flash.events.*;
public interface ICharAttribute extends IEventDispatcher {
function shotHittedHandler(pChar:Number):void;
function checkHittedCharType(:IChar):Boolean;
function update():void;
function hittedHandler():void;
function getChar():IChar;
function dispose():void;
}
}//package com.creetor.game.YLLegend.model.char
Section 121
//IEnemyAttribute (com.creetor.game.YLLegend.model.char.IEnemyAttribute)
package com.creetor.game.YLLegend.model.char {
public interface IEnemyAttribute extends ICharAttribute {
function addHeroExp():void;
function set heroAddedExp(:uint):void;
function get heroAddedExp():uint;
}
}//package com.creetor.game.YLLegend.model.char
Section 122
//IHeroAttribute (com.creetor.game.YLLegend.model.char.IHeroAttribute)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.*;
public interface IHeroAttribute extends ICharAttribute, IDataSaveable, IDataLoadable {
function
():HeroSkillPakage;
function get level():uint;
function resetTouchAnchor():void;
function setShotType(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IHeroAttribute.as:Object):void;
function unlockAllSkills():void;
function addSkillToPackage(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IHeroAttribute.as):void;
function addExp(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\char;IHeroAttribute.as:Number):void;
function get exp():uint;
function resetTouchDoor():void;
function levelUp():void;
}
}//package com.creetor.game.YLLegend.model.char
Section 123
//SoldierA (com.creetor.game.YLLegend.model.char.SoldierA)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SoldierA extends Char {
public function SoldierA(pWorld:IWorld, pX:Number, pY:Number){
super(pWorld, pX, pY);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, "stand", false, false, false, 1, 0.08);
setAbility(40);
}
override protected function initActionClipInfoList():void{
super.initActionClipInfoList();
defaultBodyAreaInfo = new HitAreaInfo(1, 0, -45, 50, 90);
defaultAttackAreaInfo = new HitAreaInfo(1, 0, 0, 2, 2);
_actionClipCtlrHash[CharAnimState.UP_HURT] = new StandHurtController(CharAnimState.UP_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.MID_HURT] = new StandHurtController(CharAnimState.MID_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.AIR_HURT] = new AirHurtController(CharAnimState.AIR_HURT, this, [new HitAreaInfo(1, 5, -39, 52, 58), new HitAreaInfo(7, 4, -19, 84, 38)]);
_actionClipCtlrHash[CharAnimState.FALLDOWN] = new Char_fallDown_ctlr(this, [new HitAreaInfo(1, 0, -13, 95, 40, false)]);
_actionClipCtlrHash[CharAnimState.ATTACK1] = new SoldierA_attack1_ctlr(this);
_actionClipCtlrHash[CharAnimState.JUMPATTACK] = new Char_jumpAttack_ctlr(this, [new HitAreaInfo(4, 38, -78, 37, 37), new HitAreaInfo(7, 38, -31, 32, 49), new HitAreaInfo(14, 30, -19, 32, 31)]);
}
}
}//package com.creetor.game.YLLegend.model.char
Section 124
//SoldierA2 (com.creetor.game.YLLegend.model.char.SoldierA2)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
public class SoldierA2 extends SoldierA {
public function SoldierA2(pWorld:IWorld, pX:Number, pY:Number){
super(pWorld, pX, pY);
setAbility(80, 0, 1);
}
}
}//package com.creetor.game.YLLegend.model.char
Section 125
//SoldierB (com.creetor.game.YLLegend.model.char.SoldierB)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.ai.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SoldierB extends Char implements ISoldierBConsole {
private var
:Boolean;
public function SoldierB(pWorld:IWorld, pX:Number, pY:Number){
super(pWorld, pX, pY, [CharAnimState.ROLLATTACK]);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, "stand", false, false, false, 1, 0.12);
setAbility(60);
= false;
}
override protected function doAction(timeDiff:int):void{
if (
){
setNewAnimState(CharAnimState.ROLLATTACK);
} else {
super.doAction(timeDiff);
};
}
override protected function initActionClipInfoList():void{
super.initActionClipInfoList();
defaultBodyAreaInfo = new HitAreaInfo(1, 0, -45, 50, 90);
defaultAttackAreaInfo = new HitAreaInfo(1, 0, 0, 2, 2);
_actionClipCtlrHash[CharAnimState.UP_HURT] = new StandHurtController(CharAnimState.UP_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.MID_HURT] = new StandHurtController(CharAnimState.MID_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.AIR_HURT] = new AirHurtController(CharAnimState.AIR_HURT, this, [new HitAreaInfo(1, 5, -39, 52, 58), new HitAreaInfo(7, 4, -19, 84, 38)]);
_actionClipCtlrHash[CharAnimState.FALLDOWN] = new Char_fallDown_ctlr(this, [new HitAreaInfo(1, 0, -13, 95, 40, false)]);
_actionClipCtlrHash[CharAnimState.ATTACK1] = new SoldierA_attack1_ctlr(this);
_actionClipCtlrHash[CharAnimState.JUMPATTACK] = new Char_jumpAttack_ctlr(this, [new HitAreaInfo(1, -68, -80, 45, 44), new HitAreaInfo(3, 41, -54, 45, 44), new HitAreaInfo(5, 24, -3, 45, 44), new HitAreaInfo(7, -49, 2, 45, 44), new HitAreaInfo(9, -87, -40, 45, 44), new HitAreaInfo(11, -82, -69, 45, 44)]);
_actionClipCtlrHash[CharAnimState.ROLLATTACK] = new SoldierB_rollAttack_ctlr(this, 0.2);
}
public function rollAttack():void{
if (!isActionLocked){
= true;
isActionLocked = true;
};
}
public function
():void{
= false;
isActionLocked = false;
}
override public function endAction(pActionName:String):void{
super.endAction(pActionName);
if (pActionName == CharAnimState.ROLLATTACK){
();
};
}
}
}//package com.creetor.game.YLLegend.model.char
Section 126
//SoldierB2 (com.creetor.game.YLLegend.model.char.SoldierB2)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
public class SoldierB2 extends SoldierB {
public function SoldierB2(pWorld:IWorld, pX:Number, pY:Number){
super(pWorld, pX, pY);
setAbility(100, 0, 1);
}
}
}//package com.creetor.game.YLLegend.model.char
Section 127
//SoldierC (com.creetor.game.YLLegend.model.char.SoldierC)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SoldierC extends Char {
public function SoldierC(pWorld:IWorld, pX:Number, pY:Number){
super(pWorld, pX, pY);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, "stand", false, false, false, 1, 0.08);
setAbility(100);
}
override protected function initActionClipInfoList():void{
super.initActionClipInfoList();
defaultBodyAreaInfo = new HitAreaInfo(1, 0, -45, 50, 90);
defaultAttackAreaInfo = new HitAreaInfo(1, 0, 0, 2, 2);
_actionClipCtlrHash[CharAnimState.UP_HURT] = new StandHurtController(CharAnimState.UP_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.MID_HURT] = new StandHurtController(CharAnimState.MID_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.AIR_HURT] = new AirHurtController(CharAnimState.AIR_HURT, this, [new HitAreaInfo(1, 5, -39, 52, 58), new HitAreaInfo(7, 4, -19, 84, 38)]);
_actionClipCtlrHash[CharAnimState.FALLDOWN] = new Char_fallDown_ctlr(this, [new HitAreaInfo(1, 0, -13, 95, 40, false)]);
_actionClipCtlrHash[CharAnimState.ATTACK1] = new SoldierC_attack1_ctlr(this);
_actionClipCtlrHash[CharAnimState.JUMPATTACK] = new Char_jumpAttack_ctlr(this, [new HitAreaInfo(4, 38, -78, 37, 37), new HitAreaInfo(7, 38, -31, 32, 49), new HitAreaInfo(14, 30, -19, 32, 31)], 2);
}
}
}//package com.creetor.game.YLLegend.model.char
Section 128
//SoldierC2 (com.creetor.game.YLLegend.model.char.SoldierC2)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
public class SoldierC2 extends SoldierC {
public function SoldierC2(pWorld:IWorld, pX:Number, pY:Number){
super(pWorld, pX, pY);
setAbility(160, 0, 1);
}
}
}//package com.creetor.game.YLLegend.model.char
Section 129
//YanLoong (com.creetor.game.YLLegend.model.char.YanLoong)
package com.creetor.game.YLLegend.model.char {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.ai.*;
import com.creetor.game.YLLegend.model.shot.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
import flash.utils.*;
import com.creetor.game.YLLegend.action.YanLoong.*;
public final class YanLoong extends Char implements IYanLoongConsole {
private var _upCutSpeed:Number;
private var _seriateAttackCounter:Number;
private var _squatKickSpeed:Number;
private var _isUpAttack:Boolean;
private var _isDragonUpCut:Boolean;
private var :Boolean;
private var _isFinalAttack:Boolean;
private var starty:Number;
private var startx:Number;
private var _isUpCut:Boolean;
private var _isAttack2:Boolean;
private var _isHeavyAttack:Boolean;
private var _isSquatKick:Boolean;
private var _standAttackTime:uint;
private var _isRotaAttack:Boolean;
private static const STAND_ATTACK_INTERVAL:int = -250;
private static const ROTA_ATTACK_POWER_USED:Number = 20;
private static const DRAGONUPCUT_POWER_USED:Number = 80;
public function YanLoong(pWorld:World, pX:Number, pY:Number){
super(pWorld, pX, pY, [CharAnimState.STAND, CharAnimState.WALK, CharAnimState.SQUAT, CharAnimState.ATTACK1, CharAnimState.ATTACK2, CharAnimState.DASHATTACK, CharAnimState.FINALATTACK, CharAnimState.HEAVYATTACK, CharAnimState.UP_HURT, CharAnimState.MID_HURT, CharAnimState.AIR_HURT, CharAnimState.JUMP, CharAnimState.JUMPATTACK, CharAnimState.MAGICATTACK, CharAnimState.RUN, CharAnimState.SQUATATTACK, CharAnimState.SQUATKICK, CharAnimState.UPATTACK, CharAnimState.UPCUT, CharAnimState.ROTAATTACK, CharAnimState.DRAGON_UPCUT]);
}
private function endFinalAttack():void{
trace("endFinalAttack");
_isFinalAttack = false;
isActionLocked = false;
}
override public function checkEnableJump():Boolean{
return (((((((((super.checkEnableJump()) && (!(_isUpCut)))) && (!( )))) && (!(_isHeavyAttack)))) && (!(_isDragonUpCut))));
}
private function endUpCut():void{
_isUpCut = false;
isActionLocked = false;
}
public function endRotaAttack():void{
_isRotaAttack = false;
isActionLocked = false;
}
public function endAttack2():void{
_isAttack2 = false;
isActionLocked = false;
_standAttackTime = getTimer();
}
override protected function init():void{
super.init();
setValue(0, 0, false, 1, "stand", false, false, false, 1, 0.16, 2);
setAbility(100, 100);
_isSquatKick = false;
_isRotaAttack = false;
_isUpCut = false;
_isDragonUpCut = false;
= false;
_isAttack2 = false;
_isUpAttack = false;
_isFinalAttack = false;
_isHeavyAttack = false;
_seriateAttackCounter = 0;
startx = initPos.x;
starty = initPos.y;
_squatKickSpeed = 0.2;
_upCutSpeed = 0.1;
setShotType(ShotType.LIT_FIREBALL);
_standAttackTime = 0;
}
public function endSquatKick():void{
_isSquatKick = false;
isActionLocked = false;
}
private function endHeavyAttack():void{
_isHeavyAttack = false;
isActionLocked = false;
}
override protected function doAction(timeDiff:int):void{
if (_isRotaAttack){
setNewAnimState(CharAnimState.ROTAATTACK);
} else {
if (_isDragonUpCut){
setNewAnimState(CharAnimState.DRAGON_UPCUT);
} else {
if (_isUpCut){
setNewAnimState(CharAnimState.UPCUT);
} else {
if (_isHeavyAttack){
setNewAnimState(CharAnimState.HEAVYATTACK);
} else {
if ( ){
setNewAnimState(CharAnimState.MAGICATTACK);
} else {
if (_isSquatKick){
setNewAnimState(CharAnimState.SQUATKICK);
} else {
if (_isAttack2){
setNewAnimState(CharAnimState.ATTACK2);
} else {
if (_isUpAttack){
setNewAnimState(CharAnimState.UPATTACK);
} else {
if (_isFinalAttack){
setNewAnimState(CharAnimState.FINALATTACK);
} else {
super.doAction(timeDiff);
};
};
};
};
};
};
};
};
};
}
public function get isUpCut():Boolean{
return (_isUpCut);
}
public function get isSquatKick():Boolean{
return (_isSquatKick);
}
private function upCut():void{
if (isRun()){
endRun();
};
if (((!(isInAir())) && (!(isActionLocked)))){
_isUpCut = true;
isActionLocked = true;
};
}
override protected function outOfHorizEdgesHandler():void{
}
public function squatKick():void{
if (isRun()){
endRun();
};
if (!isActionLocked){
_isSquatKick = true;
isActionLocked = true;
};
}
public function endUpAttack():void{
_isUpAttack = false;
isActionLocked = false;
_standAttackTime = getTimer();
}
override public function shotHitted(pAttackPower:Number):void{
getAttribute().shotHittedHandler(pAttackPower);
}
private function upAttack():void{
if (!isActionLocked){
_isUpAttack = true;
isActionLocked = true;
};
}
override public function standAttack():void{
if (!isActionLocked){
setStandAttackType();
};
switch (_seriateAttackCounter){
case 0:
super.standAttack();
break;
case 1:
attack2();
break;
case 2:
upAttack();
break;
case 3:
finalAttack();
break;
};
}
override public function combo(pComboName:String):void{
if ((((pComboName == "combo_0")) || ((pComboName == "combo_1")))){
upCut();
} else {
if ((((pComboName == "combo_2")) || ((pComboName == "combo_3")))){
heavyAttack();
} else {
if ((((pComboName == "combo_4")) || ((pComboName == "combo_5")))){
dragonUpCut();
};
};
};
}
override public function update(timeDiff:int):void{
super.update(timeDiff);
if (isHitted()){
addPower(getCurrentAttackPower());
getAttribute().hittedHandler();
};
}
public function launchShot(pX:Number=56, pY:Number=-47, pShotType:Object=null):void{
var shotType:Object;
var shot:IExplodeable;
if (pShotType == null){
shotType = getShotType();
} else {
shotType = pShotType;
};
var powerUse:Number = (shotType.power * POWER_UNIT);
if (curPP >= powerUse){
switch (shotType.name){
case ShotType.LIT_FIREBALL.name:
shot = _world.createLitFireBall(this, pX, pY);
break;
case ShotType.MID_FIREBALL.name:
shot = _world.createMidFireBall(this, pX, pY);
break;
case ShotType.BIG_FIREBALL.name:
shot = _world.createBigFireBall(this, pX, pY);
break;
case ShotType.DRAGON_SHOT.name:
shot = _world.createDragonShot(this, pX, pY, shotType.segNum);
break;
case ShotType.DB_DRAGON_SHOT.name:
_world.createDragonShot(this, pX, pY, shotType.segNum);
_world.createDragonShot(this, pX, pY, shotType.segNum, -1);
break;
case ShotType.FIRE_DRAGON_SHOT.name:
shot = _world.createFireDragonShot(this, pX, pY);
break;
};
usePower(powerUse);
};
}
public function rotaAttack():void{
if ((((curPP > ROTA_ATTACK_POWER_USED)) && (!(_isRotaAttack)))){
if (isRun()){
endRun();
};
if (((!(isActionLocked)) || (isStandHurt()))){
actionClipCtlr.endAction();
actionClipCtlr.resetFreeze();
_isRotaAttack = true;
isActionLocked = true;
usePower(ROTA_ATTACK_POWER_USED);
};
};
}
private function dragonUpCut():void{
if ((((curPP > DRAGONUPCUT_POWER_USED)) && (!(_isRotaAttack)))){
if (isRun()){
endRun();
};
if (((!(isActionLocked)) && (!(_isInAir)))){
_isDragonUpCut = true;
isActionLocked = true;
usePower(DRAGONUPCUT_POWER_USED);
};
};
}
private function setStandAttackType():void{
if (_standAttackTime == 0){
_seriateAttackCounter = 0;
_standAttackTime = getTimer();
} else {
if ((_standAttackTime - (_standAttackTime = getTimer())) > STAND_ATTACK_INTERVAL){
if (_seriateAttackCounter < 3){
_seriateAttackCounter++;
} else {
_seriateAttackCounter = 0;
};
} else {
_standAttackTime = 0;
_seriateAttackCounter = 0;
};
};
}
private function magicAttack():void{
if (((!(isActionLocked)) && (!(_isInAir)))){
= true;
isActionLocked = true;
};
}
public function get upCutSpeed():Number{
return (_upCutSpeed);
}
override protected function initActionClipInfoList():void{
super.initActionClipInfoList();
defaultBodyAreaInfo = new HitAreaInfo(1, -2, -45, 40, 90);
defaultAttackAreaInfo = new HitAreaInfo(1, 0, 0, 2, 2);
_actionClipCtlrHash[CharAnimState.ATTACK1] = new YanLoong_attack1_ctlr(this);
_actionClipCtlrHash[CharAnimState.JUMP] = new SimpleActionCtlr(CharAnimState.JUMP, this, [defaultBodyAreaInfo], 1);
_actionClipCtlrHash[CharAnimState.SQUAT] = new SimpleActionCtlr(CharAnimState.SQUAT, this, [new HitAreaInfo(1, 1, -32, 40, 64)], 1);
_actionClipCtlrHash[CharAnimState.SQUATATTACK] = new YanLoong_squatAttack_ctlr(this);
_actionClipCtlrHash[CharAnimState.SQUATKICK] = new YanLoong_squatKick_ctlr(this);
_actionClipCtlrHash[CharAnimState.UPCUT] = new YanLoong_upCut_ctlr(this);
_actionClipCtlrHash[CharAnimState.DRAGON_UPCUT] = new YanLoong_dragonUpCut_ctlr(this);
_actionClipCtlrHash[CharAnimState.MAGICATTACK] = new YanLoong_magicAttack_ctlr(this);
_actionClipCtlrHash[CharAnimState.ATTACK2] = new YanLoong_attack2_ctlr(this);
_actionClipCtlrHash[CharAnimState.UPATTACK] = new YanLoong_upAttack_ctlr(this);
_actionClipCtlrHash[CharAnimState.JUMPATTACK] = new Char_jumpAttack_ctlr(this, [new HitAreaInfo(1, 21, -22, 32, 30), new HitAreaInfo(5, -20, -19, 32, 30), new HitAreaInfo(7, -38, -24, 32, 30), new HitAreaInfo(7, -38, -24, 32, 30, false)]);
_actionClipCtlrHash[CharAnimState.RUN] = new Char_run_ctlr(this, 0.2);
_actionClipCtlrHash[CharAnimState.DASHATTACK] = new YanLoong_dashAttack_ctlr(this, 0.2);
_actionClipCtlrHash[CharAnimState.FINALATTACK] = new YanLoong_finalAttack_ctlr(this, 0.1);
_actionClipCtlrHash[CharAnimState.HEAVYATTACK] = new YanLoong_heavyAttack_ctlr(this, 0.2);
_actionClipCtlrHash[CharAnimState.UP_HURT] = new StandHurtController(CharAnimState.UP_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.MID_HURT] = new StandHurtController(CharAnimState.MID_HURT, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[CharAnimState.AIR_HURT] = new AirHurtController(CharAnimState.AIR_HURT, this, [new HitAreaInfo(1, 2.5, -36, 67, 53), new HitAreaInfo(4, 0, -21, 87, 34)]);
_actionClipCtlrHash[CharAnimState.FALLDOWN] = new Char_fallDown_ctlr(this, [new HitAreaInfo(1, -1, -15, 90, 40, false)]);
_actionClipCtlrHash[CharAnimState.ROTAATTACK] = new YanLoong_rotaAttack_ctlr(this);
}
override public function endStandAttack():void{
super.endStandAttack();
_standAttackTime = getTimer();
}
private function finalAttack():void{
if (!isActionLocked){
_isFinalAttack = true;
isActionLocked = true;
};
}
override protected function checkHoriEdges(pDir:int, pX:Number):Boolean{
if ((((((pDir == 1)) && (((pX + _world.getSprite_sp().x) > (Game.WORLD_WIDTH - (_width / 2)))))) || ((((pDir == -1)) && (((pX + _world.getSprite_sp().x) < (_width / 2))))))){
outOfHorizEdgesHandler();
return (true);
};
return (false);
}
private function attack2():void{
if (!isActionLocked){
_isAttack2 = true;
isActionLocked = true;
};
}
private function heavyAttack():void{
if (isRun()){
endRun();
};
if (((!(isActionLocked)) && (!(_isInAir)))){
_isHeavyAttack = true;
isActionLocked = true;
};
}
override public function endAction(pActionName:String):void{
super.endAction(pActionName);
if (pActionName == CharAnimState.SQUATKICK){
endSquatKick();
} else {
if (pActionName == CharAnimState.DRAGON_UPCUT){
endDragonUpCut();
} else {
if (pActionName == CharAnimState.UPCUT){
endUpCut();
} else {
if (pActionName == CharAnimState.MAGICATTACK){
endMagicAttack();
} else {
if (pActionName == CharAnimState.ATTACK2){
endAttack2();
} else {
if (pActionName == CharAnimState.UPATTACK){
endUpAttack();
} else {
if (pActionName == CharAnimState.FINALATTACK){
endFinalAttack();
} else {
if (pActionName == CharAnimState.HEAVYATTACK){
endHeavyAttack();
} else {
if (pActionName == CharAnimState.ROTAATTACK){
endRotaAttack();
};
};
};
};
};
};
};
};
};
}
public function get squatKickSpeed():Number{
return (_squatKickSpeed);
}
public function extraAttack():void{
if (isSquat){
squatKick();
} else {
if (isUpForwards){
rotaAttack();
} else {
magicAttack();
};
};
}
private function endDragonUpCut():void{
_isDragonUpCut = false;
isActionLocked = false;
}
private function endMagicAttack():void{
= false;
isActionLocked = false;
}
}
}//package com.creetor.game.YLLegend.model.char
Section 130
//BareHittedEffectA (com.creetor.game.YLLegend.model.effect.BareHittedEffectA)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
public class BareHittedEffectA extends Effect implements IHittedEffect {
public function BareHittedEffectA(pWorld:World, pX:Number, pY:Number, pDirection:Number){
super(pWorld, pX, pY, pDirection);
}
}
}//package com.creetor.game.YLLegend.model.effect
Section 131
//Effect (com.creetor.game.YLLegend.model.effect.Effect)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.action.*;
public class Effect extends Model implements IAnimatable {
private var _world:IWorld;
private var _animateCtlr:AnimateController;
public function Effect(pWorld:IWorld, pX:Number, pY:Number, pDirection:Number){
super(pX, pY);
_world = pWorld;
_animateCtlr = new SimpleAnimateController(AnimState.DEFAULT, this, 1);
_direction = pDirection;
}
public function get animateController():AnimateController{
return (_animateCtlr);
}
public function get animStateList():Array{
return ([AnimState.DEFAULT]);
}
public function endAnimate():void{
_world.remove(this);
}
public function get defaultAnimState():String{
return (AnimState.DEFAULT);
}
override public function dispose():void{
super.dispose();
_animateCtlr.dispose();
_animateCtlr = null;
}
}
}//package com.creetor.game.YLLegend.model.effect
Section 132
//FireHittedEffectA (com.creetor.game.YLLegend.model.effect.FireHittedEffectA)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
public class FireHittedEffectA extends Effect implements IHittedEffect {
public function FireHittedEffectA(pWorld:World, pX:Number, pY:Number, pDirection:Number){
super(pWorld, pX, pY, pDirection);
}
}
}//package com.creetor.game.YLLegend.model.effect
Section 133
//FireHittedEffectB (com.creetor.game.YLLegend.model.effect.FireHittedEffectB)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
public class FireHittedEffectB extends Effect implements IHittedEffect {
public function FireHittedEffectB(pWorld:World, pX:Number, pY:Number, pDirection:Number){
super(pWorld, pX, pY, pDirection);
}
}
}//package com.creetor.game.YLLegend.model.effect
Section 134
//HittedEffectType (com.creetor.game.YLLegend.model.effect.HittedEffectType)
package com.creetor.game.YLLegend.model.effect {
public class HittedEffectType {
public static const BARE_A:String = "Bare_A";
public static const FIRE_A:String = "Fire_A";
public static const FIRE_B:String = "Fire_B";
public static const ICE_A:String = "Ice_A";
public static const SWORD_A:String = "Sword_A";
public function HittedEffectType(){
super();
}
}
}//package com.creetor.game.YLLegend.model.effect
Section 135
//IceHittedEffectA (com.creetor.game.YLLegend.model.effect.IceHittedEffectA)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
public class IceHittedEffectA extends Effect implements IHittedEffect {
public function IceHittedEffectA(pWorld:World, pX:Number, pY:Number, pDirection:Number){
super(pWorld, pX, pY, pDirection);
}
}
}//package com.creetor.game.YLLegend.model.effect
Section 136
//IHittedEffect (com.creetor.game.YLLegend.model.effect.IHittedEffect)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
public interface IHittedEffect extends IModel {
}
}//package com.creetor.game.YLLegend.model.effect
Section 137
//IOverMapEffect (com.creetor.game.YLLegend.model.effect.IOverMapEffect)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
public interface IOverMapEffect extends IModel {
}
}//package com.creetor.game.YLLegend.model.effect
Section 138
//MapChangeFader (com.creetor.game.YLLegend.model.effect.MapChangeFader)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.action.*;
public final class MapChangeFader extends Model implements IAnimatable, IOverMapEffect {
private var _world:IWorld;
private var _animateCtlr:AnimateController;
public function MapChangeFader(pWorld:IWorld, pX:Number, pY:Number){
super(pX, pY);
_world = pWorld;
_animateCtlr = new MapChangeFaderCtlr(AnimState.DEFAULT, this, 1);
}
public function get animateController():AnimateController{
return (_animateCtlr);
}
public function get animStateList():Array{
return ([AnimState.DEFAULT]);
}
public function endAnimate():void{
}
public function get defaultAnimState():String{
return (AnimState.DEFAULT);
}
override public function dispose():void{
super.dispose();
_animateCtlr.dispose();
_animateCtlr = null;
}
}
}//package com.creetor.game.YLLegend.model.effect
Section 139
//SwordHittedEffectA (com.creetor.game.YLLegend.model.effect.SwordHittedEffectA)
package com.creetor.game.YLLegend.model.effect {
import com.creetor.game.YLLegend.model.*;
public class SwordHittedEffectA extends Effect implements IHittedEffect {
public function SwordHittedEffectA(pWorld:World, pX:Number, pY:Number, pDirection:Number){
super(pWorld, pX, pY, pDirection);
}
}
}//package com.creetor.game.YLLegend.model.effect
Section 140
//BigFireBallIcon (com.creetor.game.YLLegend.model.item.BigFireBallIcon)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class BigFireBallIcon extends ShotIcon {
public function BigFireBallIcon(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(BigFireBallIcon)[0]);
(txtHolder.getTextList(BigFireBallIcon)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 141
//ComboBook (com.creetor.game.YLLegend.model.item.ComboBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
public class ComboBook extends Item {
private var
:String;
private var
:String;
public function ComboBook(pWorld:IWorld, pChild:Object, pName:String){
super(pWorld, pChild);
= pName;
}
public function getName():String{
return (
);
}
protected function
(pDesc:String):void{
= pDesc;
}
public function getDesc():String{
return (
);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 142
//DashAttackBook (com.creetor.game.YLLegend.model.item.DashAttackBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class DashAttackBook extends ComboBook {
public function DashAttackBook(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(DashAttackBook)[0]);
(txtHolder.getTextList(DashAttackBook)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 143
//DBDragonShotBook (com.creetor.game.YLLegend.model.item.DBDragonShotBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class DBDragonShotBook extends ComboBook {
public function DBDragonShotBook(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(DBDragonShotBook)[0]);
(txtHolder.getTextList(DBDragonShotBook)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 144
//DBDragonShotIcon (com.creetor.game.YLLegend.model.item.DBDragonShotIcon)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class DBDragonShotIcon extends ShotIcon {
public function DBDragonShotIcon(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(DBDragonShotIcon)[0]);
(txtHolder.getTextList(DBDragonShotIcon)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 145
//DragonShotBook (com.creetor.game.YLLegend.model.item.DragonShotBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class DragonShotBook extends ComboBook {
public function DragonShotBook(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(DragonShotBook)[0]);
(txtHolder.getTextList(DragonShotBook)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 146
//DragonShotIcon (com.creetor.game.YLLegend.model.item.DragonShotIcon)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class DragonShotIcon extends ShotIcon {
public function DragonShotIcon(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(DragonShotIcon)[0]);
(txtHolder.getTextList(DragonShotIcon)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 147
//DragonUpCutBook (com.creetor.game.YLLegend.model.item.DragonUpCutBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class DragonUpCutBook extends ComboBook {
public function DragonUpCutBook(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(DragonUpCutBook)[0]);
(txtHolder.getTextList(DragonUpCutBook)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 148
//GreCalabash (com.creetor.game.YLLegend.model.item.GreCalabash)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
public class GreCalabash extends Item {
public static const PP_ADDED:int = 10;
public function GreCalabash(pWorld:IWorld, pChild:Object){
super(pWorld, pChild);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 149
//HeavyAttackBook (com.creetor.game.YLLegend.model.item.HeavyAttackBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class HeavyAttackBook extends ComboBook {
public function HeavyAttackBook(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(HeavyAttackBook)[0]);
(txtHolder.getTextList(HeavyAttackBook)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 150
//IItem (com.creetor.game.YLLegend.model.item.IItem)
package com.creetor.game.YLLegend.model.item {
import flash.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public interface IItem extends IModel, IDisplayable, IEventDispatcher, IDataSaveable {
function bePickedUp():void;
}
}//package com.creetor.game.YLLegend.model.item
Section 151
//Item (com.creetor.game.YLLegend.model.item.Item)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import cn.vlux.sharedLib.utils.*;
public class Item extends Model implements IItem {
private var
:Object;
private var _world:IWorld;
public function Item(pWorld:IWorld, pChild:Object){
super(pChild.x, pChild.y);
_world = pWorld;
= pChild;
}
public function getData():Object{
return ({type:ClassUtil.classToName(ClassUtil.getClassFromInstance(this)), child:
});
}
public function bePickedUp():void{
dispatchEvent(new ItemEvent(ItemEvent.BEPICKEDUP));
}
override public function dispose():void{
super.dispose();
= null;
}
public function get childrenList():Array{
return ([
]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 152
//LitFireBallIcon (com.creetor.game.YLLegend.model.item.LitFireBallIcon)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class LitFireBallIcon extends ShotIcon {
public function LitFireBallIcon(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(LitFireBallIcon)[0]);
(txtHolder.getTextList(LitFireBallIcon)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 153
//MidFireBallIcon (com.creetor.game.YLLegend.model.item.MidFireBallIcon)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class MidFireBallIcon extends ShotIcon {
public function MidFireBallIcon(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(MidFireBallIcon)[0]);
(txtHolder.getTextList(MidFireBallIcon)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 154
//OraCalabash (com.creetor.game.YLLegend.model.item.OraCalabash)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
public class OraCalabash extends Item {
public static const PP_ADDED:int = 40;
public function OraCalabash(pWorld:IWorld, pChild:Object){
super(pWorld, pChild);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 155
//Panax (com.creetor.game.YLLegend.model.item.Panax)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
public class Panax extends Item {
public static const HP_ADDED:int = 8;
public function Panax(pWorld:IWorld, pChild:Object){
super(pWorld, pChild);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 156
//Peach (com.creetor.game.YLLegend.model.item.Peach)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
public class Peach extends Item {
public static const HP_ADDED:int = 2;
public function Peach(pWorld:IWorld, pChild:Object){
super(pWorld, pChild);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 157
//RotaAttackBook (com.creetor.game.YLLegend.model.item.RotaAttackBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class RotaAttackBook extends ComboBook {
public function RotaAttackBook(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(RotaAttackBook)[0]);
(txtHolder.getTextList(RotaAttackBook)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 158
//ShotIcon (com.creetor.game.YLLegend.model.item.ShotIcon)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
public class ShotIcon extends Item {
private var
:String;
private var
:String;
public function ShotIcon(pWorld:IWorld, pChild:Object, pName:String){
super(pWorld, pChild);
= pName;
}
public function getName():String{
return (
);
}
protected function
(pDesc:String):void{
= pDesc;
}
public function getDesc():String{
return (
);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 159
//SquatKickBook (com.creetor.game.YLLegend.model.item.SquatKickBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class SquatKickBook extends ComboBook {
public function SquatKickBook(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(SquatKickBook)[0]);
(txtHolder.getTextList(SquatKickBook)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 160
//UpCutBook (com.creetor.game.YLLegend.model.item.UpCutBook)
package com.creetor.game.YLLegend.model.item {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
public class UpCutBook extends ComboBook {
public function UpCutBook(pWorld:IWorld, pChild:Object){
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
super(pWorld, pChild, txtHolder.getTextList(UpCutBook)[0]);
(txtHolder.getTextList(UpCutBook)[1]);
}
}
}//package com.creetor.game.YLLegend.model.item
Section 161
//Anchor (com.creetor.game.YLLegend.model.scene.Anchor)
package com.creetor.game.YLLegend.model.scene {
import com.creetor.game.YLLegend.*;
import flash.utils.*;
public class Anchor extends Tile {
private var
:Boolean;
private var
:uint;
private var
:Array;
public function Anchor(pChildrenList:Array, pX:Number, pY:Number, pMaxCharNum:uint, pCharTypeList:Array){
var info:Array;
var type:Class;
super(pChildrenList, pX, pY);
= pMaxCharNum;
= new Array();
= false;
var i:uint;
while (i < pCharTypeList.length) {
info = String(pCharTypeList[i]).split(",");
type = (getDefinitionByName(("com.creetor.game.YLLegend.model.char." + info[0])) as Class);
.push(new CharSpawnInfo(type, uint(info[1])));
i++;
};
}
public function getMaxCharNum():uint{
return (
);
}
override public function dispose():void{
super.dispose();
= null;
}
public function setHasDropped(hasDropped:Boolean):void{
= hasDropped;
}
public function getHasDropped():Boolean{
return (
);
}
public function getCharData():Array{
return (SceneData.createCharTypeProbList(
));
}
}
}//package com.creetor.game.YLLegend.model.scene
Section 162
//BossAnchor (com.creetor.game.YLLegend.model.scene.BossAnchor)
package com.creetor.game.YLLegend.model.scene {
import flash.utils.*;
public class BossAnchor extends Anchor {
private var _bossType:Class;
public function BossAnchor(pChildrenList:Array, pX:Number, pY:Number, pBossType:String, pMaxCharNum:uint, pCharTypeList:Array){
super(pChildrenList, pX, pY, pMaxCharNum, pCharTypeList);
_bossType = (getDefinitionByName(("com.creetor.game.YLLegend.model.char." + pBossType)) as Class);
}
public function getBossType():Class{
return (_bossType);
}
}
}//package com.creetor.game.YLLegend.model.scene
Section 163
//CloudFloor (com.creetor.game.YLLegend.model.scene.CloudFloor)
package com.creetor.game.YLLegend.model.scene {
import com.creetor.game.YLLegend.model.*;
public class CloudFloor extends Tile implements ICloud {
public function CloudFloor(pChildrenList:Array, pX:Number, pY:Number){
super(pChildrenList, pX, pY);
}
}
}//package com.creetor.game.YLLegend.model.scene
Section 164
//Door (com.creetor.game.YLLegend.model.scene.Door)
package com.creetor.game.YLLegend.model.scene {
public class Door extends Tile {
private var
:uint;
private var
:Boolean;
private var
:Number;
private var
:Number;
public function Door(pChildrenList:Array, pX:Number, pY:Number, pLevel:uint, pHeroPosX:Number, pHeroPosY:Number, pIsUpForwards:Boolean){
super(pChildrenList, pX, pY);
= pLevel;
= pHeroPosX;
= pHeroPosY;
= pIsUpForwards;
}
public function getIsUpForwards():Boolean{
return (
);
}
public function getLevel():uint{
return (
);
}
public function getHeroPosX():Number{
return (
);
}
public function getHeroPosY():Number{
return (
);
}
}
}//package com.creetor.game.YLLegend.model.scene
Section 165
//Floor (com.creetor.game.YLLegend.model.scene.Floor)
package com.creetor.game.YLLegend.model.scene {
import com.creetor.game.YLLegend.model.*;
public class Floor extends Tile implements IImpassable {
public function Floor(pChildrenList:Array, pX:Number, pY:Number){
super(pChildrenList, pX, pY);
}
}
}//package com.creetor.game.YLLegend.model.scene
Section 166
//PassTile (com.creetor.game.YLLegend.model.scene.PassTile)
package com.creetor.game.YLLegend.model.scene {
public class PassTile extends Tile {
public function PassTile(pChildrenList:Array, pX:Number, pY:Number){
super(pChildrenList, pX, pY);
}
}
}//package com.creetor.game.YLLegend.model.scene
Section 167
//Tile (com.creetor.game.YLLegend.model.scene.Tile)
package com.creetor.game.YLLegend.model.scene {
import com.creetor.game.YLLegend.model.*;
public class Tile extends Model implements IDisplayable {
private var
:Array;
public function Tile(pChildrenList:Array, pX:Number, pY:Number){
super(pX, pY);
= pChildrenList;
}
override public function dispose():void{
super.dispose();
= null;
}
public function get child():Object{
return (
[0]);
}
public function get childrenList():Array{
return (
);
}
}
}//package com.creetor.game.YLLegend.model.scene
Section 168
//BigFireBall (com.creetor.game.YLLegend.model.shot.BigFireBall)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class BigFireBall extends Shot {
public static const USE_POWER:Number = 3;
public function BigFireBall(pWorld:World, pOwner:Char, pX:Number, pY:Number){
super(pWorld, pOwner, pX, pY);
.freeze(1);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, ShotAnimState.MOVE, 0.32, 3, 1, 0.3);
}
override protected function initActionClipInfoList():void{
defaultBodyAreaInfo = new HitAreaInfo(1, -14, 0, 61, 32);
super.initActionClipInfoList();
var attackActionInfo:AttackActionInfo = new AttackActionInfo(3, 1, 0.3, direction, HurtType.UP_HURT, 0, true, HittedEffectType.FIRE_A);
ShotActionCtlr(_actionClipCtlrHash[ShotAnimState.MOVE]).setAttackActionInfo(attackActionInfo);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 169
//DragonBody (com.creetor.game.YLLegend.model.shot.DragonBody)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class DragonBody extends DragonSegment {
public function DragonBody(pWorld:World, pOwner:DragonShot, pX:Number, pY:Number, pId:uint){
super(pWorld, pOwner, pX, pY, pId);
trace("-> DragonBody");
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, ShotAnimState.MOVE, 0.16, 1, 1, 0.2, HurtType.UP_HURT);
}
override protected function initActionClipInfoList():void{
defaultBodyAreaInfo = new HitAreaInfo(1, 0, 0, 32, 32);
super.initActionClipInfoList();
var attackActionInfo:AttackActionInfo = new AttackActionInfo(1, 1, 0.2, direction, HurtType.UP_HURT, 0, true, HittedEffectType.FIRE_A);
ShotActionCtlr(_actionClipCtlrHash[ShotAnimState.MOVE]).setAttackActionInfo(attackActionInfo);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 170
//DragonHead (com.creetor.game.YLLegend.model.shot.DragonHead)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class DragonHead extends DragonSegment {
public function DragonHead(pWorld:World, pOwner:DragonShot, pX:Number, pY:Number, pId:uint){
super(pWorld, pOwner, pX, pY, pId);
trace("-> DragonSegment");
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, ShotAnimState.MOVE, 0.16, 3, 2, 0.2, HurtType.MID_HURT);
}
override protected function initActionClipInfoList():void{
defaultBodyAreaInfo = new HitAreaInfo(1, 0, 0, 64, 38);
_actionClipCtlrHash = new Object();
_actionClipCtlrHash[ShotAnimState.MOVE] = new DragonShotAction(ShotAnimState.MOVE, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[ShotAnimState.EXPLODE] = new SimpleActionCtlr(ShotAnimState.EXPLODE, this, [new HitAreaInfo(1, -1000, -1000, 2, 2)], 1);
var attackActionInfo:AttackActionInfo = new AttackActionInfo(3, 2, 0.2, direction, HurtType.MID_HURT, 0, true, HittedEffectType.FIRE_A);
ShotActionCtlr(_actionClipCtlrHash[ShotAnimState.MOVE]).setAttackActionInfo(attackActionInfo);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 171
//DragonSegment (com.creetor.game.YLLegend.model.shot.DragonSegment)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.*;
public class DragonSegment extends Shot implements IDragonSegment {
private var _isVertiMove:Boolean;
private var _dragonShot:DragonShot;
private var
:int;
private var _id:uint;
public function DragonSegment(pWorld:World, pOwner:DragonShot, pX:Number, pY:Number, pId:uint, pIsVertiMove:Boolean=false){
_dragonShot = pOwner;
super(pWorld, _dragonShot.owner, pX, pY);
_id = pId;
_isVertiMove = pIsVertiMove;
}
override public function resetFreeze():void{
super.resetFreeze();
_dragonShot.resetFreeze(this);
}
override public function update(timeDiff:int):void{
if (!_dragonShot.isFreeze){
super.update(timeDiff);
};
}
override protected function outOfVertiEdgesHandler():void{
_dragonShot.removeSegment(this);
super.outOfVertiEdgesHandler();
}
public function setVertiMove(pIsVertiMove:Boolean):void{
_isVertiMove = pIsVertiMove;
}
override public function freeze(pFreezeTime:Number=0):void{
super.freeze(pFreezeTime);
_dragonShot.freeze(pFreezeTime, this);
}
override public function explode():void{
if (!isExplode){
super.explode();
_dragonShot.removeSegment(this);
};
}
public function get id():uint{
return (_id);
}
override public function dispose():void{
super.dispose();
_dragonShot = null;
}
override public function moveY(timeDiff:int, pSpeed:Number, pDir:int=0):void{
if (!_isVertiMove){
sinMoveY(
);
} else {
super.moveY(timeDiff, pSpeed);
};
}
public function setSinDirY(pSinDirY:int):void{
= pSinDirY;
}
override protected function outOfHorizEdgesHandler():void{
_dragonShot.removeSegment(this);
super.outOfHorizEdgesHandler();
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 172
//DragonShot (com.creetor.game.YLLegend.model.shot.DragonShot)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import flash.display.*;
import cn.vlux.sharedLib.utils.*;
import com.creetor.game.YLLegend.utils.*;
public class DragonShot extends Model implements IDragonShot {
private var
:Boolean;
private var
:Array;
private var _world:World;
private var
:Boolean;
private var
:Number;
private var
:Number;
private var
:int;
private var
:GameTimer;
private var
:int;
private var
:Char;
private var
:Boolean;
private var
:uint;
public static const USE_POWER:Number = 5;
public function DragonShot(pWorld:World, pOwner:Char, pX:Number, pY:Number, pSegmentNum:uint=3, pSinDirY:int=1, pIsUpMove:Boolean=false){
super(pX, pY);
= pSinDirY;
_world = pWorld;
= pOwner;
= pSegmentNum;
= pIsUpMove;
init();
setCenter(pX, pY);
}
public function get owner():Char{
return (
);
}
public function get isFreeze():Boolean{
return (
);
}
public function resetFreeze(pHittedSeg:IDragonSegment):void{
= false;
}
override public function update(timeDiff:int):void{
var seg:IDragonSegment;
if (!
){
if (
.milliseconds() >
){
if (
<
){
seg = _world.createDragonSegment(
.length, this, _initPos.x, _initPos.y,
,
);
if (
){
seg.explode();
};
.push(seg);
++;
if (!
){
if (
< (
- 1)){
.freeze(1.5);
} else {
.resetFreeze();
};
};
} else {
if ((((
>=
)) && ((
.length <= 0)))){
trace("##remove DragonShot");
_world.remove(this, false);
};
return;
};
.restartTimer();
};
};
}
public function explode():void{
= true;
}
public function removeSegment(pSegment:IDragonSegment):void{
ArrayUtil.removeValueFromArray(
, pSegment);
++;
}
override public function getSp():Sprite{
return (DragonBody(
[0]).getSp());
}
public function freeze(pFreezeTime:Number, pHittedSeg:IDragonSegment):void{
= true;
}
override public function setCenter(pX:Number, pY:Number):void{
_initPos.x = pX;
_initPos.y = pY;
}
private function init():void{
= new Array();
= new GameTimer();
= 0;
= 0;
= false;
= false;
= 100;
}
public function setFrequency(frequency:Number):void{
= frequency;
}
override public function dispose():void{
super.dispose();
= null;
_world = null;
= null;
_initPos = null;
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 173
//FireDragonShot (com.creetor.game.YLLegend.model.shot.FireDragonShot)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class FireDragonShot extends Shot {
public function FireDragonShot(pWorld:World, pOwner:Char, pX:Number, pY:Number){
super(pWorld, pOwner, pX, pY);
}
override public function isBurning():Boolean{
return (
().isBurning);
}
override public function getHittedTargetAirSpeed():Number{
return (
().airSpeed);
}
override protected function outOfVertiEdgesHandler():void{
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, ShotAnimState.MOVE, 0.16, 2, 1, 0.3, HurtType.AIR_HURT, 0.9, 0.4);
}
override public function getHittedTargetHurtType():String{
return (
().hurtType);
}
override public function getHittedTargetBackSpeed():Number{
return (
().backSpeed);
}
override public function getHittedTargetBackDir():Number{
return (
().backDirection);
}
override public function explode():void{
}
override protected function initActionClipInfoList():void{
defaultBodyAreaInfo = new HitAreaInfo(1, 7, -29, 37, 60);
super.initActionClipInfoList();
_actionClipCtlrHash[ShotAnimState.MOVE] = new FireDragonShotCtr(this);
}
override public function getCurrentFreezeTime():Number{
return (
().freezeTime);
}
override public function getCurrentAttackPower():Number{
return (
().attackPower);
}
private function
():IAttackAction{
if ((actionClipCtlr is IAttackAction)){
return (IAttackAction(actionClipCtlr));
};
return (IAttackAction(ShotAnimState.MOVE));
}
override public function moveY(timeDiff:int, pSpeed:Number, pDir:int=-1):void{
_verticalChange = ((pDir * pSpeed) * timeDiff);
}
override protected function outOfHorizEdgesHandler():void{
}
override public function endAction(pActionName:String):void{
if (pActionName == ShotAnimState.MOVE){
_world.remove(this);
};
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 174
//IceBirdShot (com.creetor.game.YLLegend.model.shot.IceBirdShot)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class IceBirdShot extends Shot {
public static const USE_POWER:Number = 3;
public function IceBirdShot(pWorld:World, pOwner:Char, pX:Number, pY:Number){
super(pWorld, pOwner, pX, pY);
.freeze(1);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, ShotAnimState.MOVE, 0.24, 2, 1, 0.3);
}
override protected function initActionClipInfoList():void{
defaultBodyAreaInfo = new HitAreaInfo(1, -6, -4, 47, 52);
super.initActionClipInfoList();
_actionClipCtlrHash[ShotAnimState.MOVE] = new ShotActionCtlr(ShotAnimState.MOVE, this, [new HitAreaInfo(1, -6, 0, 47, 32), new HitAreaInfo(3, -6, -4, 47, 52), new HitAreaInfo(5, -6, -7, 47, 72), new HitAreaInfo(7, -6, -4, 47, 52)]);
var attackActionInfo:AttackActionInfo = new AttackActionInfo(2, 1, 0.3, direction, HurtType.UP_HURT, 0, false, HittedEffectType.ICE_A);
ShotActionCtlr(_actionClipCtlrHash[ShotAnimState.MOVE]).setAttackActionInfo(attackActionInfo);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 175
//IDragonSegment (com.creetor.game.YLLegend.model.shot.IDragonSegment)
package com.creetor.game.YLLegend.model.shot {
import flash.events.*;
import com.creetor.game.YLLegend.model.*;
public interface IDragonSegment extends IModel, IEventDispatcher, IExplodeable {
function setSinDirY(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\shot;IDragonSegment.as:int):void;
function get id():uint;
function setVertiMove(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model\shot;IDragonSegment.as:Boolean):void;
}
}//package com.creetor.game.YLLegend.model.shot
Section 176
//IDragonShot (com.creetor.game.YLLegend.model.shot.IDragonShot)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.*;
public interface IDragonShot extends IModel, IExplodeable {
}
}//package com.creetor.game.YLLegend.model.shot
Section 177
//IExplodeable (com.creetor.game.YLLegend.model.shot.IExplodeable)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.*;
public interface IExplodeable extends IModel {
function explode():void;
}
}//package com.creetor.game.YLLegend.model.shot
Section 178
//IShot (com.creetor.game.YLLegend.model.shot.IShot)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
public interface IShot extends ISpriteObject, IHitter, IExplodeable {
function getOwner():IChar;
}
}//package com.creetor.game.YLLegend.model.shot
Section 179
//LitFireBall (com.creetor.game.YLLegend.model.shot.LitFireBall)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class LitFireBall extends Shot {
public static const USE_POWER:Number = 1;
public function LitFireBall(pWorld:World, pOwner:Char, pX:Number, pY:Number){
super(pWorld, pOwner, pX, pY);
.freeze(1);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, ShotAnimState.MOVE, 0.16);
}
override protected function initActionClipInfoList():void{
defaultBodyAreaInfo = new HitAreaInfo(1, -13, 0, 50, 20);
super.initActionClipInfoList();
var attackActionInfo:AttackActionInfo = new AttackActionInfo(1, 0.5, 0.2, direction, HurtType.UP_HURT, 0, true, HittedEffectType.FIRE_A);
ShotActionCtlr(_actionClipCtlrHash[ShotAnimState.MOVE]).setAttackActionInfo(attackActionInfo);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 180
//MidFireBall (com.creetor.game.YLLegend.model.shot.MidFireBall)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class MidFireBall extends Shot {
public static const USE_POWER:Number = 2;
public function MidFireBall(pWorld:World, pOwner:Char, pX:Number, pY:Number){
super(pWorld, pOwner, pX, pY);
.freeze(1);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, ShotAnimState.MOVE, 0.32, 2);
}
override protected function initActionClipInfoList():void{
defaultBodyAreaInfo = new HitAreaInfo(1, -23, 0, 70, 19);
super.initActionClipInfoList();
var attackActionInfo:AttackActionInfo = new AttackActionInfo(2, 0.5, 0.2, direction, HurtType.UP_HURT, 0, true, HittedEffectType.FIRE_A);
ShotActionCtlr(_actionClipCtlrHash[ShotAnimState.MOVE]).setAttackActionInfo(attackActionInfo);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 181
//Shot (com.creetor.game.YLLegend.model.shot.Shot)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import cn.vlux.sharedLib.utils.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class Shot extends SpriteObject implements IShot {
private var :Array;
private var
:Number;
private var
:Number;
protected var
:Char;
private var
:Boolean;
private var :HitChecker;
private var
:String;
private var
:Number;
private var
:Boolean;
private var
:Number;
private var
:Boolean;
private var
:Number;
private var
:Number;
private var
:Number;
public function Shot(pWorld:World, pOwner:Char, pX:Number, pY:Number){
super(pWorld, 0, 0);
= pOwner;
_direction = (_newDirection =
.direction);
= _newDirection;
setCenter(((_newDirection * pX) +
.getSp().x), (pY +
.getSp().y));
= [ShotAnimState.MOVE, ShotAnimState.EXPLODE];
initActionClipInfoList();
}
public function set hitArea(pHitArea:AsHitArea_sp):void{
}
public function resetHitArea():void{
_bodyArea_sp.x = defaultBodyAreaInfo.x;
_bodyArea_sp.y = defaultBodyAreaInfo.y;
_bodyArea_sp.width = defaultBodyAreaInfo.width;
_bodyArea_sp.height = defaultBodyAreaInfo.height;
_bodyArea_sp.enableHitTest = false;
}
public function getHittedTargetAirSpeed():Number{
return (
);
}
override public function get actionClipCtlr():ActionClipController{
return (_actionClipCtlrHash[_animstate]);
}
public function addHittedTarget(pTarget:IHurter):void{
.push(pTarget);
}
public function getOwner():IChar{
return (
);
}
override public function hurt(pIHitable:IHitter):void{
if (_invincible){
return;
};
explode();
}
override protected function init():void{
super.init();
setValue();
= false;
= false;
= false;
= new Array();
= new HitChecker(_world, this);
}
override public function freeze(pFreezeTime:Number=0):void{
actionClipCtlr.setFreezeTime(pFreezeTime);
= true;
}
override public function dispose():void{
super.dispose();
= null;
.dispose();
= null;
= null;
}
public function getHittedTargetBackSpeed():Number{
return (
);
}
override public function moveX(timeDiff:int, pSpeed:Number, pDir:int=0):void{
if (pDir == 0){
_horizontalChange = ((_newDirection * pSpeed) * timeDiff);
} else {
_horizontalChange = ((pDir * pSpeed) * timeDiff);
};
move();
}
public function isBurning():Boolean{
return (IAttackAction(getActionClipCtrler(ShotAnimState.MOVE)).isBurning);
}
override protected function outOfHorizEdgesHandler():void{
super.outOfHorizEdgesHandler();
_world.remove(this);
}
protected function setValue(pDx:Number=0, pDy:Number=0, pInAir:Boolean=true, pDirection:int=1, pAnimstate:String="move", pMoveSpeed:Number=0.08, pAttackPower:Number=1, pFreezeTime:Number=0.5, pBackSpeed:Number=0.2, pHurtType:String="upHurt", pAirSpeed:Number=0, pMoveSpeedY:Number=0):void{
_dx = pDx;
_dy = pDy;
_isInAir = pInAir;
_direction = pDirection;
_animstate = pAnimstate;
= pMoveSpeed;
= pAttackPower;
= pFreezeTime;
= pBackSpeed;
= pHurtType;
= pAirSpeed;
= pMoveSpeedY;
}
protected function sinMoveY(pDir:int=1):void{
_verticalChange = ((((pDir * 30) * Math.sin(((_newX - initPos.x) / 30))) - _newY) + initPos.y);
}
public function hitCheck():void{
var i:uint;
while (i < _world.chars.length) {
if (((!((_world.chars.getItem(i) == this))) && (!((_world.chars.getItem(i) ==
))))){
if (
.getAttribute() == null){
return;
};
if (ClassUtil.getClassFromInstance(_world.chars.getItem(i).getAttribute()) != ClassUtil.getClassFromInstance(
.getAttribute())){
.hitCheck(_world.chars.getItem(i));
};
};
i++;
};
i = 0;
while (i < _world.shots.length) {
if (((!((_world.shots.getItem(i) == this))) && (!((IShot(_world.shots.getItem(i)).getOwner() ==
))))){
.hitCheck(_world.shots.getItem(i));
};
i++;
};
}
public function getHittedEffectType():String{
return (IAttackAction(getActionClipCtrler(ShotAnimState.MOVE)).hittedEffectType);
}
override public function get defaultAnimState():String{
return (ShotAnimState.MOVE);
}
public function get hitArea():AsHitArea_sp{
return (getBodyArea());
}
override public function resetFreeze():void{
= false;
}
override public function update(timeDiff:int):void{
if (timeDiff < 1){
return;
};
if (((!(
)) && (((((_hitWallLeft) || (_hitWallRight))) || (
))))){
explode();
};
if (((!(
)) && (!(
)))){
moveX(timeDiff,
);
moveY(timeDiff,
);
};
if (_newDirection != _direction){
_direction = _newDirection;
_sp.scaleX = _direction;
= _direction;
};
super.update(timeDiff);
if (isHitted()){
.shotHitted(
);
};
}
public function getCurrentFreezeTime():Number{
return (
);
}
override protected function outOfVertiEdgesHandler():void{
super.outOfVertiEdgesHandler();
_world.remove(this);
}
public function getHittedTargetHurtType():String{
return (
);
}
public function getCurrentAttackPower():Number{
return (
);
}
public function resetHitChecker():void{
.reset();
}
public function explode():void{
if (!
){
= true;
_animstate = (_newAnimState = ShotAnimState.EXPLODE);
setAnimation(_newAnimState);
_sp.x = (_sp.x + ((_direction * width) / 4));
};
}
protected function initActionClipInfoList():void{
_actionClipCtlrHash = new Object();
_actionClipCtlrHash[ShotAnimState.MOVE] = new ShotActionCtlr(ShotAnimState.MOVE, this, [defaultBodyAreaInfo]);
_actionClipCtlrHash[ShotAnimState.EXPLODE] = new SimpleActionCtlr(ShotAnimState.EXPLODE, this, [new HitAreaInfo(1, -1000, -1000, 2, 2)], 1);
}
public function getHittedTargetBackDir():Number{
return (
);
}
public function isHitted():Boolean{
if (((!(( == null))) && ((.length > 0)))){
= true;
return (true);
};
return (false);
}
override public function endAction(pActionName:String):void{
if (pActionName == ShotAnimState.EXPLODE){
_world.remove(this);
};
}
public function get isExplode():Boolean{
return (
);
}
public function getHittedTargetsAndClear():Array{
var tempList:Array = ;
= new Array();
return (tempList);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 182
//ShotAnimState (com.creetor.game.YLLegend.model.shot.ShotAnimState)
package com.creetor.game.YLLegend.model.shot {
public class ShotAnimState {
public static const EXPLODE:String = "explode";
public static const MOVE:String = "move";
public function ShotAnimState(){
super();
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 183
//ShotType (com.creetor.game.YLLegend.model.shot.ShotType)
package com.creetor.game.YLLegend.model.shot {
public class ShotType {
public static const LIT_FIREBALL:Object = {name:"LitFireBall", power:LitFireBall.USE_POWER};
public static const MID_FIREBALL:Object = {name:"MidFireBall", power:MidFireBall.USE_POWER};
public static const BIG_FIREBALL:Object = {name:"BigFireBall", power:BigFireBall.USE_POWER};
public static const FIRE_DRAGON_SHOT:Object = {name:"FireDragonShot", power:0};
public static var DB_DRAGON_SHOT:Object = {name:"DBDragonShot", power:(DRAGON_SHOT.power * 2), segNum:DRAGON_SHOT.segNum};
public static var DRAGON_SHOT:Object = {name:"DragonShot", power:DragonShot.USE_POWER, segNum:3};
public function ShotType(){
super();
}
public static function setDragonShot(pLevel:uint):void{
var segNum:int = Math.floor((3 + (pLevel / 2)));
if (segNum > 10){
return;
};
DB_DRAGON_SHOT.power = (DRAGON_SHOT.power = (DragonShot.USE_POWER + pLevel));
DB_DRAGON_SHOT.segNum = (DRAGON_SHOT.segNum = segNum);
}
public static function getTypeByName(pName:String):Object{
var type:Object;
switch (pName){
case LIT_FIREBALL.name:
type = LIT_FIREBALL;
break;
case MID_FIREBALL.name:
type = MID_FIREBALL;
break;
case BIG_FIREBALL.name:
type = BIG_FIREBALL;
break;
case DRAGON_SHOT.name:
type = DRAGON_SHOT;
break;
case DB_DRAGON_SHOT.name:
type = DB_DRAGON_SHOT;
break;
case FIRE_DRAGON_SHOT.name:
type = FIRE_DRAGON_SHOT;
break;
};
return (type);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 184
//SlashShot (com.creetor.game.YLLegend.model.shot.SlashShot)
package com.creetor.game.YLLegend.model.shot {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SlashShot extends Shot {
public static const USE_POWER:Number = 3;
public function SlashShot(pWorld:World, pOwner:Char, pX:Number, pY:Number){
super(pWorld, pOwner, pX, pY);
.freeze(1);
}
override protected function init():void{
super.init();
setValue(0, 0, true, 1, ShotAnimState.MOVE, 0.24, 2, 1, 0.3);
}
override protected function initActionClipInfoList():void{
defaultBodyAreaInfo = new HitAreaInfo(1, -6, 0, 32, 88);
super.initActionClipInfoList();
var attackActionInfo:AttackActionInfo = new AttackActionInfo(2, 1, 0.3, direction, HurtType.UP_HURT);
ShotActionCtlr(_actionClipCtlrHash[ShotAnimState.MOVE]).setAttackActionInfo(attackActionInfo);
}
}
}//package com.creetor.game.YLLegend.model.shot
Section 185
//AnimState (com.creetor.game.YLLegend.model.AnimState)
package com.creetor.game.YLLegend.model {
public class AnimState {
public static const DEFAULT:String = "default";
public function AnimState(){
super();
}
}
}//package com.creetor.game.YLLegend.model
Section 186
//Game (com.creetor.game.YLLegend.model.Game)
package com.creetor.game.YLLegend.model {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.*;
import com.creetor.game.YLLegend.model.scene.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public final class Game extends EventDispatcher implements IGame, IDataSaveable, IDataLoadable {
private var :Boolean;
private var _world:IWorld;
private var :Boolean;
private var
:MapChangeFader;
private var :Boolean;
private var :SceneData;
private var :IChar;
private var :int;
private var :uint;// = 0
private var :ExpManager;
private var :CharSpawner;
private var :IChar;
public static const WORLD_HEIGHT:Number = 384;
public static const TILE_WIDTH:uint = 64;
public static const SCREEN_TILEX:uint = 9;
public static const SCREEN_TILEY:uint = 6;
public static const WORLD_WIDTH:Number = 576;
public static const MAX_SCENE_NUM:uint = 13;
public static const TILE_HEIGHT:uint = 64;
public static const EDGEDISTANCE:Number = 150;
public static const GRAVITY:Number = 0.004;
public static const FRICTION:Number = 0.02;
private static var instance:Game;
private static var _frameRate:uint;
public static var gameMode:String = "start";
public function Game(pLevelData:SceneData){
super();
if (instance != null){
throw (new Error("can not have multiple instances!"));
};
if (pLevelData == null){
throw (new Error("pLevelData can not be bull!"));
};
= pLevelData;
init();
}
private function (pEvent:CharEvent):void{
var event:CharEvent = new CharEvent(pEvent.type, pEvent.char);
dispatchEvent(event);
}
public function unpause():void{
= false;
TimeDiff.unpause();
}
private function init():void{
_world = new World();
_world.addEventListener(WorldEvent.HERODIE, );
_world.addEventListener(WorldEvent.ITEM_PICKUP, );
_world.addEventListener(WorldEvent.GAME_COMPLETE, );
_world.addEventListener(WorldEvent.LEVEL_COMPLETE, );
= new CharSpawner(_world, );
.addEventListener(CharEvent.SHOW_CHAR_STATUS, );
= true;
= false;
}
public function setIsUnlockAllSkills(isUnlockAllSkills:Boolean):void{
= isUnlockAllSkills;
}
public function dispose():void{
_world.dispose();
= null;
}
public function getData():Object{
var data:GameData = new GameData();
data.curSceneID = ;
var itemData:Array = [];
var i:uint;
while (i < MAX_SCENE_NUM) {
itemData.push( .getItemData(i));
i++;
};
data.itemData = itemData;
data.difficulty = ;
return (data);
}
public function get world():IWorld{
return (_world);
}
private function (event:WorldEvent):void{
.removeItemFromScene( , event.getItemPicked());
}
public function getDifficulty():int{
return ( );
}
public function isSurvivalLocked():Boolean{
return ( );
}
public function setData(pData:Object):void{
= pData.curSceneID;
var i:uint;
while (i < MAX_SCENE_NUM) {
.setItemData(i, pData.itemData[i]);
i++;
};
= pData.difficulty;
}
public function setDifficulty(difficulty:int):void{
= difficulty;
}
private function (event:WorldEvent):void{
();
}
private function (event:HeroEvent):void{
_world.dropAnchor(6);
.setAnchor();
}
public function ():MapChangeFader{
= new MapChangeFader(_world, 0, 0);
.animateController.addEventListener(MapChangeFaderEvent.CHANGE_MAP, );
.animateController.addEventListener(AnimateControllerEvent.END_ANIMATE,
);
dispatchEvent(new GameEvent(GameEvent.ADD_MAPFADER,
));
return (
);
}
private function (event:CharEvent):void{
Game.gameMode = GameState.GAMEOVER;
_world.clear();
if ( < 13){
dispatchEvent(new GameEvent(GameEvent.GAME_OVER));
} else {
dispatchEvent(new GameEvent(GameEvent.GAME_ENDING));
};
}
private function (event:WorldEvent):void{
();
}
private function ():void{
gameMode = GameState.GAMEOVER;
dispatchEvent(new AlertEvent(AlertEvent.ALERT, "Game Complete!"));
}
public function update():void{
TimeDiff.caculate();
var timeDiff:int = TimeDiff.getDiff();
if (gameMode == GameState.PLAY){
_world.update(timeDiff);
.update();
};
}
private function
(event:AnimateControllerEvent):void{
dispatchEvent(new GameEvent(GameEvent.REMOVE_MAPFADER));
dispatchEvent(new GameEvent(GameEvent.ENABLE_INPUT));
.setInvincible(false);
.dispose();
= null;
.setPause(false);
}
private function (event:MapChangeFaderEvent):void{
var event = event;
= Door(_world.getMapModel((.getCenterY() + 1), (.getCenterX() + 1))).getLevel();
//unresolved jump
var _slot1 = e;
= Door(_world.getMapModel(5, (.getCenterX() + 1))).getLevel();
if ( == 13){
.die();
return;
};
var mapData:Array = .getMapData( );
var bgData:String = .getBgData( );
var itemData:Array = .getItemData( );
_world.changeMap(mapData, bgData, itemData);
.setSceneID( );
if (SoundManager.getInstance().getCurBgmType() != .getBgm( )){
SoundManager.getInstance().stopBgm();
SoundManager.getInstance().playBgm( .getBgm( ));
};
LocalDataSLHandler.getInstance().saveData((IDataSaveable(.getAttribute()).getData() as HeroData), (getData() as GameData));
}
private function ():void{
gameMode = GameState.DONE;
dispatchEvent(new AlertEvent(AlertEvent.ALERT, "Level Complete!"));
}
public function (isSurvivalLocked:Boolean):void{
= isSurvivalLocked;
}
public function isPause():Boolean{
return ( );
}
public function createScene():void{
Game.gameMode = GameState.PLAY;
if (LocalDataSLHandler.getInstance().getGameData() != null){
setData(LocalDataSLHandler.getInstance().getGameData());
} else {
= 0;
.resetItemData();
};
.setSceneID( );
.updateMaxEniNum( );
var mapData:Array = .getMapData( );
var bgData:String = .getBgData( );
var itemData:Array = .getItemData( );
= .spawnHero();
if ( ){
IHeroAttribute(.getAttribute()).unlockAllSkills();
};
.addEventListener(CharEvent.DIE, );
_world.initScreenMap(mapData, bgData, itemData);
= ExpManager.getInstance(_world);
.reset();
IHeroAttribute(.getAttribute()).addEventListener(HeroEvent.TOUCH_DOOR, );
IHeroAttribute(.getAttribute()).addEventListener(HeroEvent.TOUCH_ANCHOR, );
SoundManager.getInstance().playBgm( .getBgm( ));
}
private function (event:HeroEvent):void{
.setPause(true);
dispatchEvent(new GameEvent(GameEvent.UNABLE_INPUT));
.endJump();
.endUpForward();
.setInvincible(true);
();
}
public function pause():void{
= true;
}
public function get hero():IChar{
return ();
}
public function get hero2():IChar{
return ( );
}
public static function getInstance(pLevelData:SceneData=null):Game{
if (instance == null){
instance = new Game(pLevelData);
};
return (instance);
}
public static function setFrameRate(frameRate:uint):void{
_frameRate = frameRate;
}
public static function getFrameRate():uint{
return (_frameRate);
}
}
}//package com.creetor.game.YLLegend.model
Section 187
//GameState (com.creetor.game.YLLegend.model.GameState)
package com.creetor.game.YLLegend.model {
public class GameState {
public static const START:String = "start";
public static const DONE:String = "done";
public static const DEAD:String = "dead";
public static const PLAY:String = "play";
public static const GAMEOVER:String = "gameOver";
public function GameState(){
super();
}
}
}//package com.creetor.game.YLLegend.model
Section 188
//HurtType (com.creetor.game.YLLegend.model.HurtType)
package com.creetor.game.YLLegend.model {
public class HurtType {
public static const UP_HURT:String = "upHurt";
public static const AIR_HURT:String = "airHurt";
public static const MID_HURT:String = "midHurt";
public function HurtType(){
super();
}
}
}//package com.creetor.game.YLLegend.model
Section 189
//IActor (com.creetor.game.YLLegend.model.IActor)
package com.creetor.game.YLLegend.model {
import com.creetor.game.YLLegend.action.*;
public interface IActor extends IAnimatable, IMoveable {
function setActionClipCtrler(_arg1:String, _arg2:int=0):void;
function endAction(com.creetor.game.YLLegend.model:IActor/com.creetor.game.YLLegend.model:IActor:actionClipCtlr/get:String):void;
function getActionClipCtrler(:String):ActionClipController;
function get actionClipCtlr():ActionClipController;
}
}//package com.creetor.game.YLLegend.model
Section 190
//IAnimatable (com.creetor.game.YLLegend.model.IAnimatable)
package com.creetor.game.YLLegend.model {
import flash.events.*;
import com.creetor.game.YLLegend.action.*;
public interface IAnimatable extends IModel, IEventDispatcher {
function endAnimate():void;
function get animateController():AnimateController;
function get animStateList():Array;
function get defaultAnimState():String;
}
}//package com.creetor.game.YLLegend.model
Section 191
//ICloud (com.creetor.game.YLLegend.model.ICloud)
package com.creetor.game.YLLegend.model {
public interface ICloud extends IModel {
}
}//package com.creetor.game.YLLegend.model
Section 192
//IDisplayable (com.creetor.game.YLLegend.model.IDisplayable)
package com.creetor.game.YLLegend.model {
public interface IDisplayable extends IModel {
function get childrenList():Array;
}
}//package com.creetor.game.YLLegend.model
Section 193
//IFreezeable (com.creetor.game.YLLegend.model.IFreezeable)
package com.creetor.game.YLLegend.model {
public interface IFreezeable extends IModel {
function resetFreeze():void;
function freeze(:Number=0):void;
}
}//package com.creetor.game.YLLegend.model
Section 194
//IGame (com.creetor.game.YLLegend.model.IGame)
package com.creetor.game.YLLegend.model {
import flash.events.*;
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.char.*;
public interface IGame extends IEventDispatcher {
function unpause():void;
function ():MapChangeFader;
function update():void;
function (D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model;IGame.as:Boolean):void;
function isPause():Boolean;
function createScene():void;
function getDifficulty():int;
function get world():IWorld;
function setIsUnlockAllSkills(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model;IGame.as:Boolean):void;
function pause():void;
function get hero2():IChar;
function isSurvivalLocked():Boolean;
function get hero():IChar;
function setDifficulty(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model;IGame.as:int):void;
function dispose():void;
}
}//package com.creetor.game.YLLegend.model
Section 195
//IHitter (com.creetor.game.YLLegend.model.IHitter)
package com.creetor.game.YLLegend.model {
import com.creetor.game.YLLegend.hitTest.*;
public interface IHitter extends IModel, IActor, IFreezeable {
function get hitArea():AsHitArea_sp;
function getHittedEffectType():String;
function getHittedTargetsAndClear():Array;
function getHittedTargetAirSpeed():Number;
function getCurrentFreezeTime():Number;
function isBurning():Boolean;
function set hitArea(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model;IHitter.as:AsHitArea_sp):void;
function getHittedTargetHurtType():String;
function resetHitArea():void;
function addHittedTarget(D:\Works\Flash\FDTWorkspace\YLLegend\src;com\creetor\game\YLLegend\model;IHitter.as:IHurter):void;
function hitCheck():void;
function resetHitChecker():void;
function getHittedTargetBackSpeed():Number;
function getCurrentAttackPower():Number;
function getHittedTargetBackDir():Number;
}
}//package com.creetor.game.YLLegend.model
Section 196
//IHurter (com.creetor.game.YLLegend.model.IHurter)
package com.creetor.game.YLLegend.model {
import com.creetor.game.YLLegend.hitTest.*;
public interface IHurter extends IHurterAccessor, IActor, IFreezeable {
function setInvincible(:Boolean):void;
function
(:AsHitArea_sp):void;
function resetBodyArea():void;
function hurt(:IHitter):void;
}
}//package com.creetor.game.YLLegend.model
Section 197
//IHurterAccessor (com.creetor.game.YLLegend.model.IHurterAccessor)
package com.creetor.game.YLLegend.model {
import com.creetor.game.YLLegend.hitTest.*;
public interface IHurterAccessor extends IModelAccessor {
function get beHittedAirSpeed():Number;
function get beHittedBackDir():Number;
function getBodyArea():AsHitArea_sp;
function set beHittedBackSpeed(com.creetor.game.YLLegend.model:IHurterAccessor/com.creetor.game.YLLegend.model:IHurterAccessor:getBodyArea:Number):void;
function get beHittedBackSpeed():Number;
}
}//package com.creetor.game.YLLegend.model
Section 198
//IImpassable (com.creetor.game.YLLegend.model.IImpassable)
package com.creetor.game.YLLegend.model {
public interface IImpassable extends IModel {
}
}//package com.creetor.game.YLLegend.model
Section 199
//IModel (com.creetor.game.YLLegend.model.IModel)
package com.creetor.game.YLLegend.model {
import flash.display.*;
public interface IModel extends IModelAccessor {
function setSp(:Sprite):void;
function setCenter(_arg1:Number, _arg2:Number):void;
function update(:int):void;
function moveTo(_arg1:Number, _arg2:Number):void;
function dispose():void;
}
}//package com.creetor.game.YLLegend.model
Section 200
//IModelAccessor (com.creetor.game.YLLegend.model.IModelAccessor)
package com.creetor.game.YLLegend.model {
import flash.display.*;
import flash.geom.*;
public interface IModelAccessor {
function get initPos():Point;
function get width():Number;
function get height():Number;
function getSp():Sprite;
function get direction():Number;
}
}//package com.creetor.game.YLLegend.model
Section 201
//IMoveable (com.creetor.game.YLLegend.model.IMoveable)
package com.creetor.game.YLLegend.model {
public interface IMoveable extends IModel {
function moveY(_arg1:int, _arg2:Number, _arg3:int=0):void;
function moveX(_arg1:int, _arg2:Number, _arg3:int=0):void;
}
}//package com.creetor.game.YLLegend.model
Section 202
//ISpriteObject (com.creetor.game.YLLegend.model.ISpriteObject)
package com.creetor.game.YLLegend.model {
import flash.events.*;
public interface ISpriteObject extends ISpriteObjectAccessor, IHurter, IEventDispatcher {
}
}//package com.creetor.game.YLLegend.model
Section 203
//ISpriteObjectAccessor (com.creetor.game.YLLegend.model.ISpriteObjectAccessor)
package com.creetor.game.YLLegend.model {
public interface ISpriteObjectAccessor extends IHurterAccessor {
function getHorizontalChange():Number;
function
():Number;
function getCenterX():Number;
function getCenterY():Number;
}
}//package com.creetor.game.YLLegend.model
Section 204
//IWorld (com.creetor.game.YLLegend.model.IWorld)
package com.creetor.game.YLLegend.model {
import flash.events.*;
import com.creetor.game.YLLegend.model.char.*;
import flash.display.*;
import com.creetor.game.YLLegend.model.item.*;
import com.creetor.game.YLLegend.model.shot.*;
import com.creetor.game.YLLegend.model.scene.*;
public interface IWorld extends IWorldAccessor, IEventDispatcher {
function setIsLeftScroll(:Boolean):void;
function createPassTile(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Boolean):PassTile;
function createDragonSegment(_arg1:uint, _arg2:DragonShot, _arg3:Number, _arg4:Number, _arg5:int, _arg6:Boolean=false, _arg7:Boolean=true):IDragonSegment;
function createGreCalabash(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IItem;
function createDragonShot(_arg1:Char, _arg2:Number, _arg3:Number, _arg4:uint=3, _arg5:int=1, _arg6:Boolean=false, _arg7:int=100):DragonShot;
function
(_arg1:Object, _arg2:Boolean=true):IItem;
function remove(_arg1:IModel, _arg2:Boolean=true):void;
function changeMap(_arg1:Array, _arg2:String, _arg3:Array):void;
function clear(:Boolean=true):void;
function update(:uint):void;
function dropAnchor(:Number=9):void;
function
(:Sprite):void;
function createSoldierB2(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function createBossA(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function createBigFireBall(_arg1:Char, _arg2:Number, _arg3:Number, _arg4:Boolean=true):BigFireBall;
function createBossC(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function createYanLoong(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function createSoldierB(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function createSoldierC(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function dispose():void;
function initScreenMap(_arg1:Array, _arg2:String, _arg3:Array):void;
function createMidFireBall(_arg1:Char, _arg2:Number, _arg3:Number, _arg4:Boolean=true):MidFireBall;
function createSoldierA(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function createPeach(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IItem;
function createFireDragonShot(_arg1:Char, _arg2:Number, _arg3:Number, _arg4:Boolean=true):FireDragonShot;
function
():void;
function createBossB(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function createIceBirdShot(_arg1:Char, _arg2:Number, _arg3:Number, _arg4:Boolean=true):IceBirdShot;
function createOraCalabash(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IItem;
function createLitFireBall(_arg1:Char, _arg2:Number, _arg3:Number, _arg4:Boolean=true):LitFireBall;
function
(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Boolean=true):Array;
function createSoldierC2(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function
():void;
function createPanax(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IItem;
function createSlashShot(_arg1:Char, _arg2:Number, _arg3:Number, _arg4:Boolean=true):SlashShot;
function get anchor():Anchor;
function setIsRightScroll(:Boolean):void;
function createSoldierA2(_arg1:Number, _arg2:Number, _arg3:Boolean=true):IChar;
function carryAnchor():void;
}
}//package com.creetor.game.YLLegend.model
Section 205
//IWorldAccessor (com.creetor.game.YLLegend.model.IWorldAccessor)
package com.creetor.game.YLLegend.model {
import flash.display.*;
import cn.vlux.sharedLib.utils.*;
public interface IWorldAccessor {
function get fixedObjects():TypedArray;
function getSprite_sp():Sprite;
function getMapModel(_arg1:int, _arg2:int):IModel;
function
():Number;
function get stageHeight():Number;
function get items():TypedArray;
function get heros():TypedArray;
function get modelListMapHash():Object;
function get displayModels():TypedArray;
function get stageWidth():Number;
function
():Number;
function get models():TypedArray;
function get scrollRightEdge():Number;
function get scrollLeftEdge():Number;
function get shots():TypedArray;
function isEnableScroll():Boolean;
function get animModels():TypedArray;
function get map():Array;
function get chars():TypedArray;
function get isLeftScroll():Boolean;
function get isRightScroll():Boolean;
}
}//package com.creetor.game.YLLegend.model
Section 206
//Model (com.creetor.game.YLLegend.model.Model)
package com.creetor.game.YLLegend.model {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class Model extends EventDispatcher implements IModel {
protected var _direction:Number;// = 1
protected var _height:Number;
protected var _width:Number;
protected var _initPos:Point;
protected var _sp:Sprite;
public function Model(pX:Number, pY:Number){
super();
_initPos = new Point(pX, pY);
}
public function update(timeDiff:int):void{
}
public function get width():Number{
return (_width);
}
public function setCenter(pX:Number, pY:Number):void{
_initPos.x = pX;
_initPos.y = pY;
}
public function getSp():Sprite{
return (_sp);
}
public function get initPos():Point{
return (_initPos);
}
public function get height():Number{
return (_height);
}
public function moveTo(pX:Number, pY:Number):void{
_initPos.x = (_sp.x = pX);
_initPos.y = (_sp.y = pY);
}
public function dispose():void{
_initPos = null;
_sp = null;
}
public function setSp(pSprite:Sprite):void{
_sp = pSprite;
_sp.x = _initPos.x;
_sp.y = _initPos.y;
_sp.scaleX = _direction;
_width = Math.floor(_sp.width);
_height = Math.floor(_sp.height);
}
public function get direction():Number{
return (_direction);
}
}
}//package com.creetor.game.YLLegend.model
Section 207
//SpriteObject (com.creetor.game.YLLegend.model.SpriteObject)
package com.creetor.game.YLLegend.model {
import com.creetor.game.YLLegend.events.*;
import flash.display.*;
import com.creetor.game.YLLegend.action.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SpriteObject extends Model implements ISpriteObject {
protected var :Number;
protected var _newAnimState:String;
protected var leftX:Number;
protected var _dx:Number;
protected var _dy:Number;
private var
:Boolean;
private var :IModel;
private var :IModel;
protected var _horizontalChange:Number;
protected var _bodyArea_sp:AsHitArea_sp;
protected var _world:IWorld;
protected var _newX:Number;
protected var _newY:Number;
private var
:IModel;
protected var _isInAir:Boolean;
protected var _newDirection:Number;
protected var _animstate:String;
protected var
:Number;
protected var centerY:Number;
protected var rightX:Number;
protected var _invincible:Boolean;
private var :HitAreaInfo;
private var :IModel;
protected var _actionClipCtlrHash:Object;
protected var :Array;
protected var _hitWallLeft:Boolean;
protected var _verticalChange:Number;
private var :Boolean;
protected var
:Number;
protected var _hitWallRight:Boolean;
public function SpriteObject(pWorld:IWorld, pX:Number, pY:Number){
super(pX, pY);
_world = pWorld;
init();
}
public function get beHittedAirSpeed():Number{
return (null);
}
protected function (pY:Number, pDir:int=1):Boolean{
if ((((pDir == 1)) && (((pY + _world.getSprite_sp().y) > (Game.WORLD_HEIGHT + _height))))){
= true;
return (true);
};
= false;
return (false);
}
public function hurt(pIHitable:IHitter):void{
if (_invincible){
return;
};
}
protected function init():void{
_horizontalChange = 0;
_verticalChange = 0;
= false;
= false;
_newX = 0;
_newY = 0;
_invincible = false;
}
public function getActionClipCtrler(pAnimState:String):ActionClipController{
return (_actionClipCtlrHash[pAnimState]);
}
public function isHitWallLeft():Boolean{
return (_hitWallLeft);
}
public function get beHittedBackSpeed():Number{
return (null);
}
public function setActionClipCtrler(pAnimState:String, pLoopTimers:int=0):void{
}
public function setInvincible(pEnable:Boolean):void{
_invincible = pEnable;
}
override public function dispose():void{
var i:String;
super.dispose();
= null;
= null;
for (i in _actionClipCtlrHash) {
_actionClipCtlrHash[i].dispose();
_actionClipCtlrHash[i] = null;
};
_actionClipCtlrHash = null;
}
protected function outOfVertiEdgesHandler():void{
}
protected function checkHoriEdges(pDir:int, pX:Number):Boolean{
if ((((((pDir == 1)) && (((pX + _world.getSprite_sp().x) > (Game.WORLD_WIDTH + _width))))) || ((((pDir == -1)) && (((pX + _world.getSprite_sp().x) < -(_width))))))){
= true;
return (true);
};
= false;
return (false);
}
public function setAnimation(pAnimState:String):void{
dispatchEvent(new AnimStateEvent(AnimStateEvent.SET_ANIMATION, pAnimState));
}
public function set beHittedBackSpeed(beHittedBackSpeed:Number):void{
}
override public function setSp(pSprite:Sprite):void{
_sp = pSprite;
_sp.x = _initPos.x;
_sp.y = _initPos.y;
_sp.scaleX = _direction;
();
}
public function get animateController():AnimateController{
return (null);
}
public function isHitWallRight():Boolean{
return (_hitWallRight);
}
public function getHorizontalChange():Number{
return (_horizontalChange);
}
public function getCenterX():Number{
return (
);
}
public function getCenterY():Number{
return (centerY);
}
private function
():void{
if (!_isInAir){
(_newX, (_newY + 1));
if (((((!(( is IImpassable))) && (!((
is IImpassable))))) && (!(
())))){
_isInAir = true;
};
};
}
protected function
():void{
_newX = getSp().x;
_newY = getSp().y;
_hitWallRight = false;
_hitWallLeft = false;
var tileW:uint = Game.TILE_WIDTH;
var tileH:uint = Game.TILE_HEIGHT;
= Math.floor((getSp().x / tileW));
centerY = Math.floor(((getSp().y - (height / 2)) / tileH));
if ((_world.getMapModel((centerY + 1), (
+ 1)) is IImpassable)){
if (_direction == 1){
_hitWallRight = true;
} else {
if (_direction == -1){
_hitWallLeft = true;
};
};
};
}
public function get defaultBodyAreaInfo():HitAreaInfo{
return ();
}
public function endAnimate():void{
}
public function get actionClipCtlr():ActionClipController{
return (null);
}
private function
():Boolean{
= (Math.floor((_newY / Game.TILE_HEIGHT)) + 1);
var leftcloud:IModel = _world.getMapModel(
, leftX);
var rightcloud:IModel = _world.getMapModel(
, rightX);
return ((((leftcloud is ICloud)) || ((rightcloud is ICloud))));
}
public function set newDirection(newDirection:Number):void{
_newDirection = newDirection;
}
public function moveX(timeDiff:int, pSpeed:Number, pDir:int=0):void{
if (pDir == 0){
_horizontalChange = ((_newDirection * pSpeed) * timeDiff);
} else {
_horizontalChange = ((pDir * pSpeed) * timeDiff);
};
if (!_isInAir){
move();
};
}
public function moveY(timeDiff:int, pSpeed:Number, pDir:int=1):void{
_verticalChange = ((pDir * pSpeed) * timeDiff);
}
protected function outOfHorizEdgesHandler():void{
}
public function freeze(pFreezeTime:Number=0):void{
}
protected function setNewAnimState(pAnimState:String):void{
_newAnimState = pAnimState;
}
private function (x:Number, y:Number):void{
= (Math.floor(((y - 1) / Game.TILE_HEIGHT)) + 1);
= (Math.floor(((y - height) / Game.TILE_HEIGHT)) + 1);
leftX = (Math.floor(((x - (width / 2)) / Game.TILE_WIDTH)) + 1);
rightX = (Math.floor((((x + (width / 2)) - 1) / Game.TILE_WIDTH)) + 1);
= _world.getMapModel( , leftX);
= _world.getMapModel(
, leftX);
= _world.getMapModel( , rightX);
= _world.getMapModel(
, rightX);
}
protected function updatePos():void{
_sp.x = _newX;
_sp.y = _newY;
}
public function getBodyArea():AsHitArea_sp{
return (_bodyArea_sp);
}
public function resetBodyArea():void{
_bodyArea_sp.x = .x;
_bodyArea_sp.y = .y;
_bodyArea_sp.width = .width;
_bodyArea_sp.height = .height;
}
override public function update(timeDiff:int):void{
if ( ){
outOfVertiEdgesHandler();
};
if (
){
outOfHorizEdgesHandler();
};
}
public function resetFreeze():void{
}
public function get animStateList():Array{
return ();
}
public function get defaultAnimState():String{
return (null);
}
public function get beHittedBackDir():Number{
return (null);
}
protected function move():void{
_newX = getSp().x;
_newY = getSp().y;
_hitWallRight = false;
_hitWallLeft = false;
var tileW:uint = Game.TILE_WIDTH;
var tileH:uint = Game.TILE_HEIGHT;
if (_verticalChange != 0){
(_newX, (_newY + _verticalChange));
if (_verticalChange < 0){
if (((!(( is IImpassable))) && (!(( is IImpassable))))){
_newY = (_newY + _verticalChange);
} else {
_newY = ((centerY * tileH) + height);
};
} else {
if (_verticalChange > 0){
if (((((((!(( is IImpassable))) && (!((
is IImpassable))))) && (!(
())))) && (!(((_newY + _verticalChange)))))){
_newY = (_newY + _verticalChange);
} else {
_newY = ((centerY + 1) * tileH);
_dy = 0;
_isInAir = false;
};
};
};
};
((_newX + _horizontalChange), _newY);
if (_horizontalChange < 0){
if (((((!(( is IImpassable))) && (!(( is IImpassable))))) && (!(checkHoriEdges(-1, (_newX + _horizontalChange)))))){
_newX = (_newX + _horizontalChange);
();
} else {
_hitWallLeft = true;
_newX = ((
* tileW) + (width / 2));
};
} else {
if (_horizontalChange > 0){
if (((((!(( is IImpassable))) && (!((
is IImpassable))))) && (!(checkHoriEdges(1, (_newX + _horizontalChange)))))){
_newX = (_newX + _horizontalChange);
();
} else {
_hitWallRight = true;
_newX = (((
+ 1) * tileW) - (width / 2));
};
};
};
updatePos();
= Math.floor((getSp().x / tileW));
centerY = Math.floor(((getSp().y - (height / 2)) / tileH));
}
public function
(pBodyArea:AsHitArea_sp):void{
_bodyArea_sp = pBodyArea;
}
public function
():Number{
return (_verticalChange);
}
public function endAction(pActionName:String):void{
}
public function set defaultBodyAreaInfo(defaultBodyAreaInfo:HitAreaInfo):void{
= defaultBodyAreaInfo;
_width = Math.floor(.width);
_height = Math.floor(.height);
}
}
}//package com.creetor.game.YLLegend.model
Section 208
//World (com.creetor.game.YLLegend.model.World)
package com.creetor.game.YLLegend.model {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.effect.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.*;
import com.creetor.game.YLLegend.ai.*;
import flash.display.*;
import com.creetor.game.YLLegend.model.item.*;
import cn.vlux.sharedLib.utils.*;
import com.creetor.game.YLLegend.model.shot.*;
import com.creetor.game.YLLegend.model.scene.*;
import flash.geom.*;
import com.creetor.game.YLLegend.sound.*;
public class World extends EventDispatcher implements IWorld {
private var
:Number;
private var
:Number;
private var
:Boolean;
private var :Number;
private var
:Number;
private var
:Number;
private var
:Boolean;
private var :Object;
private var :Anchor;
private var :Sprite;
private var :Boolean;
private var :Array;
private var :ArrayKeeper;
private var :Number;
public function World(){
super();
init();
}
public function
(pChild:Object, pDispEvent:Boolean=true):IItem{
var book:ComboBook;
switch (pChild.type){
case CharAnimState.DASHATTACK:
book = new DashAttackBook(this, pChild);
break;
case CharAnimState.ROTAATTACK:
book = new RotaAttackBook(this, pChild);
break;
case CharAnimState.SQUATKICK:
book = new SquatKickBook(this, pChild);
break;
case CharAnimState.HEAVYATTACK:
book = new HeavyAttackBook(this, pChild);
break;
case CharAnimState.UPCUT:
book = new UpCutBook(this, pChild);
break;
case CharAnimState.DRAGON_UPCUT:
book = new DragonUpCutBook(this, pChild);
break;
case ShotType.DRAGON_SHOT.name:
book = new DragonShotBook(this, pChild);
break;
case ShotType.DB_DRAGON_SHOT.name:
book = new DBDragonShotBook(this, pChild);
break;
};
book.addEventListener(ItemEvent.BEPICKEDUP, );
.push(book);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, book));
};
return (book);
}
public function createGreCalabash(pX:Number, pY:Number, pDispEvent:Boolean=true):IItem{
var item:GreCalabash = new GreCalabash(this, {name:"Item_3_mc", x:pX, y:pY});
item.addEventListener(ItemEvent.BEPICKEDUP, );
.push(item);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, item));
};
return (item);
}
protected function
(pModel:IModel):void{
.push(pModel);
}
public function createOraCalabash(pX:Number, pY:Number, pDispEvent:Boolean=true):IItem{
var item:OraCalabash = new OraCalabash(this, {name:"Item_4_mc", x:pX, y:pY});
item.addEventListener(ItemEvent.BEPICKEDUP, );
.push(item);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, item));
};
return (item);
}
public function createDragonSegment(pId:uint, pOwner:DragonShot, pX:Number, pY:Number, pSinDirY:int, pIsVertiMove:Boolean=false, pDispEvent:Boolean=true):IDragonSegment{
var shot:IDragonSegment;
if (pId == 0){
shot = new DragonHead(this, pOwner, pX, pY, pId);
shot.setSinDirY(pSinDirY);
shot.setVertiMove(pIsVertiMove);
} else {
shot = new DragonBody(this, pOwner, pX, pY, pId);
shot.setSinDirY(pSinDirY);
shot.setVertiMove(pIsVertiMove);
};
.push(shot);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, shot));
};
return (shot);
}
private function
(pChar:IChar):void{
var newCurHP:Number;
if (Game.getInstance().getDifficulty() == GameDifficulty.EASY){
IAIOperator(pChar.getCharOperator()).setFrequency(-4);
} else {
if (Game.getInstance().getDifficulty() == GameDifficulty.NORMAL){
IAIOperator(pChar.getCharOperator()).setFrequency(-2);
} else {
if (Game.getInstance().getDifficulty() == GameDifficulty.HARD){
newCurHP = (Math.floor((pChar.curHP * 0.11)) * 10);
if (newCurHP == pChar.curHP){
newCurHP = (pChar.curHP + 10);
};
pChar.setCurHP(newCurHP);
pChar.setTotalHP(pChar.curHP);
IAIOperator(pChar.getCharOperator()).setFrequency(-1);
};
};
};
}
public function get fixedObjects():TypedArray{
return ( .getArray(Floor));
}
private function init():void{
= new Object();
= new ArrayKeeper(new TypedArray(IModel));
= true;
}
public function createBigFireBall(pOwner:Char, pX:Number, pY:Number, pDispEvent:Boolean=true):BigFireBall{
var shot:BigFireBall = new BigFireBall(this, pOwner, pX, pY);
.push(shot);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, shot));
};
return (shot);
}
public function createSoldierA(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:SoldierA = new SoldierA(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 500;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new DefaultEnemyOperator(enemy, heros.getItem(0));
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
public function createSoldierB(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:SoldierB = new SoldierB(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 800;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new SoldierBOperator(enemy, heros.getItem(0));
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
public function createSoldierC(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:SoldierC = new SoldierC(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 1000;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new DefaultEnemyOperator(enemy, heros.getItem(0));
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
public function dispose():void{
var models:TypedArray = .getArray(IModel);
var i:uint;
while (i < models.length) {
models.getItem(i).dispose();
i++;
};
}
public function initScreenMap(mapData:Array, bgData:String, itemData:Array):void{
(mapData);
if (itemData != null){
(itemData);
};
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.DRAWMAP, null, bgData));
}
public function createMidFireBall(pOwner:Char, pX:Number, pY:Number, pDispEvent:Boolean=true):MidFireBall{
var shot:MidFireBall = new MidFireBall(this, pOwner, pX, pY);
.push(shot);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, shot));
};
return (shot);
}
public function get modelListMapHash():Object{
return ();
}
public function
(itemData:Array, pDispEvent:Boolean=true):void{
var type:uint;
var x:Number;
var y:Number;
var i:uint;
while (i < itemData.length) {
type = uint(String(itemData[i].name).split("_")[1]);
x = itemData[i].x;
y = itemData[i].y;
switch (type){
case 1:
createPeach(itemData[i].x, itemData[i].y, pDispEvent);
break;
case 2:
createPanax(x, y, pDispEvent);
break;
case 3:
createGreCalabash(x, y, pDispEvent);
break;
case 4:
createOraCalabash(x, y, pDispEvent);
break;
default:
(itemData[i], pDispEvent);
break;
};
i++;
};
}
public function
(pTypeInfoObjList:Array, pX:Number, pY:Number, pDispEvent:Boolean=true):Array{
var modelList:Array = new Array();
var childrenList:Array = pTypeInfoObjList;
var i:uint;
while (i < pTypeInfoObjList.length) {
if (pTypeInfoObjList[i].name.indexOf("CloudFloor") > -1){
modelList.push((childrenList, pX, pY, pDispEvent));
return (modelList);
};
if (pTypeInfoObjList[i].name.indexOf("Floor") > -1){
modelList.push(
(childrenList, pX, pY, pDispEvent));
return (modelList);
};
if (pTypeInfoObjList[i].name.indexOf("Door") > -1){
childrenList = pTypeInfoObjList.concat();
childrenList.splice(i, 1);
modelList.push(
(childrenList, pX, pY, (pTypeInfoObjList[i].level as uint), pTypeInfoObjList[i].heroPosX, pTypeInfoObjList[i].heroPosY, pTypeInfoObjList[i].isUpForwards, pDispEvent));
return (modelList);
};
if (pTypeInfoObjList[i].name.indexOf("BossAnchor") > -1){
childrenList = pTypeInfoObjList.concat();
childrenList.splice(i, 1);
modelList.push((childrenList, pX, pY, (pTypeInfoObjList[i].bossType as String), (pTypeInfoObjList[i].maxCharNum as uint), pTypeInfoObjList[i].charTypeList, pDispEvent));
return (modelList);
};
if (pTypeInfoObjList[i].name.indexOf("Anchor") > -1){
childrenList = pTypeInfoObjList.concat();
childrenList.splice(i, 1);
modelList.push(
(childrenList, pX, pY, (pTypeInfoObjList[i].maxCharNum as uint), pTypeInfoObjList[i].charTypeList, pDispEvent));
return (modelList);
};
i++;
};
modelList.push(createPassTile(childrenList, pX, pY, pDispEvent));
return (modelList);
}
public function
():void{
= true;
}
private function
(pHitter:IHitter, pTargets:Array):void{
pHitter.freeze(pHitter.getCurrentFreezeTime());
var i:int;
while (i < pTargets.length) {
IHurter(pTargets[i]).hurt(pHitter);
IHurter(pTargets[i]).freeze(pHitter.getCurrentFreezeTime());
i++;
};
}
public function setIsLeftScroll(arg0:Boolean):void{
= arg0;
}
public function setIsRightScroll(arg0:Boolean):void{
= arg0;
}
public function
():void{
= false;
}
public function
():Number{
return (
);
}
public function get scrollLeftEdge():Number{
return (
);
}
public function clear(pHeroRemain:Boolean=true):void{
var i:uint = models.length;
while (i--) {
if (pHeroRemain){
//unresolved if
} else {
if ((models.getItem(i) is IChar)){
IChar(models.getItem(i)).die();
} else {
IModel(models.getItem(i)).dispose();
.remove(models.getItem(i));
};
};
};
= new Object();
= null;
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.CLEAR));
}
public function createYanLoong(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var hero:YanLoong = new YanLoong(this, pX, pY);
var attri:IHeroAttribute = new HeroAttribute(hero, this);
hero.setAttribute(attri);
.push(hero);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, hero));
};
var operator:ICharOperator = new YanLoongOperator(hero);
hero.setCharOperator(operator);
if (LocalDataSLHandler.getInstance().getHeroData() != null){
IHeroAttribute(hero.getAttribute()).setData(LocalDataSLHandler.getInstance().getHeroData());
};
return (hero);
}
public function get map():Array{
return ();
}
public function getSprite_sp():Sprite{
return ();
}
public function createIceBirdShot(pOwner:Char, pX:Number, pY:Number, pDispEvent:Boolean=true):IceBirdShot{
var shot:IceBirdShot = new IceBirdShot(this, pOwner, pX, pY);
.push(shot);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, shot));
};
return (shot);
}
public function get stageWidth():Number{
return (
);
}
public function createLitFireBall(pOwner:Char, pX:Number, pY:Number, pDispEvent:Boolean=true):LitFireBall{
var shot:LitFireBall = new LitFireBall(this, pOwner, pX, pY);
.push(shot);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, shot));
};
return (shot);
}
public function get models():TypedArray{
return ( .getArray());
}
private function
(pHitter:IHitter):IHittedEffect{
var pos:Point;
var effect:IHittedEffect;
var dir:Number = pHitter.getHittedTargetBackDir();
if (dir == 1){
pos = new Point(((pHitter.hitArea.x + (pHitter.hitArea.width / 2)) + pHitter.getSp().x), (pHitter.hitArea.y + pHitter.getSp().y));
} else {
if (dir == -1){
pos = new Point(((pHitter.getSp().x - pHitter.hitArea.x) - (pHitter.hitArea.width / 2)), (pHitter.hitArea.y + pHitter.getSp().y));
};
};
switch (pHitter.getHittedEffectType()){
case HittedEffectType.SWORD_A:
effect = new SwordHittedEffectA(this, pos.x, pos.y, dir);
break;
case HittedEffectType.FIRE_A:
effect = new FireHittedEffectA(this, pos.x, pos.y, dir);
break;
case HittedEffectType.FIRE_B:
effect = new FireHittedEffectB(this, pos.x, pos.y, dir);
break;
case HittedEffectType.ICE_A:
effect = new IceHittedEffectA(this, pos.x, pos.y, dir);
break;
case HittedEffectType.BARE_A:
effect = new BareHittedEffectA(this, pos.x, pos.y, dir);
break;
};
.push(effect);
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, effect));
return (effect);
}
public function isEnableScroll():Boolean{
return ();
}
public function createPassTile(pChildrenList:Array, pX:Number, pY:Number, pDispEvent:Boolean):PassTile{
var passTile:PassTile = new PassTile(pChildrenList, pX, pY);
.push(passTile);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, passTile));
};
return (passTile);
}
public function get isLeftScroll():Boolean{
return (
);
}
private function
(pChildrenList:Array, pX:Number, pY:Number, pDispEvent:Boolean=true):Floor{
var floorObject:Floor = new Floor(pChildrenList, pX, pY);
.push(floorObject);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, floorObject));
};
return (floorObject);
}
public function get isRightScroll():Boolean{
return (
);
}
public function dropAnchor(pScrollTileWidth:Number=9):void{
= (getMapModel(1, (IChar(heros.getItem(0)).getCenterX() + 1)) as Anchor);
.setHasDropped(true);
var anchorX:Number = anchor.initPos.x;
= (-(anchorX) + (pScrollTileWidth * Game.TILE_WIDTH));
= ((-(anchorX) - (pScrollTileWidth * Game.TILE_WIDTH)) + Game.WORLD_WIDTH);
}
public function changeMap(mapData:Array, bgData:String, itemData:Array):void{
clear();
= true;
(mapData);
if (itemData != null){
(itemData);
};
var hero:IChar = heros.getItem(0);
hero.moveTo(hero.initPos.x, hero.initPos.y);
IHeroAttribute(hero.getAttribute()).resetTouchDoor();
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.REDRAWMAP, null, bgData));
}
public function remove(pModel:IModel, pDispEvent:Boolean=true):void{
pModel.dispose();
(pModel, pDispEvent);
}
private function (childrenList:Array, pX:Number, pY:Number, pBossType:String, pMaxCharNum:uint, pCharTypeList:Array, pDispEvent:Boolean):BossAnchor{
var anchor:BossAnchor = new BossAnchor(childrenList, pX, pY, pBossType, pMaxCharNum, pCharTypeList);
.push(anchor);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, anchor));
};
return (anchor);
}
public function createFireDragonShot(pOwner:Char, pX:Number, pY:Number, pDispEvent:Boolean=true):FireDragonShot{
var shot:FireDragonShot = new FireDragonShot(this, pOwner, pX, pY);
.push(shot);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, shot));
};
return (shot);
}
public function getMapModel(pTileY:int, pTileX:int):IModel{
if ([((pTileY + ",") + pTileX)] != undefined){
return ([((pTileY + ",") + pTileX)][0]);
};
return (null);
}
public function createSoldierB2(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:SoldierB2 = new SoldierB2(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 1600;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new SoldierBOperator(enemy, heros.getItem(0));
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
public function createSlashShot(pOwner:Char, pX:Number, pY:Number, pDispEvent:Boolean=true):SlashShot{
var shot:SlashShot = new SlashShot(this, pOwner, pX, pY);
.push(shot);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, shot));
};
return (shot);
}
private function (pHitter:IHitter):void{
if ((((((pHitter.actionClipCtlr.name == CharAnimState.SQUATKICK)) || ((pHitter.actionClipCtlr.name == CharAnimState.JUMPKICK)))) || ((((pHitter is BossB)) && ((pHitter.actionClipCtlr.name == CharAnimState.JUMPATTACK)))))){
SoundManager.getInstance().playEffect(SoundType.KICK1);
} else {
if ((((((((((((pHitter is BigFireBall)) || ((pHitter is DragonSegment)))) || ((pHitter is FireDragonShot)))) || ((pHitter is IceBirdShot)))) || ((pHitter.actionClipCtlr.name == CharAnimState.DRAGON_UPCUT)))) || ((pHitter.actionClipCtlr.name == CharAnimState.ROTAATTACK)))){
SoundManager.getInstance().playEffect(SoundType.SHOT_HITTED1);
} else {
if ((((pHitter is LitFireBall)) || ((pHitter is MidFireBall)))){
SoundManager.getInstance().playEffect(SoundType.SHOT_HITTED2);
} else {
SoundManager.getInstance().playEffect(SoundType.SWORD1);
};
};
};
}
public function get scrollRightEdge():Number{
return ();
}
public function get anchor():Anchor{
return ();
}
public function carryAnchor():void{
();
= null;
}
public function createSoldierA2(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:SoldierA2 = new SoldierA2(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 1000;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new DefaultEnemyOperator(enemy, heros.getItem(0));
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
private function (mapData:Array):void{
var j:uint;
var mapY:Number;
var mapX:Number;
var x:Number;
var y:Number;
= mapData[(mapData.length - 1)].width;
= mapData[(mapData.length - 1)].height;
();
= Math.floor((
/ Game.TILE_WIDTH));
= Math.floor((
/ Game.TILE_HEIGHT));
= new Array();
var i:uint;
while (i < ( + 2)) {
[i] = new Array();
j = 0;
while (j < (
+ 2)) {
[i][j] = 0;
j++;
};
i++;
};
var k:uint;
while (k < (mapData.length - 1)) {
mapY = (Math.floor((mapData[k].y / Game.TILE_HEIGHT)) + 1);
mapX = (Math.floor((mapData[k].x / Game.TILE_WIDTH)) + 1);
if ([mapY][mapX] == 0){
[mapY][mapX] = [mapData[k]];
} else {
[mapY][mapX].push(mapData[k]);
};
x = ((mapX - 1) * Game.TILE_WIDTH);
y = ((mapY - 1) * Game.TILE_HEIGHT);
[((mapY + ",") + mapX)] =
([mapY][mapX], x, y, false);
k++;
};
trace(("_map: " + ));
}
public function createSoldierC2(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:SoldierC2 = new SoldierC2(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 2000;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new DefaultEnemyOperator(enemy, heros.getItem(0));
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
public function get stageHeight():Number{
return (
);
}
public function get items():TypedArray{
return ( .getArray(IItem));
}
public function get heros():TypedArray{
var heros:TypedArray = new TypedArray(IChar);
var i:uint;
while (i < chars.length) {
if ((IChar(chars.getItem(i)).getAttribute() is IHeroAttribute)){
heros.push(chars.getItem(i));
};
i++;
};
return (heros);
}
public function update(timeDiff:uint):void{
var hittedTargets:Array;
var models:TypedArray = .getArray(IModel);
if (models == null){
return;
};
var i:uint;
while (i < models.length) {
models.getItem(i).update(timeDiff);
if ((models.getItem(i) is IHitter)){
hittedTargets = IHitter(models.getItem(i)).getHittedTargetsAndClear();
if (hittedTargets.length > 0){
dispatchEvent(new HittedEvent(HittedEvent.HITTED, IHitter(models.getItem(i)), hittedTargets));
(IHitter(models.getItem(i)), hittedTargets);
(IHitter(models.getItem(i)));
(IHitter(models.getItem(i)));
};
};
i++;
};
}
private function
(childrenList:Array, pX:Number, pY:Number, pLevel:uint, pHeroPosX:Number, pHeroPosY:Number, pIsUpForwards:Boolean, pDispEvent:Boolean):Door{
var door:Door = new Door(childrenList, pX, pY, pLevel, pHeroPosX, pHeroPosY, pIsUpForwards);
.push(door);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, door));
};
return (door);
}
public function get displayModels():TypedArray{
return ( .getArray(IDisplayable));
}
public function createPeach(pX:Number, pY:Number, pDispEvent:Boolean=true):IItem{
var item:Peach = new Peach(this, {name:"Item_1_mc", x:pX, y:pY});
item.addEventListener(ItemEvent.BEPICKEDUP, );
.push(item);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, item));
};
return (item);
}
private function ():void{
= (-(Game.TILE_WIDTH) - 2);
= (((-(
) + Game.WORLD_WIDTH) + (2 * Game.TILE_WIDTH)) + 10);
}
public function get chars():TypedArray{
return ( .getArray(IChar));
}
public function createBossA(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:BossA = new BossA(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 10000;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new BossAOperator(enemy, heros.getItem(0), 9);
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
public function createBossC(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:BossC = new BossC(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 20000;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new BossCOperator(enemy, heros.getItem(0), 10);
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
public function get animModels():TypedArray{
return ( .getArray(IAnimatable));
}
public function (pModel:IModel, pDispEvent:Boolean=true):void{
.remove(pModel);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.REMOVE_VIEW, pModel));
};
}
public function get shots():TypedArray{
return ( .getArray(IShot));
}
public function createBossB(pX:Number, pY:Number, pDispEvent:Boolean=true):IChar{
var enemy:BossB = new BossB(this, pX, pY);
var attri:IEnemyAttribute = new EnemyAttribute(enemy, this);
attri.heroAddedExp = 12000;
enemy.setAttribute(attri);
.push(enemy);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, enemy));
};
var operator:ICharOperator = new BossBOperator(enemy, heros.getItem(0), 9);
enemy.setCharOperator(operator);
(enemy);
return (enemy);
}
public function createDragonShot(pOwner:Char, pX:Number, pY:Number, pSegmentNum:uint=3, pSinDirY:int=1, pIsUpMove:Boolean=false, pFreq:int=100):DragonShot{
var shot:DragonShot = new DragonShot(this, pOwner, pX, pY, pSegmentNum, pSinDirY, pIsUpMove);
shot.setFrequency(pFreq);
.push(shot);
return (shot);
}
private function (event:ItemEvent):void{
var event2:WorldEvent = new WorldEvent(WorldEvent.ITEM_PICKUP, (event.target as IItem));
dispatchEvent(event2);
if ((event.target is ComboBook)){
IHeroAttribute(IChar(heros.getItem(0)).getAttribute()).addSkillToPackage(event.target);
};
((event.target as IItem));
trace(event.target.getSp());
}
private function
(childrenList:Array, pX:Number, pY:Number, pMaxCharNum:uint, pCharTypeList:Array, pDispEvent:Boolean):Anchor{
var anchor:Anchor = new Anchor(childrenList, pX, pY, pMaxCharNum, pCharTypeList);
.push(anchor);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, anchor));
};
return (anchor);
}
public function
():Number{
return ( );
}
public function
(sprite_sp:Sprite):void{
= sprite_sp;
}
public function createPanax(pX:Number, pY:Number, pDispEvent:Boolean=true):IItem{
var item:Panax = new Panax(this, {name:"Item_2_mc", x:pX, y:pY});
item.addEventListener(ItemEvent.BEPICKEDUP, );
.push(item);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, item));
};
return (item);
}
private function (pChildrenList:Array, pX:Number, pY:Number, pDispEvent:Boolean=true):CloudFloor{
var cloudFloor:CloudFloor = new CloudFloor(pChildrenList, pX, pY);
.push(cloudFloor);
if (pDispEvent){
dispatchEvent(new WorldAnimatorEvent(WorldAnimatorEvent.ADD_VIEW, cloudFloor));
};
return (cloudFloor);
}
}
}//package com.creetor.game.YLLegend.model
Section 209
//SoundLibPlayer (com.creetor.game.YLLegend.sound.SoundLibPlayer)
package com.creetor.game.YLLegend.sound {
import cn.vlux.sharedLib.media.*;
public class SoundLibPlayer extends SoundPlayer {
private var
:Shaking2_snd;
private var
:GetItem_snd;
private var
:LevelUp_snd;
private var
:Bgm3_snd;
private var
:Kick1_snd;
private var
:Sword1_snd;
private var
:Shaking1_snd;
private var
:ShotHitted1_snd;
private var
:FallDown1_snd;
private var
:Bgm1_snd;
private var
:Bgm2_snd;
private var
:Burning1_snd;
private var
:ShotHitted2_snd;
public function SoundLibPlayer(isbk:Boolean=false, liburl:String=""){
super(isbk, liburl);
}
}
}//package com.creetor.game.YLLegend.sound
Section 210
//SoundManager (com.creetor.game.YLLegend.sound.SoundManager)
package com.creetor.game.YLLegend.sound {
import cn.vlux.sharedLib.media.*;
public class SoundManager {
private var
:String;
private var
:SoundGroup;
private var
:SoundGroup;
private static var instance:SoundManager;
public function SoundManager(){
super();
if (instance != null){
throw (new Error("can not have multiple instances!"));
};
init();
();
}
public function set bgmMute(_mute:Boolean):void{
.mute = _mute;
}
public function playBgm(pSoundType:String, pStartTime:Number=0):void{
= pSoundType;
.playSound(pSoundType, pStartTime, int.MAX_VALUE);
}
public function playEffect(pSoundType:String):void{
.playSound(pSoundType);
}
public function stopBgm():void{
.stopSound(
);
}
public function set seMute(_mute:Boolean):void{
.mute = _mute;
}
private function init():void{
= new SoundGroup();
= new SoundGroup();
}
private function
():void{
.put(SoundType.KICK1, new SoundLibPlayer(false, (SoundType.KICK1 + "_snd")));
.put(SoundType.SWORD1, new SoundLibPlayer(false, (SoundType.SWORD1 + "_snd")));
.put(SoundType.SHAKING1, new SoundLibPlayer(false, (SoundType.SHAKING1 + "_snd")));
.put(SoundType.SHAKING2, new SoundLibPlayer(false, (SoundType.SHAKING2 + "_snd")));
.put(SoundType.SHOT_HITTED1, new SoundLibPlayer(false, (SoundType.SHOT_HITTED1 + "_snd")));
.put(SoundType.SHOT_HITTED2, new SoundLibPlayer(false, (SoundType.SHOT_HITTED2 + "_snd")));
.put(SoundType.FALLDOWN1, new SoundLibPlayer(false, (SoundType.FALLDOWN1 + "_snd")));
.put(SoundType.BURNING1, new SoundLibPlayer(false, (SoundType.BURNING1 + "_snd")));
.put(SoundType.GETITEM, new SoundLibPlayer(false, (SoundType.GETITEM + "_snd")));
.put(SoundType.LEVEL_UP, new SoundLibPlayer(false, (SoundType.LEVEL_UP + "_snd")));
.put(SoundType.BGM1, new SoundLibPlayer(false, (SoundType.BGM1 + "_snd")));
.put(SoundType.BGM2, new SoundLibPlayer(false, (SoundType.BGM2 + "_snd")));
.put(SoundType.BGM3, new SoundLibPlayer(false, (SoundType.BGM3 + "_snd")));
}
public function getCurBgmType():String{
return (
);
}
public static function getInstance():SoundManager{
if (instance == null){
instance = new (SoundManager);
};
return (instance);
}
}
}//package com.creetor.game.YLLegend.sound
Section 211
//SoundType (com.creetor.game.YLLegend.sound.SoundType)
package com.creetor.game.YLLegend.sound {
public class SoundType {
public static const GETITEM:String = "GetItem";
public static const BGM2:String = "Bgm2";
public static const BGM3:String = "Bgm3";
public static const SHOT_HITTED1:String = "ShotHitted1";
public static const SHOT_HITTED2:String = "ShotHitted2";
public static const BGM1:String = "Bgm1";
public static const LEVEL_UP:String = "LevelUp";
public static const KICK1:String = "Kick1";
public static const SHAKING1:String = "Shaking1";
public static const SHAKING2:String = "Shaking2";
public static const SWORD1:String = "Sword1";
public static const FALLDOWN1:String = "FallDown1";
public static const BURNING1:String = "Burning1";
public function SoundType(){
super();
}
}
}//package com.creetor.game.YLLegend.sound
Section 212
//AnimateUI (com.creetor.game.YLLegend.ui.AnimateUI)
package com.creetor.game.YLLegend.ui {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.action.*;
public class AnimateUI extends Model implements IAnimatable {
protected var _animateCtlr:AnimateController;
public function AnimateUI(pX:Number, pY:Number){
super(pX, pY);
init();
}
public function get animateController():AnimateController{
return (_animateCtlr);
}
public function endAnimate():void{
dispatchEvent(new ModelEvent(ModelEvent.REMOVE));
}
override public function dispose():void{
super.dispose();
_animateCtlr.dispose();
_animateCtlr = null;
}
protected function init():void{
_animateCtlr = new SimpleAnimateController(AnimState.DEFAULT, this, 1);
}
public function get defaultAnimState():String{
return (AnimState.DEFAULT);
}
public function get animStateList():Array{
return ([AnimState.DEFAULT]);
}
}
}//package com.creetor.game.YLLegend.ui
Section 213
//CharInfoPan (com.creetor.game.YLLegend.ui.CharInfoPan)
package com.creetor.game.YLLegend.ui {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.char.*;
import flash.display.*;
public class CharInfoPan {
private var
:IChar;
private var _skin:MovieClip;
private var
:PowerBar;
public function CharInfoPan(pSkin:MovieClip, pLifeBar:PowerBar, pChar:IChar){
super();
_skin = pSkin;
= pLifeBar;
= pChar;
.addEventListener(CharEvent.UPDATE_TOTALHP, , false, 0, true);
.addEventListener(CharEvent.HURT, , false, 0, true);
}
protected function (event:CharEvent):void{
.setValue(event.curHP);
}
private function (event:CharEvent):void{
.totalPower = event.totalHP;
}
public function dispose():void{
_skin = null;
= null;
= null;
}
public function get char():IChar{
return (
);
}
public function get lifeBar():PowerBar{
return (
);
}
public function get skin():MovieClip{
return (_skin);
}
}
}//package com.creetor.game.YLLegend.ui
Section 214
//CheckBox (com.creetor.game.YLLegend.ui.CheckBox)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
public class CheckBox extends EventDispatcher {
private var _mc:CheckBox_mc;
private var _enableUnSelect:Boolean;
public function CheckBox(pSkin:CheckBox_mc){
super();
_enableUnSelect = true;
(pSkin);
();
}
protected function (pSkin:CheckBox_mc):void{
_mc = pSkin;
_mc.stop();
}
public function setEnableUnSelect(enableUnSelect:Boolean):void{
_enableUnSelect = enableUnSelect;
}
public function setUnselected():void{
_mc.gotoAndStop(1);
var evt:CheckBoxEvent = new CheckBoxEvent(CheckBoxEvent.UNSELECT);
dispatchEvent(evt);
}
private function onChangeStatus(pEvt:MouseEvent):void{
var evt:CheckBoxEvent;
if (_mc.currentFrame == 1){
_mc.nextFrame();
evt = new CheckBoxEvent(CheckBoxEvent.SELECT);
dispatchEvent(evt);
} else {
if (_enableUnSelect){
_mc.prevFrame();
evt = new CheckBoxEvent(CheckBoxEvent.UNSELECT);
dispatchEvent(evt);
};
};
}
private function ():void{
_mc.addEventListener(MouseEvent.CLICK, onChangeStatus);
}
public function setSelected():void{
_mc.gotoAndStop(2);
var evt:CheckBoxEvent = new CheckBoxEvent(CheckBoxEvent.SELECT);
dispatchEvent(evt);
}
public function dispose():void{
_mc = null;
}
}
}//package com.creetor.game.YLLegend.ui
Section 215
//CreditsScreen (com.creetor.game.YLLegend.ui.CreditsScreen)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import flash.display.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public class CreditsScreen extends EventDispatcher {
private var :DisplayObjectContainer;
private var _skin:CreditsScreen_mc;
public function CreditsScreen(pParent:DisplayObjectContainer){
super();
= pParent;
(pParent);
init();
SoundManager.getInstance().stopBgm();
SoundManager.getInstance().playBgm(SoundType.BGM3);
}
private function hide():void{
if (_skin.parent != null){
_skin.parent.removeChild(_skin);
};
}
public function get skin():CreditsScreen_mc{
return (_skin);
}
private function (event:MouseEvent):void{
hide();
dispatchEvent(new ScreenEvent(ScreenEvent.BACK));
}
public function dispose():void{
hide();
_skin = null;
= null;
}
private function init():void{
_skin.back_btn.addEventListener(MouseEvent.CLICK, );
_skin.creetorSite_btn.addEventListener(MouseEvent.CLICK, );
}
private function (pParent:DisplayObjectContainer):void{
_skin = new CreditsScreen_mc();
pParent.addChild(_skin);
}
public function show():void{
.addChild(_skin);
_skin.gotoAndPlay(1);
SoundManager.getInstance().stopBgm();
SoundManager.getInstance().playBgm(SoundType.BGM3);
}
private function (event:MouseEvent):void{
URL.getURL(URL.URL_CREETOR);
}
}
}//package com.creetor.game.YLLegend.ui
Section 216
//EndingScreen (com.creetor.game.YLLegend.ui.EndingScreen)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.*;
import flash.display.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public class EndingScreen extends EventDispatcher implements IScreen {
private var :DisplayObjectContainer;
private var _skin:EndingScreen_mc;
public function EndingScreen(pParent:DisplayObjectContainer){
super();
= pParent;
(pParent);
init();
SoundManager.getInstance().stopBgm();
SoundManager.getInstance().playBgm(SoundType.BGM2);
}
private function (event:Event):void{
if (_skin.currentFrame >= _skin.totalFrames){
_skin.stop();
dispatchEvent(new ScreenEvent(ScreenEvent.ANI_COMPLETE));
};
}
private function hide():void{
if (_skin.parent != null){
_skin.parent.removeChild(_skin);
};
}
private function (event:MouseEvent):void{
URL.getURL((((URL.URL_YLL_CREETOR + "/") + YLLegend.LANG) + "/highscores.php"));
}
private function init():void{
_skin.officialSite_btn.addEventListener(MouseEvent.CLICK, , false, 0, true);
_skin.backToMain_btn.addEventListener(MouseEvent.CLICK, , false, 0, true);
_skin.addEventListener(Event.ENTER_FRAME, );
_skin.highscores_btn.addEventListener(MouseEvent.CLICK, );
}
private function (event:MouseEvent):void{
URL.getURL(URL.URL_YLL_CREETOR);
}
private function (pParent:DisplayObjectContainer):void{
_skin = new EndingScreen_mc();
pParent.addChild(_skin);
}
private function (event:MouseEvent):void{
dispatchEvent(new GameOverScreenEvent(GameOverScreenEvent.BACK_TO_MAIN));
}
public function get skin():EndingScreen_mc{
return (_skin);
}
public function dispose():void{
hide();
_skin.removeEventListener(Event.ENTER_FRAME, );
_skin = null;
= null;
}
}
}//package com.creetor.game.YLLegend.ui
Section 217
//EnemyInfoPan (com.creetor.game.YLLegend.ui.EnemyInfoPan)
package com.creetor.game.YLLegend.ui {
import com.creetor.game.YLLegend.model.char.*;
public class EnemyInfoPan extends CharInfoPan {
public function EnemyInfoPan(pSkin:Enemy_info_mc, pLifeBar:PowerBar, pChar:IChar){
super(pSkin, pLifeBar, pChar);
if (!(pChar.getAttribute() is IEnemyAttribute)){
throw (new TypeError("'pChar' should has a IEnemyAttribute!"));
};
skin.stop();
}
public function checkIfDying():void{
if (char.isAlive == false){
skin.play();
};
}
}
}//package com.creetor.game.YLLegend.ui
Section 218
//GameOverScreen (com.creetor.game.YLLegend.ui.GameOverScreen)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.*;
import flash.display.*;
import com.creetor.game.YLLegend.utils.*;
public class GameOverScreen extends EventDispatcher implements IScreen {
private var :DisplayObjectContainer;
private var _skin:GameOverScreen_mc;
public function GameOverScreen(pParent:DisplayObjectContainer){
super();
= pParent;
(pParent);
init();
}
private function hide():void{
if (_skin.parent != null){
_skin.parent.removeChild(_skin);
};
}
private function
(event:MouseEvent):void{
dispatchEvent(new GameOverScreenEvent(GameOverScreenEvent.CONTINUE));
}
private function
(event:MouseEvent):void{
URL.getURL(URL.URL_CREETOR);
}
private function (event:MouseEvent):void{
URL.getURL((((URL.URL_YLL_CREETOR + "/") + YLLegend.LANG) + "/highscores.php"));
}
private function init():void{
_skin.continue_btn.addEventListener(MouseEvent.CLICK,
);
_skin.back_btn.addEventListener(MouseEvent.CLICK, );
_skin.PlayMoreGames_btn.addEventListener(MouseEvent.CLICK,
);
_skin.highscores_btn.addEventListener(MouseEvent.CLICK, );
}
private function (pParent:DisplayObjectContainer):void{
_skin = new GameOverScreen_mc();
pParent.addChild(_skin);
}
private function (event:MouseEvent):void{
dispatchEvent(new GameOverScreenEvent(GameOverScreenEvent.BACK_TO_MAIN));
}
public function get skin():GameOverScreen_mc{
return (_skin);
}
public function dispose():void{
hide();
_skin = null;
= null;
}
}
}//package com.creetor.game.YLLegend.ui
Section 219
//HeroInfoPan (com.creetor.game.YLLegend.ui.HeroInfoPan)
package com.creetor.game.YLLegend.ui {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.char.*;
public class HeroInfoPan extends CharInfoPan {
private var :Hero_info_mc;
private var :PowerBar;
public function HeroInfoPan(pSkin:Hero_info_mc, pLifeBar:PowerBar, pPowerBar:PowerBar, pChar:IChar){
super(pSkin, pLifeBar, pChar);
if (!(pChar.getAttribute() is IHeroAttribute)){
throw (new TypeError("'pChar' should has a IHeroAttibute!"));
};
= pSkin;
= pPowerBar;
level = IHeroAttribute(pChar.getAttribute()).level;
exp = IHeroAttribute(pChar.getAttribute()).exp;
pChar.getAttribute().addEventListener(HeroEvent.ADD_EXP, , false, 0, true);
pChar.getAttribute().addEventListener(HeroEvent.LEVEL_UP, , false, 0, true);
pChar.addEventListener(CharEvent.UPDATE_TOTALPP, , false, 0, true);
pChar.addEventListener(CharEvent.USE_POWER, , false, 0, true);
pChar.addEventListener(CharEvent.ADD_POWER, , false, 0, true);
pChar.addEventListener(CharEvent.ADD_HP, , false, 0, true);
}
private function (event:CharEvent):void{
.totalPower = event.totalPP;
}
public function set level(pLevel:uint):void{
.level_tf.text = String(pLevel);
}
public function get powerBar():PowerBar{
return ();
}
private function (event:HeroEvent):void{
exp = event.exp;
}
private function (event:CharEvent):void{
.setValue(event.curPP);
}
public function set exp(pExp:uint):void{
.exp_tf.text = String(pExp);
}
private function (event:HeroEvent):void{
level = event.level;
}
override public function dispose():void{
super.dispose();
.dispose();
= null;
.parent.removeChild();
= null;
}
}
}//package com.creetor.game.YLLegend.ui
Section 220
//HeroSkillPan (com.creetor.game.YLLegend.ui.HeroSkillPan)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.char.*;
import flash.display.*;
import com.creetor.game.YLLegend.model.item.*;
import cn.vlux.sharedLib.utils.*;
import com.creetor.game.YLLegend.model.shot.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.view.*;
import com.creetor.game.YLLegend.controller.*;
public class HeroSkillPan extends EventDispatcher implements ISkillPanConsole {
private var
:IHeroAttribute;
private var
:HeroSkillPakage;
private var _skin:HeroSkillPanSkin;
private var
:IUIController;
private static const INTERVAL:Number = 68;
private static const CURSOR_UPLIMIT:Number = 39;
private static const CURSOR_LEFTLIMIT:Number = 19;
private static const ITEM_SQUARE_SIDE:Number = 42;
public function HeroSkillPan(pSkin:HeroSkillPanSkin, pHeroAtt:IHeroAttribute){
super();
_skin = pSkin;
= pHeroAtt;
= pHeroAtt.
();
if (
.getChar().getShotType() != null){
();
};
init();
}
private function hide():void{
.disable();
dispatchEvent(new UIConsoleEvent(UIConsoleEvent.HIDE));
}
public function confirm():void{
if (_skin.parent == null){
show();
} else {
hide();
};
}
private function
():void{
var id:int =
();
if (id >= 8){
if (ComboBook(
.getComboList()[(id - 8)]) != null){
_skin.desc_txt.htmlText = ComboBook(
.getComboList()[(id - 8)]).getDesc();
} else {
_skin.desc_txt.htmlText = "";
};
} else {
if (id < 8){
if (ShotIcon(
.getQigongList()[id]) != null){
_skin.desc_txt.htmlText = ShotIcon(
.getQigongList()[id]).getDesc();
} else {
_skin.desc_txt.htmlText = "";
};
};
};
}
public function getSkin():HeroSkillPanSkin{
return (_skin);
}
private function show():void{
.enable();
dispatchEvent(new UIConsoleEvent(UIConsoleEvent.SHOW));
();
}
private function
():void{
var shotName:String;
var type:String;
var i:uint;
while (i <
.getQigongList().length) {
shotName = ClassUtil.classToName(ShotIcon(
.getQigongList()[i]));
type = (shotName.split("Icon")[0] as String);
if (
.getChar().getShotType().name == type){
_skin.equipIcon_mc.x = (25 + ((i % 4) * ITEM_SQUARE_SIDE));
_skin.equipIcon_mc.y = (62 + (Math.floor((i / 4)) * ITEM_SQUARE_SIDE));
};
i++;
};
}
private function
():void{
var sp:DisplayObject;
var i:uint;
while (i < _skin.iconLayer_mc.numChildren) {
_skin.iconLayer_mc.removeChild(_skin.iconLayer_mc.getChildAt(i));
i++;
};
var comboList:Array =
.getComboList();
i = 0;
while (i < comboList.length) {
sp = LibAssetFactory.create(IItem(comboList[i]).childrenList[0].name);
sp.x = (40 + ((i % 4) * ITEM_SQUARE_SIDE));
sp.y = (184 + (Math.floor((i / 4)) * ITEM_SQUARE_SIDE));
_skin.iconLayer_mc.addChild(sp);
i++;
};
var qigongList:Array =
.getQigongList();
i = 0;
while (i < qigongList.length) {
sp = LibAssetFactory.create(IItem(qigongList[i]).childrenList[0].name);
sp.x = (40 + ((i % 4) * ITEM_SQUARE_SIDE));
sp.y = (74 + (Math.floor((i / 4)) * ITEM_SQUARE_SIDE));
_skin.iconLayer_mc.addChild(sp);
i++;
};
();
}
private function init():void{
_skin.seOn_mc.stop();
_skin.seOn_mc.addEventListener(MouseEvent.CLICK,
);
_skin.bgmOn_mc.stop();
_skin.bgmOn_mc.addEventListener(MouseEvent.CLICK,
);
}
public function cursorUp():void{
if (_skin.cursor_mc.y >= (CURSOR_UPLIMIT + ITEM_SQUARE_SIDE)){
if (_skin.cursor_mc.y == ((CURSOR_UPLIMIT + ITEM_SQUARE_SIDE) + INTERVAL)){
_skin.cursor_mc.y = (_skin.cursor_mc.y - INTERVAL);
} else {
_skin.cursor_mc.y = (_skin.cursor_mc.y - ITEM_SQUARE_SIDE);
};
();
};
}
private function
(event:MouseEvent):void{
if (_skin.seOn_mc.currentFrame == 1){
SoundManager.getInstance().seMute = true;
_skin.seOn_mc.nextFrame();
} else {
SoundManager.getInstance().seMute = false;
_skin.seOn_mc.prevFrame();
};
}
public function cursorDown():void{
if (_skin.cursor_mc.y <= (CURSOR_UPLIMIT + (ITEM_SQUARE_SIDE * 3))){
if (_skin.cursor_mc.y == (CURSOR_UPLIMIT + ITEM_SQUARE_SIDE)){
_skin.cursor_mc.y = (_skin.cursor_mc.y + INTERVAL);
} else {
_skin.cursor_mc.y = (_skin.cursor_mc.y + ITEM_SQUARE_SIDE);
};
();
};
}
private function
(event:MouseEvent):void{
if (_skin.bgmOn_mc.currentFrame == 1){
SoundManager.getInstance().bgmMute = true;
_skin.bgmOn_mc.nextFrame();
} else {
SoundManager.getInstance().bgmMute = false;
_skin.bgmOn_mc.prevFrame();
};
}
public function equipQigong():void{
var shotName:String;
var id:int =
();
if (id < 8){
if (ShotIcon(
.getQigongList()[id]) != null){
_skin.equipIcon_mc.x = (_skin.cursor_mc.x + 5);
_skin.equipIcon_mc.y = (_skin.cursor_mc.y + 23);
shotName = ClassUtil.classToName(ShotIcon(
.getQigongList()[id]));
trace(("equip: " + shotName));
.setShotType(ShotType.getTypeByName(shotName.split("Icon")[0]));
};
};
}
public function cursorRight():void{
if (_skin.cursor_mc.x <= (CURSOR_LEFTLIMIT + (ITEM_SQUARE_SIDE * 3))){
_skin.cursor_mc.x = (_skin.cursor_mc.x + ITEM_SQUARE_SIDE);
();
};
}
private function
():int{
return ((Math.floor(((_skin.cursor_mc.x - CURSOR_LEFTLIMIT) / ITEM_SQUARE_SIDE)) + (Math.floor(((_skin.cursor_mc.y - CURSOR_UPLIMIT) / ITEM_SQUARE_SIDE)) * 4)));
}
public function dispose():void{
= null;
= null;
_skin = null;
.dispose();
= null;
}
public function setUIController(uiCtr:IUIController):void{
= uiCtr;
.disable();
}
public function cancel():void{
if (_skin.parent != null){
hide();
};
}
public function cursorLeft():void{
if (_skin.cursor_mc.x >= (CURSOR_LEFTLIMIT + ITEM_SQUARE_SIDE)){
_skin.cursor_mc.x = (_skin.cursor_mc.x - ITEM_SQUARE_SIDE);
();
};
}
}
}//package com.creetor.game.YLLegend.ui
Section 221
//HeroSkillPanSkin (com.creetor.game.YLLegend.ui.HeroSkillPanSkin)
package com.creetor.game.YLLegend.ui {
import flash.display.*;
import flash.text.*;
public class HeroSkillPanSkin extends MovieClip {
public var desc_txt:TextField;
public var seOn_mc:MovieClip;
public var equipIcon_mc:MovieClip;
public var bgmOn_mc:MovieClip;
public var iconLayer_mc:MovieClip;
public var cursor_mc:MovieClip;
public function HeroSkillPanSkin(){
super();
}
}
}//package com.creetor.game.YLLegend.ui
Section 222
//HitsCounter (com.creetor.game.YLLegend.ui.HitsCounter)
package com.creetor.game.YLLegend.ui {
import flash.display.*;
import cn.vlux.sharedLib.game.*;
import com.creetor.game.YLLegend.action.animateUI.*;
public class HitsCounter extends AnimateUI {
private var :DigitSet;
private var _mc:MovieClip;
public function HitsCounter(pX:Number, pY:Number){
super(pX, pY);
}
override protected function init():void{
_animateCtlr = new HitsCounterAnimateCtlr(this);
}
public function increase():void{
if (_mc == null){
_mc = _animateCtlr.actionClip;
= new DigitSet(_mc);
.registerDigit(_mc.digit1_mc);
.registerDigit(_mc.digit2_mc);
};
_animateCtlr.resetAnimate();
_animateCtlr.reset();
.number++;
if (.number > 1){
_mc.visible = true;
} else {
_mc.visible = false;
};
}
public function updatePos(pX:Number, pY:Number):void{
getSp().x = pX;
getSp().y = pY;
}
}
}//package com.creetor.game.YLLegend.ui
Section 223
//HowToPlayScreen (com.creetor.game.YLLegend.ui.HowToPlayScreen)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import flash.display.*;
import com.creetor.game.YLLegend.utils.*;
public class HowToPlayScreen extends EventDispatcher {
private var :DisplayObjectContainer;
private var _skin:HowToPlayScreen_mc;
public function HowToPlayScreen(pParent:DisplayObjectContainer){
super();
= pParent;
(pParent);
init();
}
private function hide():void{
if (_skin.parent != null){
_skin.parent.removeChild(_skin);
};
}
public function show():void{
.addChild(_skin);
_skin.htpPan_mc.gotoAndStop(1);
_skin.prev_btn.visible = false;
_skin.next_btn.visible = true;
}
private function (event:MouseEvent):void{
hide();
dispatchEvent(new ScreenEvent(ScreenEvent.BACK));
}
private function (event:MouseEvent):void{
_skin.htpPan_mc.prevFrame();
if (_skin.htpPan_mc.currentFrame == 1){
_skin.prev_btn.visible = false;
};
if (_skin.next_btn.visible == false){
_skin.next_btn.visible = true;
};
}
private function init():void{
_skin.back_btn.addEventListener(MouseEvent.CLICK, );
_skin.htpPan_mc.stop();
_skin.prev_btn.addEventListener(MouseEvent.CLICK, );
_skin.prev_btn.visible = false;
_skin.next_btn.addEventListener(MouseEvent.CLICK, );
_skin.htpPan_mc.officialSite_btn.addEventListener(MouseEvent.CLICK, function (event:MouseEvent){
URL.getURL(URL.URL_YLL_CREETOR);
});
}
private function (event:MouseEvent):void{
_skin.htpPan_mc.nextFrame();
if (_skin.htpPan_mc.currentFrame == _skin.htpPan_mc.totalFrames){
_skin.next_btn.visible = false;
};
if (_skin.prev_btn.visible == false){
_skin.prev_btn.visible = true;
};
}
private function (pParent:DisplayObjectContainer):void{
_skin = new HowToPlayScreen_mc();
pParent.addChild(_skin);
}
public function get skin():HowToPlayScreen_mc{
return (_skin);
}
public function dispose():void{
hide();
_skin = null;
= null;
}
}
}//package com.creetor.game.YLLegend.ui
Section 224
//IScreen (com.creetor.game.YLLegend.ui.IScreen)
package com.creetor.game.YLLegend.ui {
public interface IScreen {
function dispose():void;
}
}//package com.creetor.game.YLLegend.ui
Section 225
//ISkillPanConsole (com.creetor.game.YLLegend.ui.ISkillPanConsole)
package com.creetor.game.YLLegend.ui {
public interface ISkillPanConsole extends IUIConsole {
function cursorUp():void;
function cursorRight():void;
function cursorDown():void;
function equipQigong():void;
function cursorLeft():void;
}
}//package com.creetor.game.YLLegend.ui
Section 226
//ItemGetAlert (com.creetor.game.YLLegend.ui.ItemGetAlert)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.*;
import flash.display.*;
import com.creetor.game.YLLegend.model.item.*;
import com.creetor.game.YLLegend.view.*;
import com.creetor.game.YLLegend.controller.*;
import flash.text.*;
public class ItemGetAlert extends EventDispatcher implements IUIConsole {
protected var _item:IItem;
private var
:IUIController;
protected var _skin:ItemGetAlertSkin;
public function ItemGetAlert(pSkin:ItemGetAlertSkin, pItem:IItem){
super();
_skin = pSkin;
_skin.msg_txt.autoSize = TextFieldAutoSize.LEFT;
_item = pItem;
();
showMsg();
}
public function confirm():void{
dispatchEvent(new UIConsoleEvent(UIConsoleEvent.REMOVE));
dispose();
}
protected function showMsg():void{
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
if ((_item is ComboBook)){
_skin.msg_txt.htmlText = ((((txtHolder.getTextList(ItemGetAlert)[0] + "<font color='#00ff00'>") + ComboBook(_item).getName()) + "</font>!\n") + txtHolder.getTextList(ItemGetAlert)[1]);
};
}
private function ():void{
var icon:MovieClip = (LibAssetFactory.create(_item.childrenList[0].name) as MovieClip);
icon.x = 58;
icon.y = 60;
_skin.addChild(icon);
}
public function setUIController(uiCtr:IUIController):void{
= uiCtr;
}
public function cancel():void{
dispatchEvent(new UIConsoleEvent(UIConsoleEvent.REMOVE));
dispose();
}
public function dispose():void{
_skin.parent.removeChild(_skin);
_skin = null;
_item = null;
.dispose();
= null;
}
}
}//package com.creetor.game.YLLegend.ui
Section 227
//ItemGetAlertSkin (com.creetor.game.YLLegend.ui.ItemGetAlertSkin)
package com.creetor.game.YLLegend.ui {
import flash.display.*;
import flash.text.*;
public class ItemGetAlertSkin extends MovieClip {
public var msg_txt:TextField;
public function ItemGetAlertSkin(){
super();
}
}
}//package com.creetor.game.YLLegend.ui
Section 228
//IUIConsole (com.creetor.game.YLLegend.ui.IUIConsole)
package com.creetor.game.YLLegend.ui {
public interface IUIConsole {
function confirm():void;
function cancel():void;
}
}//package com.creetor.game.YLLegend.ui
Section 229
//LevelUpTip (com.creetor.game.YLLegend.ui.LevelUpTip)
package com.creetor.game.YLLegend.ui {
public class LevelUpTip extends AnimateUI {
public function LevelUpTip(pX:Number, pY:Number){
super(pX, pY);
}
}
}//package com.creetor.game.YLLegend.ui
Section 230
//OptionScreen (com.creetor.game.YLLegend.ui.OptionScreen)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
import com.creetor.game.YLLegend.controller.*;
import com.creetor.game.YLLegend.utils.*;
import flash.net.*;
import flash.system.*;
public class OptionScreen extends EventDispatcher {
private var :DisplayObjectContainer;
private var :CheckBox;
private var :CheckBox;
private var :IGame;
private var _skin:OptionScreen_mc;
public function OptionScreen(pParent:DisplayObjectContainer, pGame:IGame){
super();
= pGame;
= pParent;
(pParent);
init();
}
private function (event:Event):void{
_skin.pwMsg_mc.gotoAndStop(3);
}
private function (event:Event):void{
if (URLLoader(event.target).data == _skin.pwInput_tf.text){
_skin.pwMsg_mc.gotoAndStop(4);
.setIsUnlockAllSkills(true);
} else {
_skin.pwMsg_mc.gotoAndStop(2);
};
}
private function (event:MouseEvent):void{
hide();
dispatchEvent(new OptionScreenEvent(ScreenEvent.BACK));
}
public function show():void{
_skin.pwMsg_mc.gotoAndStop(1);
.addChild(_skin);
}
public function dispose():void{
hide();
_skin = null;
.dispose();
= null;
.dispose();
= null;
= null;
= null;
}
private function init():void{
= new CheckBox(_skin.cbL_mc);
.setEnableUnSelect(false);
.addEventListener(CheckBoxEvent.SELECT, );
= new CheckBox(_skin.cbR_mc);
.setEnableUnSelect(false);
.addEventListener(CheckBoxEvent.SELECT, );
if (UserInputAdapter.getKeyStyle() == UserInputAdapter.R_STYLE){
.setSelected();
} else {
if (UserInputAdapter.getKeyStyle() == UserInputAdapter.L_STYLE){
.setSelected();
};
};
_skin.LStyle_btn.addEventListener(MouseEvent.CLICK, function (event:MouseEvent){
.setSelected();
});
_skin.RStyle_btn.addEventListener(MouseEvent.CLICK, function (event:MouseEvent){
.setSelected();
});
_skin.back_btn.addEventListener(MouseEvent.CLICK, );
_skin.pwMsg_mc.stop();
_skin.pwMsg_mc.officialSite_btn.addEventListener(MouseEvent.CLICK, );
_skin.pwOK_btn.addEventListener(MouseEvent.CLICK, );
}
private function (pParent:DisplayObjectContainer):void{
_skin = new OptionScreen_mc();
pParent.addChild(_skin);
}
private function hide():void{
if (_skin.parent != null){
_skin.parent.removeChild(_skin);
};
}
private function (event:CheckBoxEvent):void{
if (event.target == ){
.setUnselected();
dispatchEvent(new OptionScreenEvent(OptionScreenEvent.L_STYLE));
} else {
if (event.target == ){
.setUnselected();
dispatchEvent(new OptionScreenEvent(OptionScreenEvent.R_STYLE));
};
};
}
public function get skin():OptionScreen_mc{
return (_skin);
}
private function (event:MouseEvent):void{
Security.loadPolicyFile("http://yll.creetor.com/password/crossdomain.xml");
var myRequest:URLRequest = new URLRequest("http://yll.creetor.com/password/loadpw.php");
var myLoader:URLLoader = new URLLoader();
var myVariables:URLVariables = new URLVariables();
myLoader.addEventListener(Event.COMPLETE, , false, 0, true);
myLoader.addEventListener(IOErrorEvent.IO_ERROR, , false, 0, true);
myLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, , false, 0, true);
myRequest.method = URLRequestMethod.POST;
myRequest.data = myVariables;
myLoader.load(myRequest);
_skin.pwMsg_mc.gotoAndStop(5);
}
private function (event:MouseEvent):void{
URL.getURL(URL.URL_YLL_CREETOR);
}
}
}//package com.creetor.game.YLLegend.ui
Section 231
//PowerBar (com.creetor.game.YLLegend.ui.PowerBar)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import flash.display.*;
public class PowerBar {
private var :Number;
private var :Number;
private var :Number;
private var :Number;
private var _skin:PowerBarSkin;
public function PowerBar(pSkin:PowerBarSkin, pCurPower:Number=100, pTotalPower:Number=100){
super();
_skin = pSkin;
init();
totalPower = pTotalPower;
curPower = pCurPower;
_skin.powerBack_mc.width = _skin.power_mc.width;
}
private function (event:Event):void{
if (_skin.powerBack_mc.width > _skin.power_mc.width){
_skin.powerBack_mc.width = (_skin.powerBack_mc.width - );
} else {
_skin.powerBack_mc.width = _skin.power_mc.width;
(_skin as MovieClip).removeEventListener(Event.ENTER_FRAME, );
};
}
public function set totalPower(pValue:Number):void{
= pValue;
_skin.border_mc.width = (() + 4);
_skin.power_mc.x = (_skin.border_mc.x + 2);
}
private function ():Number{
return (Math.floor(( / )));
}
public function dispose():void{
(_skin as MovieClip).removeEventListener(Event.ENTER_FRAME, );
_skin = null;
delete ??getglobalscope
[this];
}
public function set curPower(pValue:Number):void{
if (pValue >= 0){
= pValue;
} else {
return;
};
_skin.power_mc.width = ();
trace(_skin.power_mc.width);
}
public function setValue(pValue:Number):void{
curPower = pValue;
(_skin as MovieClip).addEventListener(Event.ENTER_FRAME, );
}
private function init():void{
= 1;
= (150 / _skin.power_mc.width);
}
public function get skin():PowerBarSkin{
return (_skin);
}
private function ():Number{
return (Math.floor(( / )));
}
}
}//package com.creetor.game.YLLegend.ui
Section 232
//PowerBarSkin (com.creetor.game.YLLegend.ui.PowerBarSkin)
package com.creetor.game.YLLegend.ui {
import flash.display.*;
public class PowerBarSkin extends MovieClip {
public var power_mc:MovieClip;
public var border_mc:MovieClip;
public var powerBack_mc:MovieClip;
public function PowerBarSkin(){
super();
}
}
}//package com.creetor.game.YLLegend.ui
Section 233
//ScreenChangeFader (com.creetor.game.YLLegend.ui.ScreenChangeFader)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import flash.display.*;
public class ScreenChangeFader {
private var :IScreen;
private var _skin:ScreenChangeFader_mc;
private var :Function;
public function ScreenChangeFader(pParent:DisplayObjectContainer, pLastScreen:IScreen, pNextFun:Function){
super();
_skin = (pParent.addChild(new ScreenChangeFader_mc()) as ScreenChangeFader_mc);
_skin.addEventListener(Event.ENTER_FRAME, );
= pLastScreen;
= pNextFun;
}
private function (event:Event):void{
if (_skin.currentFrame == 20){
.dispose();
();
} else {
if (_skin.currentFrame == _skin.totalFrames){
dispose();
};
};
}
public function dispose():void{
_skin.parent.removeChild(_skin);
_skin.removeEventListener(Event.ENTER_FRAME, );
_skin = null;
= null;
}
}
}//package com.creetor.game.YLLegend.ui
Section 234
//SkillLearntAlert (com.creetor.game.YLLegend.ui.SkillLearntAlert)
package com.creetor.game.YLLegend.ui {
import com.creetor.game.YLLegend.*;
import com.creetor.game.YLLegend.model.item.*;
public class SkillLearntAlert extends ItemGetAlert {
public function SkillLearntAlert(pSkin:ItemGetAlertSkin, pItem:IItem){
super(pSkin, pItem);
}
override protected function showMsg():void{
var txtHolder:LangTextHolder = LangTextHolder.getInstance();
if ((_item is ShotIcon)){
_skin.msg_txt.htmlText = ((((txtHolder.getTextList(SkillLearntAlert)[0] + "<font color='#00ff00'>") + ShotIcon(_item).getName()) + "</font>! ") + txtHolder.getTextList(SkillLearntAlert)[1]);
};
}
}
}//package com.creetor.game.YLLegend.ui
Section 235
//StoryScreen (com.creetor.game.YLLegend.ui.StoryScreen)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import flash.display.*;
import com.creetor.game.YLLegend.sound.*;
public class StoryScreen extends EventDispatcher implements IScreen {
private var :DisplayObjectContainer;
private var _skin:Story_mc;
public function StoryScreen(pParent:DisplayObjectContainer){
super();
= pParent;
(pParent);
init();
SoundManager.getInstance().stopBgm();
SoundManager.getInstance().playBgm(SoundType.BGM1);
}
private function (event:Event):void{
if (_skin.currentFrame == (_skin.totalFrames - 20)){
dispatchEvent(new ScreenEvent(ScreenEvent.ANI_COMPLETE));
};
}
public function get skin():Story_mc{
return (_skin);
}
private function init():void{
_skin.skip_btn.addEventListener(MouseEvent.CLICK,
);
_skin.addEventListener(Event.ENTER_FRAME, );
}
private function hide():void{
_skin.parent.removeChild(_skin);
}
private function (pParent:DisplayObjectContainer):void{
_skin = new Story_mc();
pParent.addChild(_skin);
}
public function show():void{
.addChild(_skin);
_skin.gotoAndPlay(1);
SoundManager.getInstance().stopBgm();
SoundManager.getInstance().playBgm(SoundType.BGM1);
}
private function
(event:MouseEvent):void{
_skin.gotoAndPlay((_skin.totalFrames - 50));
}
public function dispose():void{
hide();
_skin.removeEventListener(Event.ENTER_FRAME, );
_skin = null;
= null;
SoundManager.getInstance().stopBgm();
}
}
}//package com.creetor.game.YLLegend.ui
Section 236
//TitleScreen (com.creetor.game.YLLegend.ui.TitleScreen)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
import flash.display.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.utils.*;
public class TitleScreen extends EventDispatcher implements IScreen {
private var :DisplayObjectContainer;
private var :IGame;
private var _skin:TitleScreen_mc;
public function TitleScreen(pParent:DisplayObjectContainer, pGame:IGame){
super();
= pGame;
= pParent;
(pParent);
init();
SoundManager.getInstance().playBgm(SoundType.BGM3);
}
private function (event:MouseEvent):void{
var diffType:String = SimpleButton(event.target).name.split("_")[0];
switch (diffType){
case "easy":
.setDifficulty(GameDifficulty.EASY);
break;
case "normal":
.setDifficulty(GameDifficulty.NORMAL);
break;
case "hard":
.setDifficulty(GameDifficulty.HARD);
break;
};
LocalDataSLHandler.getInstance().clearData();
dispose();
dispatchEvent(new TitleScreenEvent(TitleScreenEvent.START));
}
public function get skin():TitleScreen_mc{
return (_skin);
}
private function (event:MouseEvent):void{
var name:String = SimpleButton(event.target).name.split("_")[0];
switch (name){
case "story":
_skin.mainMenu_mc.visible = false;
_skin.newConPan_mc.visible = true;
break;
case "survival":
break;
case "option":
dispatchEvent(new TitleScreenEvent(TitleScreenEvent.OPTION));
hide();
break;
case "credits":
dispatchEvent(new TitleScreenEvent(TitleScreenEvent.CREDITS));
hide();
break;
case "howToPlay":
dispatchEvent(new TitleScreenEvent(TitleScreenEvent.HOWTOPLAY));
hide();
break;
case "back":
if (SimpleButton(event.target).parent == _skin.diffPan_mc){
_skin.newConPan_mc.visible = true;
_skin.diffPan_mc.visible = false;
} else {
if (SimpleButton(event.target).parent == _skin.newConPan_mc){
_skin.mainMenu_mc.visible = true;
_skin.newConPan_mc.visible = false;
};
};
break;
case "highScores":
URL.getURL((((URL.URL_YLL_CREETOR + "/") + YLLegend.LANG) + "/highscores.php"));
break;
case "PlayMoreGames":
URL.getURL(URL.URL_CREETOR);
break;
case "creetorSite":
URL.getURL(URL.URL_CREETOR);
break;
};
}
public function show():void{
.addChild(_skin);
}
private function init():void{
_skin.diffPan_mc.visible = false;
_skin.newConPan_mc.visible = false;
if (LocalDataSLHandler.getInstance().hasPlayedBefore()){
_skin.newConPan_mc.gotoAndStop(2);
} else {
_skin.newConPan_mc.stop();
};
_skin.newConPan_mc.newGame_btn.addEventListener(MouseEvent.CLICK, );
_skin.newConPan_mc.continue_btn.addEventListener(MouseEvent.CLICK, );
_skin.newConPan_mc.back_btn.addEventListener(MouseEvent.CLICK, );
_skin.diffPan_mc.easy_btn.addEventListener(MouseEvent.CLICK, );
_skin.diffPan_mc.normal_btn.addEventListener(MouseEvent.CLICK, );
_skin.diffPan_mc.hard_btn.addEventListener(MouseEvent.CLICK, );
_skin.diffPan_mc.back_btn.addEventListener(MouseEvent.CLICK, );
_skin.creetorSite_btn.addEventListener(MouseEvent.CLICK, );
if ( .isSurvivalLocked()){
_skin.mainMenu_mc.gotoAndStop(2);
} else {
_skin.mainMenu_mc.stop();
};
_skin.mainMenu_mc.story_btn.addEventListener(MouseEvent.CLICK, );
_skin.mainMenu_mc.option_btn.addEventListener(MouseEvent.CLICK, );
_skin.mainMenu_mc.credits_btn.addEventListener(MouseEvent.CLICK, );
_skin.mainMenu_mc.howToPlay_btn.addEventListener(MouseEvent.CLICK, );
_skin.mainMenu_mc.PlayMoreGames_btn.addEventListener(MouseEvent.CLICK, );
_skin.mainMenu_mc.highScores_btn.addEventListener(MouseEvent.CLICK, );
}
private function (pParent:DisplayObjectContainer):void{
_skin = new TitleScreen_mc();
pParent.addChild(_skin);
}
private function hide():void{
_skin.parent.removeChild(_skin);
}
private function (event:MouseEvent):void{
var type:String = SimpleButton(event.target).name.split("_")[0];
if (type == "newGame"){
_skin.newConPan_mc.visible = false;
_skin.diffPan_mc.visible = true;
} else {
if (type == "continue"){
dispatchEvent(new TitleScreenEvent(TitleScreenEvent.CONTINUE));
};
};
}
public function dispose():void{
hide();
_skin = null;
= null;
= null;
SoundManager.getInstance().stopBgm();
}
}
}//package com.creetor.game.YLLegend.ui
Section 237
//UIManager (com.creetor.game.YLLegend.ui.UIManager)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.*;
import flash.display.*;
import com.creetor.game.YLLegend.model.item.*;
import cn.vlux.sharedLib.utils.*;
import com.creetor.game.YLLegend.sound.*;
import com.creetor.game.YLLegend.view.*;
import com.creetor.game.YLLegend.controller.*;
import com.novelgames.flashgames.highscores.*;
import com.creetor.game.YLLegend.utils.*;
import flash.utils.*;
public class UIManager extends EventDispatcher {
private var
:Boolean;
private var
:CreetorLogo_btn;
private var
:TitleScreen;
private var
:EndingScreen;
private var
:HighScores;
private var :GameTimer;
private var :Dictionary;
private var :Array;
private var :GameOverScreen;
private var :OptionScreen;
private var
:HeroSkillPan;
private var
:EnemyInfoPan;
private var
:Dictionary;
private var
:HowToPlayScreen;
private var :ArrayKeeper;
private var :CreditsScreen;
private var :IGame;
private var :IChar;
private var
:Dictionary;
private var :IViewFactory;
private var _sp:Sprite;
private static const ENEMY_LIFEBAR_SHOWTIME:uint = 2000;
private static var instance:UIManager;
public function UIManager(pGame:IGame){
super();
if (instance != null){
throw (new Error("can not have multiple instances!"));
};
if (((( == null)) && ((pGame == null)))){
throw (new Error("_game can not be null!"));
};
= pGame;
init();
();
();
}
public function
(pX:Number=20, pY:Number=112):HitsCounter{
var ui:HitsCounter = new HitsCounter(pX, pY);
ui.addEventListener(ModelEvent.REMOVE,
);
.push(ui);
(ui);
return (ui);
}
private function (event:UIConsoleEvent):void{
_sp.removeChild(event.target.getSkin());
.unpause();
}
private function
(event:TitleScreenEvent):void{
_sp.swapChildren(
.skin,
);
.showHighScores();
}
private function
(pChar:IChar):void{
if (
!= null){
_sp.removeChild(
.skin);
};
=
[pChar];
if (
== null){
return;
};
_sp.addChild(
.skin);
.restartTimer();
}
private function init():void{
_sp = new Sprite();
= new Array();
.addEventListener(CharEvent.SHOW_CHAR_STATUS, );
.addEventListener(GameEvent.GAME_OVER, );
.addEventListener(GameEvent.GAME_ENDING, );
= new GameTimer();
= new ArrayKeeper(new TypedArray(IModel));
= ViewFactory.getInstance();
= false;
}
private function
(pChar:IChar):void{
var skin:Hero_info_mc;
if (!(pChar.getAttribute() is IHeroAttribute)){
throw (new TypeError("'pChar' should has a IHeroAttibute!"));
};
skin = new Hero_info_mc();
skin.x = 6;
skin.y = 6;
_sp.addChild(skin);
[pChar] = new HeroInfoPan(skin, (pChar, skin.lifeBar_mc), (pChar, skin.powerBar_mc), pChar);
}
private function (pChar:IChar):void{
if (
===
[pChar]){
_sp.removeChild(
.skin);
= null;
};
[pChar].dispose();
[pChar].dispose();
delete [pChar];
delete
[pChar];
}
public function dispose():void{
_sp = null;
= null;
= null;
= null;
= null;
}
private function ():void{
= new CreditsScreen(_sp);
.addEventListener(ScreenEvent.BACK, );
}
public function (pX:Number, pY:Number):LevelUpTip{
var ui:LevelUpTip = new LevelUpTip(pX, pY);
ui.addEventListener(ModelEvent.REMOVE,
);
.push(ui);
(ui);
return (ui);
}
private function ():void{
= new CreetorLogo_btn();
.x = (Game.WORLD_WIDTH -
.width);
.y = (Game.WORLD_HEIGHT -
.height);
_sp.addChild(
);
.addEventListener(MouseEvent.CLICK, );
}
private function (event:GameEvent):void{
SoundManager.getInstance().seMute = false;
SoundManager.getInstance().bgmMute = false;
= new EndingScreen(_sp);
.addEventListener(GameOverScreenEvent.BACK_TO_MAIN, );
.addEventListener(ScreenEvent.ANI_COMPLETE, );
}
private function (event:UIConsoleEvent):void{
.unpause();
}
private function (event:UIConsoleEvent):void{
_sp.addChild(event.target.getSkin());
.pause();
}
private function
(event:ModelEvent):void{
remove((event.target as IModel));
}
public function ():void{
= new TitleScreen(_sp, );
.addEventListener(TitleScreenEvent.OPTION,
);
.addEventListener(TitleScreenEvent.CREDITS,
);
.addEventListener(TitleScreenEvent.HOWTOPLAY, );
.addEventListener(TitleScreenEvent.CONTINUE,
);
.addEventListener(TitleScreenEvent.START, );
.addEventListener(TitleScreenEvent.HIGHSCORES,
);
= false;
}
private function (event:CharEvent):void{
((event.target as IChar));
}
private function (event:ScreenEvent):void{
showEnterHighScore();
}
private function (pModel:IModel):void{
var len:uint = ( .length - 1);
var i:Number = len;
while (i > -1) {
if ( [i].model === pModel){
[i].getSp().parent.removeChild( [i].getSp());
[i].dispose();
.splice(i, 1);
};
i--;
};
}
private function ():void{
= new OptionScreen(_sp, );
.addEventListener(OptionScreenEvent.L_STYLE, );
.addEventListener(OptionScreenEvent.R_STYLE, );
.addEventListener(ScreenEvent.BACK, );
}
private function ():void{
if ( != null){
.dispose();
};
= null;
if ( != null){
.dispose();
};
= null;
if (
!= null){
.dispose();
};
= null;
}
public function get sp():Sprite{
return (_sp);
}
private function ():void{
= new HowToPlayScreen(_sp);
.addEventListener(ScreenEvent.BACK, );
}
private function (event:CharEvent):void{
[event.target].dispose();
[event.target].dispose();
delete [event.target];
delete
[event.target];
.dispose();
= null;
();
}
private function (event:CharEvent):void{
(event.hitChar);
}
private function
(event:CharEvent):void{
((event.target as IChar));
}
public function createVluxPreScreen():void{
var vluxScr:VluxPreScreen = new VluxPreScreen(_sp);
vluxScr.addEventListener(ScreenEvent.ANI_COMPLETE,
);
}
private function startGame():void{
dispatchEvent(new UIManagerEvent(UIManagerEvent.START_GAME));
}
private function showEnterHighScore():void{
if ((((
== false)) && (( .getDifficulty() > GameDifficulty.EASY)))){
if (IHeroAttribute(.getAttribute()).exp < 6000){
return;
};
_sp.swapChildren( .skin,
);
.showEnterHighScore(IHeroAttribute(.getAttribute()).exp, IHeroAttribute(.getAttribute()).level, .getDifficulty());
};
}
private function (pChar:IChar):void{
var skin:Enemy_info_mc;
if (!(pChar.getAttribute() is IEnemyAttribute)){
throw (new TypeError("'pChar' should has a IEnemyAttribute!"));
};
skin = new Enemy_info_mc();
skin.x = 6;
skin.y = 56;
[pChar] = new EnemyInfoPan(skin, (pChar, skin.lifeBar_mc), pChar);
}
private function
(event:HeroEvent):void{
(.getScreenPos().x, (.getScreenPos().y - (.height / 2)));
SoundManager.getInstance().playEffect(SoundType.LEVEL_UP);
}
private function
(event:TitleScreenEvent):void{
if ( == null){
();
} else {
.show();
};
}
private function
(event:ScreenEvent):void{
new ScreenChangeFader(_sp, (event.target as IScreen), );
}
private function
():void{
_sp.removeChild(
.skin);
= null;
}
private function (event:CharEvent):void{
if ((((event.char is IChar)) && ((IChar(event.char).getAttribute() is IEnemyAttribute)))){
(event.char);
} else {
if ((IChar(event.char).getAttribute() is IHeroAttribute)){
= event.char;
(event.char);
(event.char);
(event.char);
();
};
};
}
public function remove(pModel:IModel):void{
(pModel);
pModel.dispose();
.remove(pModel);
}
private function
():void{
_sp.removeChild(
);
.removeEventListener(MouseEvent.CLICK, );
= null;
}
private function
(event:TitleScreenEvent):void{
();
new ScreenChangeFader(_sp, (event.target as IScreen), startGame);
= true;
}
private function
(event:GameOverScreenEvent):void{
.dispose();
= null;
SoundManager.getInstance().stopBgm();
startGame();
= true;
}
private function
(event:ScreenEvent):void{
new ScreenChangeFader(_sp, (event.target as IScreen), startGame);
}
private function (event:OptionScreenEvent):void{
dispatchEvent(new UIManagerEvent(UIManagerEvent.SET_KEY_STYLE, event.type));
}
private function (event:TitleScreenEvent):void{
();
var story:StoryScreen = new StoryScreen(_sp);
story.addEventListener(ScreenEvent.ANI_COMPLETE,
);
}
private function (event:HeroEvent):void{
var skin:ItemGetAlertSkin;
var skillAlert:SkillLearntAlert;
var uiCtr:SimpleUIController;
if ((event.item is ShotIcon)){
skin = new ItemGetAlert_mc();
skin.x = ((Game.WORLD_WIDTH - skin.width) / 2);
skin.y = ((Game.WORLD_HEIGHT - skin.height) / 2);
_sp.addChild(skin);
skillAlert = new SkillLearntAlert(skin, event.item);
skillAlert.addEventListener(UIConsoleEvent.REMOVE, );
uiCtr = new SimpleUIController(skillAlert);
skillAlert.setUIController(uiCtr);
.pause();
};
}
private function (event:ScreenEvent):void{
.show();
}
private function (pHero:IChar):void{
var skin:HeroSkillPanSkin = new SkillPan_mc();
skin.x = ((Game.WORLD_WIDTH - skin.width) / 2);
skin.y = ((Game.WORLD_HEIGHT - skin.height) / 2);
= new HeroSkillPan(skin, IHeroAttribute(pHero.getAttribute()));
.addEventListener(UIConsoleEvent.SHOW, , false, 0, true);
.addEventListener(UIConsoleEvent.HIDE, , false, 0, true);
var uiCtr:HeroSkillPanController = new HeroSkillPanController(
);
.setUIController(uiCtr);
}
private function ():void{
= new HighScores();
.gameID = YLLegend.ID;
.showTableAfterSubmit = false;
.hashKey = YLLegend.HIGHSCORE_KEY;
.loadScoresURL = URL.URL_YLL_LOAD_HIGHSCORES;
.saveScoreURL = URL.URL_YLL_SAVE_HIGHSCORES;
.x = ((Game.WORLD_WIDTH -
.width) / 2);
.y = ((Game.WORLD_HEIGHT -
.height) / 2);
_sp.addChild(
);
}
private function (event:HeroEvent):void{
var skin:ItemGetAlertSkin;
var itemAlert:ItemGetAlert;
var uiCtr:SimpleUIController;
if ((event.item is ComboBook)){
skin = new ItemGetAlert_mc();
skin.x = ((Game.WORLD_WIDTH - skin.width) / 2);
skin.y = ((Game.WORLD_HEIGHT - skin.height) / 2);
_sp.addChild(skin);
itemAlert = new ItemGetAlert(skin, event.item);
itemAlert.addEventListener(UIConsoleEvent.REMOVE, );
uiCtr = new SimpleUIController(itemAlert);
itemAlert.setUIController(uiCtr);
.pause();
};
SoundManager.getInstance().playEffect(SoundType.GETITEM);
}
public function update():void{
if (
!= null){
if ( .remaining(ENEMY_LIFEBAR_SHOWTIME) <= 0){
();
.expire();
} else {
.checkIfDying();
};
};
var models:TypedArray = .getArray(IModel);
if (models == null){
return;
};
var i:uint;
while (i < models.length) {
models.getItem(i).update(TimeDiff.getDiff());
i++;
};
if ( == null){
return;
};
i = .length;
while (i--) {
[i].update();
};
}
private function (event:GameOverScreenEvent):void{
event.target.dispose();
if ((event.target is GameOverScreen)){
= null;
} else {
if ((event.target is EndingScreen)){
= null;
};
};
SoundManager.getInstance().stopBgm();
();
}
private function (pChar:IChar, pSkin:PowerBarSkin=null):PowerBar{
var skin:PowerBarSkin;
var lifeBar:PowerBar;
if (pSkin == null){
skin = new LifeBar_mc();
} else {
skin = pSkin;
};
if ((pChar.getAttribute() is IHeroAttribute)){
lifeBar = new PowerBar(skin, pChar.curHP, pChar.totalHP);
pChar.addEventListener(CharEvent.HURT, );
pChar.addEventListener(CharEvent.DIE, );
} else {
lifeBar = new PowerBar(skin, pChar.curHP, pChar.totalHP);
pChar.addEventListener(CharEvent.HURT,
);
pChar.addEventListener(CharEvent.HURT, );
pChar.addEventListener(CharEvent.DIE, );
};
[pChar] = lifeBar;
return (lifeBar);
}
private function
(event:TitleScreenEvent):void{
if ( == null){
();
} else {
.show();
};
}
private function (pModel:IModel):void{
var view:IView = .create(pModel);
_sp.addChild(view.getSp());
.push(view);
}
private function (pHero:IChar):void{
pHero.getAttribute().addEventListener(HeroEvent.GET_ITEM, );
pHero.getAttribute().addEventListener(HeroEvent.LEARN_SKILL, );
pHero.getAttribute().addEventListener(HeroEvent.LEVEL_UP,
);
}
private function ():void{
= new Dictionary(true);
= new Dictionary(true);
= new Dictionary(true);
}
private function (event:GameEvent):void{
SoundManager.getInstance().seMute = false;
SoundManager.getInstance().bgmMute = false;
= new GameOverScreen(_sp);
.addEventListener(GameOverScreenEvent.CONTINUE,
);
.addEventListener(GameOverScreenEvent.BACK_TO_MAIN, );
showEnterHighScore();
}
private function (event:TitleScreenEvent):void{
if (
== null){
();
} else {
.show();
};
}
private function (pChar:IChar, pSkin:PowerBarSkin=null):PowerBar{
var skin:PowerBarSkin;
var powerBar:PowerBar;
if (pSkin == null){
skin = new PowerBar_mc();
} else {
skin = pSkin;
};
powerBar = new PowerBar(skin, pChar.curPP, pChar.totalPP);
[pChar] = powerBar;
return (powerBar);
}
private function (event:CharEvent):void{
var hitsCounter:HitsCounter = HitsCounter( .getArray(HitsCounter).getItem(0));
var y:Number = ((.getScreenPos().y - .height) - 40);
if (y < 30){
(.getScreenPos().y + 40);
};
var x:Number = (.getScreenPos().x + (.direction * 50));
if (x > (Game.WORLD_WIDTH - 37)){
x = (Game.WORLD_WIDTH - 37);
} else {
if (x < 37){
x = 37;
};
};
if (hitsCounter == null){
hitsCounter =
(x, y);
};
hitsCounter.updatePos(x, y);
hitsCounter.increase();
}
private function (event:MouseEvent):void{
URL.getURL(URL.URL_CREETOR);
}
public static function getInstance(pGame:IGame=null):UIManager{
if (instance == null){
instance = new UIManager(pGame);
};
return (instance);
}
}
}//package com.creetor.game.YLLegend.ui
Section 238
//VluxPreScreen (com.creetor.game.YLLegend.ui.VluxPreScreen)
package com.creetor.game.YLLegend.ui {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import flash.display.*;
import com.creetor.game.YLLegend.utils.*;
public class VluxPreScreen extends EventDispatcher implements IScreen {
private var :DisplayObjectContainer;
private var _skin:VluxPreScreen_mc;
public function VluxPreScreen(pParent:DisplayObjectContainer){
super();
= pParent;
(pParent);
init();
}
private function (event:Event):void{
if (_skin.currentFrame == (_skin.totalFrames - 20)){
dispatchEvent(new ScreenEvent(ScreenEvent.ANI_COMPLETE));
};
}
private function (event:MouseEvent):void{
URL.getURL(URL.URL_CREETOR);
}
private function init():void{
_skin.vluxPre_btn.addEventListener(MouseEvent.CLICK, );
_skin.creetorSite_btn.addEventListener(MouseEvent.CLICK, );
_skin.addEventListener(Event.ENTER_FRAME, );
}
private function hide():void{
if (_skin.parent != null){
_skin.parent.removeChild(_skin);
};
}
private function (pParent:DisplayObjectContainer):void{
_skin = new VluxPreScreen_mc();
pParent.addChild(_skin);
}
public function get skin():VluxPreScreen_mc{
return (_skin);
}
public function dispose():void{
hide();
_skin.removeEventListener(Event.ENTER_FRAME, );
_skin = null;
= null;
}
}
}//package com.creetor.game.YLLegend.ui
Section 239
//GameTimer (com.creetor.game.YLLegend.utils.GameTimer)
package com.creetor.game.YLLegend.utils {
import flash.utils.*;
public class GameTimer {
private var :Number;
public function GameTimer(){
super();
= getTimer();
}
public function ():Number{
return (Math.floor((() / 60)));
}
public function milliseconds():Number{
return ((getTimer() - ));
}
public function
(time_allowed:Number):String{
var mins:String;
var secs:String;
var millisRemaining:Number;
var secsRemaining:Number;
var minsRemaining:Number;
millisRemaining = (time_allowed - milliseconds());
secsRemaining = Math.floor((millisRemaining / 1000));
minsRemaining = Math.floor((secsRemaining / 60));
if (millisRemaining >= 0){
mins = ("00" + minsRemaining);
mins = mins.substr((mins.length - 2), 2);
secs = ("00" + secsRemaining);
secs = secs.substr((secs.length - 2), 2);
} else {
mins = "00";
secs = "00";
};
return (((mins + ":") + secs));
}
public function restartTimer():void{
= getTimer();
}
private function ():Number{
return (Math.floor(((getTimer() - ) / 1000)));
}
public function
():String{
var mins:String;
var secs:String;
mins = ("00" + ());
mins = mins.substr((mins.length - 2), 2);
secs = ("00" + ());
secs = secs.substr((secs.length - 2), 2);
return (((mins + ":") + secs));
}
public function expire():void{
= -100000;
}
public function remaining(time_allowed:Number):Number{
return ((time_allowed - milliseconds()));
}
public function ():Number{
return (());
}
}
}//package com.creetor.game.YLLegend.utils
Section 240
//TimeDiff (com.creetor.game.YLLegend.utils.TimeDiff)
package com.creetor.game.YLLegend.utils {
import flash.utils.*;
public class TimeDiff {
private static var _timeDiff:int = 0;
private static var _lastTime:int = 0;
public function TimeDiff(){
super();
}
public static function caculate():void{
if (_lastTime == 0){
_lastTime = getTimer();
return;
};
_timeDiff = (getTimer() - _lastTime);
_lastTime = (_lastTime + _timeDiff);
}
public static function getDiff():int{
return (_timeDiff);
}
public static function unpause():void{
_lastTime = getTimer();
}
}
}//package com.creetor.game.YLLegend.utils
Section 241
//URL (com.creetor.game.YLLegend.utils.URL)
package com.creetor.game.YLLegend.utils {
import flash.net.*;
public class URL {
public static const URL_YLL_LOAD_HIGHSCORES:String = "http://yll.creetor.com/highscores/loadScores.php";
public static const URL_YLL_VIEW_HIGHSCORES:String = "http://yll.creetor.com/highscores/view.php";
public static const URL_UNGROUNDED:String = "ungrounded.net";
public static const URL_YLL_CREETOR:String = "http://yll.creetor.com";
public static const URL_YLL_SAVE_HIGHSCORES:String = "http://yll.creetor.com/highscores/saveScore.php";
public static const URL_CREETOR:String = "http://www.creetor.com";
public static const URL_NEWGROUNDS:String = "newgrounds.com";
public function URL(){
super();
}
public static function getURL(param1:String, param2:String="_blank"){
var request:URLRequest;
var param1 = param1;
var param2 = param2;
var url:* = param1;
var window:* = param2;
request = new URLRequest(url);
navigateToURL(request, window);
//unresolved jump
var _slot1 = e;
}
}
}//package com.creetor.game.YLLegend.utils
Section 242
//Animator (com.creetor.game.YLLegend.view.Animator)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
import cn.vlux.sharedLib.utils.*;
public class Animator implements IView {
private var :IAnimatable;
protected var _childrenHash:Object;
protected var _curChild:MovieClip;
private var _sp:Sprite;
public function Animator(pModel:IAnimatable, pAnimScale:Number=1, pCacheAsBitmap:Boolean=false){
super();
= pModel;
_sp = ();
_childrenHash = createChildren( .animStateList, pAnimScale, pCacheAsBitmap);
setAnimation( .defaultAnimState);
.setSp(_sp);
init();
}
private function ():Sprite{
return (new Sprite());
}
protected function createChildren(pAnimStateList:Array, pAnimScale:Number, pCacheAsBitmap:Boolean):Object{
var children:Object = new Object();
var i:int = pAnimStateList.length;
while (i--) {
children[pAnimStateList[i]] = createAnimClip(pAnimStateList[i], pAnimScale, pCacheAsBitmap);
.animateController.actionClip = children[pAnimStateList[i]];
};
return (children);
}
public function dispose():void{
var i:uint;
while (i < _sp.numChildren) {
_sp.removeChild(_sp.getChildAt(i));
i++;
};
_sp = null;
_curChild = null;
_childrenHash = null;
}
public function onUpdateAnimState(event:AnimStateEvent):void{
if (_curChild.name != event.animState){
setAnimation(event.animState);
};
}
public function update():void{
if ( .animateController != null){
.animateController.update();
};
}
public function get model():IModel{
return ( );
}
protected function init():void{
}
protected function setAnimation(pAnimState:String):void{
if (_curChild != null){
_sp.removeChild(_curChild);
};
_curChild = _childrenHash[pAnimState];
_sp.addChild(_curChild);
}
public function getSp():Sprite{
return (_sp);
}
protected function createAnimClip(pAnimState:String, pAnimScale:Number, pCacheAsBitmap:Boolean):MovieClip{
var animClip:MovieClip;
if (pAnimState == AnimState.DEFAULT){
animClip = (LibAssetFactory.create((ClassUtil.classToName( ) + "_mc")) as MovieClip);
} else {
animClip = (LibAssetFactory.create((((ClassUtil.classToName( ) + "_") + pAnimState) + "_mc")) as MovieClip);
};
if (pAnimScale != 1){
animClip.scaleX = (animClip.scaleY = pAnimScale);
};
if (pCacheAsBitmap){
animClip.cacheAsBitmap = pCacheAsBitmap;
};
animClip.cacheAsBitmap = true;
animClip.name = pAnimState;
animClip.stop();
return (animClip);
}
}
}//package com.creetor.game.YLLegend.view
Section 243
//CharAnimator (com.creetor.game.YLLegend.view.CharAnimator)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.hitTest.*;
public class CharAnimator extends SpriteAnimator {
private var
:Char;
private var _attack_sp:HitArea_sp;
public function CharAnimator(pModel:Char, pAnimScale:Number=1, pCacheAsBitmap:Boolean=false){
super(pModel, pAnimScale, pCacheAsBitmap);
= pModel;
_attack_sp = new HitArea_sp();
getSp().addChild(_attack_sp);
.hitArea = _attack_sp;
hideArea();
}
override public function dispose():void{
super.dispose();
_attack_sp = null;
= null;
}
public function get char():Char{
return (
);
}
override protected function hideArea():void{
super.hideArea();
_attack_sp.visible = false;
}
}
}//package com.creetor.game.YLLegend.view
Section 244
//Displayer (com.creetor.game.YLLegend.view.Displayer)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
public class Displayer implements IView {
private var :IDisplayable;
private var _sp:Sprite;
private var _children:Array;
public function Displayer(pModel:IDisplayable, pAnimScale:Number=1, pCacheAsBitmap:Boolean=false){
super();
= pModel;
_sp = ();
.setSp(_sp);
_children = createChildren(pAnimScale, pCacheAsBitmap);
}
private function ():Sprite{
return (new Sprite());
}
public function getSp():Sprite{
return (_sp);
}
public function get model():IModel{
return ( );
}
private function createChildren(pAnimScale:Number, pCacheAsBitmap:Boolean):Array{
var disObj:DisplayObject;
var list:Array = new Array();
var i:uint;
while (i < .childrenList.length) {
disObj = LibAssetFactory.create( .childrenList[i].name);
if (pAnimScale != 1){
disObj.scaleX = (disObj.scaleY = pAnimScale);
};
if (pCacheAsBitmap){
disObj.cacheAsBitmap = pCacheAsBitmap;
};
disObj.x = ( .childrenList[i].x - _sp.x);
disObj.y = ( .childrenList[i].y - _sp.y);
_sp.addChild(disObj);
list.push(disObj);
i++;
};
return (list);
}
public function dispose():void{
= null;
var i:uint;
while (i < _sp.numChildren) {
_sp.removeChild(_sp.getChildAt(i));
i++;
};
_sp = null;
_children = null;
}
}
}//package com.creetor.game.YLLegend.view
Section 245
//GameAnimator (com.creetor.game.YLLegend.view.GameAnimator)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
public class GameAnimator {
private var _sp:Sprite;
private var :IGame;
private var
:Animator;
private var :WorldAnimator;
public function GameAnimator(pGame:IGame){
super();
= pGame;
.addEventListener(GameEvent.ADD_MAPFADER, );
.addEventListener(GameEvent.REMOVE_MAPFADER,
);
_sp = ();
init();
}
private function ():Sprite{
return (new Sprite());
}
public function update():void{
.update();
if (
!= null){
.update();
};
}
private function init():void{
= new WorldAnimator( .world);
_sp.addChild( .bgLayer_sp);
_sp.addChild( .tile_sp);
_sp.addChild( .sprite_sp);
}
private function (event:GameEvent):void{
= new Animator((event.getModel() as IAnimatable), 1, true);
_sp.parent.addChild(
.getSp());
}
public function get sp():Sprite{
return (_sp);
}
private function
(event:GameEvent):void{
_sp.parent.removeChild(
.getSp());
.dispose();
= null;
}
public function dispose():void{
.dispose();
= null;
= null;
}
}
}//package com.creetor.game.YLLegend.view
Section 246
//GraphicEffectsFactory (com.creetor.game.YLLegend.view.GraphicEffectsFactory)
package com.creetor.game.YLLegend.view {
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class GraphicEffectsFactory {
private static var _burnDic:Dictionary;
private static var _twinklDic:Dictionary;
public function GraphicEffectsFactory(){
super();
}
public static function burning(pDobj:DisplayObject, pInterval:uint=3, pInterval2:uint=1):void{
if (_burnDic == null){
_burnDic = new Dictionary(true);
};
if (_burnDic[pDobj] == undefined){
_burnDic[pDobj] = 0;
};
if (_burnDic[pDobj] > pInterval){
pDobj.transform.colorTransform = new ColorTransform();
_burnDic[pDobj] = 0;
} else {
if (_burnDic[pDobj] > (pInterval - pInterval2)){
pDobj.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 51, 51, 0, 0);
} else {
pDobj.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 0xFF, 102, 0, 0);
};
var _local4 = _burnDic;
var _local5 = pDobj;
var _local6 = (_local4[_local5] + 1);
_local4[_local5] = _local6;
};
}
public static function twinkling(pDobj:DisplayObject, pInterVal:uint=2):void{
if (_twinklDic == null){
_twinklDic = new Dictionary(true);
};
if (_twinklDic[pDobj] == undefined){
_twinklDic[pDobj] = 0;
};
if (_twinklDic[pDobj] > pInterVal){
if (pDobj.visible == true){
pDobj.visible = false;
} else {
pDobj.visible = true;
};
_twinklDic[pDobj] = 0;
} else {
var _local3 = _twinklDic;
var _local4 = pDobj;
var _local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
};
}
public static function removeBurning(pDobj:DisplayObject):void{
pDobj.transform.colorTransform = new ColorTransform();
}
}
}//package com.creetor.game.YLLegend.view
Section 247
//IView (com.creetor.game.YLLegend.view.IView)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
public interface IView {
function get model():IModel;
function getSp():Sprite;
}
}//package com.creetor.game.YLLegend.view
Section 248
//IViewFactory (com.creetor.game.YLLegend.view.IViewFactory)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.model.*;
public interface IViewFactory {
function create(:IModel):IView;
}
}//package com.creetor.game.YLLegend.view
Section 249
//LibAssetFactory (com.creetor.game.YLLegend.view.LibAssetFactory)
package com.creetor.game.YLLegend.view {
import flash.display.*;
import cn.vlux.sharedLib.asset.*;
public class LibAssetFactory {
private var mc10:YanLoong_finalAttack_mc;
private var mc11:YanLoong_fallDown_mc;
private var mc12:YanLoong_heavyAttack_mc;
private var mc13:YanLoong_upHurt_mc;
private var mc14:YanLoong_midHurt_mc;
private var mc15:YanLoong_airHurt_mc;
private var mc16:YanLoong_jumpAttack_mc;
private var mc17:YanLoong_magicAttack_mc;
private var mc18:YanLoong_run_mc;
private var mc19:YanLoong_squatAttack_mc;
private var mc20:YanLoong_squatKick_mc;
private var mc21:YanLoong_upAttack_mc;
private var mc22:YanLoong_upCut_mc;
private var mc23:SoldierA_stand_mc;
private var mc24:SoldierA_jump_mc;
private var mc25:SoldierA_walk_mc;
private var mc26:SoldierA_upHurt_mc;
private var mc27:SwordHittedEffectA_mc;
private var mc28:SoldierA_airHurt_mc;
private var mc29:SoldierA_fallDown_mc;
private var mc200:Item_8_mc;
private var mc30:LitFireBall_explode_mc;
private var mc32:DragonBody_move_mc;
private var mc34:DragonHead_move_mc;
private var mc36:SoldierA_midHurt_mc;
private var mc37:SoldierA_attack1_mc;
private var mc38:SoldierA_jumpAttack_mc;
private var mc39:MidFireBall_explode_mc;
private var mc33:DragonBody_explode_mc;
private var mc35:DragonHead_explode_mc;
private var mc31:LitFireBall_move_mc;
private var mc40:MidFireBall_move_mc;
private var mc41:BigFireBall_explode_mc;
private var mc42:BigFireBall_move_mc;
private var mc43:YanLoong_rotaAttack_mc;
private var mc44:PassTile_1_mc;
private var mc45:PassTile_2_mc;
private var mc46:CloudFloor_1_mc;
private var mc47:BgLayer_1_mc;
private var mc48:BgLayer_2_mc;
private var mc49:BgLayer_3_mc;
private var mc101:BossC_upHurt_mc;
private var mc102:BossC_heavyAttack_mc;
private var mc103:BossC_jumpKick_mc;
private var mc104:BossB_walk_mc;
private var mc105:BossB_stand_mc;
private var mc106:BossB_attack1_mc;
private var mc100:BossC_midHurt_mc;
private var mc108:BossB_jumpAttack_mc;
private var mc109:BossB_fallDown_mc;
private var mc107:BossB_jump_mc;
private var mc50:BgLayer_4_mc;
private var mc51:PassTile_3_mc;
private var mc52:PassTile_4_mc;
private var mc54:PassTile_6_mc;
private var mc56:PassTile_7_mc;
private var mc53:PassTile_5_mc;
private var mc112:BossB_upHurt_mc;
private var mc114:BossB_dashAttack_mc;
private var mc57:PassTile_8_mc;
private var mc58:PassTile_9_mc;
private var mc59:PassTile_10_mc;
private var mc111:BossB_midHurt_mc;
private var mc113:BossB_run_mc;
private var mc115:BossB_upCut_mc;
private var mc116:BossB_magicAttack_mc;
private var mc60:PassTile_11_mc;
private var mc61:PassTile_12_mc;
private var mc62:Floor_3_mc;
private var mc63:SoldierB_stand_mc;
private var mc64:SoldierB_airHurt_mc;
private var mc65:SoldierB_attack1_mc;
private var mc66:SoldierB_fallDown_mc;
private var mc67:SoldierB_jump_mc;
private var mc68:SoldierB_jumpAttack_mc;
private var mc69:SoldierB_midHurt_mc;
private var mc118:IceBirdShot_move_mc;
private var mc119:SlashShot_explode_mc;
private var mc110:BossB_airHurt_mc;
private var mc124:BgLayer2_4_mc;
private var mc125:BgLayer3_1_mc;
private var mc126:BgLayer3_2_mc;
private var mc120:SlashShot_move_mc;
private var mc121:BgLayer2_1_mc;
private var mc122:BgLayer2_2_mc;
private var mc117:IceBirdShot_explode_mc;
private var mc127:BgLayer3_3_mc;
private var mc129:PassTile2_1_mc;
private var mc123:BgLayer2_3_mc;
private var mc70:SoldierB_rollAttack_mc;
private var mc72:SoldierB_walk_mc;
private var mc74:SoldierC_walk_mc;
private var mc76:SoldierC_attack1_mc;
private var mc71:SoldierB_upHurt_mc;
private var mc73:MapChangeFader_mc;
private var mc132:PassTile2_3_mc;
private var mc75:SoldierC_stand_mc;
private var mc134:PassTile2_5_mc;
private var mc77:SoldierC_jump_mc;
private var mc78:SoldierC_jumpAttack_mc;
private var mc79:SoldierC_fallDown_mc;
private var mc131:CloudFloor2_1_mc;
private var mc139:PassTile2_10_mc;
private var mc133:PassTile2_4_mc;
private var mc128:BgLayer3_4_mc;
private var mc135:PassTile2_6_mc;
private var mc136:PassTile2_7_mc;
private var mc137:PassTile2_8_mc;
private var mc130:PassTile2_2_mc;
private var mc80:SoldierC_airHurt_mc;
private var mc81:SoldierC_midHurt_mc;
private var mc82:SoldierC_upHurt_mc;
private var mc83:BossA_walk_mc;
private var mc84:BossA_stand_mc;
private var mc85:BossA_attack1_mc;
private var mc86:BossA_jump_mc;
private var mc87:BossA_jumpAttack_mc;
private var mc88:BossA_fallDown_mc;
private var mc89:BossA_airHurt_mc;
private var mc138:PassTile2_9_mc;
private var mc142:Floor2_1_mc;
private var mc143:Floor2_2_mc;
private var mc144:Floor2_3_mc;
private var mc145:PassTile2_13_mc;
private var mc146:PassTile2_14_mc;
private var mc140:PassTile2_11_mc;
private var mc141:PassTile2_12_mc;
private var mc149:Item_1_mc;
private var mc147:PassTile2_15_mc;
private var mc90:BossA_midHurt_mc;
private var mc92:BossA_heavyAttack_mc;
private var mc94:BossC_stand_mc;
private var mc96:BossC_jump_mc;
private var mc98:BossC_fallDown_mc;
private var mc93:BossC_walk_mc;
private var mc95:BossC_attack1_mc;
private var mc97:BossC_jumpAttack_mc;
private var mc99:BossC_airHurt_mc;
private var mc152:Item_4_mc;
private var mc148:PassTile2_16_mc;
private var mc156:Qigong_1_mc;
private var mc91:BossA_upHurt_mc;
private var mc154:Item_6_mc;
private var mc155:Item_7_mc;
private var mc157:Qigong_2_mc;
private var mc150:Item_2_mc;
private var mc151:Item_3_mc;
private var mc153:Item_5_mc;
private var mc160:Qigong_5_mc;
private var mc158:Qigong_3_mc;
private var mc159:Qigong_4_mc;
private var mc163:FireDragonShot_explode_mc;
private var mc164:FireHittedEffectA_mc;
private var mc165:IceHittedEffectA_mc;
private var mc1:Floor_1_mc;
private var mc2:Floor_2_mc;
private var mc3:YanLoong_walk_mc;
private var mc4:YanLoong_stand_mc;
private var mc5:YanLoong_jump_mc;
private var mc6:YanLoong_squat_mc;
private var mc7:YanLoong_attack1_mc;
private var mc8:YanLoong_attack2_mc;
private var mc9:YanLoong_dashAttack_mc;
private var mc161:YanLoong_dragonUpCut_mc;
private var mc167:FireHittedEffectB_mc;
private var mc168:LevelUpTip_mc;
private var mc169:HitsCounter_mc;
private var mc162:FireDragonShot_move_mc;
private var mc166:BareHittedEffectA_mc;
private var mc171:SoldierA2_jump_mc;
private var mc173:SoldierA2_upHurt_mc;
private var mc175:SoldierA2_attack1_mc;
private var mc172:SoldierA2_walk_mc;
private var mc174:SoldierA2_midHurt_mc;
private var mc176:SoldierA2_jumpAttack_mc;
private var mc170:SoldierA2_stand_mc;
private var mc177:SoldierB2_stand_mc;
private var mc178:SoldierB2_airHurt_mc;
private var mc181:SoldierB2_jump_mc;
private var mc183:SoldierB2_midHurt_mc;
private var mc184:SoldierB2_rollAttack_mc;
private var mc185:SoldierB2_upHurt_mc;
private var mc186:SoldierB2_walk_mc;
private var mc182:SoldierB2_jumpAttack_mc;
private var mc179:SoldierB2_attack1_mc;
private var mc187:SoldierC2_walk_mc;
private var mc189:SoldierC2_attack1_mc;
private var mc180:SoldierB2_fallDown_mc;
private var mc188:SoldierC2_stand_mc;
private var mc193:SoldierC2_airHurt_mc;
private var mc195:SoldierC2_upHurt_mc;
private var mc192:SoldierC2_fallDown_mc;
private var mc194:SoldierC2_midHurt_mc;
private var mc196:SoldierA2_fallDown_mc;
private var mc190:SoldierC2_jump_mc;
private var mc197:SoldierA2_airHurt_mc;
private var mc199:PassTile2_17_mc;
private var mc191:SoldierC2_jumpAttack_mc;
private var mc198:PassTile_13_mc;
public function LibAssetFactory(){
super();
}
public static function create(pClassName:String):DisplayObject{
return (AssetFactory.attachClip(pClassName));
}
}
}//package com.creetor.game.YLLegend.view
Section 250
//ScrollBgLayer (com.creetor.game.YLLegend.view.ScrollBgLayer)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.model.*;
public class ScrollBgLayer {
private var _tileWidth:Number;
private var _scrollRightX:Number;
private var _tileList:Array;
private var _world:IWorld;
private var :WorldAnimator;
private var _rightX:Number;
private var _scrollOldLeftX:Number;
private var _screenTileX:uint;
private var _scrollLeftX:Number;
private var :Array;
private var _leftX:Number;
private var _scrollOldRightX:Number;
private var _x:Number;
private var :Number;
public function ScrollBgLayer(pWorldAnimator:WorldAnimator, pMapData:Array, pScreenTileX:uint, pTileWidth:Number, pX:Number, pY:Number){
super();
= pWorldAnimator;
_world = .world;
_tileList = new Array();
= pMapData;
_screenTileX = pScreenTileX;
_tileWidth = pTileWidth;
_x = pX;
= pY;
reset();
}
public function scroll(dir:String, pScrollSpeed:Number):void{
var mapWidth:uint = .length;
var viewAreaX:uint = _screenTileX;
if ((((dir == "left")) && ((_rightX > (viewAreaX - 1))))){
.bgLayer_sp.x = ( .bgLayer_sp.x + pScrollSpeed);
_scrollLeftX = (_scrollLeftX + pScrollSpeed);
if (_scrollLeftX >= _tileWidth){
_leftX--;
if (_leftX >= 0){
_tileList[_leftX] = _world.createPassTile([ [_leftX]], (_leftX * _tileWidth), , false);
.createBgLayerView(_tileList[_leftX]);
if (_tileList[_rightX] != null){
_world.remove(_tileList[_rightX], false);
.removeBgLayerView(_tileList[_rightX]);
_tileList[_rightX] = null;
};
};
_scrollLeftX = (_scrollLeftX - _tileWidth);
_rightX--;
};
} else {
if ((((dir == "right")) && ((_leftX < (mapWidth - viewAreaX))))){
.bgLayer_sp.x = ( .bgLayer_sp.x - pScrollSpeed);
_scrollRightX = (_scrollRightX + pScrollSpeed);
if (_scrollRightX >= _tileWidth){
_rightX++;
if (_rightX < mapWidth){
_tileList[_rightX] = _world.createPassTile([ [_rightX]], (_rightX * _tileWidth), , false);
.createBgLayerView(_tileList[_rightX]);
if (_tileList[_leftX] != null){
_world.remove(_tileList[_leftX], false);
.removeBgLayerView(_tileList[_leftX]);
_tileList[_leftX] = null;
};
};
_scrollRightX = (_scrollRightX - _tileWidth);
_leftX++;
};
};
};
}
public function reset():void{
_scrollOldLeftX = 0;
_scrollOldRightX = 0;
.bgLayer_sp.x = _x;
_scrollLeftX = 0;
_scrollRightX = 0;
_leftX = 0;
_rightX = (_screenTileX + 1);
}
public function drawBgLayer(pTileX:int=0):void{
var tileX:Number;
.bgLayer_sp.x = ((-(pTileX) * _tileWidth) + _x);
_leftX = pTileX;
_rightX = ((pTileX + _screenTileX) + 1);
var i:uint;
while (i < (_screenTileX + 2)) {
tileX = (i + pTileX);
_tileList[tileX] = _world.createPassTile([ [tileX]], (tileX * _tileWidth), , false);
.createBgLayerView(_tileList[tileX]);
i++;
};
}
public function setMapData(mapData:Array):void{
= mapData;
}
}
}//package com.creetor.game.YLLegend.view
Section 251
//SpriteAnimator (com.creetor.game.YLLegend.view.SpriteAnimator)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.model.*;
import flash.display.*;
import com.creetor.game.YLLegend.hitTest.*;
public class SpriteAnimator extends Animator {
private var _spriteObject:ISpriteObject;
private var _body_sp:BodyArea_sp;
private var _oldAnimState:String;
public function SpriteAnimator(pModel:ISpriteObject, pAnimScale:Number=1, pCacheAsBitmap:Boolean=false){
super(pModel, pAnimScale, pCacheAsBitmap);
_body_sp = new BodyArea_sp();
getSp().addChild(_body_sp);
_spriteObject.
(_body_sp);
_body_sp.visible = false;
}
override protected function setAnimation(pAnimState:String):void{
var freezeTime:Number;
if (_curChild != null){
if (_spriteObject.getActionClipCtrler(_curChild.name).maxFreezeTime > 0){
freezeTime = _spriteObject.getActionClipCtrler(_curChild.name).maxFreezeTime;
};
getSp().removeChild(_curChild);
};
_curChild = _childrenHash[pAnimState];
getSp().addChild(_curChild);
_spriteObject.getActionClipCtrler(_curChild.name).reset();
if (!isNaN(freezeTime)){
_spriteObject.getActionClipCtrler(_curChild.name).setFreezeTime(freezeTime);
};
}
public function get spriteObject():ISpriteObject{
return (_spriteObject);
}
override public function update():void{
if (_oldAnimState != _curChild.name){
_spriteObject.getActionClipCtrler(_oldAnimState).reset();
_oldAnimState = _curChild.name;
};
_spriteObject.getActionClipCtrler(_curChild.name).update();
}
protected function hideArea():void{
_body_sp.visible = false;
}
override protected function init():void{
_oldAnimState = _curChild.name;
}
override protected function createChildren(pAnimStateList:Array, pAnimScale:Number, pCacheAsBitmap:Boolean):Object{
var animClip:MovieClip;
_spriteObject = (model as ISpriteObject);
var children:Object = new Object();
var i:int = pAnimStateList.length;
while (i--) {
animClip = createAnimClip(pAnimStateList[i], pAnimScale, pCacheAsBitmap);
if (_spriteObject.getActionClipCtrler(animClip.name) == null){
_spriteObject.setActionClipCtrler(pAnimStateList[i]);
};
_spriteObject.getActionClipCtrler(animClip.name).actionClip = (animClip as MovieClip);
children[pAnimStateList[i]] = animClip;
};
return (children);
}
override public function dispose():void{
super.dispose();
_spriteObject = null;
_body_sp = null;
}
}
}//package com.creetor.game.YLLegend.view
Section 252
//ViewFactory (com.creetor.game.YLLegend.view.ViewFactory)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
public class ViewFactory implements IViewFactory {
private static var instance:IViewFactory;
public function ViewFactory(){
super();
if (instance != null){
throw (new Error("can not have multiple instances!"));
};
}
private function
(pModel:IDisplayable):Displayer{
var displayer:Displayer = new Displayer(pModel, 1, true);
return (displayer);
}
public function create(pModel:IModel):IView{
var view:IView;
if ((pModel is IAnimatable)){
view = ((pModel as IAnimatable));
} else {
if ((pModel is IDisplayable)){
view =
((pModel as IDisplayable));
} else {
throw (new TypeError("only accept IAnimatable or IDisplayable."));
};
};
return (view);
}
private function (pModel:IAnimatable):Animator{
var animator:Animator = new Animator(pModel, 1, true);
pModel.addEventListener(AnimStateEvent.SET_ANIMATION, animator.onUpdateAnimState);
return (animator);
}
public static function getInstance():IViewFactory{
if (instance == null){
instance = new (ViewFactory);
};
return (instance);
}
}
}//package com.creetor.game.YLLegend.view
Section 253
//WorldAnimator (com.creetor.game.YLLegend.view.WorldAnimator)
package com.creetor.game.YLLegend.view {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import flash.display.*;
import com.creetor.game.YLLegend.model.item.*;
import com.creetor.game.YLLegend.model.shot.*;
public final class WorldAnimator {
private var :Number;
private var :Sprite;
private var :Number;
private var _world:IWorld;
private var :Sprite;
private var :Number;
private var :Number;
private var :Array;
private var :Array;
private var leftX:Number;
private var rightX:Number;
private var :ScrollBgLayer;
private var :Sprite;
private var :YanLoong;
private var :Number;
private var :Number;
public function WorldAnimator(pWorld:IWorld){
super();
_world = pWorld;
world.addEventListener(WorldAnimatorEvent.ADD_VIEW, );
world.addEventListener(WorldAnimatorEvent.REMOVE_VIEW, );
world.addEventListener(WorldAnimatorEvent.CLEAR, );
world.addEventListener(WorldAnimatorEvent.REDRAWMAP, );
world.addEventListener(WorldAnimatorEvent.DRAWMAP, );
world.addEventListener(HittedEvent.HITTED, );
= ();
= ();
= ();
_world.
();
();
();
();
}
private function (pModel:IAnimatable, pIndex:int=-1):Animator{
var animator:Animator;
if ((pModel is IChar)){
animator = new CharAnimator((pModel as Char), 1, true);
} else {
if ((pModel is IShot)){
animator = new SpriteAnimator((pModel as ISpriteObject), 1, true);
} else {
animator = new Animator(pModel, 1, true);
};
};
pModel.addEventListener(AnimStateEvent.SET_ANIMATION, animator.onUpdateAnimState);
if (pIndex == -1){
if ((pModel is IImpassable)){
.addChild(animator.getSp());
} else {
.addChild(animator.getSp());
};
} else {
if ((pModel is IImpassable)){
.addChildAt(animator.getSp(), pIndex);
} else {
.addChildAt(animator.getSp(), pIndex);
};
};
.push(animator);
return (animator);
}
public function remove(pModel:IModel):void{
var len:uint;
var i:Number;
var len2:uint;
var j:Number;
if ((pModel is IAnimatable)){
len = (.length - 1);
i = len;
while (i > -1) {
if ([i].model === pModel){
[i].getSp().parent.removeChild([i].getSp());
[i].dispose();
.splice(i, 1);
};
i--;
};
} else {
if ((pModel is IDisplayable)){
len2 = (.length - 1);
j = len2;
while (j > -1) {
if ([j].model === pModel){
[j].getSp().parent.removeChild([j].getSp());
[j].dispose();
.splice(j, 1);
};
j--;
};
} else {
throw (new TypeError("only accept IAnimatable or IDisplayable."));
};
};
}
private function (pBgData:String, screenX:int=4, tileWidth:int=144):Array{
var id:uint;
var mapData:Array = new Array();
var i:uint;
while (i < 36) {
id = ((i % screenX) + 1);
mapData.push({name:(((pBgData + "_") + id) + "_mc"), x:(i * tileWidth), y:0});
i++;
};
return (mapData);
}
private function (event:WorldAnimatorEvent):void{
if ((event.model is IAnimatable)){
((event.model as IAnimatable));
} else {
if ((event.model is IDisplayable)){
((event.model as IDisplayable));
} else {
throw (new TypeError("only accept IAnimatable or IDisplayable."));
};
};
}
private function (event:WorldAnimatorEvent):void{
remove(event.model);
}
public function get world():IWorld{
return (_world);
}
public function
(modelList:Array, pIndex:int=-1):void{
var i:uint;
while (i < modelList.length) {
if ((modelList[i] is IAnimatable)){
((modelList[i] as IAnimatable), pIndex);
} else {
if ((modelList[i] is IDisplayable)){
((modelList[i] as IDisplayable), pIndex);
} else {
throw (new TypeError("only accept IAnimatable or IDisplayable."));
};
};
i++;
};
}
public function get sprite_sp():Sprite{
return ();
}
private function (event:WorldAnimatorEvent):void{
= _world.heros.getItem(0);
var tileX:Number = ();
(tileX);
(event.getBgData());
.drawBgLayer(Math.floor((tileX / 4)));
}
public function get tile_sp():Sprite{
return ();
}
public function dispose():void{
_world = null;
= null;
= null;
= null;
= null;
}
private function ():Number{
var screenPos:Number;
var prevAdjust:Number;
if (.initPos.x > (_world.stageWidth - Game.WORLD_WIDTH)){
screenPos = (Game.WORLD_WIDTH - 128);
prevAdjust = 0;
} else {
screenPos = 128;
prevAdjust = 1;
};
return ((Math.floor(((.initPos.x - screenPos) / Game.TILE_WIDTH)) + prevAdjust));
}
private function (event:WorldAnimatorEvent):void{
var i:int = .length;
while (i--) {
if ([i].model != ){
Animator([i]).getSp().parent.removeChild(Animator([i]).getSp());
Animator([i]).dispose();
.splice(i, 1);
};
};
i = .length;
while (i--) {
Displayer([i]).getSp().parent.removeChild(Displayer([i]).getSp());
Displayer([i]).dispose();
.splice(i, 1);
};
}
public function removeBgLayerView(pModel:IDisplayable):void{
var len2:uint = (.length - 1);
var j:Number = len2;
while (j > -1) {
if ([j].model === pModel){
.removeChild([j].getSp());
[j].dispose();
.splice(j, 1);
};
j--;
};
}
public function createBgLayerView(pModel:IDisplayable):Displayer{
var displayer:Displayer = new Displayer(pModel, 1, true);
.addChild(displayer.getSp());
.push(displayer);
return (displayer);
}
private function (pArray:Array):void{
var i:int;
var j:int;
var temp:IHurter;
i = 1;
while (i < pArray.length) {
j = 0;
while (j < (pArray.length - 1)) {
if (.getChildIndex(IHurter(pArray[i]).getSp()) > .getChildIndex(IHurter(pArray[j]).getSp())){
temp = pArray[i];
pArray[i] = pArray[j];
pArray[j] = temp;
};
j++;
};
i++;
};
}
public function update():void{
var rightEdge:Number;
var leftEdge:Number;
var scrollSpeed:Number;
var heroScreenPosX:Number;
if ( == null){
return;
};
var i:int = .length;
while ((i = (i - 1)), i) {
[i].update();
};
if (_world.isEnableScroll()){
heroScreenPosX = (tile_sp.x + .getSp().x);
//unresolved jump
var _slot1 = e;
rightEdge = (Game.WORLD_WIDTH - Game.EDGEDISTANCE);
leftEdge = Game.EDGEDISTANCE;
if (heroScreenPosX > rightEdge){
if (tile_sp.x > _world.scrollRightEdge){
scrollSpeed = (heroScreenPosX - rightEdge);
if (scrollSpeed >= 10){
scrollSpeed = 10;
};
("right", scrollSpeed);
.scroll("right", (scrollSpeed / 4));
_world.setIsRightScroll(true);
};
} else {
_world.setIsRightScroll(false);
};
if (heroScreenPosX < leftEdge){
if (tile_sp.x < _world.scrollLeftEdge){
scrollSpeed = (leftEdge - heroScreenPosX);
if (scrollSpeed >= 10){
scrollSpeed = 10;
};
("left", scrollSpeed);
.scroll("left", (scrollSpeed / 4));
_world.setIsLeftScroll(true);
};
} else {
_world.setIsLeftScroll(false);
};
};
}
public function (pModelList:Array):void{
var i:uint;
while (i < pModelList.length) {
remove(pModelList[i]);
i++;
};
}
private function
(pModel:IDisplayable, pIndex:int=-1):Displayer{
var displayer:Displayer = new Displayer(pModel, 1, true);
if (pIndex == -1){
if ((pModel is IItem)){
trace("##createDisplayer");
.addChild(displayer.getSp());
} else {
.addChild(displayer.getSp());
};
} else {
if ((pModel is IItem)){
.addChildAt(displayer.getSp(), pIndex);
} else {
.addChildAt(displayer.getSp(), pIndex);
};
};
.push(displayer);
return (displayer);
}
private function ():void{
= new Array();
var i:int = _world.animModels.length;
while (i--) {
(_world.animModels.getItem(i));
};
}
private function (dir:String, scrollspeed:Number):void{
var i:int;
var j:int;
var mapWidth:uint = _world.map[0].length;
var viewAreaX:uint = Game.SCREEN_TILEX;
if ((((dir == "left")) && ((rightX > (viewAreaX - 1))))){
tile_sp.x = (tile_sp.x + scrollspeed);
sprite_sp.x = (sprite_sp.x + scrollspeed);
= ( + scrollspeed);
if ( >= Game.TILE_WIDTH){
leftX--;
if (leftX >= 0){
i = ;
while (i < ) {
if (_world.map[i][leftX] != 0){
(_world.modelListMapHash[((i + ",") + leftX)]);
};
if (_world.modelListMapHash[((i + ",") + rightX)] != null){
(_world.modelListMapHash[((i + ",") + rightX)]);
};
i++;
};
};
= ( - Game.TILE_WIDTH);
rightX--;
};
} else {
if ((((dir == "right")) && ((leftX < (mapWidth - viewAreaX))))){
tile_sp.x = (tile_sp.x - scrollspeed);
sprite_sp.x = (sprite_sp.x - scrollspeed);
= ( + scrollspeed);
if ( >= Game.TILE_WIDTH){
rightX++;
if (rightX < mapWidth){
j = ;
while (j < ) {
if (_world.map[j][rightX] != 0){
(_world.modelListMapHash[((j + ",") + rightX)]);
};
if (_world.modelListMapHash[((j + ",") + leftX)] != null){
(_world.modelListMapHash[((j + ",") + leftX)]);
};
j++;
};
};
= ( - Game.TILE_WIDTH);
leftX++;
};
};
};
_world.modelListMapHash.leftX = leftX;
_world.modelListMapHash.rightX = rightX;
}
private function ():void{
= 0;
= 0;
= 0;
= 0;
leftX = 0;
rightX = (Game.SCREEN_TILEX + 1);
= 0;
= (Game.SCREEN_TILEY + 1);
_world.modelListMapHash.leftX = leftX;
_world.modelListMapHash.rightX = rightX;
}
private function (pBgData:String):void{
var screenX:uint = 4;
var tileWidth:Number = 144;
var mapData:Array = (pBgData, screenX, tileWidth);
= new ScrollBgLayer(this, mapData, screenX, tileWidth, -(tileWidth), 0);
}
private function (event:WorldAnimatorEvent):void{
();
var tileX:Number = ();
(tileX);
.reset();
.setMapData((event.getBgData()));
.drawBgLayer(Math.floor((tileX / 4)));
}
private function ():Sprite{
return (new Sprite());
}
private function (hitter:IHitter, hittedTargets:Array):void{
var hitter = hitter;
var hittedTargets = hittedTargets;
(hittedTargets);
if (.getChildIndex(hitter.getSp()) < .getChildIndex(IHurter(hittedTargets[0]).getSp())){
.swapChildren(hitter.getSp(), IHurter(hittedTargets[0]).getSp());
};
//unresolved jump
var _slot1 = e;
}
private function (pTileX:int=0, pTileY:int=0):void{
var j:int;
var tileX:int;
var tileY:int;
.x = (.x = (-(pTileX) * Game.TILE_WIDTH));
.y = (.y = (-(pTileY) * Game.TILE_HEIGHT));
rightX = ((pTileX + Game.SCREEN_TILEX) + 1);
leftX = pTileX;
var i:int;
while (i < (Game.SCREEN_TILEY + 2)) {
j = 0;
while (j < (Game.SCREEN_TILEX + 2)) {
tileX = (j + pTileX);
tileY = (i + pTileY);
if (_world.map[tileY][tileX] != 0){
(_world.modelListMapHash[((tileY + ",") + tileX)]);
};
j++;
};
i++;
};
_world.modelListMapHash.leftX = leftX;
_world.modelListMapHash.rightX = rightX;
}
private function (event:HittedEvent):void{
(event.hitter, event.targets);
}
public function get bgLayer_sp():Sprite{
return ();
}
private function ():void{
= new Array();
var i:uint = _world.displayModels.length;
while (i--) {
(_world.displayModels.getItem(i));
};
}
}
}//package com.creetor.game.YLLegend.view
Section 254
//CharSpawner (com.creetor.game.YLLegend.CharSpawner)
package com.creetor.game.YLLegend {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.model.scene.*;
import com.creetor.game.YLLegend.utils.*;
public final class CharSpawner extends EventDispatcher {
private var :uint;
private var :IChar;
private var :SceneData;
private var _world:IWorld;
private var :IChar;
private var :Boolean;
private var :Number;
private var :Number;
private var :Number;
private var :Number;
private var :Boolean;
private var :GameTimer;
public static const MAX_ENEMIES_NUM:uint = 4;
public static const ENEMY_INTERVAL:uint = 3000;
public function CharSpawner(pWorld:IWorld, pLevelData:SceneData){
super();
init();
_world = pWorld;
= pLevelData;
}
public function ():Boolean{
return ();
}
public function updateMaxEniNum(pDifficulty:int):void{
if (pDifficulty == GameDifficulty.EASY){
= (MAX_ENEMIES_NUM - 1);
} else {
if (pDifficulty == GameDifficulty.HARD){
= (MAX_ENEMIES_NUM + 1);
} else {
= MAX_ENEMIES_NUM;
};
};
}
public function setPause(pause:Boolean):void{
= pause;
}
private function
(event:EnemyEvent):void{
++;
if (){
++;
if (_world.anchor != null){
if (!(_world.anchor is BossAnchor)){
if (Game.getInstance().getDifficulty() == GameDifficulty.HARD){
if ( >= (_world.anchor.getMaxCharNum() + 4)){
carryAnchor();
};
} else {
if ( >= _world.anchor.getMaxCharNum()){
carryAnchor();
};
};
} else {
if (EnemyAttribute(event.target).getChar() == ){
= null;
carryAnchor();
};
};
};
};
}
private function showCharStatus(pChar:IChar):void{
dispatchEvent(new CharEvent(CharEvent.SHOW_CHAR_STATUS, pChar));
}
public function ():Number{
if (Game.getInstance().getDifficulty() < 2){
return ((ENEMY_INTERVAL - (1000 * Game.getInstance().getDifficulty())));
};
return ((ENEMY_INTERVAL - 1000));
}
public function ():void{
= 0;
}
public function spawnHero():IChar{
= _world.createYanLoong(128, 320);
showCharStatus();
return ();
}
public function reset():void{
= 0;
= 0;
();
= false;
= false;
= null;
}
private function init():void{
= new GameTimer();
reset();
= 0;
}
private function (event:CharEvent):void{
--;
if ( < 0){
throw (new TypeError("_curEnemiesNum<0!"));
};
}
private function
(pChar:IChar):void{
var x:Number = _world.modelListMapHash.rightX;
var i:int = (Game.SCREEN_TILEY - 1);
while (i >= 0) {
if ((((((_world.modelListMapHash[((i + ",") + x)] == null)) || ((_world.modelListMapHash[((i + ",") + x)] == undefined)))) || (!((_world.modelListMapHash[((i + ",") + x)] is IImpassable))))){
pChar.moveTo(((x * Game.TILE_WIDTH) + Game.TILE_WIDTH), (i * Game.TILE_WIDTH));
pChar.moveLeft();
break;
};
i--;
};
}
private function (pMax:uint):uint{
return (Math.floor((Math.random() * pMax)));
}
public function setAnchor():void{
= true;
}
private function (charData):IChar{
var char:IChar;
var ran:Number;
if ((charData is Array)){
ran = Math.floor((Math.random() * charData.length));
char = (Class(charData[ran]));
} else {
if ((charData is Class)){
char = (Class(charData));
};
};
char.addEventListener(CharEvent.DIE, );
char.getAttribute().addEventListener(EnemyEvent.DYING,
);
showCharStatus(char);
++;
return (char);
}
public function update():void{
if (.milliseconds() > ()){
if (((!()) && (!(( == null))))){
();
};
.restartTimer();
};
}
public function setSceneID(sceneID:Number):void{
= sceneID;
reset();
}
private function carryAnchor():void{
_world.carryAnchor();
= false;
IHeroAttribute(.getAttribute()).resetTouchAnchor();
();
}
private function (pType:Class):IChar{
var char:IChar;
switch (pType){
case SoldierA:
char = _world.createSoldierA(0, 0);
break;
case SoldierB:
char = _world.createSoldierB(0, 0);
break;
case SoldierC:
char = _world.createSoldierC(0, 0);
break;
case SoldierA2:
char = _world.createSoldierA2(0, 0);
break;
case SoldierB2:
char = _world.createSoldierB2(0, 0);
break;
case SoldierC2:
char = _world.createSoldierC2(0, 0);
break;
case BossA:
char = _world.createBossA(0, 0);
break;
case BossC:
char = _world.createBossC(0, 0);
break;
case BossB:
char = _world.createBossB(0, 0);
break;
};
return (char);
}
private function ():void{
var charData:Array;
var char:IChar;
var i:uint;
var maxNum:int;
if (!){
if (Game.getInstance().getDifficulty() == GameDifficulty.HARD){
if ( >= ( .getMaxCharLimit() + 16)){
return;
};
} else {
if ( >= .getMaxCharLimit()){
return;
};
};
if (_world.isRightScroll){
charData = .getCharData();
if (charData.length == 0){
return;
};
i = 0;
while (i <= (( - 2))) {
if ( >= ){
return;
};
char = (charData);
(char);
i++;
};
} else {
if (_world.isLeftScroll){
charData = .getCharData();
if (charData.length == 0){
return;
};
i = 0;
while (i <= (( - 2))) {
if ( >= ){
return;
};
char = (charData);
(char);
i++;
};
};
};
} else {
maxNum = ;
if ((_world.anchor is BossAnchor)){
if ( == null){
= (BossAnchor(_world.anchor).getBossType());
();
};
maxNum = ( - 1);
};
if (Game.getInstance().getDifficulty() == GameDifficulty.HARD){
if ( >= (_world.anchor.getMaxCharNum() + 4)){
return;
};
} else {
if ( >= _world.anchor.getMaxCharNum()){
return;
};
};
charData = _world.anchor.getCharData();
i = 0;
while (i <= ((maxNum - 1))) {
if ( >= maxNum){
return;
};
char = (charData);
if (Math.random() <= 0.5){
(char);
} else {
(char);
};
i++;
};
};
}
private function
(pChar:IChar):void{
var x:Number = _world.modelListMapHash.leftX;
var i:int = (Game.SCREEN_TILEY - 1);
while (i >= 0) {
if ((((((_world.modelListMapHash[((i + ",") + x)] == null)) || ((_world.modelListMapHash[((i + ",") + x)] == undefined)))) || (!((_world.modelListMapHash[((i + ",") + x)] is IImpassable))))){
pChar.moveTo(((x * Game.TILE_WIDTH) - (2 * Game.TILE_WIDTH)), (i * Game.TILE_WIDTH));
pChar.moveRight();
break;
};
i--;
};
}
}
}//package com.creetor.game.YLLegend
Section 255
//CharSpawnInfo (com.creetor.game.YLLegend.CharSpawnInfo)
package com.creetor.game.YLLegend {
public class CharSpawnInfo {
private var
:Class;
private var
:int;
public function CharSpawnInfo(pType:Class, pRatio:int){
super();
= pType;
= pRatio;
}
public function get type():Class{
return (
);
}
public function get ratio():int{
return (
);
}
}
}//package com.creetor.game.YLLegend
Section 256
//ExpManager (com.creetor.game.YLLegend.ExpManager)
package com.creetor.game.YLLegend {
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
public class ExpManager {
private var _world:IWorld;
private var :IChar;
private static var _instance:ExpManager;
public function ExpManager(pWorld:IWorld){
super();
if (_instance != null){
throw (new Error("can't have multiple instacne!"));
};
if (pWorld != null){
_world = pWorld;
};
init();
}
private function
(event:EnemyEvent):void{
IHeroAttribute(.getAttribute()).addExp(event.heroAddedExp);
}
private function
(event:WorldAnimatorEvent):void{
if ((((event.model is IChar)) && ((IChar(event.model).getAttribute() is IEnemyAttribute)))){
IChar(event.model).getAttribute().removeEventListener(EnemyEvent.DYING,
);
};
}
private function
(event:WorldAnimatorEvent):void{
if ((((event.model is IChar)) && ((IChar(event.model).getAttribute() is IEnemyAttribute)))){
IChar(event.model).getAttribute().addEventListener(EnemyEvent.DYING,
);
};
}
public function reset():void{
= _world.heros.getItem(0);
.getAttribute().addEventListener(HeroEvent.ADD_EXP,
);
}
private function init():void{
= _world.heros.getItem(0);
.getAttribute().addEventListener(HeroEvent.ADD_EXP,
);
_world.addEventListener(WorldAnimatorEvent.ADD_VIEW,
);
_world.addEventListener(WorldAnimatorEvent.REMOVE_VIEW,
);
}
private function
(event:HeroEvent):void{
if (event.exp >
()){
IHeroAttribute(.getAttribute()).levelUp();
};
}
private function
():int{
var level:uint = IHeroAttribute(.getAttribute()).level;
if (level < 20){
return (((level * 2000) + ((level * (level - 1)) * 1000)));
};
return ((380000 + (40000 * (level - 19))));
}
public function dispose():void{
.removeEventListener(HeroEvent.ADD_EXP,
);
= null;
_instance = null;
_world.removeEventListener(WorldAnimatorEvent.ADD_VIEW,
);
_world.removeEventListener(WorldAnimatorEvent.REMOVE_VIEW,
);
_world = null;
}
public static function getInstance(pWorld:IWorld=null):ExpManager{
if (_instance == null){
_instance = new ExpManager(pWorld);
};
return (_instance);
}
}
}//package com.creetor.game.YLLegend
Section 257
//GameData (com.creetor.game.YLLegend.GameData)
package com.creetor.game.YLLegend {
public class GameData {
public var curSceneID:uint;
public var difficulty:int;
public var itemData:Array;
public function GameData(){
super();
}
}
}//package com.creetor.game.YLLegend
Section 258
//GameDifficulty (com.creetor.game.YLLegend.GameDifficulty)
package com.creetor.game.YLLegend {
public class GameDifficulty {
public static const EASY:int = 0;
public static const NORMAL:int = 1;
public static const HARD:int = 2;
public function GameDifficulty(){
super();
}
}
}//package com.creetor.game.YLLegend
Section 259
//HeroData (com.creetor.game.YLLegend.HeroData)
package com.creetor.game.YLLegend {
public class HeroData {
public var curPP:Number;
public var level:uint;
public var curHP:Number;
public var totalPP:Number;
public var totalHP:Number;
public var comboList:Array;
public var shotType:Object;
public var attackPower:Number;
public var exp:Number;
public var qigongList:Array;
public var x:Number;
public var y:Number;
public function HeroData(){
super();
}
}
}//package com.creetor.game.YLLegend
Section 260
//IDataLoadable (com.creetor.game.YLLegend.IDataLoadable)
package com.creetor.game.YLLegend {
public interface IDataLoadable {
function setData(:Object):void;
}
}//package com.creetor.game.YLLegend
Section 261
//IDataSaveable (com.creetor.game.YLLegend.IDataSaveable)
package com.creetor.game.YLLegend {
public interface IDataSaveable {
function getData():Object;
}
}//package com.creetor.game.YLLegend
Section 262
//ISkillLockable (com.creetor.game.YLLegend.ISkillLockable)
package com.creetor.game.YLLegend {
public interface ISkillLockable {
function getSkillLocker():SkillLocker;
}
}//package com.creetor.game.YLLegend
Section 263
//LangTextHolder (com.creetor.game.YLLegend.LangTextHolder)
package com.creetor.game.YLLegend {
import com.creetor.game.YLLegend.ui.*;
import com.creetor.game.YLLegend.model.item.*;
import flash.utils.*;
public class LangTextHolder {
private var _textDic:Dictionary;
private var _langType:String;
public static const EN:String = "en";
public static const ZH:String = "zh";
private static var instance:LangTextHolder;
public function LangTextHolder(pLangType:String="en"){
super();
if (instance != null){
throw (new Error("can not have multiple instances!"));
};
_langType = pLangType;
_textDic = new Dictionary(true);
init();
}
private function init():void{
switch (_langType){
case EN:
_textDic[ItemGetAlert] = ["You Got A ", "push 'I' to check it."];
_textDic[SkillLearntAlert] = ["You Learnt A New Qigong Skill: ", "push 'I' to check it."];
_textDic[DashAttackBook] = ["Dash Slash Book", ("This is a hint book, you can use the skill you already have: '<font color='#00ff00'>Dash Slash</font>',\n" + "The method of launch this fight skill is: '<font color='#00ff00'>During Dash(tap 'D' or 'A' twice) tap 'J'</font>'")];
_textDic[RotaAttackBook] = ["Tornado Slash Book", (("This is a hint book, you can use the skill you already have: '<font color='#00ff00'>Tornado Slash</font>',\n" + "The method of launch this fight skill is: '<font color='#00ff00'>Hold 'W',then tap 'L'</font>'.\n") + "This skill is very useful when you are surrounded by lots of Enemies.")];
_textDic[SquatKickBook] = ["Squat Kick Book", ("You have learnt a new fight skill called '<font color='#00ff00'>Squat Kick</font>' from this Book,\n" + "The method of launch this fight skill is: '<font color='#00ff00'>hold 'S',then tap 'L'</font>'")];
_textDic[UpCutBook] = ["Up Cut Book", ("You have learnt a new fight skill called '<font color='#00ff00'>Up Cut</font>' from this Book,\n" + "The method of launch this fight skill is: '<font color='#00ff00'>S, D, J or S, A, J</font>'")];
_textDic[DragonUpCutBook] = ["Dragon Up Cut Book", (("You have learnt a new fight skill called '<font color='#00ff00'>Dragon Up Cut</font>' from this Book,\n" + "The method of launch this fight skill is: '<font color='#00ff00'>S, D, L or S, A, L</font>'.") + "To launch this skill need some Points of Qigong Power.")];
_textDic[HeavyAttackBook] = ["Heavy Attack Book", ("You have learnt a new fight skill called '<font color='#00ff00'>Heavy Attack</font>' from this Book,\n" + "The method of launch this fight skill is: '<font color='#00ff00'>A, D, J or D, A, J</font>'")];
_textDic[LitFireBallIcon] = ["Lit Fire Ball", ("You have learnt a new qigong skill called '<font color='#00ff00'>Lit Fire Ball</font>',\n" + "Push '<font color='#00ff00'>'J'</font>' to equip it.")];
_textDic[MidFireBallIcon] = ["Mid Fire Ball", ("You have learnt a new qigong skill called '<font color='#00ff00'>Mid Fire Ball</font>',\n" + "Push '<font color='#00ff00'>'J'</font>' to equip it.")];
_textDic[BigFireBallIcon] = ["Big Fire Ball", ("You have learnt a new qigong skill called '<font color='#00ff00'>Big Fire Ball</font>',\n" + "Push '<font color='#00ff00'>'J'</font>' to equip it.")];
_textDic[DragonShotIcon] = ["Dragon Qigong", ("You have learnt a new qigong skill called '<font color='#00ff00'>Dragon Qigong</font>',\n" + "Push '<font color='#00ff00'>'J'</font>' to equip it.")];
_textDic[DragonShotBook] = ["Dragon Qigong Book", ("You have learnt a new Qigong skill called '<font color='#00ff00'>Dragon Qigong</font>' from this Book,\n" + "You can equip this qigong skill now!")];
_textDic[DBDragonShotBook] = ["Double Dragon Qigong Book", ("You have learnt a new Qigong skill called '<font color='#00ff00'>Double Dragon Qigong</font>' from this Book,\n" + "You can equip this qigong skill now!")];
_textDic[DBDragonShotIcon] = ["Double Dragon Qigong", ("You have learnt a new qigong skill called '<font color='#00ff00'>Double Dragon Qigong</font>',\n" + "Push '<font color='#00ff00'>'J'</font>' to equip it.")];
break;
case ZH:
_textDic[ItemGetAlert] = ["你获得了 "];
_textDic[SkillLearntAlert] = ["你学会了一种新气功: "];
_textDic[DashAttackBook] = ["冲击斩书", ("这是一本提示书,你可以使用已有的技能: '<font color='#00ff00'>冲击斩</font>',\n" + "发动方法: '<font color='#00ff00'>冲刺(→,→)中按攻击</font>'")];
_textDic[RotaAttackBook] = ["旋风斩书", (("这是一本提示书,你可以使用已有的技能: '<font color='#00ff00'>旋风斩</font>',\n" + "发动方法: '<font color='#00ff00'>按住↑,再按副攻击</font>'.\n这个技能无敌,并且<font color='#00ff00'>可以在受创硬直当中立即发出来</font>,但是需要消耗一定的气。") + "这招对于面对大量敌人包围时很有用处。")];
_textDic[SquatKickBook] = ["下滑铲书", ("你已经从这本书里学到了一种新的技能: '<font color='#00ff00'>下滑铲</font>',\n" + "发动方法: '<font color='#00ff00'>↓ + 副攻击</font>'")];
_textDic[UpCutBook] = ["升龙斩书", ("你已经从这本书里学到了一种新的技能: '<font color='#00ff00'>升龙斩</font>',\n" + "发动方法: '<font color='#00ff00'>↓, → + 攻击</font>'")];
_textDic[DragonUpCutBook] = ["火龙升炎斩", ("你已经从这本书里学到了一种新的技能: '<font color='#00ff00'>火龙升炎斩</font>',\n" + "发动方法: '<font color='#00ff00'>↓, → + 副攻击</font>'")];
_textDic[HeavyAttackBook] = ["超重斩书", ("你已经从这本书里学到了一种新的技能: '<font color='#00ff00'>超重斩</font>',\n" + "发动方法: '<font color='#00ff00'>←, → + 攻击</font>'")];
_textDic[LitFireBallIcon] = ["小火球", ("你已经习得了一种新气功: '<font color='#00ff00'>小火球</font>',\n" + "按 '<font color='#00ff00'>攻击键</font>' 装备.")];
_textDic[MidFireBallIcon] = ["大火球l", ("你已经习得了一种新气功: '<font color='#00ff00'>大火球</font>',\n" + "按 '<font color='#00ff00'>攻击键</font>' 装备.")];
_textDic[BigFireBallIcon] = ["爆裂火球", ("你已经习得了一种新气功: '<font color='#00ff00'>爆裂火球</font>',\n" + "按 '<font color='#00ff00'>攻击键</font>' 装备.")];
_textDic[DragonShotIcon] = ["火龙气功", ("你已经习得了一种新气功: '<font color='#00ff00'>火龙气功</font>',\n" + "按 '<font color='#00ff00'>攻击键</font>' 装备.")];
_textDic[DragonShotBook] = ["火龙气功书", ("你已经从这本书里学到了一种新的气功技能: '<font color='#00ff00'>火龙气功</font>',\n" + "你现在可以装备这种气功了!")];
_textDic[DBDragonShotBook] = ["火龙气功书", ("你已经从这本书里学到了一种新的气功技能: '<font color='#00ff00'>火龙气功</font>',\n" + "你现在可以装备这种气功了!")];
_textDic[DBDragonShotIcon] = ["双龙气功", ("你已经习得了一种新气功: '<font color='#00ff00'>双龙气功</font>',\n" + "按 '<font color='#00ff00'>攻击键</font>' 装备.")];
break;
};
}
public function getTextList(pClass:Class):Array{
return (_textDic[pClass]);
}
public static function getInstance(pLangType:String="en"):LangTextHolder{
if (instance == null){
instance = new LangTextHolder(pLangType);
};
return (instance);
}
}
}//package com.creetor.game.YLLegend
Section 264
//LocalDataSLHandler (com.creetor.game.YLLegend.LocalDataSLHandler)
package com.creetor.game.YLLegend {
import flash.net.*;
public class LocalDataSLHandler {
private var :SharedObject;
private static var instance:LocalDataSLHandler;
public function LocalDataSLHandler(){
super();
if (instance != null){
throw (new Error("can not have multiple instances!"));
};
init();
}
private function init():void{
= SharedObject.getLocal(("YLLegend_v" + YLLegend.VERSION));
}
public function getConfigData():Object{
return ( .data.configData);
}
public function saveData(pHeroData:HeroData, pGameData:GameData):void{
.data.heroData = pHeroData;
.data.gameData = pGameData;
.flush();
}
public function getGameData():Object{
return ( .data.gameData);
}
public function getHeroData():Object{
return ( .data.heroData);
}
public function hasPlayedBefore():Boolean{
if ( .data.heroData == null){
return (false);
};
return (true);
}
public function clearData():void{
.data.heroData = null;
.data.gameData = null;
.flush();
}
public function saveConfig(pCfgData:Object):void{
.data.configData = pCfgData;
.flush();
}
public static function getInstance():LocalDataSLHandler{
if (instance == null){
instance = new (LocalDataSLHandler);
};
return (instance);
}
}
}//package com.creetor.game.YLLegend
Section 265
//SceneData (com.creetor.game.YLLegend.SceneData)
package com.creetor.game.YLLegend {
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.model.char.*;
import com.creetor.game.YLLegend.model.item.*;
import com.creetor.game.YLLegend.sound.*;
import cn.vlux.sharedLib.json.*;
public final class SceneData {
private var :Object;
private var :Array;
private var :Array;
private var :Array;
private var :Array;
private var :Array;
private var :Array;
public function SceneData(){
super();
= new Array();
= new Array();
= new Array();
= new Array();
= new Array();
= new Array();
();
();
}
public function getBgData(pSceneID:uint):String{
return ( [pSceneID]);
}
public function removeItemFromScene(pSceneID:uint, pItem:IItem):void{
if (getItemData(pSceneID) == null){
return;
};
var i:uint;
while (i < getItemData(pSceneID).length) {
if (getItemData(pSceneID)[i] == pItem.childrenList[0]){
getItemData(pSceneID).splice(i, 1);
};
i++;
};
}
public function resetItemData():void{
var i:uint;
while (i < Game.MAX_SCENE_NUM) {
if ( [("item" + i)].length > 0){
setItemData(i, (JSON.decode( ( [("item" + i)])) as Array));
};
i++;
};
}
public function getItemData(pSceneID:uint=0):Array{
return ( [pSceneID]);
}
private function
():void{
= new Object();
["map0"] = "[{'x':576,'name':'PassTile_8_mc','y':256},{'x':1152,'name':'PassTile_7_mc','y':256},{'x':1216,'name':'PassTile_6_mc','y':256},{'x':1088,'name':'PassTile_7_mc','y':256},{'x':1074,'name':'PassTile_4_mc','y':256},{'x':512,'name':'PassTile_1_mc','y':305},{'x':0,'name':'Floor_1_mc','y':320},{'x':64,'name':'Floor_1_mc','y':320},{'x':128,'name':'Floor_1_mc','y':320},{'x':192,'name':'Floor_1_mc','y':320},{'x':256,'name':'Floor_1_mc','y':320},{'x':320,'name':'Floor_1_mc','y':320},{'x':384,'name':'Floor_1_mc','y':320},{'x':448,'name':'Floor_1_mc','y':320},{'x':512,'name':'Floor_1_mc','y':320},{'x':576,'name':'Floor_1_mc','y':320},{'x':640,'name':'Floor_1_mc','y':320},{'x':704,'name':'Floor_1_mc','y':320},{'x':0,'name':'PassTile_1_mc','y':305},{'x':64,'name':'PassTile_1_mc','y':305},{'x':128,'name':'PassTile_1_mc','y':305},{'x':192,'name':'PassTile_1_mc','y':305},{'x':576,'name':'PassTile_1_mc','y':305},{'x':640,'name':'PassTile_1_mc','y':305},{'x':704,'name':'PassTile_1_mc','y':305},{'x':896,'name':'Floor_1_mc','y':320},{'x':960,'name':'Floor_1_mc','y':320},{'x':896,'name':'PassTile_1_mc','y':305},{'x':960,'name':'PassTile_1_mc','y':305},{'x':1024,'name':'Floor_1_mc','y':320},{'x':1088,'name':'Floor_1_mc','y':320},{'x':1152,'name':'Floor_1_mc','y':320},{'x':1216,'name':'Floor_1_mc','y':320},{'x':1024,'name':'PassTile_1_mc','y':305},{'x':1088,'name':'PassTile_1_mc','y':305},{'x':1152,'name':'PassTile_1_mc','y':305},{'x':1216,'name':'PassTile_1_mc','y':305},{'x':192,'name':'PassTile_2_mc','y':278},{'x':1280,'name':'Floor_1_mc','y':320},{'x':1344,'name':'Floor_1_mc','y':320},{'x':1408,'name':'Floor_3_mc','y':320},{'x':1280,'name':'PassTile_1_mc','y':305},{'x':1344,'name':'PassTile_1_mc','y':305},{'x':1408,'name':'PassTile_1_mc','y':305},{'x':1172,'name':'PassTile_2_mc','y':278},{'x':1376,'name':'PassTile_2_mc','y':278},{'x':1440,'name':'PassTile_2_mc','y':277},{'x':1472,'name':'Floor_3_mc','y':320},{'x':1536,'name':'Floor_1_mc','y':320},{'x':1600,'name':'Floor_1_mc','y':320},{'x':1472,'name':'PassTile_1_mc','y':305},{'x':1536,'name':'PassTile_1_mc','y':305},{'x':1600,'name':'PassTile_1_mc','y':305},{'x':1504,'name':'PassTile_2_mc','y':278},{'x':1568,'name':'PassTile_2_mc','y':278},{'x':1632,'name':'PassTile_2_mc','y':277},{'x':1664,'name':'Floor_1_mc','y':320},{'x':1728,'name':'Floor_1_mc','y':320},{'x':1792,'name':'Floor_1_mc','y':320},{'x':1664,'name':'PassTile_1_mc','y':305},{'x':1728,'name':'PassTile_1_mc','y':305},{'x':1792,'name':'PassTile_1_mc','y':305},{'x':1696,'name':'PassTile_2_mc','y':278},{'x':1760,'name':'PassTile_2_mc','y':278},{'x':1824,'name':'PassTile_2_mc','y':277},{'x':1856,'name':'Floor_1_mc','y':320},{'x':1920,'name':'Floor_1_mc','y':320},{'x':1984,'name':'Floor_1_mc','y':320},{'x':1856,'name':'PassTile_1_mc','y':305},{'x':1920,'name':'PassTile_1_mc','y':305},{'x':1984,'name':'PassTile_1_mc','y':305},{'x':1888,'name':'PassTile_2_mc','y':278},{'x':1952,'name':'PassTile_2_mc','y':278},{'x':2016,'name':'PassTile_2_mc','y':277},{'x':2048,'name':'Floor_2_mc','y':320},{'x':2112,'name':'Floor_3_mc','y':320},{'x':2176,'name':'Floor_3_mc','y':320},{'x':2240,'name':'Floor_1_mc','y':320},{'x':2304,'name':'Floor_1_mc','y':320},{'x':2368,'name':'Floor_1_mc','y':320},{'x':2240,'name':'PassTile_1_mc','y':305},{'x':2304,'name':'PassTile_1_mc','y':305},{'x':2368,'name':'PassTile_1_mc','y':305},{'x':2272,'name':'PassTile_2_mc','y':278},{'x':2336,'name':'PassTile_2_mc','y':278},{'x':2400,'name':'PassTile_2_mc','y':277},{'x':256,'name':'PassTile_1_mc','y':305},{'x':832,'name':'PassTile_1_mc','y':305},{'x':832,'name':'Floor_1_mc','y':320},{'x':768,'name':'Floor_1_mc','y':320},{'x':768,'name':'PassTile_1_mc','y':305},{'x':1070.2,'name':'PassTile_3_mc','y':193},{'x':1088,'name':'CloudFloor_1_mc','y':192},{'x':1088,'name':'PassTile_1_mc','y':177},{'x':1216,'name':'PassTile_5_mc','y':192},{'x':1152,'name':'CloudFloor_1_mc','y':192},{'x':1152,'name':'PassTile_1_mc','y':177},{'x':0,'name':'PassTile_8_mc','y':256},{'x':1109.05,'name':'PassTile_2_mc','y':278},{'x':847.0500000000001,'name':'PassTile_2_mc','y':277},{'x':1472,'name':'PassTile_8_mc','y':256},{'x':960,'name':'PassTile_8_mc','y':256},{'x':1088,'name':'PassTile_8_mc','y':128},{'x':1152,'name':'PassTile_8_mc','y':128},{'x':0,'name':'PassTile_9_mc','y':266},{'x':128,'name':'PassTile_9_mc','y':266},{'x':640,'name':'PassTile_9_mc','y':266},{'x':768,'name':'PassTile_9_mc','y':266},{'x':1088,'name':'PassTile_9_mc','y':138},{'x':1152,'name':'PassTile_9_mc','y':138},{'x':64,'name':'PassTile_10_mc','y':296},{'x':128,'name':'PassTile_11_mc','y':296},{'x':192,'name':'PassTile_12_mc','y':296},{'x':1728,'name':'PassTile_10_mc','y':299},{'x':1792,'name':'PassTile_11_mc','y':299},{'x':1856,'name':'PassTile_12_mc','y':299},{'x':2080,'name':'PassTile_2_mc','y':214},{'x':2112,'name':'Floor_2_mc','y':256},{'x':2176,'name':'Floor_1_mc','y':192},{'x':2176,'name':'Floor_2_mc','y':256},{'x':2048,'name':'Floor_1_mc','y':256},{'x':2112,'name':'PassTile_1_mc','y':177},{'x':2176,'name':'PassTile_1_mc','y':177},{'x':2049,'name':'PassTile_2_mc','y':214},{'x':2048,'name':'PassTile_1_mc','y':241},{'x':2095.1,'name':'PassTile_3_mc','y':192},{'x':2112,'name':'Floor_1_mc','y':192},{'x':2240,'name':'PassTile_5_mc','y':192},{'x':2240,'name':'PassTile_6_mc','y':256},{'x':2030.15,'name':'PassTile_3_mc','y':257.75},{'x':2112,'name':'PassTile_8_mc','y':128},{'x':2176,'name':'PassTile_8_mc','y':128},{'x':2112,'name':'PassTile_9_mc','y':138},{'x':2176,'name':'PassTile_9_mc','y':138},{'x':320,'name':'PassTile_1_mc','y':305.90000000000003},{'x':384,'name':'PassTile_1_mc','y':305.90000000000003},{'x':448,'name':'PassTile_1_mc','y':305.90000000000003},{'x':352,'name':'PassTile_2_mc','y':278.90000000000003},{'x':416,'name':'PassTile_2_mc','y':278.90000000000003},{'x':1376,'name':'PassTile_2_mc','y':277.90000000000003},{'x':1408,'name':'Floor_2_mc','y':256},{'x':1472,'name':'Floor_1_mc','y':192},{'x':1472,'name':'Floor_2_mc','y':256},{'x':1408,'name':'PassTile_1_mc','y':177},{'x':1472,'name':'PassTile_1_mc','y':177},{'x':1408,'name':'Floor_1_mc','y':192},{'x':1536,'name':'PassTile_5_mc','y':192},{'x':1536,'name':'PassTile_6_mc','y':256},{'x':1393.95,'name':'PassTile_4_mc','y':255.4},{'x':1390.15,'name':'PassTile_3_mc','y':192.4},{'x':1408,'name':'PassTile_8_mc','y':128},{'x':512,'name':'PassTile_10_mc','y':296},{'x':576,'name':'PassTile_11_mc','y':296},{'x':640,'name':'PassTile_12_mc','y':296},{'x':2432,'name':'Floor_1_mc','y':320},{'x':2496,'name':'Floor_1_mc','y':320},{'x':2432,'name':'PassTile_1_mc','y':305},{'x':2496,'name':'PassTile_1_mc','y':305},{'x':2464,'name':'PassTile_2_mc','y':278},{'x':2528,'name':'PassTile_2_mc','y':277},{'x':2560,'name':'Floor_1_mc','y':320},{'x':2624,'name':'Floor_1_mc','y':320},{'x':2560,'name':'PassTile_1_mc','y':305},{'x':2624,'name':'PassTile_1_mc','y':305},{'x':2592,'name':'PassTile_2_mc','y':278},{'x':2656,'name':'PassTile_2_mc','y':277},{'x':3264,'name':'PassTile_8_mc','y':192},{'x':3200,'name':'PassTile_1_mc','y':241},{'x':2688,'name':'Floor_1_mc','y':320},{'x':2752,'name':'Floor_1_mc','y':320},{'x':2816,'name':'Floor_1_mc','y':320},{'x':2880,'name':'Floor_1_mc','y':320},{'x':2944,'name':'Floor_1_mc','y':256},{'x':3008,'name':'Floor_1_mc','y':256},{'x':3072,'name':'Floor_1_mc','y':256},{'x':3136,'name':'Floor_1_mc','y':256},{'x':3200,'name':'Floor_1_mc','y':256},{'x':3264,'name':'Floor_1_mc','y':256},{'x':3328,'name':'Floor_1_mc','y':256},{'x':2688,'name':'PassTile_1_mc','y':305},{'x':2752,'name':'PassTile_1_mc','y':305},{'x':2816,'name':'PassTile_1_mc','y':305},{'x':2880,'name':'PassTile_1_mc','y':305},{'x':3264,'name':'PassTile_1_mc','y':241},{'x':3328,'name':'PassTile_1_mc','y':241},{'x':2880,'name':'PassTile_2_mc','y':278},{'x':2944,'name':'PassTile_1_mc','y':241},{'x':2688,'name':'PassTile_8_mc','y':256},{'x':2688,'name':'PassTile_9_mc','y':266},{'x':2816,'name':'PassTile_9_mc','y':266},{'x':3328,'name':'PassTile_9_mc','y':202},{'x':2752,'name':'PassTile_10_mc','y':296},{'x':2816,'name':'PassTile_11_mc','y':296},{'x':2880,'name':'PassTile_12_mc','y':296},{'x':3008,'name':'PassTile_1_mc','y':241.9},{'x':3072,'name':'PassTile_1_mc','y':241.9},{'x':3136,'name':'PassTile_1_mc','y':241.9},{'x':3040,'name':'PassTile_2_mc','y':214.9},{'x':3104,'name':'PassTile_2_mc','y':214.9},{'x':3200,'name':'PassTile_10_mc','y':232},{'x':3264,'name':'PassTile_11_mc','y':232},{'x':3328,'name':'PassTile_12_mc','y':232},{'x':2944,'name':'Floor_2_mc','y':320},{'x':3008,'name':'Floor_2_mc','y':320},{'x':3072,'name':'Floor_2_mc','y':320},{'x':3136,'name':'Floor_2_mc','y':320},{'x':3200,'name':'Floor_2_mc','y':320},{'x':3264,'name':'Floor_2_mc','y':320},{'x':3328,'name':'Floor_2_mc','y':320},{'x':2926.3500000000004,'name':'PassTile_3_mc','y':256.40000000000003},{'x':3968,'name':'PassTile_8_mc','y':256},{'x':3904,'name':'PassTile_1_mc','y':241},{'x':3392,'name':'Floor_1_mc','y':256},{'x':3456,'name':'Floor_1_mc','y':256},{'x':3520,'name':'Floor_1_mc','y':256},{'x':3648,'name':'Floor_1_mc','y':256},{'x':3712,'name':'Floor_1_mc','y':256},{'x':3776,'name':'Floor_1_mc','y':256},{'x':3840,'name':'Floor_1_mc','y':256},{'x':3904,'name':'Floor_1_mc','y':256},{'x':3968,'name':'Floor_3_mc','y':320},{'x':4032,'name':'Floor_3_mc','y':320},{'x':3392,'name':'PassTile_1_mc','y':241},{'x':3456,'name':'PassTile_1_mc','y':241},{'x':3520,'name':'PassTile_1_mc','y':241},{'x':3968,'name':'PassTile_1_mc','y':305},{'x':4032,'name':'PassTile_1_mc','y':305},{'x':4288,'name':'Floor_1_mc','y':192},{'x':4352,'name':'Floor_1_mc','y':192},{'x':4288,'name':'PassTile_1_mc','y':177},{'x':4352,'name':'PassTile_1_mc','y':177},{'x':4416,'name':'Floor_1_mc','y':192},{'x':4480,'name':'Floor_1_mc','y':192},{'x':4544,'name':'Floor_1_mc','y':192},{'x':4608,'name':'Floor_1_mc','y':192},{'x':4416,'name':'PassTile_1_mc','y':177},{'x':4480,'name':'PassTile_1_mc','y':177},{'x':4544,'name':'PassTile_1_mc','y':177},{'x':4608,'name':'PassTile_1_mc','y':177},{'x':4672,'name':'Floor_1_mc','y':192},{'x':4736,'name':'Floor_1_mc','y':192},{'x':4800,'name':'Floor_1_mc','y':256},{'x':4672,'name':'PassTile_1_mc','y':177},{'x':4736,'name':'PassTile_1_mc','y':177},{'x':4800,'name':'PassTile_1_mc','y':241},{'x':4564,'name':'PassTile_2_mc','y':150},{'x':4768,'name':'PassTile_2_mc','y':150},{'x':4832,'name':'PassTile_2_mc','y':213},{'x':4864,'name':'Floor_1_mc','y':320},{'x':4928,'name':'Floor_1_mc','y':320},{'x':4992,'name':'Floor_1_mc','y':320},{'x':4864,'name':'PassTile_1_mc','y':305},{'x':4928,'name':'PassTile_1_mc','y':305},{'x':4992,'name':'PassTile_1_mc','y':305},{'x':4896,'name':'PassTile_2_mc','y':278},{'x':4960,'name':'PassTile_2_mc','y':278},{'x':5024,'name':'PassTile_2_mc','y':277},{'x':5056,'name':'Floor_1_mc','y':320},{'x':5120,'name':'Floor_1_mc','y':320},{'x':5184,'name':'Floor_1_mc','y':320},{'x':5056,'name':'PassTile_1_mc','y':305},{'x':5120,'name':'PassTile_1_mc','y':305},{'x':5184,'name':'PassTile_1_mc','y':305},{'x':5088,'name':'PassTile_2_mc','y':278},{'x':5152,'name':'PassTile_2_mc','y':278},{'x':5216,'name':'PassTile_2_mc','y':277},{'x':5248,'name':'Floor_1_mc','y':320},{'x':5312,'name':'Floor_1_mc','y':320},{'x':5376,'name':'Floor_1_mc','y':320},{'x':5248,'name':'PassTile_1_mc','y':305},{'x':5312,'name':'PassTile_1_mc','y':305},{'x':5376,'name':'PassTile_1_mc','y':305},{'x':5280,'name':'PassTile_2_mc','y':278},{'x':5344,'name':'PassTile_2_mc','y':278},{'x':5408,'name':'PassTile_2_mc','y':277},{'x':5440,'name':'Floor_2_mc','y':320},{'x':5504,'name':'Floor_3_mc','y':320},{'x':5568,'name':'Floor_3_mc','y':320},{'x':5632,'name':'Floor_2_mc','y':320},{'x':5696,'name':'Floor_1_mc','y':320},{'x':5760,'name':'Floor_1_mc','y':320},{'x':5696,'name':'PassTile_1_mc','y':305},{'x':5760,'name':'PassTile_1_mc','y':305},{'x':5728,'name':'PassTile_2_mc','y':278},{'x':5792,'name':'PassTile_2_mc','y':277},{'x':3648,'name':'PassTile_1_mc','y':241},{'x':4224,'name':'PassTile_1_mc','y':177},{'x':4224,'name':'Floor_1_mc','y':192},{'x':3392,'name':'PassTile_8_mc','y':192},{'x':4501.05,'name':'PassTile_2_mc','y':150},{'x':4239.05,'name':'PassTile_2_mc','y':149},{'x':4352,'name':'PassTile_8_mc','y':128},{'x':3392,'name':'PassTile_9_mc','y':202},{'x':3520,'name':'PassTile_9_mc','y':202},{'x':4032,'name':'PassTile_9_mc','y':266},{'x':4032,'name':'PassTile_9_mc','y':266},{'x':5120,'name':'PassTile_10_mc','y':299},{'x':5184,'name':'PassTile_11_mc','y':299},{'x':5248,'name':'PassTile_12_mc','y':299},{'x':5472,'name':'PassTile_2_mc','y':214},{'x':5504,'name':'Floor_2_mc','y':256},{'x':5568,'name':'Floor_1_mc','y':192},{'x':5568,'name':'Floor_2_mc','y':256},{'x':5440,'name':'Floor_1_mc','y':256},{'x':5504,'name':'PassTile_1_mc','y':177},{'x':5568,'name':'PassTile_1_mc','y':177},{'x':5441,'name':'PassTile_2_mc','y':214},{'x':5440,'name':'PassTile_1_mc','y':241},{'x':5487.1,'name':'PassTile_3_mc','y':192},{'x':5504,'name':'Floor_1_mc','y':192},{'x':5422.150000000001,'name':'PassTile_3_mc','y':257.75},{'x':5504,'name':'PassTile_8_mc','y':128},{'x':5568,'name':'PassTile_8_mc','y':128},{'x':5504,'name':'PassTile_9_mc','y':138},{'x':5568,'name':'PassTile_9_mc','y':138},{'x':3712,'name':'PassTile_1_mc','y':241.9},{'x':3776,'name':'PassTile_1_mc','y':241.9},{'x':3840,'name':'PassTile_1_mc','y':241.9},{'x':3744,'name':'PassTile_2_mc','y':214.9},{'x':3808,'name':'PassTile_2_mc','y':214.9},{'x':4768,'name':'PassTile_2_mc','y':149.85},{'x':3968,'name':'Floor_2_mc','y':256},{'x':4032,'name':'Floor_1_mc','y':192},{'x':4032,'name':'Floor_2_mc','y':256},{'x':3968,'name':'PassTile_1_mc','y':177},{'x':4032,'name':'PassTile_1_mc','y':177},{'x':3968,'name':'Floor_1_mc','y':192},{'x':4800,'name':'PassTile_5_mc','y':192},{'x':3950.15,'name':'PassTile_3_mc','y':192.4},{'x':3968,'name':'PassTile_8_mc','y':128},{'x':5824,'name':'Floor_1_mc','y':320},{'x':5888,'name':'Floor_1_mc','y':320},{'x':5824,'name':'PassTile_1_mc','y':305},{'x':5888,'name':'PassTile_1_mc','y':305},{'x':5856,'name':'PassTile_2_mc','y':278},{'x':5920,'name':'PassTile_2_mc','y':277},{'x':5952,'name':'Floor_1_mc','y':320},{'x':6016,'name':'Floor_1_mc','y':320},{'x':5952,'name':'PassTile_1_mc','y':305},{'x':6016,'name':'PassTile_1_mc','y':305},{'x':5984,'name':'PassTile_2_mc','y':278},{'x':6048,'name':'PassTile_2_mc','y':277},{'x':6656,'name':'PassTile_8_mc','y':256},{'x':6592,'name':'PassTile_1_mc','y':305},{'x':6080,'name':'Floor_1_mc','y':320},{'x':6144,'name':'Floor_1_mc','y':320},{'x':6208,'name':'Floor_1_mc','y':320},{'x':6272,'name':'Floor_1_mc','y':320},{'x':6336,'name':'Floor_1_mc','y':320},{'x':6400,'name':'Floor_1_mc','y':320},{'x':6464,'name':'Floor_1_mc','y':320},{'x':6528,'name':'Floor_1_mc','y':320},{'x':6592,'name':'Floor_1_mc','y':320},{'x':6656,'name':'Floor_1_mc','y':320},{'x':6720,'name':'Floor_1_mc','y':320},{'x':6080,'name':'PassTile_1_mc','y':305},{'x':6144,'name':'PassTile_1_mc','y':305},{'x':6208,'name':'PassTile_1_mc','y':305},{'x':6272,'name':'PassTile_1_mc','y':305},{'x':6656,'name':'PassTile_1_mc','y':305},{'x':6720,'name':'PassTile_1_mc','y':305},{'x':6272,'name':'PassTile_2_mc','y':278},{'x':6336,'name':'PassTile_1_mc','y':305},{'x':6080,'name':'PassTile_8_mc','y':256},{'x':6080,'name':'PassTile_9_mc','y':266},{'x':6208,'name':'PassTile_9_mc','y':266},{'x':6720,'name':'PassTile_9_mc','y':266},{'x':6144,'name':'PassTile_10_mc','y':296},{'x':6208,'name':'PassTile_11_mc','y':296},{'x':6272,'name':'PassTile_12_mc','y':296},{'x':6400,'name':'PassTile_1_mc','y':305.90000000000003},{'x':6464,'name':'PassTile_1_mc','y':305.90000000000003},{'x':6528,'name':'PassTile_1_mc','y':305.90000000000003},{'x':6432,'name':'PassTile_2_mc','y':278.90000000000003},{'x':6496,'name':'PassTile_2_mc','y':278.90000000000003},{'x':6400,'name':'PassTile_10_mc','y':296},{'x':6464,'name':'PassTile_11_mc','y':296},{'x':6528,'name':'PassTile_12_mc','y':296},{'x':3392,'name':'Floor_2_mc','y':320},{'x':3456,'name':'Floor_2_mc','y':320},{'x':3520,'name':'Floor_2_mc','y':320},{'x':3648,'name':'Floor_2_mc','y':320},{'x':3712,'name':'Floor_2_mc','y':320},{'x':3776,'name':'Floor_2_mc','y':320},{'x':3840,'name':'Floor_2_mc','y':320},{'x':3904,'name':'Floor_2_mc','y':320},{'x':4224,'name':'PassTile_8_mc','y':256},{'x':4224,'name':'PassTile_1_mc','y':305},{'x':4288,'name':'PassTile_1_mc','y':305},{'x':4288,'name':'PassTile_9_mc','y':266},{'x':4288,'name':'PassTile_9_mc','y':266},{'x':4224,'name':'Floor_2_mc','y':256},{'x':4288,'name':'Floor_2_mc','y':256},{'x':4352,'name':'PassTile_8_mc','y':256},{'x':4352,'name':'PassTile_1_mc','y':305},{'x':4416,'name':'PassTile_1_mc','y':305},{'x':4416,'name':'PassTile_9_mc','y':266},{'x':4416,'name':'PassTile_9_mc','y':266},{'x':4352,'name':'Floor_2_mc','y':256},{'x':4416,'name':'Floor_2_mc','y':256},{'x':4480,'name':'PassTile_8_mc','y':256},{'x':4480,'name':'PassTile_1_mc','y':305},{'x':4544,'name':'PassTile_1_mc','y':305},{'x':4544,'name':'PassTile_9_mc','y':266},{'x':4544,'name':'PassTile_9_mc','y':266},{'x':4480,'name':'Floor_2_mc','y':256},{'x':4544,'name':'Floor_2_mc','y':256},{'x':4608,'name':'PassTile_8_mc','y':256},{'x':4608,'name':'PassTile_1_mc','y':305},{'x':4672,'name':'PassTile_1_mc','y':305},{'x':4672,'name':'PassTile_9_mc','y':266},{'x':4672,'name':'PassTile_9_mc','y':266},{'x':4608,'name':'Floor_2_mc','y':256},{'x':4672,'name':'Floor_2_mc','y':256},{'x':4736,'name':'PassTile_1_mc','y':305},{'x':4736,'name':'PassTile_9_mc','y':266},{'x':4736,'name':'PassTile_9_mc','y':266},{'x':4736,'name':'Floor_2_mc','y':256},{'x':4224,'name':'Floor_3_mc','y':320},{'x':4288,'name':'Floor_3_mc','y':320},{'x':4352,'name':'Floor_3_mc','y':320},{'x':4416,'name':'Floor_3_mc','y':320},{'x':4480,'name':'Floor_3_mc','y':320},{'x':4544,'name':'Floor_3_mc','y':320},{'x':4608,'name':'Floor_3_mc','y':320},{'x':4672,'name':'Floor_3_mc','y':320},{'x':4736,'name':'Floor_3_mc','y':320},{'x':4800,'name':'Floor_2_mc','y':320},{'x':4864,'name':'PassTile_5_mc','y':256},{'isUpForwards':false,'level':1,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':128,'x':6592},{'x':3584,'name':'PassTile_5_mc','y':256},{'x':3584,'name':'PassTile_6_mc','y':320},{'x':3635.7000000000003,'name':'PassTile_4_mc','y':319.40000000000003},{'x':3631.9,'name':'PassTile_3_mc','y':256.40000000000003},{'x':4096,'name':'PassTile_5_mc','y':192},{'x':4206.05,'name':'PassTile_3_mc','y':192.4},{'x':4096,'name':'Floor_1_mc','y':320},{'x':4160,'name':'Floor_1_mc','y':320},{'x':4096,'name':'PassTile_1_mc','y':305},{'x':4160,'name':'PassTile_1_mc','y':305},{'x':4128,'name':'PassTile_2_mc','y':278},{'x':4096,'name':'PassTile_6_mc','y':256},{'x':4211.85,'name':'PassTile_4_mc','y':255.4},{'x':3712,'name':'PassTile_10_mc','y':235.05},{'x':3776,'name':'PassTile_11_mc','y':235.05},{'x':3840,'name':'PassTile_12_mc','y':235.05},{'x':5632,'name':'Floor_1_mc','y':256},{'x':5632,'name':'PassTile_1_mc','y':241},{'x':5664,'name':'PassTile_2_mc','y':214},{'x':5632,'name':'PassTile_5_mc','y':192},{'x':5696,'name':'PassTile_5_mc','y':256},{'x':896,'name':'Anchor_mc','y':0.05,'maxCharNum':6,'charTypeList':['SoldierA,1']},{'x':2496,'name':'Anchor_mc','y':0.05,'maxCharNum':6,'charTypeList':['SoldierA,1']},{'x':4096,'name':'Anchor_mc','y':0.05,'maxCharNum':6,'charTypeList':['SoldierA,3','SoldierB,2']},{'x':5888,'name':'Anchor_mc','y':0.05,'maxCharNum':6,'charTypeList':['SoldierA,3','SoldierB,2']},{'width':6796,'height':832}]";
["item0"] = "[{'name':'Item_5_mc','y':316.20000000000005,'x':4120,'type':'squatKick'},{'x':5217.05,'name':'Item_2_mc','y':320},{'name':'Item_8_mc','y':189.5,'x':1118.95,'type':'dashAttack'},{'name':'Item_8_mc','y':192,'x':2142.85,'type':'rotaAttack'}]";
["map1"] = "[{'isUpForwards':true,'level':10,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':128,'x':5056},{'x':5107.5,'name':'PassTile_4_mc','y':253.9},{'x':5056,'name':'PassTile_6_mc','y':256},{'x':5184,'name':'PassTile_6_mc','y':256},{'x':4978,'name':'PassTile_4_mc','y':256},{'x':5120,'name':'PassTile_13_mc','y':256},{'x':5120,'name':'CloudFloor_1_mc','y':128},{'x':5120,'name':'PassTile_1_mc','y':113},{'x':5120,'name':'PassTile_9_mc','y':74},{'x':5120,'name':'PassTile_7_mc','y':192},{'x':5056,'name':'CloudFloor_1_mc','y':128},{'x':5056,'name':'PassTile_1_mc','y':113},{'x':5056,'name':'PassTile_9_mc','y':74},{'x':4992,'name':'PassTile_13_mc','y':256},{'x':4992,'name':'CloudFloor_1_mc','y':128},{'x':4992,'name':'PassTile_1_mc','y':113},{'x':4992,'name':'PassTile_9_mc','y':74},{'x':4992,'name':'PassTile_7_mc','y':192},{'x':6528,'name':'PassTile_10_mc','y':290.85},{'x':6592,'name':'PassTile_11_mc','y':290.85},{'x':6656,'name':'PassTile_12_mc','y':290.85},{'x':2880,'name':'PassTile_10_mc','y':294},{'x':2944,'name':'PassTile_11_mc','y':294},{'x':2368,'name':'CloudFloor_1_mc','y':256},{'x':2368,'name':'PassTile_1_mc','y':241},{'x':2368,'name':'PassTile_9_mc','y':202},{'x':2432,'name':'CloudFloor_1_mc','y':256},{'x':2432,'name':'PassTile_1_mc','y':241},{'x':2432,'name':'PassTile_9_mc','y':202},{'x':2304,'name':'PassTile_7_mc','y':256},{'x':2226,'name':'PassTile_4_mc','y':256},{'x':2496,'name':'PassTile_7_mc','y':256},{'x':1152,'name':'PassTile_13_mc','y':256},{'x':1216,'name':'PassTile_7_mc','y':256},{'x':1088,'name':'PassTile_7_mc','y':256},{'x':512,'name':'PassTile_8_mc','y':256},{'x':832,'name':'PassTile_6_mc','y':256},{'x':448,'name':'PassTile_1_mc','y':305},{'x':238.20000000000002,'name':'PassTile_3_mc','y':257},{'x':256,'name':'CloudFloor_1_mc','y':256},{'x':0,'name':'Floor_1_mc','y':320},{'x':64,'name':'Floor_1_mc','y':320},{'x':128,'name':'Floor_1_mc','y':320},{'x':192,'name':'Floor_1_mc','y':320},{'x':256,'name':'Floor_1_mc','y':320},{'x':320,'name':'Floor_1_mc','y':320},{'x':384,'name':'Floor_1_mc','y':320},{'x':448,'name':'Floor_1_mc','y':320},{'x':512,'name':'Floor_1_mc','y':320},{'x':576,'name':'Floor_1_mc','y':320},{'x':640,'name':'Floor_1_mc','y':320},{'x':0,'name':'PassTile_1_mc','y':305},{'x':64,'name':'PassTile_1_mc','y':305},{'x':128,'name':'PassTile_1_mc','y':305},{'x':512,'name':'PassTile_1_mc','y':305},{'x':576,'name':'PassTile_1_mc','y':305},{'x':640,'name':'PassTile_1_mc','y':305},{'x':832,'name':'Floor_1_mc','y':320},{'x':832,'name':'PassTile_1_mc','y':305},{'x':128,'name':'PassTile_2_mc','y':278},{'x':256,'name':'PassTile_1_mc','y':241},{'x':320,'name':'PassTile_5_mc','y':256},{'x':192,'name':'PassTile_1_mc','y':305},{'x':750.2,'name':'PassTile_3_mc','y':193},{'x':768,'name':'CloudFloor_1_mc','y':192},{'x':768,'name':'PassTile_1_mc','y':177},{'x':832,'name':'PassTile_5_mc','y':192},{'x':768,'name':'PassTile_7_mc','y':256},{'x':768,'name':'PassTile_1_mc','y':305},{'x':768,'name':'Floor_1_mc','y':320},{'x':704,'name':'Floor_1_mc','y':320},{'x':754,'name':'PassTile_4_mc','y':256},{'x':704,'name':'PassTile_1_mc','y':305},{'x':783.0500000000001,'name':'PassTile_2_mc','y':277},{'x':256,'name':'PassTile_8_mc','y':192},{'x':64,'name':'PassTile_9_mc','y':266},{'x':256,'name':'PassTile_9_mc','y':202},{'x':576,'name':'PassTile_9_mc','y':266},{'x':704,'name':'PassTile_9_mc','y':266},{'x':768,'name':'PassTile_9_mc','y':138},{'x':0,'name':'PassTile_10_mc','y':296},{'x':64,'name':'PassTile_11_mc','y':296},{'x':128,'name':'PassTile_12_mc','y':296},{'x':256,'name':'PassTile_1_mc','y':305.90000000000003},{'x':320,'name':'PassTile_1_mc','y':305.90000000000003},{'x':384,'name':'PassTile_1_mc','y':305.90000000000003},{'x':288,'name':'PassTile_2_mc','y':278.90000000000003},{'x':352,'name':'PassTile_2_mc','y':278.90000000000003},{'x':448,'name':'PassTile_10_mc','y':296},{'x':512,'name':'PassTile_11_mc','y':296},{'x':576,'name':'PassTile_12_mc','y':296},{'isUpForwards':false,'level':0,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':6528,'x':64},{'x':896,'name':'Floor_1_mc','y':320},{'x':896,'name':'PassTile_1_mc','y':305},{'x':1088,'name':'Floor_1_mc','y':320},{'x':1088,'name':'PassTile_1_mc','y':305},{'x':1006.2,'name':'PassTile_3_mc','y':193},{'x':1024,'name':'CloudFloor_1_mc','y':192},{'x':1024,'name':'PassTile_1_mc','y':177},{'x':1024,'name':'PassTile_1_mc','y':305},{'x':1024,'name':'Floor_2_mc','y':320},{'x':960,'name':'Floor_2_mc','y':320},{'x':960,'name':'PassTile_1_mc','y':305},{'x':1039.05,'name':'PassTile_2_mc','y':277},{'x':960,'name':'PassTile_9_mc','y':266},{'x':1024,'name':'PassTile_9_mc','y':138},{'x':1152,'name':'Floor_1_mc','y':320},{'x':1152,'name':'PassTile_1_mc','y':305},{'x':1344,'name':'Floor_2_mc','y':320},{'x':1344,'name':'PassTile_1_mc','y':305},{'x':1280,'name':'CloudFloor_1_mc','y':192},{'x':1280,'name':'PassTile_1_mc','y':177},{'x':1344,'name':'PassTile_5_mc','y':192},{'x':1280,'name':'PassTile_1_mc','y':305},{'x':1280,'name':'Floor_2_mc','y':320},{'x':1216,'name':'Floor_1_mc','y':320},{'x':1216,'name':'PassTile_1_mc','y':305},{'x':1216,'name':'PassTile_9_mc','y':266},{'x':1280,'name':'PassTile_9_mc','y':138},{'x':1600,'name':'PassTile_6_mc','y':256},{'x':1408,'name':'Floor_1_mc','y':320},{'x':1408,'name':'PassTile_1_mc','y':305},{'x':1600,'name':'Floor_1_mc','y':320},{'x':1600,'name':'PassTile_1_mc','y':305},{'x':1518.2,'name':'PassTile_3_mc','y':193},{'x':1536,'name':'CloudFloor_1_mc','y':192},{'x':1536,'name':'PassTile_1_mc','y':177},{'x':1600,'name':'PassTile_5_mc','y':192},{'x':1536,'name':'PassTile_7_mc','y':256},{'x':1536,'name':'PassTile_1_mc','y':305},{'x':1536,'name':'Floor_1_mc','y':320},{'x':1472,'name':'Floor_1_mc','y':320},{'x':1522,'name':'PassTile_4_mc','y':256},{'x':1472,'name':'PassTile_1_mc','y':305},{'x':1551.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1472,'name':'PassTile_9_mc','y':266},{'x':1536,'name':'PassTile_9_mc','y':138},{'x':1664,'name':'Floor_1_mc','y':320},{'x':1664,'name':'PassTile_1_mc','y':305},{'x':1856,'name':'Floor_1_mc','y':320},{'x':1856,'name':'PassTile_1_mc','y':305},{'x':1792,'name':'PassTile_1_mc','y':305},{'x':1792,'name':'Floor_1_mc','y':320},{'x':1728,'name':'Floor_1_mc','y':320},{'x':1728,'name':'PassTile_1_mc','y':305},{'x':1807.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1728,'name':'PassTile_9_mc','y':266},{'x':1920,'name':'Floor_1_mc','y':320},{'x':1920,'name':'PassTile_1_mc','y':305},{'x':2112,'name':'Floor_1_mc','y':320},{'x':2112,'name':'PassTile_1_mc','y':305},{'x':2048,'name':'PassTile_1_mc','y':305},{'x':2048,'name':'Floor_1_mc','y':320},{'x':1984,'name':'Floor_1_mc','y':320},{'x':1984,'name':'PassTile_1_mc','y':305},{'x':2063.05,'name':'PassTile_2_mc','y':277},{'x':1984,'name':'PassTile_9_mc','y':266},{'x':1088,'name':'CloudFloor_1_mc','y':192},{'x':1088,'name':'PassTile_1_mc','y':177},{'x':1088,'name':'PassTile_9_mc','y':138},{'x':1152,'name':'CloudFloor_1_mc','y':128},{'x':1152,'name':'PassTile_1_mc','y':113},{'x':1152,'name':'PassTile_9_mc','y':74},{'x':1216,'name':'CloudFloor_1_mc','y':192},{'x':1216,'name':'PassTile_1_mc','y':177},{'x':1216,'name':'PassTile_9_mc','y':138},{'x':1216,'name':'PassTile_5_mc','y':128},{'x':1134.25,'name':'PassTile_3_mc','y':128.4},{'x':1152,'name':'PassTile_7_mc','y':192},{'x':1024,'name':'Floor_1_mc','y':256},{'x':960,'name':'PassTile_1_mc','y':241},{'x':1024,'name':'PassTile_1_mc','y':241},{'x':960,'name':'Floor_1_mc','y':256},{'x':1088,'name':'PassTile_5_mc','y':256},{'x':942.1500000000001,'name':'PassTile_3_mc','y':256.40000000000003},{'x':960,'name':'PassTile_8_mc','y':192},{'x':1359.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1280,'name':'PassTile_9_mc','y':266},{'x':1344,'name':'Floor_1_mc','y':256},{'x':1280,'name':'Floor_1_mc','y':256},{'x':1408,'name':'PassTile_5_mc','y':256},{'x':1262.15,'name':'PassTile_3_mc','y':256.40000000000003},{'x':1280,'name':'PassTile_1_mc','y':241},{'x':1344,'name':'PassTile_1_mc','y':241},{'x':2176,'name':'Floor_1_mc','y':320},{'x':2176,'name':'PassTile_1_mc','y':305},{'x':2368,'name':'Floor_1_mc','y':320},{'x':2368,'name':'PassTile_1_mc','y':305},{'x':2222.2000000000003,'name':'PassTile_3_mc','y':193},{'x':2240,'name':'CloudFloor_1_mc','y':192},{'x':2240,'name':'PassTile_1_mc','y':177},{'x':2240,'name':'PassTile_7_mc','y':256},{'x':2304,'name':'PassTile_1_mc','y':305},{'x':2304,'name':'Floor_1_mc','y':320},{'x':2240,'name':'Floor_1_mc','y':320},{'x':2240,'name':'PassTile_1_mc','y':305},{'x':2319.05,'name':'PassTile_2_mc','y':277},{'x':2240,'name':'PassTile_9_mc','y':266},{'x':2240,'name':'PassTile_9_mc','y':138},{'x':2624,'name':'PassTile_6_mc','y':256},{'x':2432,'name':'Floor_1_mc','y':320},{'x':2432,'name':'PassTile_1_mc','y':305},{'x':2624,'name':'Floor_1_mc','y':320},{'x':2624,'name':'PassTile_1_mc','y':305},{'x':2560,'name':'CloudFloor_1_mc','y':192},{'x':2560,'name':'PassTile_1_mc','y':177},{'x':2624,'name':'PassTile_5_mc','y':192},{'x':2560,'name':'PassTile_7_mc','y':256},{'x':2560,'name':'PassTile_1_mc','y':305},{'x':2560,'name':'Floor_1_mc','y':320},{'x':2496,'name':'Floor_1_mc','y':320},{'x':2496,'name':'PassTile_1_mc','y':305},{'x':2575.05,'name':'PassTile_2_mc','y':277},{'x':2496,'name':'PassTile_9_mc','y':266},{'x':2560,'name':'PassTile_9_mc','y':138},{'x':2880,'name':'PassTile_6_mc','y':256},{'x':2688,'name':'Floor_1_mc','y':320},{'x':2688,'name':'PassTile_1_mc','y':305},{'x':2880,'name':'Floor_1_mc','y':320},{'x':2880,'name':'PassTile_1_mc','y':305},{'x':2798.2000000000003,'name':'PassTile_3_mc','y':193},{'x':2816,'name':'CloudFloor_1_mc','y':192},{'x':2816,'name':'PassTile_1_mc','y':177},{'x':2880,'name':'PassTile_5_mc','y':192},{'x':2816,'name':'PassTile_7_mc','y':256},{'x':2816,'name':'PassTile_1_mc','y':305},{'x':2816,'name':'Floor_1_mc','y':320},{'x':2752,'name':'Floor_1_mc','y':320},{'x':2802,'name':'PassTile_4_mc','y':256},{'x':2752,'name':'PassTile_1_mc','y':305},{'x':2831.05,'name':'PassTile_2_mc','y':277},{'x':2752,'name':'PassTile_9_mc','y':266},{'x':2816,'name':'PassTile_9_mc','y':138},{'x':3136,'name':'PassTile_6_mc','y':256},{'x':2944,'name':'Floor_1_mc','y':320},{'x':2944,'name':'PassTile_1_mc','y':305},{'x':3136,'name':'Floor_1_mc','y':320},{'x':3136,'name':'PassTile_1_mc','y':305},{'x':3054.2000000000003,'name':'PassTile_3_mc','y':193},{'x':3072,'name':'CloudFloor_1_mc','y':192},{'x':3072,'name':'PassTile_1_mc','y':177},{'x':3136,'name':'PassTile_5_mc','y':192},{'x':3072,'name':'PassTile_7_mc','y':256},{'x':3072,'name':'PassTile_1_mc','y':305},{'x':3072,'name':'Floor_1_mc','y':320},{'x':3008,'name':'Floor_1_mc','y':320},{'x':3058,'name':'PassTile_4_mc','y':256},{'x':3008,'name':'PassTile_1_mc','y':305},{'x':3087.05,'name':'PassTile_2_mc','y':277},{'x':3008,'name':'PassTile_9_mc','y':266},{'x':3072,'name':'PassTile_9_mc','y':138},{'x':3328,'name':'PassTile_6_mc','y':256},{'x':3328,'name':'Floor_1_mc','y':320},{'x':3328,'name':'PassTile_1_mc','y':305},{'x':3246.2000000000003,'name':'PassTile_3_mc','y':193},{'x':3264,'name':'CloudFloor_1_mc','y':192},{'x':3264,'name':'PassTile_1_mc','y':177},{'x':3328,'name':'PassTile_5_mc','y':192},{'x':3264,'name':'PassTile_7_mc','y':256},{'x':3264,'name':'PassTile_1_mc','y':305},{'x':3264,'name':'Floor_1_mc','y':320},{'x':3200,'name':'Floor_1_mc','y':320},{'x':3250,'name':'PassTile_4_mc','y':256},{'x':3200,'name':'PassTile_1_mc','y':305},{'x':3279.05,'name':'PassTile_2_mc','y':277},{'x':3200,'name':'PassTile_9_mc','y':266},{'x':3264,'name':'PassTile_9_mc','y':138},{'x':1152,'name':'Anchor_mc','y':0.05,'maxCharNum':6,'charTypeList':['SoldierB,3','SoldierA,2']},{'x':1920,'name':'PassTile_10_mc','y':294},{'x':1984,'name':'PassTile_11_mc','y':294},{'x':2048,'name':'PassTile_12_mc','y':294},{'x':2496,'name':'CloudFloor_1_mc','y':192},{'x':2496,'name':'PassTile_1_mc','y':177},{'x':2496,'name':'PassTile_9_mc','y':138},{'x':2304,'name':'CloudFloor_1_mc','y':192},{'x':2304,'name':'PassTile_1_mc','y':177},{'x':2304,'name':'PassTile_9_mc','y':138},{'x':2368,'name':'PassTile_5_mc','y':192},{'x':2478.15,'name':'PassTile_3_mc','y':192.4},{'x':2432,'name':'Anchor_mc','y':0.05,'maxCharNum':8,'charTypeList':['SoldierB,3','SoldierA,2']},{'x':3008,'name':'PassTile_12_mc','y':294},{'x':6272,'name':'PassTile_10_mc','y':284.85},{'x':6336,'name':'PassTile_11_mc','y':284.85},{'x':5632,'name':'CloudFloor_1_mc','y':256},{'x':5632,'name':'PassTile_1_mc','y':241},{'x':5632,'name':'PassTile_9_mc','y':202},{'x':5696,'name':'CloudFloor_1_mc','y':256},{'x':5696,'name':'PassTile_1_mc','y':241},{'x':5696,'name':'PassTile_9_mc','y':202},{'x':5568,'name':'PassTile_7_mc','y':256},{'x':5490,'name':'PassTile_4_mc','y':256},{'x':5760,'name':'PassTile_7_mc','y':256},{'x':4416,'name':'PassTile_13_mc','y':256},{'x':4480,'name':'PassTile_7_mc','y':256},{'x':3712,'name':'PassTile_7_mc','y':256},{'x':3456,'name':'Floor_1_mc','y':320},{'x':3456,'name':'PassTile_1_mc','y':305},{'x':3392,'name':'PassTile_1_mc','y':305},{'x':3392,'name':'Floor_1_mc','y':320},{'x':3407.05,'name':'PassTile_2_mc','y':277},{'x':3520,'name':'Floor_1_mc','y':320},{'x':3520,'name':'PassTile_1_mc','y':305},{'x':3712,'name':'Floor_1_mc','y':320},{'x':3712,'name':'PassTile_1_mc','y':305},{'x':3630.2000000000003,'name':'PassTile_3_mc','y':193},{'x':3648,'name':'CloudFloor_1_mc','y':192},{'x':3648,'name':'PassTile_1_mc','y':177},{'x':3648,'name':'PassTile_1_mc','y':305},{'x':3648,'name':'Floor_2_mc','y':320},{'x':3584,'name':'Floor_2_mc','y':320},{'x':3584,'name':'PassTile_1_mc','y':305},{'x':3663.05,'name':'PassTile_2_mc','y':277},{'x':3584,'name':'PassTile_9_mc','y':266},{'x':3648,'name':'PassTile_9_mc','y':138},{'x':4416,'name':'Floor_1_mc','y':320},{'x':4416,'name':'PassTile_1_mc','y':305},{'x':4608,'name':'Floor_2_mc','y':320},{'x':4608,'name':'PassTile_1_mc','y':305},{'x':4544,'name':'CloudFloor_1_mc','y':192},{'x':4544,'name':'PassTile_1_mc','y':177},{'x':4608,'name':'PassTile_5_mc','y':192},{'x':4544,'name':'PassTile_1_mc','y':305},{'x':4544,'name':'Floor_2_mc','y':320},{'x':4480,'name':'Floor_1_mc','y':320},{'x':4480,'name':'PassTile_1_mc','y':305},{'x':4480,'name':'PassTile_9_mc','y':266},{'x':4544,'name':'PassTile_9_mc','y':138},{'x':4864,'name':'PassTile_6_mc','y':256},{'x':4672,'name':'Floor_1_mc','y':320},{'x':4672,'name':'PassTile_1_mc','y':305},{'x':4864,'name':'Floor_1_mc','y':320},{'x':4864,'name':'PassTile_1_mc','y':305},{'x':4782.2,'name':'PassTile_3_mc','y':193},{'x':4800,'name':'CloudFloor_1_mc','y':192},{'x':4800,'name':'PassTile_1_mc','y':177},{'x':4864,'name':'PassTile_5_mc','y':192},{'x':4800,'name':'PassTile_7_mc','y':256},{'x':4800,'name':'PassTile_1_mc','y':305},{'x':4800,'name':'Floor_1_mc','y':320},{'x':4736,'name':'Floor_1_mc','y':320},{'x':4786,'name':'PassTile_4_mc','y':256},{'x':4736,'name':'PassTile_1_mc','y':305},{'x':4815.05,'name':'PassTile_2_mc','y':277},{'x':4736,'name':'PassTile_9_mc','y':266},{'x':4800,'name':'PassTile_9_mc','y':138},{'x':4928,'name':'Floor_1_mc','y':320},{'x':4928,'name':'PassTile_1_mc','y':305},{'x':5120,'name':'Floor_1_mc','y':320},{'x':5120,'name':'PassTile_1_mc','y':305},{'x':5056,'name':'PassTile_1_mc','y':305},{'x':5056,'name':'Floor_1_mc','y':320},{'x':4992,'name':'Floor_1_mc','y':320},{'x':4992,'name':'PassTile_1_mc','y':305},{'x':4992,'name':'PassTile_9_mc','y':266},{'x':5184,'name':'Floor_1_mc','y':320},{'x':5184,'name':'PassTile_1_mc','y':305},{'x':5376,'name':'Floor_1_mc','y':320},{'x':5376,'name':'PassTile_1_mc','y':305},{'x':5312,'name':'PassTile_1_mc','y':305},{'x':5312,'name':'Floor_1_mc','y':320},{'x':5248,'name':'Floor_1_mc','y':320},{'x':5248,'name':'PassTile_1_mc','y':305},{'x':5327.05,'name':'PassTile_2_mc','y':277},{'x':5248,'name':'PassTile_9_mc','y':266},{'x':3712,'name':'CloudFloor_1_mc','y':192},{'x':3712,'name':'PassTile_1_mc','y':177},{'x':3712,'name':'PassTile_9_mc','y':138},{'x':4416,'name':'CloudFloor_1_mc','y':128},{'x':4416,'name':'PassTile_1_mc','y':113},{'x':4416,'name':'PassTile_9_mc','y':74},{'x':4480,'name':'CloudFloor_1_mc','y':192},{'x':4480,'name':'PassTile_1_mc','y':177},{'x':4480,'name':'PassTile_9_mc','y':138},{'x':4480,'name':'PassTile_5_mc','y':128},{'x':3758.25,'name':'PassTile_3_mc','y':128.35},{'x':4416,'name':'PassTile_7_mc','y':192},{'x':3648,'name':'Floor_1_mc','y':256},{'x':3584,'name':'PassTile_1_mc','y':241},{'x':3648,'name':'PassTile_1_mc','y':241},{'x':3584,'name':'Floor_1_mc','y':256},{'x':3712,'name':'PassTile_5_mc','y':256},{'x':3566.15,'name':'PassTile_3_mc','y':256.40000000000003},{'x':3584,'name':'PassTile_8_mc','y':192},{'x':4623.05,'name':'PassTile_2_mc','y':277},{'x':4544,'name':'PassTile_9_mc','y':266},{'x':4608,'name':'Floor_1_mc','y':256},{'x':4544,'name':'Floor_1_mc','y':256},{'x':4672,'name':'PassTile_5_mc','y':256},{'x':4526.150000000001,'name':'PassTile_3_mc','y':256.40000000000003},{'x':4544,'name':'PassTile_1_mc','y':241},{'x':4608,'name':'PassTile_1_mc','y':241},{'x':5440,'name':'Floor_1_mc','y':320},{'x':5440,'name':'PassTile_1_mc','y':305},{'x':5632,'name':'Floor_1_mc','y':320},{'x':5632,'name':'PassTile_1_mc','y':305},{'x':5486.200000000001,'name':'PassTile_3_mc','y':193},{'x':5504,'name':'CloudFloor_1_mc','y':192},{'x':5504,'name':'PassTile_1_mc','y':177},{'x':5504,'name':'PassTile_7_mc','y':256},{'x':5568,'name':'PassTile_1_mc','y':305},{'x':5568,'name':'Floor_1_mc','y':320},{'x':5504,'name':'Floor_1_mc','y':320},{'x':5504,'name':'PassTile_1_mc','y':305},{'x':5583.05,'name':'PassTile_2_mc','y':277},{'x':5504,'name':'PassTile_9_mc','y':266},{'x':5504,'name':'PassTile_9_mc','y':138},{'x':5888,'name':'PassTile_6_mc','y':256},{'x':5696,'name':'Floor_1_mc','y':320},{'x':5696,'name':'PassTile_1_mc','y':305},{'x':5888,'name':'Floor_1_mc','y':320},{'x':5888,'name':'PassTile_1_mc','y':305},{'x':5824,'name':'CloudFloor_1_mc','y':192},{'x':5824,'name':'PassTile_1_mc','y':177},{'x':5888,'name':'PassTile_5_mc','y':192},{'x':5824,'name':'PassTile_7_mc','y':256},{'x':5824,'name':'PassTile_1_mc','y':305},{'x':5824,'name':'Floor_1_mc','y':320},{'x':5760,'name':'Floor_1_mc','y':320},{'x':5760,'name':'PassTile_1_mc','y':305},{'x':5839.05,'name':'PassTile_2_mc','y':277},{'x':5760,'name':'PassTile_9_mc','y':266},{'x':5824,'name':'PassTile_9_mc','y':138},{'x':6144,'name':'PassTile_6_mc','y':256},{'x':5952,'name':'Floor_1_mc','y':320},{'x':5952,'name':'PassTile_1_mc','y':305},{'x':6144,'name':'Floor_1_mc','y':320},{'x':6144,'name':'PassTile_1_mc','y':305},{'x':6062.200000000001,'name':'PassTile_3_mc','y':193},{'x':6080,'name':'CloudFloor_1_mc','y':192},{'x':6080,'name':'PassTile_1_mc','y':177},{'x':6144,'name':'PassTile_5_mc','y':192},{'x':6080,'name':'PassTile_7_mc','y':256},{'x':6080,'name':'PassTile_1_mc','y':305},{'x':6080,'name':'Floor_1_mc','y':320},{'x':6016,'name':'Floor_1_mc','y':320},{'x':6066,'name':'PassTile_4_mc','y':256},{'x':6016,'name':'PassTile_1_mc','y':305},{'x':6095.05,'name':'PassTile_2_mc','y':277},{'x':6016,'name':'PassTile_9_mc','y':266},{'x':6080,'name':'PassTile_9_mc','y':138},{'x':6208,'name':'Floor_1_mc','y':320},{'x':6208,'name':'PassTile_1_mc','y':305},{'x':6400,'name':'Floor_1_mc','y':320},{'x':6400,'name':'PassTile_1_mc','y':305},{'x':6336,'name':'PassTile_1_mc','y':305},{'x':6336,'name':'Floor_1_mc','y':320},{'x':6272,'name':'Floor_1_mc','y':320},{'x':6272,'name':'PassTile_1_mc','y':305},{'x':6351.05,'name':'PassTile_2_mc','y':277},{'x':6272,'name':'PassTile_9_mc','y':266},{'x':6592,'name':'Floor_1_mc','y':320},{'x':6592,'name':'PassTile_1_mc','y':305},{'x':6528,'name':'PassTile_1_mc','y':305},{'x':6528,'name':'Floor_1_mc','y':320},{'x':6464,'name':'Floor_1_mc','y':320},{'x':6464,'name':'PassTile_1_mc','y':305},{'x':6543.05,'name':'PassTile_2_mc','y':277},{'x':6464,'name':'PassTile_9_mc','y':266},{'x':5248,'name':'PassTile_10_mc','y':300},{'x':5312,'name':'PassTile_11_mc','y':300},{'x':5376,'name':'PassTile_12_mc','y':300},{'x':5760,'name':'CloudFloor_1_mc','y':192},{'x':5760,'name':'PassTile_1_mc','y':177},{'x':5760,'name':'PassTile_9_mc','y':138},{'x':5568,'name':'CloudFloor_1_mc','y':192},{'x':5568,'name':'PassTile_1_mc','y':177},{'x':5568,'name':'PassTile_9_mc','y':138},{'x':5632,'name':'PassTile_5_mc','y':192},{'x':5742.150000000001,'name':'PassTile_3_mc','y':192.4},{'x':6400,'name':'PassTile_12_mc','y':284.85},{'x':4288,'name':'Floor_1_mc','y':320},{'x':4352,'name':'Floor_1_mc','y':320},{'x':4160,'name':'Floor_3_mc','y':320},{'x':4224,'name':'Floor_1_mc','y':320},{'x':4032,'name':'Floor_3_mc','y':320},{'x':4096,'name':'Floor_3_mc','y':320},{'x':3904,'name':'Floor_1_mc','y':320},{'x':3968,'name':'Floor_1_mc','y':320},{'x':3776,'name':'Floor_1_mc','y':320},{'x':3840,'name':'Floor_1_mc','y':320},{'x':4352,'name':'PassTile_13_mc','y':256},{'x':4352,'name':'PassTile_1_mc','y':305},{'x':4352,'name':'CloudFloor_1_mc','y':128},{'x':4352,'name':'PassTile_1_mc','y':113},{'x':4352,'name':'PassTile_9_mc','y':74},{'x':4352,'name':'PassTile_7_mc','y':192},{'x':4288,'name':'PassTile_13_mc','y':256},{'x':4288,'name':'PassTile_1_mc','y':305},{'x':4288,'name':'CloudFloor_1_mc','y':128},{'x':4288,'name':'PassTile_1_mc','y':113},{'x':4288,'name':'PassTile_9_mc','y':74},{'x':4288,'name':'PassTile_7_mc','y':192},{'x':4224,'name':'PassTile_13_mc','y':256},{'x':4224,'name':'PassTile_1_mc','y':305},{'x':4224,'name':'CloudFloor_1_mc','y':128},{'x':4224,'name':'PassTile_1_mc','y':113},{'x':4224,'name':'PassTile_9_mc','y':74},{'x':4224,'name':'PassTile_7_mc','y':192},{'x':4160,'name':'CloudFloor_1_mc','y':128},{'x':4160,'name':'PassTile_1_mc','y':113},{'x':4160,'name':'PassTile_9_mc','y':74},{'x':4096,'name':'CloudFloor_1_mc','y':128},{'x':4096,'name':'PassTile_1_mc','y':113},{'x':4096,'name':'PassTile_9_mc','y':74},{'x':4032,'name':'CloudFloor_1_mc','y':128},{'x':4032,'name':'PassTile_1_mc','y':113},{'x':4032,'name':'PassTile_9_mc','y':74},{'x':3968,'name':'PassTile_13_mc','y':256},{'x':3968,'name':'PassTile_1_mc','y':305},{'x':3968,'name':'CloudFloor_1_mc','y':128},{'x':3968,'name':'PassTile_1_mc','y':113},{'x':3968,'name':'PassTile_9_mc','y':74},{'x':3968,'name':'PassTile_7_mc','y':192},{'x':3904,'name':'PassTile_13_mc','y':256},{'x':3904,'name':'PassTile_1_mc','y':305},{'x':3904,'name':'CloudFloor_1_mc','y':128},{'x':3904,'name':'PassTile_1_mc','y':113},{'x':3904,'name':'PassTile_9_mc','y':74},{'x':3904,'name':'PassTile_7_mc','y':192},{'x':3840,'name':'PassTile_13_mc','y':256},{'x':3840,'name':'PassTile_1_mc','y':305},{'x':3840,'name':'CloudFloor_1_mc','y':128},{'x':3840,'name':'PassTile_1_mc','y':113},{'x':3840,'name':'PassTile_9_mc','y':74},{'x':3840,'name':'PassTile_7_mc','y':192},{'x':3776,'name':'PassTile_13_mc','y':256},{'x':3776,'name':'PassTile_1_mc','y':305},{'x':3776,'name':'CloudFloor_1_mc','y':128},{'x':3776,'name':'PassTile_1_mc','y':113},{'x':3776,'name':'PassTile_9_mc','y':74},{'x':3776,'name':'PassTile_7_mc','y':192},{'x':4111.05,'name':'PassTile_2_mc','y':213},{'x':4032,'name':'PassTile_9_mc','y':202},{'x':4096,'name':'Floor_1_mc','y':192},{'x':4032,'name':'Floor_1_mc','y':192},{'x':4224,'name':'PassTile_5_mc','y':192},{'x':4014.15,'name':'PassTile_3_mc','y':192.4},{'x':4032,'name':'PassTile_1_mc','y':177},{'x':4096,'name':'PassTile_1_mc','y':177},{'x':4175.05,'name':'PassTile_2_mc','y':213},{'x':4160,'name':'Floor_1_mc','y':192},{'x':4160,'name':'PassTile_1_mc','y':177},{'x':4032,'name':'Floor_2_mc','y':256},{'x':4096,'name':'Floor_2_mc','y':256},{'x':4160,'name':'Floor_2_mc','y':256},{'x':4016.9500000000003,'name':'PassTile_4_mc','y':256},{'x':4224,'name':'PassTile_6_mc','y':256},{'x':6720,'name':'Floor_1_mc','y':320},{'x':6720,'name':'PassTile_1_mc','y':305},{'x':6656,'name':'PassTile_1_mc','y':305},{'x':6656,'name':'Floor_1_mc','y':320},{'x':6671.05,'name':'PassTile_2_mc','y':277},{'isUpForwards':false,'level':2,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':128,'x':6592},{'x':4096,'name':'Anchor_mc','y':0.05,'maxCharNum':8,'charTypeList':['SoldierA,2','SoldierB,3']},{'x':5504,'name':'Anchor_mc','y':0.05,'maxCharNum':8,'charTypeList':['SoldierB,2','SoldierA,3']},{'x':4974.200000000001,'name':'PassTile_3_mc','y':128.35},{'x':4978.5,'name':'PassTile_4_mc','y':192.5},{'x':5184,'name':'PassTile_6_mc','y':192},{'x':5184,'name':'PassTile_5_mc','y':128},{'x':5056,'name':'PassTile_6_mc','y':192},{'x':5107.5,'name':'PassTile_4_mc','y':192},{'x':5121.650000000001,'name':'PassTile_9_mc','y':266},{'width':6796,'height':832}]";
["item1"] = "[{'x':4763.05,'name':'Item_2_mc','y':320}]";
["map2"] = "[{'x':2496,'name':'PassTile_6_mc','y':256},{'x':2414.2000000000003,'name':'PassTile_3_mc','y':193},{'x':2432,'name':'CloudFloor_1_mc','y':192},{'x':2432,'name':'PassTile_1_mc','y':177},{'x':2496,'name':'PassTile_5_mc','y':192},{'x':2432,'name':'PassTile_7_mc','y':256},{'x':2418,'name':'PassTile_4_mc','y':256},{'x':2432,'name':'PassTile_9_mc','y':138},{'x':2048,'name':'CloudFloor_1_mc','y':192},{'x':2048,'name':'PassTile_1_mc','y':177},{'x':2048,'name':'PassTile_7_mc','y':256},{'x':2048,'name':'PassTile_9_mc','y':138},{'x':2112,'name':'CloudFloor_1_mc','y':192},{'x':2112,'name':'PassTile_1_mc','y':177},{'x':2112,'name':'PassTile_7_mc','y':256},{'x':2112,'name':'PassTile_9_mc','y':138},{'x':2176,'name':'PassTile_6_mc','y':256},{'x':1966.2,'name':'PassTile_3_mc','y':193},{'x':1984,'name':'CloudFloor_1_mc','y':192},{'x':1984,'name':'PassTile_1_mc','y':177},{'x':2176,'name':'PassTile_5_mc','y':192},{'x':1984,'name':'PassTile_7_mc','y':256},{'x':1970,'name':'PassTile_4_mc','y':246},{'x':1984,'name':'PassTile_9_mc','y':138},{'x':832,'name':'PassTile_10_mc','y':292.2},{'x':896,'name':'PassTile_11_mc','y':292.2},{'x':960,'name':'PassTile_12_mc','y':292.2},{'x':576,'name':'PassTile_6_mc','y':256},{'x':494.20000000000005,'name':'PassTile_3_mc','y':193},{'x':512,'name':'CloudFloor_1_mc','y':192},{'x':512,'name':'PassTile_1_mc','y':177},{'x':576,'name':'PassTile_5_mc','y':192},{'x':512,'name':'PassTile_7_mc','y':256},{'x':498,'name':'PassTile_4_mc','y':256},{'x':512,'name':'PassTile_9_mc','y':138},{'x':1280,'name':'PassTile_6_mc','y':256},{'x':1198.2,'name':'PassTile_3_mc','y':193},{'x':1216,'name':'CloudFloor_1_mc','y':192},{'x':1216,'name':'PassTile_1_mc','y':177},{'x':1280,'name':'PassTile_5_mc','y':192},{'x':1216,'name':'PassTile_7_mc','y':256},{'x':1202,'name':'PassTile_4_mc','y':256},{'x':1216,'name':'PassTile_9_mc','y':138},{'x':576,'name':'PassTile_8_mc','y':256},{'x':512,'name':'PassTile_1_mc','y':305},{'x':0,'name':'Floor_1_mc','y':320},{'x':64,'name':'Floor_1_mc','y':320},{'x':128,'name':'Floor_1_mc','y':320},{'x':192,'name':'Floor_1_mc','y':320},{'x':256,'name':'Floor_1_mc','y':320},{'x':320,'name':'Floor_1_mc','y':320},{'x':384,'name':'Floor_1_mc','y':320},{'x':512,'name':'Floor_1_mc','y':320},{'x':576,'name':'Floor_1_mc','y':320},{'x':640,'name':'Floor_1_mc','y':320},{'x':704,'name':'Floor_1_mc','y':320},{'x':0,'name':'PassTile_1_mc','y':305},{'x':64,'name':'PassTile_1_mc','y':305},{'x':128,'name':'PassTile_1_mc','y':305},{'x':192,'name':'PassTile_1_mc','y':305},{'x':576,'name':'PassTile_1_mc','y':305},{'x':640,'name':'PassTile_1_mc','y':305},{'x':704,'name':'PassTile_1_mc','y':305},{'x':896,'name':'Floor_1_mc','y':320},{'x':896,'name':'PassTile_1_mc','y':305},{'x':192,'name':'PassTile_2_mc','y':278},{'x':256,'name':'PassTile_1_mc','y':305},{'x':832,'name':'PassTile_1_mc','y':305},{'x':832,'name':'Floor_1_mc','y':320},{'x':768,'name':'Floor_1_mc','y':320},{'x':768,'name':'PassTile_1_mc','y':305},{'x':0,'name':'PassTile_8_mc','y':256},{'x':847.0500000000001,'name':'PassTile_2_mc','y':277},{'x':0,'name':'PassTile_9_mc','y':266},{'x':128,'name':'PassTile_9_mc','y':266},{'x':640,'name':'PassTile_9_mc','y':266},{'x':768,'name':'PassTile_9_mc','y':266},{'x':64,'name':'PassTile_10_mc','y':296},{'x':128,'name':'PassTile_11_mc','y':296},{'x':192,'name':'PassTile_12_mc','y':296},{'x':320,'name':'PassTile_1_mc','y':305.90000000000003},{'x':384,'name':'PassTile_1_mc','y':305.90000000000003},{'x':448,'name':'PassTile_1_mc','y':305.90000000000003},{'x':352,'name':'PassTile_2_mc','y':278.90000000000003},{'x':416,'name':'PassTile_2_mc','y':278.90000000000003},{'isUpForwards':false,'level':1,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':6528,'x':64},{'x':448,'name':'Floor_1_mc','y':320},{'x':960,'name':'PassTile_8_mc','y':256},{'x':960,'name':'Floor_1_mc','y':320},{'x':1024,'name':'Floor_1_mc','y':320},{'x':1088,'name':'Floor_1_mc','y':320},{'x':960,'name':'PassTile_1_mc','y':305},{'x':1024,'name':'PassTile_1_mc','y':305},{'x':1088,'name':'PassTile_1_mc','y':305},{'x':1280,'name':'Floor_1_mc','y':320},{'x':1280,'name':'PassTile_1_mc','y':305},{'x':1216,'name':'PassTile_1_mc','y':305},{'x':1216,'name':'Floor_1_mc','y':320},{'x':1152,'name':'Floor_1_mc','y':320},{'x':1152,'name':'PassTile_1_mc','y':305},{'x':1231.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1024,'name':'PassTile_9_mc','y':266},{'x':1152,'name':'PassTile_9_mc','y':266},{'x':1344,'name':'PassTile_8_mc','y':256},{'x':1344,'name':'Floor_1_mc','y':320},{'x':1408,'name':'Floor_1_mc','y':320},{'x':1472,'name':'Floor_1_mc','y':320},{'x':1344,'name':'PassTile_1_mc','y':305},{'x':1408,'name':'PassTile_1_mc','y':305},{'x':1472,'name':'PassTile_1_mc','y':305},{'x':1664,'name':'Floor_1_mc','y':256},{'x':1664,'name':'PassTile_1_mc','y':241},{'x':1600,'name':'PassTile_1_mc','y':305},{'x':1600,'name':'Floor_1_mc','y':320},{'x':1536,'name':'Floor_1_mc','y':320},{'x':1536,'name':'PassTile_1_mc','y':305},{'x':1615.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1408,'name':'PassTile_9_mc','y':266},{'x':1536,'name':'PassTile_9_mc','y':266},{'x':1728,'name':'PassTile_8_mc','y':192},{'x':1728,'name':'Floor_1_mc','y':256},{'x':1792,'name':'Floor_1_mc','y':256},{'x':1856,'name':'Floor_1_mc','y':256},{'x':1728,'name':'PassTile_1_mc','y':241},{'x':1792,'name':'PassTile_1_mc','y':241},{'x':1856,'name':'PassTile_1_mc','y':241},{'x':2048,'name':'Floor_1_mc','y':320},{'x':2048,'name':'PassTile_1_mc','y':305},{'x':1984,'name':'PassTile_1_mc','y':305},{'x':1984,'name':'Floor_1_mc','y':320},{'x':1920,'name':'PassTile_1_mc','y':241},{'x':1999.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1792,'name':'PassTile_9_mc','y':202},{'x':1920,'name':'PassTile_9_mc','y':202},{'x':2112,'name':'PassTile_8_mc','y':256},{'x':2112,'name':'Floor_1_mc','y':320},{'x':2176,'name':'Floor_1_mc','y':320},{'x':2240,'name':'Floor_1_mc','y':320},{'x':2112,'name':'PassTile_1_mc','y':305},{'x':2176,'name':'PassTile_1_mc','y':305},{'x':2240,'name':'PassTile_1_mc','y':305},{'x':2432,'name':'Floor_1_mc','y':320},{'x':2432,'name':'PassTile_1_mc','y':305},{'x':2368,'name':'PassTile_1_mc','y':305},{'x':2368,'name':'Floor_1_mc','y':320},{'x':2304,'name':'Floor_1_mc','y':320},{'x':2304,'name':'PassTile_1_mc','y':305},{'x':2383.05,'name':'PassTile_2_mc','y':277},{'x':2176,'name':'PassTile_9_mc','y':266},{'x':2304,'name':'PassTile_9_mc','y':266},{'x':2496,'name':'PassTile_8_mc','y':256},{'x':2496,'name':'Floor_1_mc','y':320},{'x':2560,'name':'Floor_1_mc','y':320},{'x':2624,'name':'Floor_1_mc','y':320},{'x':2496,'name':'PassTile_1_mc','y':305},{'x':2560,'name':'PassTile_1_mc','y':305},{'x':2624,'name':'PassTile_1_mc','y':305},{'x':2816,'name':'Floor_1_mc','y':256},{'x':2816,'name':'PassTile_1_mc','y':241},{'x':2752,'name':'PassTile_1_mc','y':241},{'x':2752,'name':'Floor_1_mc','y':256},{'x':2688,'name':'Floor_1_mc','y':320},{'x':2688,'name':'PassTile_1_mc','y':305},{'x':2767.05,'name':'PassTile_2_mc','y':213},{'x':2560,'name':'PassTile_9_mc','y':266},{'x':2688,'name':'PassTile_9_mc','y':266},{'x':2944,'name':'Floor_1_mc','y':256},{'x':2944,'name':'PassTile_1_mc','y':241},{'x':2880,'name':'PassTile_1_mc','y':241},{'x':2880,'name':'Floor_1_mc','y':256},{'x':2895.05,'name':'PassTile_2_mc','y':213},{'x':3008,'name':'PassTile_8_mc','y':192},{'x':3008,'name':'Floor_1_mc','y':256},{'x':3072,'name':'Floor_1_mc','y':320},{'x':3136,'name':'Floor_1_mc','y':320},{'x':3008,'name':'PassTile_1_mc','y':241},{'x':3072,'name':'PassTile_1_mc','y':305},{'x':3136,'name':'PassTile_1_mc','y':305},{'x':3328,'name':'Floor_1_mc','y':320},{'x':3328,'name':'PassTile_1_mc','y':305},{'x':3264,'name':'PassTile_1_mc','y':305},{'x':3264,'name':'Floor_1_mc','y':320},{'x':3200,'name':'Floor_1_mc','y':320},{'x':3200,'name':'PassTile_1_mc','y':305},{'x':3279.05,'name':'PassTile_2_mc','y':277},{'x':3072,'name':'PassTile_9_mc','y':266},{'x':3200,'name':'PassTile_9_mc','y':266},{'bossType':'BossA','x':896,'y':0,'maxCharNum':32,'name':'BossAnchor_mc','charTypeList':['SoldierA,1']},{'x':1648.3000000000002,'name':'PassTile_3_mc','y':256.40000000000003},{'x':1984,'name':'PassTile_5_mc','y':256},{'x':1664,'name':'Floor_2_mc','y':320},{'x':1728,'name':'Floor_2_mc','y':320},{'x':1792,'name':'Floor_2_mc','y':320},{'x':1856,'name':'Floor_2_mc','y':320},{'x':1920,'name':'Floor_2_mc','y':320},{'x':2752,'name':'Floor_2_mc','y':320},{'x':2816,'name':'Floor_2_mc','y':320},{'x':2880,'name':'Floor_2_mc','y':320},{'x':2944,'name':'Floor_2_mc','y':320},{'x':3008,'name':'Floor_2_mc','y':320},{'x':3072,'name':'PassTile_5_mc','y':256},{'x':2736.55,'name':'PassTile_3_mc','y':256.40000000000003},{'isUpForwards':false,'level':3,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':128,'x':3200},{'x':1920,'name':'Floor_1_mc','y':256},{'width':3404,'height':387.1}]";
["item2"] = "[{'y':256,'x':1759.5,'name':'Item_2_mc'},{'y':192,'x':2134.5,'name':'Item_4_mc'},{'y':192,'name':'Item_6_mc','type':'DragonShot','x':2465.05}]";
["map3"] = "[{'x':5952,'name':'PassTile2_7_mc','y':256},{'x':5888,'name':'PassTile2_7_mc','y':256},{'x':5888,'name':'CloudFloor2_1_mc','y':192},{'x':5888,'name':'PassTile2_1_mc','y':177},{'x':5888,'name':'PassTile2_9_mc','y':138},{'x':5952,'name':'CloudFloor2_1_mc','y':192},{'x':5952,'name':'PassTile2_1_mc','y':177},{'x':5952,'name':'PassTile2_9_mc','y':138},{'x':6016,'name':'PassTile2_7_mc','y':256},{'x':6016,'name':'CloudFloor2_1_mc','y':192},{'x':6016,'name':'PassTile2_1_mc','y':177},{'x':6016,'name':'PassTile2_9_mc','y':138},{'x':6144,'name':'PassTile2_6_mc','y':256},{'x':6080,'name':'PassTile2_7_mc','y':256},{'x':5824,'name':'PassTile2_7_mc','y':256},{'x':5811.5,'name':'PassTile2_4_mc','y':256},{'x':3184.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':3200,'name':'CloudFloor2_1_mc','y':256},{'x':3200,'name':'PassTile2_1_mc','y':241},{'x':3264,'name':'PassTile2_5_mc','y':256},{'x':3200,'name':'PassTile2_9_mc','y':202},{'x':2928.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2944,'name':'CloudFloor2_1_mc','y':256},{'x':2944,'name':'PassTile2_1_mc','y':241},{'x':3008,'name':'PassTile2_5_mc','y':256},{'x':2944,'name':'PassTile2_9_mc','y':202},{'x':2416.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2432,'name':'CloudFloor2_1_mc','y':256},{'x':2432,'name':'PassTile2_1_mc','y':241},{'x':2496,'name':'PassTile2_5_mc','y':256},{'x':2432,'name':'PassTile2_9_mc','y':202},{'x':2672.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2688,'name':'CloudFloor2_1_mc','y':256},{'x':2688,'name':'PassTile2_1_mc','y':241},{'x':2752,'name':'PassTile2_5_mc','y':256},{'x':2688,'name':'PassTile2_9_mc','y':202},{'x':1904.2,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':1920,'name':'CloudFloor2_1_mc','y':256},{'x':1920,'name':'PassTile2_1_mc','y':241},{'x':1984,'name':'PassTile2_5_mc','y':256},{'x':1920,'name':'PassTile2_9_mc','y':202},{'x':2160.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2176,'name':'CloudFloor2_1_mc','y':256},{'x':2176,'name':'PassTile2_1_mc','y':241},{'x':2240,'name':'PassTile2_5_mc','y':256},{'x':2176,'name':'PassTile2_9_mc','y':202},{'x':1648.2,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':1664,'name':'CloudFloor2_1_mc','y':256},{'x':1664,'name':'PassTile2_1_mc','y':241},{'x':1728,'name':'PassTile2_5_mc','y':256},{'x':1664,'name':'PassTile2_9_mc','y':202},{'x':1344,'name':'PassTile2_6_mc','y':256},{'x':1264.2,'name':'PassTile2_3_mc','y':192.4},{'x':1280,'name':'CloudFloor2_1_mc','y':192},{'x':1280,'name':'PassTile2_1_mc','y':177},{'x':1344,'name':'PassTile2_5_mc','y':192},{'x':1280,'name':'PassTile2_7_mc','y':256},{'x':1267.5,'name':'PassTile2_4_mc','y':256},{'x':1280,'name':'PassTile2_9_mc','y':138},{'x':512,'name':'PassTile2_10_mc','y':296},{'x':960,'name':'PassTile2_1_mc','y':305},{'x':64,'name':'PassTile2_10_mc','y':296},{'x':128,'name':'PassTile2_11_mc','y':296},{'x':192,'name':'PassTile2_12_mc','y':296},{'x':576,'name':'PassTile2_8_mc','y':256},{'x':768,'name':'PassTile2_6_mc','y':256},{'x':176.20000000000002,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':192,'name':'CloudFloor2_1_mc','y':256},{'x':0,'name':'Floor2_1_mc','y':320},{'x':0,'name':'PassTile2_1_mc','y':305},{'x':192,'name':'PassTile2_2_mc','y':278},{'x':192,'name':'PassTile2_1_mc','y':241},{'x':256,'name':'PassTile2_5_mc','y':256},{'x':688.2,'name':'PassTile2_3_mc','y':192.4},{'x':704,'name':'CloudFloor2_1_mc','y':192},{'x':704,'name':'PassTile2_1_mc','y':177},{'x':768,'name':'PassTile2_5_mc','y':192},{'x':704,'name':'PassTile2_7_mc','y':256},{'x':691.5,'name':'PassTile2_4_mc','y':256},{'x':0,'name':'PassTile2_8_mc','y':256},{'x':1807.5500000000002,'name':'PassTile2_2_mc','y':277},{'x':192,'name':'PassTile2_8_mc','y':192},{'x':0,'name':'PassTile2_9_mc','y':266},{'x':128,'name':'PassTile2_9_mc','y':266},{'x':192,'name':'PassTile2_9_mc','y':202},{'x':640,'name':'PassTile2_9_mc','y':266},{'x':768,'name':'PassTile2_9_mc','y':266},{'x':704,'name':'PassTile2_9_mc','y':138},{'x':352,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':416,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':576,'name':'PassTile2_11_mc','y':296},{'x':640,'name':'PassTile2_12_mc','y':296},{'x':64,'name':'Floor2_1_mc','y':320},{'x':64,'name':'PassTile2_1_mc','y':305},{'x':128,'name':'Floor2_1_mc','y':320},{'x':128,'name':'PassTile2_1_mc','y':305},{'x':192,'name':'Floor2_1_mc','y':320},{'x':192,'name':'PassTile2_1_mc','y':305},{'x':256,'name':'Floor2_1_mc','y':320},{'x':256,'name':'PassTile2_1_mc','y':305},{'x':320,'name':'Floor2_1_mc','y':320},{'x':320,'name':'PassTile2_1_mc','y':305},{'x':384,'name':'Floor2_1_mc','y':320},{'x':384,'name':'PassTile2_1_mc','y':305},{'x':448,'name':'Floor2_1_mc','y':320},{'x':512,'name':'Floor2_1_mc','y':320},{'x':512,'name':'PassTile2_1_mc','y':305},{'x':576,'name':'Floor2_1_mc','y':320},{'x':576,'name':'PassTile2_1_mc','y':305},{'x':640,'name':'Floor2_1_mc','y':320},{'x':640,'name':'PassTile2_1_mc','y':305},{'x':704,'name':'Floor2_1_mc','y':320},{'x':704,'name':'PassTile2_1_mc','y':305},{'x':768,'name':'Floor2_1_mc','y':320},{'x':768,'name':'PassTile2_1_mc','y':305},{'x':1792,'name':'Floor2_1_mc','y':320},{'x':1792,'name':'PassTile2_1_mc','y':305},{'x':1856,'name':'Floor2_1_mc','y':320},{'x':1856,'name':'PassTile2_1_mc','y':305},{'isUpForwards':false,'level':2,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':3136,'x':64},{'x':832,'name':'Floor2_1_mc','y':320},{'x':832,'name':'PassTile2_1_mc','y':305},{'x':896,'name':'Floor2_3_mc','y':320},{'x':960,'name':'Floor2_1_mc','y':320},{'x':1024,'name':'Floor2_1_mc','y':320},{'x':1024,'name':'PassTile2_1_mc','y':305},{'x':1088,'name':'Floor2_1_mc','y':320},{'x':1088,'name':'PassTile2_1_mc','y':305},{'x':896,'name':'Floor2_1_mc','y':192},{'x':896,'name':'Floor2_2_mc','y':256},{'x':896,'name':'PassTile2_1_mc','y':174},{'x':879.45,'name':'PassTile2_3_mc','y':192.4},{'x':961,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':960,'name':'PassTile2_6_mc','y':256},{'x':882.25,'name':'PassTile2_4_mc','y':257.5},{'x':448,'name':'PassTile2_1_mc','y':305},{'x':1152,'name':'Floor2_1_mc','y':320},{'x':1152,'name':'PassTile2_1_mc','y':305},{'x':1216,'name':'Floor2_1_mc','y':320},{'x':1216,'name':'PassTile2_1_mc','y':305},{'x':1280,'name':'Floor2_1_mc','y':320},{'x':1280,'name':'PassTile2_1_mc','y':305},{'x':1344,'name':'Floor2_1_mc','y':320},{'x':1344,'name':'PassTile2_1_mc','y':305},{'x':1408,'name':'Floor2_1_mc','y':320},{'x':1408,'name':'PassTile2_1_mc','y':305},{'x':1472,'name':'Floor2_1_mc','y':320},{'x':1472,'name':'PassTile2_1_mc','y':305},{'x':1536,'name':'Floor2_1_mc','y':320},{'x':1536,'name':'PassTile2_1_mc','y':305},{'x':1600,'name':'Floor2_1_mc','y':320},{'x':1600,'name':'PassTile2_1_mc','y':305},{'x':1664,'name':'Floor2_1_mc','y':320},{'x':1664,'name':'PassTile2_1_mc','y':305},{'x':1728,'name':'Floor2_1_mc','y':320},{'x':1728,'name':'PassTile2_1_mc','y':305},{'x':2575.05,'name':'PassTile2_2_mc','y':277},{'x':2560,'name':'Floor2_1_mc','y':320},{'x':2559.5,'name':'PassTile2_1_mc','y':305},{'x':2624,'name':'Floor2_1_mc','y':320},{'x':2624,'name':'PassTile2_1_mc','y':305},{'x':1920,'name':'Floor2_1_mc','y':320},{'x':1920,'name':'PassTile2_1_mc','y':305},{'x':1984,'name':'Floor2_1_mc','y':320},{'x':1984,'name':'PassTile2_1_mc','y':305},{'x':2048,'name':'Floor2_3_mc','y':320},{'x':2112,'name':'Floor2_1_mc','y':320},{'x':2112,'name':'PassTile2_1_mc','y':305},{'x':2176,'name':'Floor2_1_mc','y':320},{'x':2176,'name':'PassTile2_1_mc','y':305},{'x':2240,'name':'Floor2_1_mc','y':320},{'x':2240,'name':'PassTile2_1_mc','y':305},{'x':2304,'name':'Floor2_1_mc','y':320},{'x':2304,'name':'PassTile2_1_mc','y':305},{'x':2368,'name':'Floor2_1_mc','y':320},{'x':2368,'name':'PassTile2_1_mc','y':305},{'x':2432,'name':'Floor2_1_mc','y':320},{'x':2432,'name':'PassTile2_1_mc','y':305},{'x':2496,'name':'Floor2_1_mc','y':320},{'x':2496,'name':'PassTile2_1_mc','y':305},{'x':3343.05,'name':'PassTile2_2_mc','y':277},{'x':3328,'name':'Floor2_1_mc','y':320},{'x':3327.5,'name':'PassTile2_1_mc','y':305},{'x':2688,'name':'Floor2_1_mc','y':320},{'x':2688,'name':'PassTile2_1_mc','y':305},{'x':2752,'name':'Floor2_1_mc','y':320},{'x':2752,'name':'PassTile2_1_mc','y':305},{'x':2816,'name':'Floor2_1_mc','y':320},{'x':2816,'name':'PassTile2_1_mc','y':305},{'x':2880,'name':'Floor2_1_mc','y':320},{'x':2880,'name':'PassTile2_1_mc','y':305},{'x':2944,'name':'Floor2_1_mc','y':320},{'x':2944,'name':'PassTile2_1_mc','y':305},{'x':3008,'name':'Floor2_1_mc','y':320},{'x':3008,'name':'PassTile2_1_mc','y':305},{'x':3072,'name':'Floor2_3_mc','y':320},{'x':3072,'name':'PassTile2_1_mc','y':305},{'x':3136,'name':'Floor2_1_mc','y':320},{'x':3136,'name':'PassTile2_1_mc','y':305},{'x':3200,'name':'Floor2_1_mc','y':320},{'x':3200,'name':'PassTile2_1_mc','y':305},{'x':3264,'name':'Floor2_1_mc','y':320},{'x':3264,'name':'PassTile2_1_mc','y':305},{'x':2048,'name':'Floor2_1_mc','y':192},{'x':2048,'name':'Floor2_2_mc','y':256},{'x':2047,'name':'PassTile2_1_mc','y':174},{'x':2030.45,'name':'PassTile2_3_mc','y':192.4},{'x':2112,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':2111,'name':'PassTile2_6_mc','y':256},{'x':2033.25,'name':'PassTile2_4_mc','y':257.5},{'x':3072,'name':'Floor2_1_mc','y':192},{'x':3072,'name':'Floor2_2_mc','y':256},{'x':3071,'name':'PassTile2_1_mc','y':174},{'x':3054.4500000000003,'name':'PassTile2_3_mc','y':192.4},{'x':3136,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':3135,'name':'PassTile2_6_mc','y':256},{'x':3057.25,'name':'PassTile2_4_mc','y':257.5},{'x':1088,'name':'PassTile2_10_mc','y':296.05},{'x':1152,'name':'PassTile2_11_mc','y':296.05},{'x':1216,'name':'PassTile2_12_mc','y':296.05},{'x':1472,'name':'PassTile2_10_mc','y':296.05},{'x':1536,'name':'PassTile2_11_mc','y':296.05},{'x':1600,'name':'PassTile2_12_mc','y':296.05},{'x':2816,'name':'PassTile2_10_mc','y':300.05},{'x':2880,'name':'PassTile2_11_mc','y':300.05},{'x':2944,'name':'PassTile2_12_mc','y':300.05},{'x':6320.200000000001,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':6336,'name':'CloudFloor2_1_mc','y':256},{'x':6336,'name':'PassTile2_1_mc','y':241},{'x':6400,'name':'PassTile2_5_mc','y':256},{'x':6336,'name':'PassTile2_9_mc','y':202},{'x':5808.200000000001,'name':'PassTile2_3_mc','y':192.4},{'x':5824,'name':'CloudFloor2_1_mc','y':192},{'x':5824,'name':'PassTile2_1_mc','y':177},{'x':5824,'name':'PassTile2_9_mc','y':138},{'x':6080,'name':'CloudFloor2_1_mc','y':192},{'x':6080,'name':'PassTile2_1_mc','y':177},{'x':6144,'name':'PassTile2_5_mc','y':192},{'x':6080,'name':'PassTile2_9_mc','y':138},{'x':5296.200000000001,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':5312,'name':'CloudFloor2_1_mc','y':256},{'x':5312,'name':'PassTile2_1_mc','y':241},{'x':5376,'name':'PassTile2_5_mc','y':256},{'x':5312,'name':'PassTile2_9_mc','y':202},{'x':5552.200000000001,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':5568,'name':'CloudFloor2_1_mc','y':256},{'x':5568,'name':'PassTile2_1_mc','y':241},{'x':5632,'name':'PassTile2_5_mc','y':256},{'x':5568,'name':'PassTile2_9_mc','y':202},{'x':3904,'name':'PassTile2_10_mc','y':296},{'x':3456,'name':'PassTile2_10_mc','y':296},{'x':3520,'name':'PassTile2_11_mc','y':296},{'x':3584,'name':'PassTile2_12_mc','y':296},{'x':3968,'name':'PassTile2_8_mc','y':256},{'x':4160,'name':'PassTile2_6_mc','y':256},{'x':3568.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':3584,'name':'CloudFloor2_1_mc','y':256},{'x':3392,'name':'Floor2_1_mc','y':320},{'x':3392,'name':'PassTile2_1_mc','y':305},{'x':3584,'name':'PassTile2_2_mc','y':278},{'x':3584,'name':'PassTile2_1_mc','y':241},{'x':3648,'name':'PassTile2_5_mc','y':256},{'x':4080.2000000000003,'name':'PassTile2_3_mc','y':192.4},{'x':4096,'name':'CloudFloor2_1_mc','y':192},{'x':4096,'name':'PassTile2_1_mc','y':177},{'x':4160,'name':'PassTile2_5_mc','y':192},{'x':4096,'name':'PassTile2_7_mc','y':256},{'x':4083.5,'name':'PassTile2_4_mc','y':256},{'x':3392,'name':'PassTile2_8_mc','y':256},{'x':5199.05,'name':'PassTile2_2_mc','y':277},{'x':3584,'name':'PassTile2_8_mc','y':192},{'x':3392,'name':'PassTile2_9_mc','y':266},{'x':3520,'name':'PassTile2_9_mc','y':266},{'x':3584,'name':'PassTile2_9_mc','y':202},{'x':4032,'name':'PassTile2_9_mc','y':266},{'x':4160,'name':'PassTile2_9_mc','y':266},{'x':4096,'name':'PassTile2_9_mc','y':138},{'x':3744,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':3808,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':3968,'name':'PassTile2_11_mc','y':296},{'x':4032,'name':'PassTile2_12_mc','y':296},{'x':3456,'name':'Floor2_1_mc','y':320},{'x':3456,'name':'PassTile2_1_mc','y':305},{'x':3520,'name':'Floor2_1_mc','y':320},{'x':3520,'name':'PassTile2_1_mc','y':305},{'x':3584,'name':'Floor2_1_mc','y':320},{'x':3584,'name':'PassTile2_1_mc','y':305},{'x':3648,'name':'Floor2_1_mc','y':320},{'x':3648,'name':'PassTile2_1_mc','y':305},{'x':3712,'name':'Floor2_1_mc','y':320},{'x':3712,'name':'PassTile2_1_mc','y':305},{'x':3776,'name':'Floor2_1_mc','y':320},{'x':3776,'name':'PassTile2_1_mc','y':305},{'x':3840,'name':'Floor2_1_mc','y':320},{'x':3904,'name':'Floor2_1_mc','y':320},{'x':3904,'name':'PassTile2_1_mc','y':305},{'x':3968,'name':'Floor2_1_mc','y':320},{'x':3968,'name':'PassTile2_1_mc','y':305},{'x':4032,'name':'Floor2_1_mc','y':320},{'x':4032,'name':'PassTile2_1_mc','y':305},{'x':4096,'name':'Floor2_1_mc','y':320},{'x':4096,'name':'PassTile2_1_mc','y':305},{'x':4160,'name':'Floor2_1_mc','y':320},{'x':4160,'name':'PassTile2_1_mc','y':305},{'x':5184,'name':'Floor2_1_mc','y':320},{'x':5183.5,'name':'PassTile2_1_mc','y':305},{'x':5248,'name':'Floor2_1_mc','y':320},{'x':5248,'name':'PassTile2_1_mc','y':305},{'x':4224,'name':'Floor2_1_mc','y':320},{'x':4224,'name':'PassTile2_1_mc','y':305},{'x':4288,'name':'Floor2_3_mc','y':320},{'x':4288,'name':'Floor2_1_mc','y':192},{'x':4288,'name':'Floor2_2_mc','y':256},{'x':4288,'name':'PassTile2_1_mc','y':174},{'x':4271.45,'name':'PassTile2_3_mc','y':192.4},{'x':4274.25,'name':'PassTile2_4_mc','y':257.5},{'x':3840,'name':'PassTile2_1_mc','y':305},{'x':5056,'name':'Floor2_1_mc','y':320},{'x':5056,'name':'PassTile2_1_mc','y':305},{'x':5120,'name':'Floor2_1_mc','y':320},{'x':5120,'name':'PassTile2_1_mc','y':305},{'x':5952,'name':'Floor2_1_mc','y':320},{'x':5952,'name':'PassTile2_1_mc','y':305},{'x':6016,'name':'Floor2_1_mc','y':320},{'x':6016,'name':'PassTile2_1_mc','y':305},{'x':5312,'name':'Floor2_1_mc','y':320},{'x':5312,'name':'PassTile2_1_mc','y':305},{'x':5376,'name':'Floor2_1_mc','y':320},{'x':5376,'name':'PassTile2_1_mc','y':305},{'x':5440,'name':'Floor2_3_mc','y':320},{'x':5504,'name':'Floor2_1_mc','y':320},{'x':5504,'name':'PassTile2_1_mc','y':305},{'x':5568,'name':'Floor2_1_mc','y':320},{'x':5568,'name':'PassTile2_1_mc','y':305},{'x':5632,'name':'Floor2_1_mc','y':320},{'x':5632,'name':'PassTile2_1_mc','y':305},{'x':5696,'name':'Floor2_1_mc','y':320},{'x':5696,'name':'PassTile2_1_mc','y':305},{'x':5760,'name':'Floor2_1_mc','y':320},{'x':5760,'name':'PassTile2_1_mc','y':305},{'x':5824,'name':'Floor2_1_mc','y':320},{'x':5824,'name':'PassTile2_1_mc','y':305},{'x':5888,'name':'Floor2_1_mc','y':320},{'x':5888,'name':'PassTile2_1_mc','y':305},{'x':6735.05,'name':'PassTile2_2_mc','y':277},{'x':6720,'name':'Floor2_1_mc','y':320},{'x':6719.5,'name':'PassTile2_1_mc','y':305},{'x':6080,'name':'Floor2_1_mc','y':320},{'x':6080,'name':'PassTile2_1_mc','y':305},{'x':6144,'name':'Floor2_1_mc','y':320},{'x':6144,'name':'PassTile2_1_mc','y':305},{'x':6208,'name':'Floor2_1_mc','y':320},{'x':6208,'name':'PassTile2_1_mc','y':305},{'x':6272,'name':'Floor2_1_mc','y':320},{'x':6272,'name':'PassTile2_1_mc','y':305},{'x':6336,'name':'Floor2_1_mc','y':320},{'x':6336,'name':'PassTile2_1_mc','y':305},{'x':6400,'name':'Floor2_1_mc','y':320},{'x':6400,'name':'PassTile2_1_mc','y':305},{'x':6464,'name':'Floor2_1_mc','y':320},{'x':6464,'name':'PassTile2_1_mc','y':305},{'x':6528,'name':'Floor2_1_mc','y':320},{'x':6528,'name':'PassTile2_1_mc','y':305},{'x':6592,'name':'Floor2_1_mc','y':320},{'x':6592,'name':'PassTile2_1_mc','y':305},{'x':6656,'name':'Floor2_1_mc','y':320},{'x':6656,'name':'PassTile2_1_mc','y':305},{'x':5440,'name':'Floor2_1_mc','y':192},{'x':5440,'name':'Floor2_2_mc','y':256},{'x':5439,'name':'PassTile2_1_mc','y':174},{'x':5422.450000000001,'name':'PassTile2_3_mc','y':192.4},{'x':5504,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':5503,'name':'PassTile2_6_mc','y':256},{'x':5425.25,'name':'PassTile2_4_mc','y':257.5},{'x':6208,'name':'PassTile2_10_mc','y':300.05},{'x':6272,'name':'PassTile2_11_mc','y':300.05},{'x':6336,'name':'PassTile2_12_mc','y':300.05},{'x':5057,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':5056,'name':'PassTile2_6_mc','y':256},{'x':4352,'name':'Floor2_1_mc','y':192},{'x':4352,'name':'Floor2_2_mc','y':256},{'x':4352,'name':'PassTile2_1_mc','y':174},{'x':4416,'name':'Floor2_1_mc','y':192},{'x':4416,'name':'Floor2_2_mc','y':256},{'x':4416,'name':'PassTile2_1_mc','y':174},{'x':4480,'name':'Floor2_1_mc','y':256},{'x':4480,'name':'PassTile2_1_mc','y':238},{'x':4544,'name':'Floor2_1_mc','y':256},{'x':4544,'name':'PassTile2_1_mc','y':238},{'x':4608,'name':'Floor2_1_mc','y':256},{'x':4608,'name':'PassTile2_1_mc','y':238},{'x':4672,'name':'Floor2_1_mc','y':256},{'x':4672,'name':'PassTile2_1_mc','y':238},{'x':4736,'name':'Floor2_1_mc','y':256},{'x':4736,'name':'PassTile2_1_mc','y':238},{'x':4800,'name':'Floor2_1_mc','y':256},{'x':4800,'name':'PassTile2_1_mc','y':238},{'x':4864,'name':'Floor2_1_mc','y':192},{'x':4864,'name':'Floor2_2_mc','y':256},{'x':4864,'name':'PassTile2_1_mc','y':174},{'x':4928,'name':'Floor2_1_mc','y':192},{'x':4928,'name':'Floor2_2_mc','y':256},{'x':4928,'name':'PassTile2_1_mc','y':174},{'x':4992,'name':'Floor2_1_mc','y':192},{'x':4992,'name':'Floor2_2_mc','y':256},{'x':4992,'name':'PassTile2_1_mc','y':174},{'x':4352,'name':'Floor2_3_mc','y':320},{'x':4416,'name':'Floor2_3_mc','y':320},{'x':4480,'name':'Floor2_3_mc','y':320},{'x':4544,'name':'Floor2_3_mc','y':320},{'x':4608,'name':'Floor2_3_mc','y':320},{'x':4672,'name':'Floor2_3_mc','y':320},{'x':4736,'name':'Floor2_3_mc','y':320},{'x':4800,'name':'Floor2_3_mc','y':320},{'x':4864,'name':'Floor2_3_mc','y':320},{'x':4928,'name':'Floor2_3_mc','y':320},{'x':4992,'name':'Floor2_3_mc','y':320},{'x':4480,'name':'PassTile2_5_mc','y':192},{'x':4847.6,'name':'PassTile2_3_mc','y':192.4},{'x':4608,'name':'PassTile2_10_mc','y':237},{'x':4672,'name':'PassTile2_11_mc','y':237},{'x':4736,'name':'PassTile2_12_mc','y':237},{'isUpForwards':false,'level':4,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':128,'x':6592},{'x':1088,'name':'Anchor_mc','y':0.05,'maxCharNum':8,'charTypeList':['SoldierB,2','SoldierC,1','SoldierA,2']},{'x':2432,'name':'Anchor_mc','y':0.05,'maxCharNum':8,'charTypeList':['SoldierB,2','SoldierC,1','SoldierA,2']},{'x':3776,'name':'Anchor_mc','y':0.05,'maxCharNum':8,'charTypeList':['SoldierB,2','SoldierC,2','SoldierA,1']},{'x':5440,'name':'Anchor_mc','y':0.05,'maxCharNum':8,'charTypeList':['SoldierB,2','SoldierC,2','SoldierA,1']},{'width':6802.05,'height':832}]";
["item3"] = "";
["map4"] = "[{'x':6400,'name':'PassTile2_13_mc','y':300},{'x':6464.05,'name':'PassTile2_14_mc','y':299.45},{'x':6528,'name':'PassTile2_15_mc','y':300.5},{'x':6592,'name':'PassTile2_16_mc','y':300.5},{'x':4736,'name':'PassTile2_13_mc','y':300},{'x':4800.05,'name':'PassTile2_14_mc','y':299.45},{'x':4864,'name':'PassTile2_15_mc','y':300.5},{'x':4928,'name':'PassTile2_16_mc','y':300.5},{'x':3712,'name':'PassTile2_13_mc','y':300},{'x':3776.05,'name':'PassTile2_14_mc','y':299.45},{'x':3840,'name':'PassTile2_15_mc','y':300.5},{'x':3904,'name':'PassTile2_16_mc','y':300.5},{'x':1344,'name':'PassTile2_13_mc','y':294},{'x':1408.0500000000002,'name':'PassTile2_14_mc','y':293.45},{'x':1472,'name':'PassTile2_15_mc','y':294.5},{'x':1536,'name':'PassTile2_16_mc','y':294.5},{'x':320,'name':'PassTile2_13_mc','y':300},{'x':384.05,'name':'PassTile2_14_mc','y':299.45},{'x':448,'name':'PassTile2_15_mc','y':300.5},{'x':512,'name':'PassTile2_16_mc','y':300.5},{'x':1779.4,'name':'PassTile2_4_mc','y':257.5},{'x':1730,'name':'PassTile2_6_mc','y':254},{'x':1664,'name':'PassTile2_17_mc','y':256},{'x':1792,'name':'PassTile2_17_mc','y':256},{'x':1664,'name':'PassTile2_7_mc','y':192},{'x':1664,'name':'CloudFloor2_1_mc','y':128},{'x':1664,'name':'PassTile2_1_mc','y':113},{'x':1664,'name':'PassTile2_9_mc','y':74},{'x':1728,'name':'CloudFloor2_1_mc','y':128},{'x':1728,'name':'PassTile2_1_mc','y':113},{'x':1728,'name':'PassTile2_9_mc','y':74},{'x':1792,'name':'PassTile2_7_mc','y':192},{'x':1792,'name':'CloudFloor2_1_mc','y':128},{'x':1792,'name':'PassTile2_1_mc','y':113},{'x':1792,'name':'PassTile2_9_mc','y':74},{'x':1920,'name':'PassTile2_6_mc','y':256},{'x':1856,'name':'PassTile2_7_mc','y':256},{'x':1600,'name':'PassTile2_7_mc','y':256},{'x':1587.5,'name':'PassTile2_4_mc','y':256},{'x':1584.2,'name':'PassTile2_3_mc','y':192.4},{'x':1600,'name':'CloudFloor2_1_mc','y':192},{'x':1600,'name':'PassTile2_1_mc','y':177},{'x':1600,'name':'PassTile2_9_mc','y':138},{'x':1856,'name':'CloudFloor2_1_mc','y':192},{'x':1856,'name':'PassTile2_1_mc','y':177},{'x':1920,'name':'PassTile2_5_mc','y':192},{'x':1856,'name':'PassTile2_9_mc','y':138},{'x':1857,'name':'PassTile2_5_mc','y':127},{'x':1648.25,'name':'PassTile2_3_mc','y':128.4},{'x':1729,'name':'PassTile2_6_mc','y':191},{'x':1779.4,'name':'PassTile2_4_mc','y':192.5},{'x':3184.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':3200,'name':'CloudFloor2_1_mc','y':256},{'x':3200,'name':'PassTile2_1_mc','y':241},{'x':3264,'name':'PassTile2_5_mc','y':256},{'x':3200,'name':'PassTile2_9_mc','y':202},{'x':2928.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2944,'name':'CloudFloor2_1_mc','y':256},{'x':2944,'name':'PassTile2_1_mc','y':241},{'x':3008,'name':'PassTile2_5_mc','y':256},{'x':2944,'name':'PassTile2_9_mc','y':202},{'x':2672.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2688,'name':'CloudFloor2_1_mc','y':256},{'x':2688,'name':'PassTile2_1_mc','y':241},{'x':2752,'name':'PassTile2_5_mc','y':256},{'x':2688,'name':'PassTile2_9_mc','y':202},{'x':4528.2,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':4544,'name':'CloudFloor2_1_mc','y':256},{'x':4544,'name':'PassTile2_1_mc','y':241},{'x':4608,'name':'PassTile2_5_mc','y':256},{'x':4544,'name':'PassTile2_9_mc','y':202},{'x':2160.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2176,'name':'CloudFloor2_1_mc','y':256},{'x':2176,'name':'PassTile2_1_mc','y':241},{'x':2240,'name':'PassTile2_5_mc','y':256},{'x':2176,'name':'PassTile2_9_mc','y':202},{'x':4272.2,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':4288,'name':'CloudFloor2_1_mc','y':256},{'x':4288,'name':'PassTile2_1_mc','y':241},{'x':4352,'name':'PassTile2_5_mc','y':256},{'x':4288,'name':'PassTile2_9_mc','y':202},{'x':1344,'name':'PassTile2_6_mc','y':256},{'x':1264.2,'name':'PassTile2_3_mc','y':192.4},{'x':1280,'name':'CloudFloor2_1_mc','y':192},{'x':1280,'name':'PassTile2_1_mc','y':177},{'x':1344,'name':'PassTile2_5_mc','y':192},{'x':1280,'name':'PassTile2_7_mc','y':256},{'x':1267.5,'name':'PassTile2_4_mc','y':256},{'x':1280,'name':'PassTile2_9_mc','y':138},{'x':512,'name':'PassTile2_10_mc','y':296},{'x':960,'name':'PassTile2_1_mc','y':305},{'x':64,'name':'PassTile2_10_mc','y':296},{'x':128,'name':'PassTile2_11_mc','y':296},{'x':192,'name':'PassTile2_12_mc','y':296},{'x':576,'name':'PassTile2_8_mc','y':256},{'x':768,'name':'PassTile2_6_mc','y':256},{'x':176.20000000000002,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':192,'name':'CloudFloor2_1_mc','y':256},{'x':0,'name':'Floor2_1_mc','y':320},{'x':0,'name':'PassTile2_1_mc','y':305},{'x':192,'name':'PassTile2_2_mc','y':278},{'x':192,'name':'PassTile2_1_mc','y':241},{'x':256,'name':'PassTile2_5_mc','y':256},{'x':688.2,'name':'PassTile2_3_mc','y':192.4},{'x':704,'name':'CloudFloor2_1_mc','y':192},{'x':704,'name':'PassTile2_1_mc','y':177},{'x':768,'name':'PassTile2_5_mc','y':192},{'x':704,'name':'PassTile2_7_mc','y':256},{'x':691.5,'name':'PassTile2_4_mc','y':256},{'x':0,'name':'PassTile2_8_mc','y':256},{'x':1807.5500000000002,'name':'PassTile2_2_mc','y':277},{'x':192,'name':'PassTile2_8_mc','y':192},{'x':0,'name':'PassTile2_9_mc','y':266},{'x':128,'name':'PassTile2_9_mc','y':266},{'x':192,'name':'PassTile2_9_mc','y':202},{'x':640,'name':'PassTile2_9_mc','y':266},{'x':768,'name':'PassTile2_9_mc','y':266},{'x':704,'name':'PassTile2_9_mc','y':138},{'x':352,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':416,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':576,'name':'PassTile2_11_mc','y':296},{'x':640,'name':'PassTile2_12_mc','y':296},{'x':64,'name':'Floor2_1_mc','y':320},{'x':64,'name':'PassTile2_1_mc','y':305},{'x':128,'name':'Floor2_1_mc','y':320},{'x':128,'name':'PassTile2_1_mc','y':305},{'x':192,'name':'Floor2_1_mc','y':320},{'x':192,'name':'PassTile2_1_mc','y':305},{'x':256,'name':'Floor2_1_mc','y':320},{'x':256,'name':'PassTile2_1_mc','y':305},{'x':320,'name':'Floor2_1_mc','y':320},{'x':320,'name':'PassTile2_1_mc','y':305},{'x':384,'name':'Floor2_1_mc','y':320},{'x':384,'name':'PassTile2_1_mc','y':305},{'x':448,'name':'Floor2_1_mc','y':320},{'x':512,'name':'Floor2_1_mc','y':320},{'x':512,'name':'PassTile2_1_mc','y':305},{'x':576,'name':'Floor2_1_mc','y':320},{'x':576,'name':'PassTile2_1_mc','y':305},{'x':640,'name':'Floor2_1_mc','y':320},{'x':640,'name':'PassTile2_1_mc','y':305},{'x':704,'name':'Floor2_1_mc','y':320},{'x':704,'name':'PassTile2_1_mc','y':305},{'x':768,'name':'Floor2_1_mc','y':320},{'x':768,'name':'PassTile2_1_mc','y':305},{'x':1792,'name':'Floor2_1_mc','y':320},{'x':1792,'name':'PassTile2_1_mc','y':305},{'x':1856,'name':'Floor2_1_mc','y':320},{'x':1856,'name':'PassTile2_1_mc','y':305},{'level':3,'name':'Door_mc','isUpForwards':false,'y':256,'x':64,'heroPosY':320,'heroPosX':6528},{'x':832,'name':'Floor2_1_mc','y':320},{'x':832,'name':'PassTile2_1_mc','y':305},{'x':896,'name':'Floor2_3_mc','y':320},{'x':960,'name':'Floor2_1_mc','y':320},{'x':1024,'name':'Floor2_1_mc','y':320},{'x':1024,'name':'PassTile2_1_mc','y':305},{'x':1088,'name':'Floor2_1_mc','y':320},{'x':1088,'name':'PassTile2_1_mc','y':305},{'x':896,'name':'Floor2_1_mc','y':192},{'x':896,'name':'Floor2_2_mc','y':256},{'x':896,'name':'PassTile2_1_mc','y':174},{'x':879.45,'name':'PassTile2_3_mc','y':192.4},{'x':961,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':960,'name':'PassTile2_6_mc','y':256},{'x':882.25,'name':'PassTile2_4_mc','y':257.5},{'x':448,'name':'PassTile2_1_mc','y':305},{'x':1152,'name':'Floor2_1_mc','y':320},{'x':1152,'name':'PassTile2_1_mc','y':305},{'x':1216,'name':'Floor2_1_mc','y':320},{'x':1216,'name':'PassTile2_1_mc','y':305},{'x':1280,'name':'Floor2_1_mc','y':320},{'x':1280,'name':'PassTile2_1_mc','y':305},{'x':1344,'name':'Floor2_1_mc','y':320},{'x':1344,'name':'PassTile2_1_mc','y':305},{'x':1408,'name':'Floor2_1_mc','y':320},{'x':1408,'name':'PassTile2_1_mc','y':305},{'x':1472,'name':'Floor2_1_mc','y':320},{'x':1472,'name':'PassTile2_1_mc','y':305},{'x':1536,'name':'Floor2_1_mc','y':320},{'x':1536,'name':'PassTile2_1_mc','y':305},{'x':1600,'name':'Floor2_1_mc','y':320},{'x':1600,'name':'PassTile2_1_mc','y':305},{'x':1664,'name':'Floor2_1_mc','y':320},{'x':1664,'name':'PassTile2_1_mc','y':305},{'x':1728,'name':'Floor2_1_mc','y':320},{'x':1728,'name':'PassTile2_1_mc','y':305},{'x':2575.05,'name':'PassTile2_2_mc','y':277},{'x':2560,'name':'Floor2_1_mc','y':320},{'x':2559.5,'name':'PassTile2_1_mc','y':305},{'x':2624,'name':'Floor2_1_mc','y':320},{'x':2624,'name':'PassTile2_1_mc','y':305},{'x':1920,'name':'Floor2_1_mc','y':320},{'x':1920,'name':'PassTile2_1_mc','y':305},{'x':1984,'name':'Floor2_1_mc','y':320},{'x':1984,'name':'PassTile2_1_mc','y':305},{'x':2048,'name':'Floor2_3_mc','y':320},{'x':2112,'name':'Floor2_1_mc','y':320},{'x':2112,'name':'PassTile2_1_mc','y':305},{'x':2176,'name':'Floor2_1_mc','y':320},{'x':2176,'name':'PassTile2_1_mc','y':305},{'x':2240,'name':'Floor2_1_mc','y':320},{'x':2240,'name':'PassTile2_1_mc','y':305},{'x':2304,'name':'Floor2_1_mc','y':320},{'x':2304,'name':'PassTile2_1_mc','y':305},{'x':2368,'name':'Floor2_1_mc','y':320},{'x':2368,'name':'PassTile2_1_mc','y':305},{'x':2432,'name':'Floor2_1_mc','y':320},{'x':2432,'name':'PassTile2_1_mc','y':305},{'x':2496,'name':'Floor2_1_mc','y':320},{'x':2496,'name':'PassTile2_1_mc','y':305},{'x':3343.05,'name':'PassTile2_2_mc','y':277},{'x':3328,'name':'Floor2_1_mc','y':320},{'x':3327.5,'name':'PassTile2_1_mc','y':305},{'x':2688,'name':'Floor2_1_mc','y':320},{'x':2688,'name':'PassTile2_1_mc','y':305},{'x':2752,'name':'Floor2_1_mc','y':320},{'x':2752,'name':'PassTile2_1_mc','y':305},{'x':2816,'name':'Floor2_1_mc','y':320},{'x':2816,'name':'PassTile2_1_mc','y':305},{'x':2880,'name':'Floor2_1_mc','y':320},{'x':2880,'name':'PassTile2_1_mc','y':305},{'x':2944,'name':'Floor2_1_mc','y':320},{'x':2944,'name':'PassTile2_1_mc','y':305},{'x':3008,'name':'Floor2_1_mc','y':320},{'x':3008,'name':'PassTile2_1_mc','y':305},{'x':3072,'name':'Floor2_3_mc','y':320},{'x':3072,'name':'PassTile2_1_mc','y':305},{'x':3136,'name':'Floor2_1_mc','y':320},{'x':3136,'name':'PassTile2_1_mc','y':305},{'x':3200,'name':'Floor2_1_mc','y':320},{'x':3200,'name':'PassTile2_1_mc','y':305},{'x':3264,'name':'Floor2_1_mc','y':320},{'x':3264,'name':'PassTile2_1_mc','y':305},{'x':2048,'name':'Floor2_1_mc','y':192},{'x':2048,'name':'Floor2_2_mc','y':256},{'x':2047,'name':'PassTile2_1_mc','y':174},{'x':2030.45,'name':'PassTile2_3_mc','y':192.4},{'x':2112,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':2111,'name':'PassTile2_6_mc','y':256},{'x':2033.25,'name':'PassTile2_4_mc','y':257.5},{'x':3072,'name':'Floor2_1_mc','y':192},{'x':3072,'name':'Floor2_2_mc','y':256},{'x':3071,'name':'PassTile2_1_mc','y':174},{'x':3054.4500000000003,'name':'PassTile2_3_mc','y':192.4},{'x':3136,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':3135,'name':'PassTile2_6_mc','y':256},{'x':3057.25,'name':'PassTile2_4_mc','y':257.5},{'x':1088,'name':'PassTile2_10_mc','y':296.05},{'x':1152,'name':'PassTile2_11_mc','y':296.05},{'x':1216,'name':'PassTile2_12_mc','y':296.05},{'x':2816,'name':'PassTile2_10_mc','y':300.05},{'x':2880,'name':'PassTile2_11_mc','y':300.05},{'x':2944,'name':'PassTile2_12_mc','y':300.05},{'x':6320.200000000001,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':6336,'name':'CloudFloor2_1_mc','y':256},{'x':6336,'name':'PassTile2_1_mc','y':241},{'x':6400,'name':'PassTile2_5_mc','y':256},{'x':6336,'name':'PassTile2_9_mc','y':202},{'x':4912.2,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':4928,'name':'CloudFloor2_1_mc','y':256},{'x':4928,'name':'PassTile2_1_mc','y':241},{'x':4992,'name':'PassTile2_5_mc','y':256},{'x':4928,'name':'PassTile2_9_mc','y':202},{'x':5168.200000000001,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':5184,'name':'CloudFloor2_1_mc','y':256},{'x':5184,'name':'PassTile2_1_mc','y':241},{'x':5248,'name':'PassTile2_5_mc','y':256},{'x':5184,'name':'PassTile2_9_mc','y':202},{'x':3904,'name':'PassTile2_10_mc','y':296},{'x':3456,'name':'PassTile2_10_mc','y':296},{'x':3520,'name':'PassTile2_11_mc','y':296},{'x':3584,'name':'PassTile2_12_mc','y':296},{'x':3968,'name':'PassTile2_8_mc','y':256},{'x':4160,'name':'PassTile2_6_mc','y':256},{'x':3568.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':3584,'name':'CloudFloor2_1_mc','y':256},{'x':3392,'name':'Floor2_1_mc','y':320},{'x':3392,'name':'PassTile2_1_mc','y':305},{'x':3584,'name':'PassTile2_2_mc','y':278},{'x':3584,'name':'PassTile2_1_mc','y':241},{'x':3648,'name':'PassTile2_5_mc','y':256},{'x':4080.2000000000003,'name':'PassTile2_3_mc','y':192.4},{'x':4096,'name':'CloudFloor2_1_mc','y':192},{'x':4096,'name':'PassTile2_1_mc','y':177},{'x':4160,'name':'PassTile2_5_mc','y':192},{'x':4096,'name':'PassTile2_7_mc','y':256},{'x':4083.5,'name':'PassTile2_4_mc','y':256},{'x':3392,'name':'PassTile2_8_mc','y':256},{'x':4815.05,'name':'PassTile2_2_mc','y':277},{'x':3584,'name':'PassTile2_8_mc','y':192},{'x':3392,'name':'PassTile2_9_mc','y':266},{'x':3520,'name':'PassTile2_9_mc','y':266},{'x':3584,'name':'PassTile2_9_mc','y':202},{'x':4032,'name':'PassTile2_9_mc','y':266},{'x':4160,'name':'PassTile2_9_mc','y':266},{'x':4096,'name':'PassTile2_9_mc','y':138},{'x':3744,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':3808,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':3968,'name':'PassTile2_11_mc','y':296},{'x':4032,'name':'PassTile2_12_mc','y':296},{'x':3456,'name':'Floor2_1_mc','y':320},{'x':3456,'name':'PassTile2_1_mc','y':305},{'x':3520,'name':'Floor2_1_mc','y':320},{'x':3520,'name':'PassTile2_1_mc','y':305},{'x':3584,'name':'Floor2_1_mc','y':320},{'x':3584,'name':'PassTile2_1_mc','y':305},{'x':3648,'name':'Floor2_1_mc','y':320},{'x':3648,'name':'PassTile2_1_mc','y':305},{'x':3712,'name':'Floor2_1_mc','y':320},{'x':3712,'name':'PassTile2_1_mc','y':305},{'x':3776,'name':'Floor2_1_mc','y':320},{'x':3776,'name':'PassTile2_1_mc','y':305},{'x':3840,'name':'Floor2_1_mc','y':320},{'x':3904,'name':'Floor2_1_mc','y':320},{'x':3904,'name':'PassTile2_1_mc','y':305},{'x':3968,'name':'Floor2_1_mc','y':320},{'x':3968,'name':'PassTile2_1_mc','y':305},{'x':4032,'name':'Floor2_1_mc','y':320},{'x':4032,'name':'PassTile2_1_mc','y':305},{'x':4096,'name':'Floor2_1_mc','y':320},{'x':4096,'name':'PassTile2_1_mc','y':305},{'x':4160,'name':'Floor2_1_mc','y':320},{'x':4160,'name':'PassTile2_1_mc','y':305},{'x':4800,'name':'Floor2_1_mc','y':320},{'x':4799.5,'name':'PassTile2_1_mc','y':305},{'x':4864,'name':'Floor2_1_mc','y':320},{'x':4864,'name':'PassTile2_1_mc','y':305},{'x':5312,'name':'Floor2_1_mc','y':320},{'x':5312,'name':'PassTile2_1_mc','y':305},{'x':5376,'name':'Floor2_3_mc','y':320},{'x':5376,'name':'Floor2_1_mc','y':192},{'x':5376,'name':'Floor2_2_mc','y':256},{'x':5376,'name':'PassTile2_1_mc','y':174},{'x':5359.450000000001,'name':'PassTile2_3_mc','y':192.4},{'x':5362.25,'name':'PassTile2_4_mc','y':257.5},{'x':3840,'name':'PassTile2_1_mc','y':305},{'x':6144,'name':'Floor2_1_mc','y':320},{'x':6144,'name':'PassTile2_1_mc','y':305},{'x':4736,'name':'Floor2_1_mc','y':320},{'x':4736,'name':'PassTile2_1_mc','y':305},{'x':4480,'name':'Floor2_1_mc','y':320},{'x':4480,'name':'PassTile2_1_mc','y':305},{'x':4544,'name':'Floor2_1_mc','y':320},{'x':4544,'name':'PassTile2_1_mc','y':305},{'x':4928,'name':'Floor2_1_mc','y':320},{'x':4928,'name':'PassTile2_1_mc','y':305},{'x':4992,'name':'Floor2_1_mc','y':320},{'x':4992,'name':'PassTile2_1_mc','y':305},{'x':5056,'name':'Floor2_3_mc','y':320},{'x':5120,'name':'Floor2_1_mc','y':320},{'x':5120,'name':'PassTile2_1_mc','y':305},{'x':5184,'name':'Floor2_1_mc','y':320},{'x':5184,'name':'PassTile2_1_mc','y':305},{'x':5248,'name':'Floor2_1_mc','y':320},{'x':5248,'name':'PassTile2_1_mc','y':305},{'x':4224,'name':'Floor2_1_mc','y':320},{'x':4224,'name':'PassTile2_1_mc','y':305},{'x':4288,'name':'Floor2_1_mc','y':320},{'x':4288,'name':'PassTile2_1_mc','y':305},{'x':4352,'name':'Floor2_1_mc','y':320},{'x':4352,'name':'PassTile2_1_mc','y':305},{'x':4416,'name':'Floor2_1_mc','y':320},{'x':4416,'name':'PassTile2_1_mc','y':305},{'x':6735.05,'name':'PassTile2_2_mc','y':277},{'x':6720,'name':'Floor2_1_mc','y':320},{'x':6719.5,'name':'PassTile2_1_mc','y':305},{'x':4608,'name':'Floor2_1_mc','y':320},{'x':4608,'name':'PassTile2_1_mc','y':305},{'x':4672,'name':'Floor2_1_mc','y':320},{'x':4672,'name':'PassTile2_1_mc','y':305},{'x':6208,'name':'Floor2_1_mc','y':320},{'x':6208,'name':'PassTile2_1_mc','y':305},{'x':6272,'name':'Floor2_1_mc','y':320},{'x':6272,'name':'PassTile2_1_mc','y':305},{'x':6336,'name':'Floor2_1_mc','y':320},{'x':6336,'name':'PassTile2_1_mc','y':305},{'x':6400,'name':'Floor2_1_mc','y':320},{'x':6400,'name':'PassTile2_1_mc','y':305},{'x':6464,'name':'Floor2_1_mc','y':320},{'x':6464,'name':'PassTile2_1_mc','y':305},{'x':6528,'name':'Floor2_1_mc','y':320},{'x':6528,'name':'PassTile2_1_mc','y':305},{'x':6592,'name':'Floor2_1_mc','y':320},{'x':6592,'name':'PassTile2_1_mc','y':305},{'x':6656,'name':'Floor2_1_mc','y':320},{'x':6656,'name':'PassTile2_1_mc','y':305},{'x':5056,'name':'Floor2_1_mc','y':192},{'x':5056,'name':'Floor2_2_mc','y':256},{'x':5055,'name':'PassTile2_1_mc','y':174},{'x':5038.450000000001,'name':'PassTile2_3_mc','y':192.4},{'x':5120,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':5119,'name':'PassTile2_6_mc','y':256},{'x':5041.25,'name':'PassTile2_4_mc','y':257.5},{'x':6208,'name':'PassTile2_10_mc','y':300.05},{'x':6272,'name':'PassTile2_11_mc','y':300.05},{'x':6336,'name':'PassTile2_12_mc','y':300.05},{'x':6145,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':6144,'name':'PassTile2_6_mc','y':256},{'x':5440,'name':'Floor2_1_mc','y':192},{'x':5440,'name':'Floor2_2_mc','y':256},{'x':5440,'name':'PassTile2_1_mc','y':174},{'x':5504,'name':'Floor2_1_mc','y':192},{'x':5504,'name':'Floor2_2_mc','y':256},{'x':5504,'name':'PassTile2_1_mc','y':174},{'x':5568,'name':'Floor2_1_mc','y':256},{'x':5568,'name':'PassTile2_1_mc','y':238},{'x':5632,'name':'Floor2_1_mc','y':256},{'x':5632,'name':'PassTile2_1_mc','y':238},{'x':5696,'name':'Floor2_1_mc','y':256},{'x':5696,'name':'PassTile2_1_mc','y':238},{'x':5760,'name':'Floor2_1_mc','y':256},{'x':5760,'name':'PassTile2_1_mc','y':238},{'x':5824,'name':'Floor2_1_mc','y':256},{'x':5824,'name':'PassTile2_1_mc','y':238},{'x':5888,'name':'Floor2_1_mc','y':256},{'x':5888,'name':'PassTile2_1_mc','y':238},{'x':5952,'name':'Floor2_1_mc','y':192},{'x':5952,'name':'Floor2_2_mc','y':256},{'x':5952,'name':'PassTile2_1_mc','y':174},{'x':6016,'name':'Floor2_1_mc','y':192},{'x':6016,'name':'Floor2_2_mc','y':256},{'x':6016,'name':'PassTile2_1_mc','y':174},{'x':6080,'name':'Floor2_1_mc','y':192},{'x':6080,'name':'Floor2_2_mc','y':256},{'x':6080,'name':'PassTile2_1_mc','y':174},{'x':5440,'name':'Floor2_3_mc','y':320},{'x':5504,'name':'Floor2_3_mc','y':320},{'x':5568,'name':'Floor2_3_mc','y':320},{'x':5632,'name':'Floor2_3_mc','y':320},{'x':5696,'name':'Floor2_3_mc','y':320},{'x':5760,'name':'Floor2_3_mc','y':320},{'x':5824,'name':'Floor2_3_mc','y':320},{'x':5888,'name':'Floor2_3_mc','y':320},{'x':5952,'name':'Floor2_3_mc','y':320},{'x':6016,'name':'Floor2_3_mc','y':320},{'x':6080,'name':'Floor2_3_mc','y':320},{'x':5568,'name':'PassTile2_5_mc','y':192},{'x':5935.6,'name':'PassTile2_3_mc','y':192.4},{'x':5696,'name':'PassTile2_10_mc','y':237},{'x':5760,'name':'PassTile2_11_mc','y':237},{'x':5824,'name':'PassTile2_12_mc','y':237},{'level':5,'name':'Door_mc','isUpForwards':false,'y':256,'x':6592,'heroPosY':320,'heroPosX':128},{'level':11,'name':'Door_mc','isUpForwards':true,'y':256,'x':1728,'heroPosY':320,'heroPosX':128},{'x':2368,'name':'PassTile2_13_mc','y':298},{'x':2432.05,'name':'PassTile2_14_mc','y':297.45},{'x':2496,'name':'PassTile2_15_mc','y':298.5},{'x':2560,'name':'PassTile2_16_mc','y':298.5},{'charTypeList':['SoldierB,2','SoldierC,2','SoldierA,1'],'name':'Anchor_mc','y':0.05,'x':1088,'maxCharNum':8},{'charTypeList':['SoldierB,2','SoldierC,2','SoldierA,1'],'name':'Anchor_mc','y':0.05,'x':2432,'maxCharNum':8},{'charTypeList':['SoldierB,3','SoldierC,2'],'name':'Anchor_mc','y':0.05,'x':3776,'maxCharNum':10},{'charTypeList':['SoldierB,3','SoldierC,2'],'name':'Anchor_mc','y':0.05,'x':5056,'maxCharNum':10},{'width':6802.05,'height':832}]";
["item4"] = "[{'x':5668.450000000001,'name':'Item_2_mc','y':256}]";
["map5"] = "[{'x':1408,'name':'PassTile2_13_mc','y':300},{'x':1472.0500000000002,'name':'PassTile2_14_mc','y':299.45},{'x':1536,'name':'PassTile2_15_mc','y':300.5},{'x':1600,'name':'PassTile2_16_mc','y':300.5},{'x':896,'name':'PassTile2_13_mc','y':300},{'x':960.0500000000001,'name':'PassTile2_14_mc','y':299.45},{'x':1024,'name':'PassTile2_15_mc','y':300.5},{'x':1088,'name':'PassTile2_16_mc','y':300.5},{'x':320,'name':'PassTile2_13_mc','y':300},{'x':384.05,'name':'PassTile2_14_mc','y':299.45},{'x':448,'name':'PassTile2_15_mc','y':300.5},{'x':512,'name':'PassTile2_16_mc','y':300.5},{'x':2928.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2944,'name':'CloudFloor2_1_mc','y':256},{'x':2944,'name':'PassTile2_1_mc','y':241},{'x':3008,'name':'PassTile2_5_mc','y':256},{'x':2944,'name':'PassTile2_9_mc','y':202},{'x':2672.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2688,'name':'CloudFloor2_1_mc','y':256},{'x':2688,'name':'PassTile2_1_mc','y':241},{'x':2752,'name':'PassTile2_5_mc','y':256},{'x':2688,'name':'PassTile2_9_mc','y':202},{'x':1904.2,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':1920,'name':'CloudFloor2_1_mc','y':256},{'x':1920,'name':'PassTile2_1_mc','y':241},{'x':1984,'name':'PassTile2_5_mc','y':256},{'x':1920,'name':'PassTile2_9_mc','y':202},{'x':2160.2000000000003,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':2176,'name':'CloudFloor2_1_mc','y':256},{'x':2176,'name':'PassTile2_1_mc','y':241},{'x':2240,'name':'PassTile2_5_mc','y':256},{'x':2176,'name':'PassTile2_9_mc','y':202},{'x':1648.2,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':1664,'name':'CloudFloor2_1_mc','y':256},{'x':1664,'name':'PassTile2_1_mc','y':241},{'x':1728,'name':'PassTile2_5_mc','y':256},{'x':1664,'name':'PassTile2_9_mc','y':202},{'x':1344,'name':'PassTile2_6_mc','y':256},{'x':1264.2,'name':'PassTile2_3_mc','y':192.4},{'x':1280,'name':'CloudFloor2_1_mc','y':192},{'x':1280,'name':'PassTile2_1_mc','y':177},{'x':1344,'name':'PassTile2_5_mc','y':192},{'x':1280,'name':'PassTile2_7_mc','y':256},{'x':1267.5,'name':'PassTile2_4_mc','y':256},{'x':1280,'name':'PassTile2_9_mc','y':138},{'x':512,'name':'PassTile2_10_mc','y':296},{'x':960,'name':'PassTile2_1_mc','y':305},{'x':64,'name':'PassTile2_10_mc','y':296},{'x':128,'name':'PassTile2_11_mc','y':296},{'x':192,'name':'PassTile2_12_mc','y':296},{'x':576,'name':'PassTile2_8_mc','y':256},{'x':768,'name':'PassTile2_6_mc','y':256},{'x':176.20000000000002,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':192,'name':'CloudFloor2_1_mc','y':256},{'x':0,'name':'Floor2_1_mc','y':320},{'x':0,'name':'PassTile2_1_mc','y':305},{'x':192,'name':'PassTile2_2_mc','y':278},{'x':192,'name':'PassTile2_1_mc','y':241},{'x':256,'name':'PassTile2_5_mc','y':256},{'x':688.2,'name':'PassTile2_3_mc','y':192.4},{'x':704,'name':'CloudFloor2_1_mc','y':192},{'x':704,'name':'PassTile2_1_mc','y':177},{'x':768,'name':'PassTile2_5_mc','y':192},{'x':704,'name':'PassTile2_7_mc','y':256},{'x':691.5,'name':'PassTile2_4_mc','y':256},{'x':0,'name':'PassTile2_8_mc','y':256},{'x':1807.5500000000002,'name':'PassTile2_2_mc','y':277},{'x':192,'name':'PassTile2_8_mc','y':192},{'x':0,'name':'PassTile2_9_mc','y':266},{'x':128,'name':'PassTile2_9_mc','y':266},{'x':192,'name':'PassTile2_9_mc','y':202},{'x':640,'name':'PassTile2_9_mc','y':266},{'x':768,'name':'PassTile2_9_mc','y':266},{'x':704,'name':'PassTile2_9_mc','y':138},{'x':352,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':416,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':576,'name':'PassTile2_11_mc','y':296},{'x':640,'name':'PassTile2_12_mc','y':296},{'x':64,'name':'Floor2_1_mc','y':320},{'x':64,'name':'PassTile2_1_mc','y':305},{'x':128,'name':'Floor2_1_mc','y':320},{'x':128,'name':'PassTile2_1_mc','y':305},{'x':192,'name':'Floor2_1_mc','y':320},{'x':192,'name':'PassTile2_1_mc','y':305},{'x':256,'name':'Floor2_1_mc','y':320},{'x':256,'name':'PassTile2_1_mc','y':305},{'x':320,'name':'Floor2_1_mc','y':320},{'x':320,'name':'PassTile2_1_mc','y':305},{'x':384,'name':'Floor2_1_mc','y':320},{'x':384,'name':'PassTile2_1_mc','y':305},{'x':448,'name':'Floor2_1_mc','y':320},{'x':512,'name':'Floor2_1_mc','y':320},{'x':512,'name':'PassTile2_1_mc','y':305},{'x':576,'name':'Floor2_1_mc','y':320},{'x':576,'name':'PassTile2_1_mc','y':305},{'x':640,'name':'Floor2_1_mc','y':320},{'x':640,'name':'PassTile2_1_mc','y':305},{'x':704,'name':'Floor2_1_mc','y':320},{'x':704,'name':'PassTile2_1_mc','y':305},{'x':768,'name':'Floor2_1_mc','y':320},{'x':768,'name':'PassTile2_1_mc','y':305},{'x':1792,'name':'Floor2_1_mc','y':320},{'x':1792,'name':'PassTile2_1_mc','y':305},{'x':1856,'name':'Floor2_1_mc','y':320},{'x':1856,'name':'PassTile2_1_mc','y':305},{'level':4,'name':'Door_mc','isUpForwards':false,'y':256,'x':64,'heroPosY':320,'heroPosX':6528},{'x':832,'name':'Floor2_1_mc','y':320},{'x':832,'name':'PassTile2_1_mc','y':305},{'x':960,'name':'Floor2_1_mc','y':320},{'x':1024,'name':'Floor2_1_mc','y':320},{'x':1024,'name':'PassTile2_1_mc','y':305},{'x':1088,'name':'Floor2_1_mc','y':320},{'x':1088,'name':'PassTile2_1_mc','y':305},{'x':448,'name':'PassTile2_1_mc','y':305},{'x':1152,'name':'Floor2_1_mc','y':320},{'x':1152,'name':'PassTile2_1_mc','y':305},{'x':1216,'name':'Floor2_1_mc','y':320},{'x':1216,'name':'PassTile2_1_mc','y':305},{'x':1280,'name':'Floor2_1_mc','y':320},{'x':1280,'name':'PassTile2_1_mc','y':305},{'x':1344,'name':'Floor2_1_mc','y':320},{'x':1344,'name':'PassTile2_1_mc','y':305},{'x':1408,'name':'Floor2_1_mc','y':320},{'x':1408,'name':'PassTile2_1_mc','y':305},{'x':1472,'name':'Floor2_1_mc','y':320},{'x':1472,'name':'PassTile2_1_mc','y':305},{'x':1536,'name':'Floor2_1_mc','y':320},{'x':1536,'name':'PassTile2_1_mc','y':305},{'x':1600,'name':'Floor2_1_mc','y':320},{'x':1600,'name':'PassTile2_1_mc','y':305},{'x':1664,'name':'Floor2_1_mc','y':320},{'x':1664,'name':'PassTile2_1_mc','y':305},{'x':1728,'name':'Floor2_1_mc','y':320},{'x':1728,'name':'PassTile2_1_mc','y':305},{'x':2575.05,'name':'PassTile2_2_mc','y':277},{'x':2560,'name':'Floor2_1_mc','y':320},{'x':2559.5,'name':'PassTile2_1_mc','y':305},{'x':2624,'name':'Floor2_1_mc','y':320},{'x':2624,'name':'PassTile2_1_mc','y':305},{'x':1920,'name':'Floor2_1_mc','y':320},{'x':1920,'name':'PassTile2_1_mc','y':305},{'x':1984,'name':'Floor2_1_mc','y':320},{'x':1984,'name':'PassTile2_1_mc','y':305},{'x':2048,'name':'Floor2_3_mc','y':320},{'x':2112,'name':'Floor2_1_mc','y':320},{'x':2112,'name':'PassTile2_1_mc','y':305},{'x':2176,'name':'Floor2_1_mc','y':320},{'x':2176,'name':'PassTile2_1_mc','y':305},{'x':2240,'name':'Floor2_1_mc','y':320},{'x':2240,'name':'PassTile2_1_mc','y':305},{'x':2304,'name':'Floor2_1_mc','y':320},{'x':2304,'name':'PassTile2_1_mc','y':305},{'x':2368,'name':'Floor2_1_mc','y':320},{'x':2368,'name':'PassTile2_1_mc','y':305},{'x':2432,'name':'Floor2_1_mc','y':320},{'x':2432,'name':'PassTile2_1_mc','y':305},{'x':2496,'name':'Floor2_1_mc','y':320},{'x':2496,'name':'PassTile2_1_mc','y':305},{'x':3343.05,'name':'PassTile2_2_mc','y':277},{'x':3328,'name':'Floor2_1_mc','y':320},{'x':3327.5,'name':'PassTile2_1_mc','y':305},{'x':2688,'name':'Floor2_1_mc','y':320},{'x':2688,'name':'PassTile2_1_mc','y':305},{'x':2752,'name':'Floor2_1_mc','y':320},{'x':2752,'name':'PassTile2_1_mc','y':305},{'x':2816,'name':'Floor2_1_mc','y':320},{'x':2816,'name':'PassTile2_1_mc','y':305},{'x':2880,'name':'Floor2_1_mc','y':320},{'x':2880,'name':'PassTile2_1_mc','y':305},{'x':2944,'name':'Floor2_1_mc','y':320},{'x':2944,'name':'PassTile2_1_mc','y':305},{'x':3008,'name':'Floor2_1_mc','y':320},{'x':3008,'name':'PassTile2_1_mc','y':305},{'x':3072,'name':'Floor2_1_mc','y':320},{'x':3072,'name':'PassTile2_1_mc','y':305},{'x':3136,'name':'Floor2_1_mc','y':320},{'x':3136,'name':'PassTile2_1_mc','y':305},{'x':3200,'name':'Floor2_1_mc','y':320},{'x':3200,'name':'PassTile2_1_mc','y':305},{'x':3264,'name':'Floor2_1_mc','y':320},{'x':3264,'name':'PassTile2_1_mc','y':305},{'x':2048,'name':'Floor2_1_mc','y':192},{'x':2048,'name':'Floor2_2_mc','y':256},{'x':2047,'name':'PassTile2_1_mc','y':174},{'x':2030.45,'name':'PassTile2_3_mc','y':192.4},{'x':2112,'name':'PassTile2_5_mc','y':191.85000000000002},{'x':2111,'name':'PassTile2_6_mc','y':256},{'x':2033.25,'name':'PassTile2_4_mc','y':257.5},{'x':1088,'name':'PassTile2_10_mc','y':296.05},{'x':1152,'name':'PassTile2_11_mc','y':296.05},{'x':1216,'name':'PassTile2_12_mc','y':296.05},{'x':2816,'name':'PassTile2_10_mc','y':300.05},{'x':2880,'name':'PassTile2_11_mc','y':300.05},{'x':2944,'name':'PassTile2_12_mc','y':300.05},{'x':2368,'name':'PassTile2_13_mc','y':298},{'x':2432.05,'name':'PassTile2_14_mc','y':297.45},{'x':2496,'name':'PassTile2_15_mc','y':298.5},{'x':2560,'name':'PassTile2_16_mc','y':298.5},{'level':6,'name':'Door_mc','isUpForwards':false,'y':256,'x':3200,'heroPosY':320,'heroPosX':128},{'x':896,'name':'Floor2_1_mc','y':320},{'x':896,'name':'PassTile2_1_mc','y':305},{'charTypeList':['SoldierA,2','SoldierB,3'],'name':'BossAnchor_mc','bossType':'BossB','x':896,'maxCharNum':32,'y':0.05},{'width':3410.05,'height':385}]";
["item5"] = "[{'x':1694,'name':'Item_2_mc','y':256},{'x':1948.45,'name':'Item_4_mc','y':256},{'name':'Item_6_mc','y':192,'x':2082.9500000000003,'type':'DBDragonShot'},{'x':2204,'name':'Item_2_mc','y':256}]";
["map6"] = "[{'x':4160,'name':'PassTile_1_mc','y':305},{'x':576,'name':'PassTile_8_mc','y':256},{'x':1152,'name':'PassTile_7_mc','y':256},{'x':1216,'name':'PassTile_6_mc','y':256},{'x':1088,'name':'PassTile_7_mc','y':256},{'x':1074,'name':'PassTile_4_mc','y':256},{'x':512,'name':'PassTile_1_mc','y':305},{'x':0,'name':'Floor_1_mc','y':320},{'x':64,'name':'Floor_1_mc','y':320},{'x':128,'name':'Floor_1_mc','y':320},{'x':192,'name':'Floor_1_mc','y':320},{'x':256,'name':'Floor_1_mc','y':320},{'x':320,'name':'Floor_1_mc','y':320},{'x':384,'name':'Floor_1_mc','y':320},{'x':448,'name':'Floor_1_mc','y':320},{'x':512,'name':'Floor_1_mc','y':320},{'x':576,'name':'Floor_1_mc','y':320},{'x':640,'name':'Floor_1_mc','y':320},{'x':704,'name':'Floor_1_mc','y':320},{'x':0,'name':'PassTile_1_mc','y':305},{'x':64,'name':'PassTile_1_mc','y':305},{'x':128,'name':'PassTile_1_mc','y':305},{'x':192,'name':'PassTile_1_mc','y':305},{'x':576,'name':'PassTile_1_mc','y':305},{'x':640,'name':'PassTile_1_mc','y':305},{'x':704,'name':'PassTile_1_mc','y':305},{'x':896,'name':'Floor_1_mc','y':320},{'x':960,'name':'Floor_1_mc','y':320},{'x':896,'name':'PassTile_1_mc','y':305},{'x':960,'name':'PassTile_1_mc','y':305},{'x':1024,'name':'Floor_1_mc','y':320},{'x':1088,'name':'Floor_1_mc','y':320},{'x':1152,'name':'Floor_1_mc','y':320},{'x':1216,'name':'Floor_1_mc','y':320},{'x':1024,'name':'PassTile_1_mc','y':305},{'x':1088,'name':'PassTile_1_mc','y':305},{'x':1152,'name':'PassTile_1_mc','y':305},{'x':1216,'name':'PassTile_1_mc','y':305},{'x':192,'name':'PassTile_2_mc','y':278},{'x':1280,'name':'Floor_1_mc','y':320},{'x':1344,'name':'Floor_1_mc','y':320},{'x':1408,'name':'Floor_3_mc','y':320},{'x':1280,'name':'PassTile_1_mc','y':305},{'x':1344,'name':'PassTile_1_mc','y':305},{'x':1408,'name':'PassTile_1_mc','y':305},{'x':1172,'name':'PassTile_2_mc','y':278},{'x':1376,'name':'PassTile_2_mc','y':278},{'x':1440,'name':'PassTile_2_mc','y':277},{'x':1472,'name':'Floor_3_mc','y':320},{'x':1536,'name':'Floor_1_mc','y':320},{'x':1600,'name':'Floor_1_mc','y':320},{'x':1472,'name':'PassTile_1_mc','y':305},{'x':1536,'name':'PassTile_1_mc','y':305},{'x':1600,'name':'PassTile_1_mc','y':305},{'x':1504,'name':'PassTile_2_mc','y':278},{'x':1568,'name':'PassTile_2_mc','y':278},{'x':1632,'name':'PassTile_2_mc','y':277},{'x':1664,'name':'Floor_1_mc','y':320},{'x':1728,'name':'Floor_1_mc','y':320},{'x':1792,'name':'Floor_1_mc','y':320},{'x':1664,'name':'PassTile_1_mc','y':305},{'x':1728,'name':'PassTile_1_mc','y':305},{'x':1792,'name':'PassTile_1_mc','y':305},{'x':1696,'name':'PassTile_2_mc','y':278},{'x':1760,'name':'PassTile_2_mc','y':278},{'x':1824,'name':'PassTile_2_mc','y':277},{'x':1856,'name':'Floor_1_mc','y':320},{'x':1920,'name':'Floor_1_mc','y':320},{'x':1984,'name':'Floor_1_mc','y':320},{'x':1856,'name':'PassTile_1_mc','y':305},{'x':1920,'name':'PassTile_1_mc','y':305},{'x':1984,'name':'PassTile_1_mc','y':305},{'x':1888,'name':'PassTile_2_mc','y':278},{'x':1952,'name':'PassTile_2_mc','y':278},{'x':2016,'name':'PassTile_2_mc','y':277},{'x':2048,'name':'Floor_2_mc','y':320},{'x':2112,'name':'Floor_3_mc','y':320},{'x':2176,'name':'Floor_3_mc','y':320},{'x':2240,'name':'Floor_1_mc','y':320},{'x':2304,'name':'Floor_1_mc','y':320},{'x':2368,'name':'Floor_1_mc','y':320},{'x':2240,'name':'PassTile_1_mc','y':305},{'x':2304,'name':'PassTile_1_mc','y':305},{'x':2368,'name':'PassTile_1_mc','y':305},{'x':2272,'name':'PassTile_2_mc','y':278},{'x':2336,'name':'PassTile_2_mc','y':278},{'x':2400,'name':'PassTile_2_mc','y':277},{'x':256,'name':'PassTile_1_mc','y':305},{'x':832,'name':'PassTile_1_mc','y':305},{'x':832,'name':'Floor_1_mc','y':320},{'x':768,'name':'Floor_1_mc','y':320},{'x':768,'name':'PassTile_1_mc','y':305},{'x':1070.2,'name':'PassTile_3_mc','y':193},{'x':1088,'name':'CloudFloor_1_mc','y':192},{'x':1088,'name':'PassTile_1_mc','y':177},{'x':1216,'name':'PassTile_5_mc','y':192},{'x':1152,'name':'CloudFloor_1_mc','y':192},{'x':1152,'name':'PassTile_1_mc','y':177},{'x':0,'name':'PassTile_8_mc','y':256},{'x':1109.05,'name':'PassTile_2_mc','y':278},{'x':847.0500000000001,'name':'PassTile_2_mc','y':277},{'x':1472,'name':'PassTile_8_mc','y':256},{'x':960,'name':'PassTile_8_mc','y':256},{'x':1088,'name':'PassTile_8_mc','y':128},{'x':1152,'name':'PassTile_8_mc','y':128},{'x':0,'name':'PassTile_9_mc','y':266},{'x':128,'name':'PassTile_9_mc','y':266},{'x':640,'name':'PassTile_9_mc','y':266},{'x':768,'name':'PassTile_9_mc','y':266},{'x':1088,'name':'PassTile_9_mc','y':138},{'x':1152,'name':'PassTile_9_mc','y':138},{'x':64,'name':'PassTile_10_mc','y':296},{'x':128,'name':'PassTile_11_mc','y':296},{'x':192,'name':'PassTile_12_mc','y':296},{'x':1728,'name':'PassTile_10_mc','y':299},{'x':1792,'name':'PassTile_11_mc','y':299},{'x':1856,'name':'PassTile_12_mc','y':299},{'x':2080,'name':'PassTile_2_mc','y':214},{'x':2112,'name':'Floor_2_mc','y':256},{'x':2176,'name':'Floor_1_mc','y':192},{'x':2176,'name':'Floor_2_mc','y':256},{'x':2048,'name':'Floor_1_mc','y':256},{'x':2112,'name':'PassTile_1_mc','y':177},{'x':2176,'name':'PassTile_1_mc','y':177},{'x':2049,'name':'PassTile_2_mc','y':214},{'x':2048,'name':'PassTile_1_mc','y':241},{'x':2095.1,'name':'PassTile_3_mc','y':192},{'x':2112,'name':'Floor_1_mc','y':192},{'x':2240,'name':'PassTile_5_mc','y':192},{'x':2240,'name':'PassTile_6_mc','y':256},{'x':2030.15,'name':'PassTile_3_mc','y':257.75},{'x':2112,'name':'PassTile_8_mc','y':128},{'x':2176,'name':'PassTile_8_mc','y':128},{'x':2112,'name':'PassTile_9_mc','y':138},{'x':2176,'name':'PassTile_9_mc','y':138},{'x':320,'name':'PassTile_1_mc','y':305.90000000000003},{'x':384,'name':'PassTile_1_mc','y':305.90000000000003},{'x':448,'name':'PassTile_1_mc','y':305.90000000000003},{'x':352,'name':'PassTile_2_mc','y':278.90000000000003},{'x':416,'name':'PassTile_2_mc','y':278.90000000000003},{'x':1376,'name':'PassTile_2_mc','y':277.90000000000003},{'x':1408,'name':'Floor_2_mc','y':256},{'x':1472,'name':'Floor_1_mc','y':192},{'x':1472,'name':'Floor_2_mc','y':256},{'x':1408,'name':'PassTile_1_mc','y':177},{'x':1472,'name':'PassTile_1_mc','y':177},{'x':1408,'name':'Floor_1_mc','y':192},{'x':1536,'name':'PassTile_5_mc','y':192},{'x':1536,'name':'PassTile_6_mc','y':256},{'x':1393.95,'name':'PassTile_4_mc','y':255.4},{'x':1390.15,'name':'PassTile_3_mc','y':192.4},{'x':1408,'name':'PassTile_8_mc','y':128},{'x':512,'name':'PassTile_10_mc','y':296},{'x':576,'name':'PassTile_11_mc','y':296},{'x':640,'name':'PassTile_12_mc','y':296},{'x':2432,'name':'Floor_1_mc','y':320},{'x':2496,'name':'Floor_1_mc','y':320},{'x':2432,'name':'PassTile_1_mc','y':305},{'x':2496,'name':'PassTile_1_mc','y':305},{'x':2464,'name':'PassTile_2_mc','y':278},{'x':2528,'name':'PassTile_2_mc','y':277},{'x':2560,'name':'Floor_1_mc','y':320},{'x':2624,'name':'Floor_1_mc','y':320},{'x':2560,'name':'PassTile_1_mc','y':305},{'x':2624,'name':'PassTile_1_mc','y':305},{'x':2592,'name':'PassTile_2_mc','y':278},{'x':2656,'name':'PassTile_2_mc','y':277},{'x':3264,'name':'PassTile_8_mc','y':192},{'x':2688,'name':'Floor_1_mc','y':320},{'x':2752,'name':'Floor_1_mc','y':320},{'x':2816,'name':'Floor_1_mc','y':320},{'x':2880,'name':'Floor_1_mc','y':320},{'x':2944,'name':'Floor_1_mc','y':256},{'x':3008,'name':'Floor_1_mc','y':256},{'x':3136,'name':'Floor_1_mc','y':256},{'x':3264,'name':'Floor_1_mc','y':256},{'x':3328,'name':'Floor_1_mc','y':256},{'x':2688,'name':'PassTile_1_mc','y':305},{'x':2752,'name':'PassTile_1_mc','y':305},{'x':2816,'name':'PassTile_1_mc','y':305},{'x':2880,'name':'PassTile_1_mc','y':305},{'x':3264,'name':'PassTile_1_mc','y':241},{'x':3328,'name':'PassTile_1_mc','y':241},{'x':2880,'name':'PassTile_2_mc','y':278},{'x':2944,'name':'PassTile_1_mc','y':241},{'x':2688,'name':'PassTile_8_mc','y':256},{'x':2688,'name':'PassTile_9_mc','y':266},{'x':2816,'name':'PassTile_9_mc','y':266},{'x':3328,'name':'PassTile_9_mc','y':202},{'x':2752,'name':'PassTile_10_mc','y':296},{'x':2816,'name':'PassTile_11_mc','y':296},{'x':2880,'name':'PassTile_12_mc','y':296},{'x':3008,'name':'PassTile_1_mc','y':241.9},{'x':3136,'name':'PassTile_1_mc','y':241.9},{'x':3040,'name':'PassTile_2_mc','y':214.9},{'x':3264,'name':'PassTile_10_mc','y':232},{'x':3328,'name':'PassTile_11_mc','y':232},{'x':3392,'name':'PassTile_12_mc','y':232},{'x':2944,'name':'Floor_2_mc','y':320},{'x':3008,'name':'Floor_2_mc','y':320},{'x':3136,'name':'Floor_2_mc','y':320},{'x':3264,'name':'Floor_2_mc','y':320},{'x':3328,'name':'Floor_2_mc','y':320},{'x':2926.3500000000004,'name':'PassTile_3_mc','y':256.40000000000003},{'x':3968,'name':'PassTile_8_mc','y':256},{'x':3904,'name':'PassTile_1_mc','y':241},{'x':3456,'name':'Floor_1_mc','y':256},{'x':3520,'name':'Floor_1_mc','y':256},{'x':3648,'name':'Floor_1_mc','y':256},{'x':3712,'name':'Floor_1_mc','y':256},{'x':3904,'name':'Floor_1_mc','y':256},{'x':3968,'name':'Floor_3_mc','y':320},{'x':3456,'name':'PassTile_1_mc','y':241},{'x':3520,'name':'PassTile_1_mc','y':241},{'x':3968,'name':'PassTile_1_mc','y':305},{'x':4032,'name':'PassTile_1_mc','y':369},{'x':4288,'name':'Floor_1_mc','y':192},{'x':4288,'name':'PassTile_1_mc','y':177},{'x':4416,'name':'Floor_1_mc','y':192},{'x':4480,'name':'Floor_1_mc','y':192},{'x':4608,'name':'Floor_1_mc','y':192},{'x':4416,'name':'PassTile_1_mc','y':177},{'x':4480,'name':'PassTile_1_mc','y':177},{'x':4608,'name':'PassTile_1_mc','y':177},{'x':4736,'name':'Floor_1_mc','y':192},{'x':4800,'name':'Floor_1_mc','y':256},{'x':4736,'name':'PassTile_1_mc','y':177},{'x':4800,'name':'PassTile_1_mc','y':241},{'x':4768,'name':'PassTile_2_mc','y':150},{'x':4832,'name':'PassTile_2_mc','y':213},{'x':4864,'name':'Floor_1_mc','y':320},{'x':4928,'name':'Floor_1_mc','y':320},{'x':4992,'name':'Floor_1_mc','y':320},{'x':4864,'name':'PassTile_1_mc','y':305},{'x':4928,'name':'PassTile_1_mc','y':305},{'x':4992,'name':'PassTile_1_mc','y':305},{'x':4896,'name':'PassTile_2_mc','y':278},{'x':4960,'name':'PassTile_2_mc','y':278},{'x':5024,'name':'PassTile_2_mc','y':277},{'x':5056,'name':'Floor_1_mc','y':320},{'x':5120,'name':'Floor_1_mc','y':320},{'x':5184,'name':'Floor_1_mc','y':320},{'x':5056,'name':'PassTile_1_mc','y':305},{'x':5120,'name':'PassTile_1_mc','y':305},{'x':5184,'name':'PassTile_1_mc','y':305},{'x':5088,'name':'PassTile_2_mc','y':278},{'x':5152,'name':'PassTile_2_mc','y':278},{'x':5216,'name':'PassTile_2_mc','y':277},{'x':5248,'name':'Floor_1_mc','y':320},{'x':5312,'name':'Floor_1_mc','y':320},{'x':5376,'name':'Floor_1_mc','y':320},{'x':5248,'name':'PassTile_1_mc','y':305},{'x':5312,'name':'PassTile_1_mc','y':305},{'x':5376,'name':'PassTile_1_mc','y':305},{'x':5280,'name':'PassTile_2_mc','y':278},{'x':5344,'name':'PassTile_2_mc','y':278},{'x':5408,'name':'PassTile_2_mc','y':277},{'x':5440,'name':'Floor_2_mc','y':320},{'x':5504,'name':'Floor_3_mc','y':320},{'x':5568,'name':'Floor_3_mc','y':320},{'x':5632,'name':'Floor_2_mc','y':320},{'x':5696,'name':'Floor_1_mc','y':320},{'x':5760,'name':'Floor_1_mc','y':320},{'x':5696,'name':'PassTile_1_mc','y':305},{'x':5760,'name':'PassTile_1_mc','y':305},{'x':5728,'name':'PassTile_2_mc','y':278},{'x':5792,'name':'PassTile_2_mc','y':277},{'x':3648,'name':'PassTile_1_mc','y':241},{'x':4224,'name':'PassTile_1_mc','y':177},{'x':4224,'name':'Floor_1_mc','y':192},{'x':3456,'name':'PassTile_8_mc','y':192},{'x':4501.05,'name':'PassTile_2_mc','y':150},{'x':4239.05,'name':'PassTile_2_mc','y':149},{'x':4288,'name':'PassTile_8_mc','y':128},{'x':3456,'name':'PassTile_9_mc','y':202},{'x':3520,'name':'PassTile_9_mc','y':202},{'x':4032,'name':'PassTile_9_mc','y':330},{'x':4032,'name':'PassTile_9_mc','y':330},{'x':5120,'name':'PassTile_10_mc','y':299},{'x':5184,'name':'PassTile_11_mc','y':299},{'x':5248,'name':'PassTile_12_mc','y':299},{'x':5472,'name':'PassTile_2_mc','y':214},{'x':5504,'name':'Floor_2_mc','y':256},{'x':5568,'name':'Floor_1_mc','y':192},{'x':5568,'name':'Floor_2_mc','y':256},{'x':5440,'name':'Floor_1_mc','y':256},{'x':5504,'name':'PassTile_1_mc','y':177},{'x':5568,'name':'PassTile_1_mc','y':177},{'x':5441,'name':'PassTile_2_mc','y':214},{'x':5440,'name':'PassTile_1_mc','y':241},{'x':5487.1,'name':'PassTile_3_mc','y':192},{'x':5504,'name':'Floor_1_mc','y':192},{'x':5422.150000000001,'name':'PassTile_3_mc','y':257.75},{'x':5504,'name':'PassTile_8_mc','y':128},{'x':5568,'name':'PassTile_8_mc','y':128},{'x':5504,'name':'PassTile_9_mc','y':138},{'x':5568,'name':'PassTile_9_mc','y':138},{'x':3712,'name':'PassTile_1_mc','y':241.9},{'x':3744,'name':'PassTile_2_mc','y':214.9},{'x':4768,'name':'PassTile_2_mc','y':149.85},{'x':3968,'name':'Floor_2_mc','y':256},{'x':4032,'name':'Floor_1_mc','y':256},{'x':4032,'name':'Floor_2_mc','y':320},{'x':3968,'name':'PassTile_1_mc','y':177},{'x':4032,'name':'PassTile_1_mc','y':241},{'x':3968,'name':'Floor_1_mc','y':192},{'x':4800,'name':'PassTile_5_mc','y':192},{'x':3950.15,'name':'PassTile_3_mc','y':192.4},{'x':3968,'name':'PassTile_8_mc','y':128},{'x':5824,'name':'Floor_1_mc','y':320},{'x':5888,'name':'Floor_1_mc','y':320},{'x':5824,'name':'PassTile_1_mc','y':305},{'x':5888,'name':'PassTile_1_mc','y':305},{'x':5856,'name':'PassTile_2_mc','y':278},{'x':5920,'name':'PassTile_2_mc','y':277},{'x':5952,'name':'Floor_1_mc','y':320},{'x':6016,'name':'Floor_1_mc','y':320},{'x':5952,'name':'PassTile_1_mc','y':305},{'x':6016,'name':'PassTile_1_mc','y':305},{'x':5984,'name':'PassTile_2_mc','y':278},{'x':6048,'name':'PassTile_2_mc','y':277},{'x':6656,'name':'PassTile_8_mc','y':256},{'x':6592,'name':'PassTile_1_mc','y':305},{'x':6080,'name':'Floor_1_mc','y':320},{'x':6144,'name':'Floor_1_mc','y':320},{'x':6208,'name':'Floor_1_mc','y':320},{'x':6272,'name':'Floor_1_mc','y':320},{'x':6336,'name':'Floor_1_mc','y':320},{'x':6400,'name':'Floor_1_mc','y':320},{'x':6464,'name':'Floor_1_mc','y':320},{'x':6528,'name':'Floor_1_mc','y':320},{'x':6592,'name':'Floor_1_mc','y':320},{'x':6656,'name':'Floor_1_mc','y':320},{'x':6720,'name':'Floor_1_mc','y':320},{'x':6080,'name':'PassTile_1_mc','y':305},{'x':6144,'name':'PassTile_1_mc','y':305},{'x':6208,'name':'PassTile_1_mc','y':305},{'x':6272,'name':'PassTile_1_mc','y':305},{'x':6656,'name':'PassTile_1_mc','y':305},{'x':6720,'name':'PassTile_1_mc','y':305},{'x':6272,'name':'PassTile_2_mc','y':278},{'x':6336,'name':'PassTile_1_mc','y':305},{'x':6080,'name':'PassTile_8_mc','y':256},{'x':6080,'name':'PassTile_9_mc','y':266},{'x':6208,'name':'PassTile_9_mc','y':266},{'x':6720,'name':'PassTile_9_mc','y':266},{'x':6144,'name':'PassTile_10_mc','y':296},{'x':6208,'name':'PassTile_11_mc','y':296},{'x':6272,'name':'PassTile_12_mc','y':296},{'x':6400,'name':'PassTile_1_mc','y':305.90000000000003},{'x':6464,'name':'PassTile_1_mc','y':305.90000000000003},{'x':6528,'name':'PassTile_1_mc','y':305.90000000000003},{'x':6432,'name':'PassTile_2_mc','y':278.90000000000003},{'x':6496,'name':'PassTile_2_mc','y':278.90000000000003},{'x':6400,'name':'PassTile_10_mc','y':296},{'x':6464,'name':'PassTile_11_mc','y':296},{'x':6528,'name':'PassTile_12_mc','y':296},{'x':3456,'name':'Floor_2_mc','y':320},{'x':3520,'name':'Floor_2_mc','y':320},{'x':3648,'name':'Floor_2_mc','y':320},{'x':3712,'name':'Floor_2_mc','y':320},{'x':3904,'name':'Floor_2_mc','y':320},{'x':4224,'name':'PassTile_8_mc','y':256},{'x':4224,'name':'PassTile_1_mc','y':305},{'x':4288,'name':'PassTile_1_mc','y':305},{'x':4288,'name':'PassTile_9_mc','y':266},{'x':4288,'name':'PassTile_9_mc','y':266},{'x':4224,'name':'Floor_2_mc','y':256},{'x':4288,'name':'Floor_2_mc','y':256},{'x':4416,'name':'PassTile_1_mc','y':305},{'x':4416,'name':'PassTile_9_mc','y':266},{'x':4416,'name':'PassTile_9_mc','y':266},{'x':4416,'name':'Floor_2_mc','y':256},{'x':4480,'name':'PassTile_8_mc','y':256},{'x':4480,'name':'PassTile_1_mc','y':305},{'x':4480,'name':'Floor_2_mc','y':256},{'x':4608,'name':'PassTile_8_mc','y':256},{'x':4608,'name':'PassTile_1_mc','y':305},{'x':4608,'name':'Floor_2_mc','y':256},{'x':4736,'name':'PassTile_1_mc','y':305},{'x':4736,'name':'PassTile_9_mc','y':266},{'x':4736,'name':'PassTile_9_mc','y':266},{'x':4736,'name':'Floor_2_mc','y':256},{'x':4224,'name':'Floor_3_mc','y':320},{'x':4288,'name':'Floor_3_mc','y':320},{'x':4416,'name':'Floor_3_mc','y':320},{'x':4480,'name':'Floor_3_mc','y':320},{'x':4608,'name':'Floor_3_mc','y':320},{'x':4736,'name':'Floor_3_mc','y':320},{'x':4800,'name':'Floor_2_mc','y':320},{'x':4864,'name':'PassTile_5_mc','y':256},{'level':7,'name':'Door_mc','isUpForwards':false,'y':256,'x':6592,'heroPosY':320,'heroPosX':128},{'x':3584,'name':'PassTile_5_mc','y':256},{'x':3584,'name':'PassTile_6_mc','y':320},{'x':3635.7000000000003,'name':'PassTile_4_mc','y':319.40000000000003},{'x':3631.9,'name':'PassTile_3_mc','y':256.40000000000003},{'x':4096,'name':'PassTile_5_mc','y':256},{'x':4206.05,'name':'PassTile_3_mc','y':192.4},{'x':4096,'name':'PassTile_6_mc','y':320},{'x':4211.85,'name':'PassTile_4_mc','y':255.4},{'x':3712,'name':'PassTile_10_mc','y':235.05},{'x':3776,'name':'PassTile_11_mc','y':235.05},{'x':3840,'name':'PassTile_12_mc','y':235.05},{'x':5632,'name':'Floor_1_mc','y':256},{'x':5632,'name':'PassTile_1_mc','y':241},{'x':5664,'name':'PassTile_2_mc','y':214},{'x':5632,'name':'PassTile_5_mc','y':192},{'x':5696,'name':'PassTile_5_mc','y':256},{'charTypeList':['SoldierB,2','SoldierC,2','SoldierA2,1'],'name':'Anchor_mc','y':0.05,'x':896,'maxCharNum':8},{'x':3443.65,'name':'PassTile_4_mc','y':319.40000000000003},{'x':3439.8500000000004,'name':'PassTile_3_mc','y':256.40000000000003},{'x':3392,'name':'PassTile_5_mc','y':256},{'x':3392,'name':'PassTile_6_mc','y':320},{'x':3200,'name':'PassTile_5_mc','y':256},{'x':3200,'name':'PassTile_6_mc','y':320},{'x':3251.7000000000003,'name':'PassTile_4_mc','y':319.40000000000003},{'x':3247.9,'name':'PassTile_3_mc','y':256.40000000000003},{'x':3072,'name':'PassTile_5_mc','y':256},{'x':3072,'name':'PassTile_6_mc','y':320},{'x':3123.7000000000003,'name':'PassTile_4_mc','y':319.40000000000003},{'x':3119.9,'name':'PassTile_3_mc','y':256.40000000000003},{'x':3776,'name':'PassTile_5_mc','y':256},{'x':3776,'name':'PassTile_6_mc','y':320},{'x':3827.7000000000003,'name':'PassTile_4_mc','y':319.40000000000003},{'x':3823.9,'name':'PassTile_3_mc','y':256.40000000000003},{'x':3840,'name':'PassTile_1_mc','y':241},{'x':3840,'name':'Floor_1_mc','y':256},{'x':3840,'name':'Floor_2_mc','y':320},{'x':4160,'name':'Floor_1_mc','y':320},{'x':4161,'name':'PassTile_2_mc','y':278},{'x':4142.150000000001,'name':'PassTile_3_mc','y':321.75},{'x':4672,'name':'PassTile_5_mc','y':192},{'x':4672,'name':'PassTile_6_mc','y':256},{'x':4672,'name':'PassTile_6_mc','y':320},{'x':4723.8,'name':'PassTile_4_mc','y':255.4},{'x':4720,'name':'PassTile_3_mc','y':192.4},{'x':4724,'name':'PassTile_4_mc','y':319.5},{'x':4544,'name':'PassTile_5_mc','y':192},{'x':4544,'name':'PassTile_6_mc','y':256},{'x':4544,'name':'PassTile_6_mc','y':320},{'x':4595.8,'name':'PassTile_4_mc','y':255.4},{'x':4592,'name':'PassTile_3_mc','y':192.4},{'x':4596,'name':'PassTile_4_mc','y':319.5},{'level':5,'name':'Door_mc','isUpForwards':false,'y':256,'x':64,'heroPosY':320,'heroPosX':3136},{'charTypeList':['SoldierB,2','SoldierC,2','SoldierA2,1'],'name':'Anchor_mc','y':0.05,'x':2432,'maxCharNum':8},{'charTypeList':['SoldierB2,1','SoldierC,2','SoldierA2,2'],'name':'Anchor_mc','y':0.05,'x':4096,'maxCharNum':10},{'charTypeList':['SoldierB2,1','SoldierC,2','SoldierA2,2'],'name':'Anchor_mc','y':0.05,'x':5888,'maxCharNum':10},{'x':4032,'name':'PassTile_5_mc','y':192},{'x':4352,'name':'Floor_1_mc','y':192},{'x':4352,'name':'PassTile_1_mc','y':177},{'x':4352,'name':'PassTile_1_mc','y':305},{'x':4352,'name':'PassTile_9_mc','y':266},{'x':4352,'name':'PassTile_9_mc','y':266},{'x':4352,'name':'Floor_2_mc','y':256},{'x':4352,'name':'Floor_3_mc','y':320},{'width':6796,'height':832}]";
["item6"] = "";
["map7"] = "[{'level':12,'name':'Door_mc','isUpForwards':true,'y':256,'x':704,'heroPosY':320,'heroPosX':128},{'x':755.5,'name':'PassTile_4_mc','y':253.9},{'x':704,'name':'PassTile_6_mc','y':256},{'x':832,'name':'PassTile_6_mc','y':256},{'x':626,'name':'PassTile_4_mc','y':256},{'x':768,'name':'PassTile_13_mc','y':256},{'x':768,'name':'CloudFloor_1_mc','y':128},{'x':768,'name':'PassTile_1_mc','y':113},{'x':768,'name':'PassTile_9_mc','y':74},{'x':768,'name':'PassTile_7_mc','y':192},{'x':704,'name':'CloudFloor_1_mc','y':128},{'x':704,'name':'PassTile_1_mc','y':113},{'x':704,'name':'PassTile_9_mc','y':74},{'x':640,'name':'PassTile_13_mc','y':256},{'x':640,'name':'CloudFloor_1_mc','y':128},{'x':640,'name':'PassTile_1_mc','y':113},{'x':640,'name':'PassTile_9_mc','y':74},{'x':640,'name':'PassTile_7_mc','y':192},{'x':640,'name':'PassTile_9_mc','y':266},{'x':622.2,'name':'PassTile_3_mc','y':128.4},{'x':626.5,'name':'PassTile_4_mc','y':192.5},{'x':832,'name':'PassTile_6_mc','y':192},{'x':832,'name':'PassTile_5_mc','y':128},{'x':704,'name':'PassTile_6_mc','y':192},{'x':755.5,'name':'PassTile_4_mc','y':192},{'x':769.6500000000001,'name':'PassTile_9_mc','y':266},{'x':2738.5,'name':'PassTile_4_mc','y':253},{'x':2752,'name':'PassTile_13_mc','y':256},{'x':2816,'name':'PassTile_7_mc','y':256},{'x':2880,'name':'CloudFloor_1_mc','y':192},{'x':2880,'name':'PassTile_1_mc','y':177},{'x':2944,'name':'PassTile_5_mc','y':192},{'x':2816,'name':'PassTile_9_mc','y':266},{'x':2880,'name':'PassTile_9_mc','y':138},{'x':2752,'name':'CloudFloor_1_mc','y':128},{'x':2752,'name':'PassTile_1_mc','y':113},{'x':2752,'name':'PassTile_9_mc','y':74},{'x':2816,'name':'CloudFloor_1_mc','y':192},{'x':2816,'name':'PassTile_1_mc','y':177},{'x':2816,'name':'PassTile_9_mc','y':138},{'x':2816,'name':'PassTile_5_mc','y':128},{'x':2752,'name':'PassTile_7_mc','y':192},{'x':2959.05,'name':'PassTile_2_mc','y':277},{'x':2880,'name':'PassTile_9_mc','y':266},{'x':2880,'name':'PassTile_1_mc','y':241},{'x':2944,'name':'PassTile_1_mc','y':241},{'x':4544,'name':'CloudFloor_1_mc','y':192},{'x':4544,'name':'PassTile_1_mc','y':177},{'x':4544,'name':'PassTile_9_mc','y':138},{'x':4544,'name':'PassTile_7_mc','y':256},{'x':4480,'name':'CloudFloor_1_mc','y':192},{'x':4480,'name':'PassTile_1_mc','y':177},{'x':4480,'name':'PassTile_9_mc','y':138},{'x':4480,'name':'PassTile_7_mc','y':256},{'x':4096,'name':'PassTile_7_mc','y':256},{'x':4032,'name':'PassTile_7_mc','y':256},{'x':6528,'name':'PassTile_10_mc','y':290.85},{'x':6592,'name':'PassTile_11_mc','y':290.85},{'x':6656,'name':'PassTile_12_mc','y':290.85},{'x':2368,'name':'CloudFloor_1_mc','y':256},{'x':2368,'name':'PassTile_1_mc','y':241},{'x':2368,'name':'PassTile_9_mc','y':202},{'x':2432,'name':'CloudFloor_1_mc','y':256},{'x':2432,'name':'PassTile_1_mc','y':241},{'x':2432,'name':'PassTile_9_mc','y':202},{'x':2304,'name':'PassTile_7_mc','y':256},{'x':2226,'name':'PassTile_4_mc','y':256},{'x':2496,'name':'PassTile_7_mc','y':256},{'x':1344,'name':'PassTile_13_mc','y':256},{'x':1408,'name':'PassTile_7_mc','y':256},{'x':1280,'name':'PassTile_7_mc','y':256},{'x':512,'name':'PassTile_8_mc','y':256},{'x':1024,'name':'PassTile_6_mc','y':256},{'x':448,'name':'PassTile_1_mc','y':305},{'x':238.20000000000002,'name':'PassTile_3_mc','y':257},{'x':256,'name':'CloudFloor_1_mc','y':256},{'x':0,'name':'Floor_1_mc','y':320},{'x':64,'name':'Floor_1_mc','y':320},{'x':128,'name':'Floor_1_mc','y':320},{'x':192,'name':'Floor_1_mc','y':320},{'x':256,'name':'Floor_1_mc','y':320},{'x':320,'name':'Floor_1_mc','y':320},{'x':384,'name':'Floor_1_mc','y':320},{'x':448,'name':'Floor_1_mc','y':320},{'x':512,'name':'Floor_1_mc','y':320},{'x':576,'name':'Floor_1_mc','y':320},{'x':640,'name':'Floor_1_mc','y':320},{'x':0,'name':'PassTile_1_mc','y':305},{'x':64,'name':'PassTile_1_mc','y':305},{'x':128,'name':'PassTile_1_mc','y':305},{'x':512,'name':'PassTile_1_mc','y':305},{'x':576,'name':'PassTile_1_mc','y':305},{'x':640,'name':'PassTile_1_mc','y':305},{'x':1024,'name':'Floor_1_mc','y':320},{'x':1024,'name':'PassTile_1_mc','y':305},{'x':128,'name':'PassTile_2_mc','y':278},{'x':256,'name':'PassTile_1_mc','y':241},{'x':320,'name':'PassTile_5_mc','y':256},{'x':192,'name':'PassTile_1_mc','y':305},{'x':942.2,'name':'PassTile_3_mc','y':193},{'x':960,'name':'CloudFloor_1_mc','y':192},{'x':960,'name':'PassTile_1_mc','y':177},{'x':1024,'name':'PassTile_5_mc','y':192},{'x':960,'name':'PassTile_7_mc','y':256},{'x':960,'name':'PassTile_1_mc','y':305},{'x':960,'name':'Floor_1_mc','y':320},{'x':896,'name':'Floor_1_mc','y':320},{'x':946,'name':'PassTile_4_mc','y':256},{'x':896,'name':'PassTile_1_mc','y':305},{'x':975.0500000000001,'name':'PassTile_2_mc','y':277},{'x':256,'name':'PassTile_8_mc','y':192},{'x':64,'name':'PassTile_9_mc','y':266},{'x':256,'name':'PassTile_9_mc','y':202},{'x':576,'name':'PassTile_9_mc','y':266},{'x':896,'name':'PassTile_9_mc','y':266},{'x':960,'name':'PassTile_9_mc','y':138},{'x':0,'name':'PassTile_10_mc','y':296},{'x':64,'name':'PassTile_11_mc','y':296},{'x':128,'name':'PassTile_12_mc','y':296},{'x':256,'name':'PassTile_1_mc','y':305.90000000000003},{'x':320,'name':'PassTile_1_mc','y':305.90000000000003},{'x':384,'name':'PassTile_1_mc','y':305.90000000000003},{'x':288,'name':'PassTile_2_mc','y':278.90000000000003},{'x':352,'name':'PassTile_2_mc','y':278.90000000000003},{'x':448,'name':'PassTile_10_mc','y':296},{'x':512,'name':'PassTile_11_mc','y':296},{'x':576,'name':'PassTile_12_mc','y':296},{'level':6,'name':'Door_mc','isUpForwards':false,'y':256,'x':64,'heroPosY':320,'heroPosX':6528},{'x':1088,'name':'Floor_1_mc','y':320},{'x':1088,'name':'PassTile_1_mc','y':305},{'x':1280,'name':'Floor_1_mc','y':320},{'x':1280,'name':'PassTile_1_mc','y':305},{'x':1198.2,'name':'PassTile_3_mc','y':193},{'x':1216,'name':'CloudFloor_1_mc','y':192},{'x':1216,'name':'PassTile_1_mc','y':177},{'x':1216,'name':'PassTile_1_mc','y':305},{'x':1216,'name':'Floor_2_mc','y':320},{'x':1152,'name':'Floor_2_mc','y':320},{'x':1152,'name':'PassTile_1_mc','y':305},{'x':1231.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1152,'name':'PassTile_9_mc','y':266},{'x':1216,'name':'PassTile_9_mc','y':138},{'x':1344,'name':'Floor_1_mc','y':320},{'x':1344,'name':'PassTile_1_mc','y':305},{'x':1536,'name':'Floor_2_mc','y':320},{'x':1536,'name':'PassTile_1_mc','y':305},{'x':1472,'name':'CloudFloor_1_mc','y':192},{'x':1472,'name':'PassTile_1_mc','y':177},{'x':1536,'name':'PassTile_5_mc','y':192},{'x':1472,'name':'PassTile_1_mc','y':305},{'x':1472,'name':'Floor_2_mc','y':320},{'x':1408,'name':'Floor_1_mc','y':320},{'x':1408,'name':'PassTile_1_mc','y':305},{'x':1408,'name':'PassTile_9_mc','y':266},{'x':1472,'name':'PassTile_9_mc','y':138},{'x':1792,'name':'PassTile_6_mc','y':256},{'x':1600,'name':'Floor_1_mc','y':320},{'x':1600,'name':'PassTile_1_mc','y':305},{'x':1792,'name':'Floor_1_mc','y':320},{'x':1792,'name':'PassTile_1_mc','y':305},{'x':1710.2,'name':'PassTile_3_mc','y':193},{'x':1728,'name':'CloudFloor_1_mc','y':192},{'x':1728,'name':'PassTile_1_mc','y':177},{'x':1792,'name':'PassTile_5_mc','y':192},{'x':1728,'name':'PassTile_7_mc','y':256},{'x':1728,'name':'PassTile_1_mc','y':305},{'x':1728,'name':'Floor_1_mc','y':320},{'x':1664,'name':'Floor_1_mc','y':320},{'x':1714,'name':'PassTile_4_mc','y':256},{'x':1664,'name':'PassTile_1_mc','y':305},{'x':1743.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1664,'name':'PassTile_9_mc','y':266},{'x':1728,'name':'PassTile_9_mc','y':138},{'x':704,'name':'Floor_1_mc','y':320},{'x':704,'name':'PassTile_1_mc','y':305},{'x':1856,'name':'Floor_1_mc','y':320},{'x':1856,'name':'PassTile_1_mc','y':305},{'x':832,'name':'PassTile_1_mc','y':305},{'x':832,'name':'Floor_1_mc','y':320},{'x':768,'name':'Floor_1_mc','y':320},{'x':768,'name':'PassTile_1_mc','y':305},{'x':847.0500000000001,'name':'PassTile_2_mc','y':277},{'x':768,'name':'PassTile_9_mc','y':266},{'x':1920,'name':'Floor_1_mc','y':320},{'x':1920,'name':'PassTile_1_mc','y':305},{'x':2112,'name':'Floor_1_mc','y':320},{'x':2112,'name':'PassTile_1_mc','y':305},{'x':2048,'name':'PassTile_1_mc','y':305},{'x':2048,'name':'Floor_1_mc','y':320},{'x':1984,'name':'Floor_1_mc','y':320},{'x':1984,'name':'PassTile_1_mc','y':305},{'x':2063.05,'name':'PassTile_2_mc','y':277},{'x':1984,'name':'PassTile_9_mc','y':266},{'x':1280,'name':'CloudFloor_1_mc','y':192},{'x':1280,'name':'PassTile_1_mc','y':177},{'x':1280,'name':'PassTile_9_mc','y':138},{'x':1344,'name':'CloudFloor_1_mc','y':128},{'x':1344,'name':'PassTile_1_mc','y':113},{'x':1344,'name':'PassTile_9_mc','y':74},{'x':1408,'name':'CloudFloor_1_mc','y':192},{'x':1408,'name':'PassTile_1_mc','y':177},{'x':1408,'name':'PassTile_9_mc','y':138},{'x':1408,'name':'PassTile_5_mc','y':128},{'x':1326.25,'name':'PassTile_3_mc','y':128.4},{'x':1344,'name':'PassTile_7_mc','y':192},{'x':1216,'name':'Floor_1_mc','y':256},{'x':1152,'name':'PassTile_1_mc','y':241},{'x':1216,'name':'PassTile_1_mc','y':241},{'x':1152,'name':'Floor_1_mc','y':256},{'x':1280,'name':'PassTile_5_mc','y':256},{'x':1134.15,'name':'PassTile_3_mc','y':256.40000000000003},{'x':1152,'name':'PassTile_8_mc','y':192},{'x':1551.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1472,'name':'PassTile_9_mc','y':266},{'x':1536,'name':'Floor_1_mc','y':256},{'x':1472,'name':'Floor_1_mc','y':256},{'x':1600,'name':'PassTile_5_mc','y':256},{'x':1454.15,'name':'PassTile_3_mc','y':256.40000000000003},{'x':1472,'name':'PassTile_1_mc','y':241},{'x':1536,'name':'PassTile_1_mc','y':241},{'x':2176,'name':'Floor_1_mc','y':320},{'x':2176,'name':'PassTile_1_mc','y':305},{'x':2368,'name':'Floor_1_mc','y':320},{'x':2368,'name':'PassTile_1_mc','y':305},{'x':2222.2000000000003,'name':'PassTile_3_mc','y':193},{'x':2240,'name':'CloudFloor_1_mc','y':192},{'x':2240,'name':'PassTile_1_mc','y':177},{'x':2240,'name':'PassTile_7_mc','y':256},{'x':2304,'name':'PassTile_1_mc','y':305},{'x':2304,'name':'Floor_1_mc','y':320},{'x':2240,'name':'Floor_1_mc','y':320},{'x':2240,'name':'PassTile_1_mc','y':305},{'x':2319.05,'name':'PassTile_2_mc','y':277},{'x':2240,'name':'PassTile_9_mc','y':266},{'x':2240,'name':'PassTile_9_mc','y':138},{'x':2624,'name':'PassTile_6_mc','y':256},{'x':2432,'name':'Floor_1_mc','y':320},{'x':2432,'name':'PassTile_1_mc','y':305},{'x':2624,'name':'Floor_1_mc','y':320},{'x':2624,'name':'PassTile_1_mc','y':305},{'x':2560,'name':'CloudFloor_1_mc','y':192},{'x':2560,'name':'PassTile_1_mc','y':177},{'x':2624,'name':'PassTile_5_mc','y':192},{'x':2560,'name':'PassTile_7_mc','y':256},{'x':2560,'name':'PassTile_1_mc','y':305},{'x':2560,'name':'Floor_1_mc','y':320},{'x':2496,'name':'Floor_1_mc','y':320},{'x':2496,'name':'PassTile_1_mc','y':305},{'x':2575.05,'name':'PassTile_2_mc','y':277},{'x':2496,'name':'PassTile_9_mc','y':266},{'x':2560,'name':'PassTile_9_mc','y':138},{'x':2688,'name':'Floor_1_mc','y':320},{'x':2688,'name':'PassTile_1_mc','y':305},{'x':2880,'name':'Floor_2_mc','y':320},{'x':2880,'name':'PassTile_1_mc','y':305},{'x':2816,'name':'PassTile_1_mc','y':305},{'x':2816,'name':'Floor_1_mc','y':320},{'x':2752,'name':'Floor_1_mc','y':320},{'x':2752,'name':'PassTile_1_mc','y':305},{'x':2831.05,'name':'PassTile_2_mc','y':277},{'x':2752,'name':'PassTile_9_mc','y':266},{'x':2944,'name':'Floor_2_mc','y':320},{'x':2944,'name':'PassTile_1_mc','y':305},{'x':3136,'name':'Floor_1_mc','y':320},{'x':3136,'name':'PassTile_1_mc','y':305},{'x':3072,'name':'PassTile_1_mc','y':305},{'x':3072,'name':'Floor_1_mc','y':320},{'x':3008,'name':'Floor_1_mc','y':320},{'x':3008,'name':'PassTile_1_mc','y':305},{'x':3087.05,'name':'PassTile_2_mc','y':277},{'x':3008,'name':'PassTile_9_mc','y':266},{'x':3328,'name':'PassTile_6_mc','y':256},{'x':3328,'name':'Floor_1_mc','y':320},{'x':3328,'name':'PassTile_1_mc','y':305},{'x':3246.2000000000003,'name':'PassTile_3_mc','y':193},{'x':3264,'name':'CloudFloor_1_mc','y':192},{'x':3264,'name':'PassTile_1_mc','y':177},{'x':3328,'name':'PassTile_5_mc','y':192},{'x':3264,'name':'PassTile_7_mc','y':256},{'x':3264,'name':'PassTile_1_mc','y':305},{'x':3264,'name':'Floor_1_mc','y':320},{'x':3200,'name':'Floor_1_mc','y':320},{'x':3250,'name':'PassTile_4_mc','y':256},{'x':3200,'name':'PassTile_1_mc','y':305},{'x':3279.05,'name':'PassTile_2_mc','y':277},{'x':3200,'name':'PassTile_9_mc','y':266},{'x':3264,'name':'PassTile_9_mc','y':138},{'x':1920,'name':'PassTile_10_mc','y':294},{'x':1984,'name':'PassTile_11_mc','y':294},{'x':2048,'name':'PassTile_12_mc','y':294},{'x':2496,'name':'CloudFloor_1_mc','y':192},{'x':2496,'name':'PassTile_1_mc','y':177},{'x':2496,'name':'PassTile_9_mc','y':138},{'x':2304,'name':'CloudFloor_1_mc','y':192},{'x':2304,'name':'PassTile_1_mc','y':177},{'x':2304,'name':'PassTile_9_mc','y':138},{'x':2368,'name':'PassTile_5_mc','y':192},{'x':2478.15,'name':'PassTile_3_mc','y':192.4},{'x':6272,'name':'PassTile_10_mc','y':284.85},{'x':6336,'name':'PassTile_11_mc','y':284.85},{'x':5632,'name':'CloudFloor_1_mc','y':256},{'x':5632,'name':'PassTile_1_mc','y':241},{'x':5632,'name':'PassTile_9_mc','y':202},{'x':5696,'name':'CloudFloor_1_mc','y':256},{'x':5696,'name':'PassTile_1_mc','y':241},{'x':5696,'name':'PassTile_9_mc','y':202},{'x':5568,'name':'PassTile_7_mc','y':256},{'x':5490,'name':'PassTile_4_mc','y':256},{'x':5760,'name':'PassTile_7_mc','y':256},{'x':4608,'name':'PassTile_13_mc','y':256},{'x':4672,'name':'PassTile_7_mc','y':256},{'x':3904,'name':'PassTile_7_mc','y':256},{'x':3648,'name':'Floor_1_mc','y':320},{'x':3648,'name':'PassTile_1_mc','y':305},{'x':3584,'name':'PassTile_1_mc','y':305},{'x':3584,'name':'Floor_1_mc','y':320},{'x':3599.05,'name':'PassTile_2_mc','y':277},{'x':3712,'name':'Floor_1_mc','y':320},{'x':3712,'name':'PassTile_1_mc','y':305},{'x':3904,'name':'Floor_1_mc','y':320},{'x':3904,'name':'PassTile_1_mc','y':305},{'x':3822.2000000000003,'name':'PassTile_3_mc','y':193},{'x':3840,'name':'CloudFloor_1_mc','y':192},{'x':3840,'name':'PassTile_1_mc','y':177},{'x':3840,'name':'PassTile_1_mc','y':305},{'x':3840,'name':'Floor_2_mc','y':320},{'x':3776,'name':'Floor_2_mc','y':320},{'x':3776,'name':'PassTile_1_mc','y':305},{'x':3855.05,'name':'PassTile_2_mc','y':277},{'x':3776,'name':'PassTile_9_mc','y':266},{'x':3840,'name':'PassTile_9_mc','y':138},{'x':4608,'name':'Floor_1_mc','y':320},{'x':4608,'name':'PassTile_1_mc','y':305},{'x':4800,'name':'Floor_2_mc','y':320},{'x':4800,'name':'PassTile_1_mc','y':305},{'x':4736,'name':'CloudFloor_1_mc','y':192},{'x':4736,'name':'PassTile_1_mc','y':177},{'x':4800,'name':'PassTile_5_mc','y':192},{'x':4736,'name':'PassTile_1_mc','y':305},{'x':4736,'name':'Floor_2_mc','y':320},{'x':4672,'name':'Floor_1_mc','y':320},{'x':4672,'name':'PassTile_1_mc','y':305},{'x':4672,'name':'PassTile_9_mc','y':266},{'x':4736,'name':'PassTile_9_mc','y':138},{'x':5056,'name':'PassTile_6_mc','y':256},{'x':4864,'name':'Floor_1_mc','y':320},{'x':4864,'name':'PassTile_1_mc','y':305},{'x':5056,'name':'Floor_1_mc','y':320},{'x':5056,'name':'PassTile_1_mc','y':305},{'x':4974.200000000001,'name':'PassTile_3_mc','y':193},{'x':4992,'name':'CloudFloor_1_mc','y':192},{'x':4992,'name':'PassTile_1_mc','y':177},{'x':5056,'name':'PassTile_5_mc','y':192},{'x':4992,'name':'PassTile_7_mc','y':256},{'x':4992,'name':'PassTile_1_mc','y':305},{'x':4992,'name':'Floor_1_mc','y':320},{'x':4928,'name':'Floor_1_mc','y':320},{'x':4978,'name':'PassTile_4_mc','y':256},{'x':4928,'name':'PassTile_1_mc','y':305},{'x':5007.05,'name':'PassTile_2_mc','y':277},{'x':4928,'name':'PassTile_9_mc','y':266},{'x':4992,'name':'PassTile_9_mc','y':138},{'x':5120,'name':'Floor_1_mc','y':320},{'x':5120,'name':'PassTile_1_mc','y':305},{'x':3520,'name':'Floor_1_mc','y':320},{'x':3520,'name':'PassTile_1_mc','y':305},{'x':3456,'name':'PassTile_1_mc','y':305},{'x':3456,'name':'Floor_1_mc','y':320},{'x':3392,'name':'Floor_1_mc','y':320},{'x':3392,'name':'PassTile_1_mc','y':305},{'x':5184,'name':'Floor_1_mc','y':320},{'x':5184,'name':'PassTile_1_mc','y':305},{'x':5376,'name':'Floor_1_mc','y':320},{'x':5376,'name':'PassTile_1_mc','y':305},{'x':5312,'name':'PassTile_1_mc','y':305},{'x':5312,'name':'Floor_1_mc','y':320},{'x':5248,'name':'Floor_1_mc','y':320},{'x':5248,'name':'PassTile_1_mc','y':305},{'x':5327.05,'name':'PassTile_2_mc','y':277},{'x':5248,'name':'PassTile_9_mc','y':266},{'x':3904,'name':'CloudFloor_1_mc','y':192},{'x':3904,'name':'PassTile_1_mc','y':177},{'x':3904,'name':'PassTile_9_mc','y':138},{'x':4608,'name':'CloudFloor_1_mc','y':128},{'x':4608,'name':'PassTile_1_mc','y':113},{'x':4608,'name':'PassTile_9_mc','y':74},{'x':4672,'name':'CloudFloor_1_mc','y':192},{'x':4672,'name':'PassTile_1_mc','y':177},{'x':4672,'name':'PassTile_9_mc','y':138},{'x':4672,'name':'PassTile_5_mc','y':128},{'x':3950.25,'name':'PassTile_3_mc','y':128.35},{'x':4608,'name':'PassTile_7_mc','y':192},{'x':3840,'name':'Floor_1_mc','y':256},{'x':3776,'name':'PassTile_1_mc','y':241},{'x':3840,'name':'PassTile_1_mc','y':241},{'x':3776,'name':'Floor_1_mc','y':256},{'x':3904,'name':'PassTile_5_mc','y':256},{'x':3758.15,'name':'PassTile_3_mc','y':256.40000000000003},{'x':3776,'name':'PassTile_8_mc','y':192},{'x':4815.05,'name':'PassTile_2_mc','y':277},{'x':4736,'name':'PassTile_9_mc','y':266},{'x':4800,'name':'Floor_1_mc','y':256},{'x':4736,'name':'Floor_1_mc','y':256},{'x':4864,'name':'PassTile_5_mc','y':256},{'x':4718.150000000001,'name':'PassTile_3_mc','y':256.40000000000003},{'x':4736,'name':'PassTile_1_mc','y':241},{'x':4800,'name':'PassTile_1_mc','y':241},{'x':5440,'name':'Floor_1_mc','y':320},{'x':5440,'name':'PassTile_1_mc','y':305},{'x':5632,'name':'Floor_1_mc','y':320},{'x':5632,'name':'PassTile_1_mc','y':305},{'x':5486.200000000001,'name':'PassTile_3_mc','y':193},{'x':5504,'name':'CloudFloor_1_mc','y':192},{'x':5504,'name':'PassTile_1_mc','y':177},{'x':5504,'name':'PassTile_7_mc','y':256},{'x':5568,'name':'PassTile_1_mc','y':305},{'x':5568,'name':'Floor_1_mc','y':320},{'x':5504,'name':'Floor_1_mc','y':320},{'x':5504,'name':'PassTile_1_mc','y':305},{'x':5583.05,'name':'PassTile_2_mc','y':277},{'x':5504,'name':'PassTile_9_mc','y':266},{'x':5504,'name':'PassTile_9_mc','y':138},{'x':5888,'name':'PassTile_6_mc','y':256},{'x':5696,'name':'Floor_1_mc','y':320},{'x':5696,'name':'PassTile_1_mc','y':305},{'x':5888,'name':'Floor_1_mc','y':320},{'x':5888,'name':'PassTile_1_mc','y':305},{'x':5824,'name':'CloudFloor_1_mc','y':192},{'x':5824,'name':'PassTile_1_mc','y':177},{'x':5888,'name':'PassTile_5_mc','y':192},{'x':5824,'name':'PassTile_7_mc','y':256},{'x':5824,'name':'PassTile_1_mc','y':305},{'x':5824,'name':'Floor_1_mc','y':320},{'x':5760,'name':'Floor_1_mc','y':320},{'x':5760,'name':'PassTile_1_mc','y':305},{'x':5839.05,'name':'PassTile_2_mc','y':277},{'x':5760,'name':'PassTile_9_mc','y':266},{'x':5824,'name':'PassTile_9_mc','y':138},{'x':6144,'name':'PassTile_6_mc','y':256},{'x':5952,'name':'Floor_1_mc','y':320},{'x':5952,'name':'PassTile_1_mc','y':305},{'x':6144,'name':'Floor_1_mc','y':320},{'x':6144,'name':'PassTile_1_mc','y':305},{'x':6062.200000000001,'name':'PassTile_3_mc','y':193},{'x':6080,'name':'CloudFloor_1_mc','y':192},{'x':6080,'name':'PassTile_1_mc','y':177},{'x':6144,'name':'PassTile_5_mc','y':192},{'x':6080,'name':'PassTile_7_mc','y':256},{'x':6080,'name':'PassTile_1_mc','y':305},{'x':6080,'name':'Floor_1_mc','y':320},{'x':6016,'name':'Floor_1_mc','y':320},{'x':6066,'name':'PassTile_4_mc','y':256},{'x':6016,'name':'PassTile_1_mc','y':305},{'x':6095.05,'name':'PassTile_2_mc','y':277},{'x':6016,'name':'PassTile_9_mc','y':266},{'x':6080,'name':'PassTile_9_mc','y':138},{'x':6208,'name':'Floor_1_mc','y':320},{'x':6208,'name':'PassTile_1_mc','y':305},{'x':6400,'name':'Floor_1_mc','y':320},{'x':6400,'name':'PassTile_1_mc','y':305},{'x':6336,'name':'PassTile_1_mc','y':305},{'x':6336,'name':'Floor_1_mc','y':320},{'x':6272,'name':'Floor_1_mc','y':320},{'x':6272,'name':'PassTile_1_mc','y':305},{'x':6351.05,'name':'PassTile_2_mc','y':277},{'x':6272,'name':'PassTile_9_mc','y':266},{'x':6592,'name':'Floor_1_mc','y':320},{'x':6592,'name':'PassTile_1_mc','y':305},{'x':6528,'name':'PassTile_1_mc','y':305},{'x':6528,'name':'Floor_1_mc','y':320},{'x':6464,'name':'Floor_1_mc','y':320},{'x':6464,'name':'PassTile_1_mc','y':305},{'x':6543.05,'name':'PassTile_2_mc','y':277},{'x':6464,'name':'PassTile_9_mc','y':266},{'x':5248,'name':'PassTile_10_mc','y':300},{'x':5312,'name':'PassTile_11_mc','y':300},{'x':5376,'name':'PassTile_12_mc','y':300},{'x':5760,'name':'CloudFloor_1_mc','y':192},{'x':5760,'name':'PassTile_1_mc','y':177},{'x':5760,'name':'PassTile_9_mc','y':138},{'x':5568,'name':'CloudFloor_1_mc','y':192},{'x':5568,'name':'PassTile_1_mc','y':177},{'x':5568,'name':'PassTile_9_mc','y':138},{'x':5632,'name':'PassTile_5_mc','y':192},{'x':5742.150000000001,'name':'PassTile_3_mc','y':192.4},{'x':6400,'name':'PassTile_12_mc','y':284.85},{'x':4480,'name':'Floor_1_mc','y':320},{'x':4544,'name':'Floor_1_mc','y':320},{'x':4352,'name':'Floor_3_mc','y':320},{'x':4416,'name':'Floor_1_mc','y':320},{'x':4224,'name':'Floor_3_mc','y':320},{'x':4288,'name':'Floor_3_mc','y':320},{'x':4096,'name':'Floor_1_mc','y':320},{'x':4160,'name':'Floor_1_mc','y':320},{'x':3968,'name':'Floor_1_mc','y':320},{'x':4032,'name':'Floor_1_mc','y':320},{'x':4544,'name':'PassTile_1_mc','y':305},{'x':4480,'name':'PassTile_1_mc','y':305},{'x':4416,'name':'PassTile_13_mc','y':256},{'x':4416,'name':'PassTile_1_mc','y':305},{'x':4416,'name':'CloudFloor_1_mc','y':128},{'x':4416,'name':'PassTile_1_mc','y':113},{'x':4416,'name':'PassTile_9_mc','y':74},{'x':4416,'name':'PassTile_7_mc','y':192},{'x':4352,'name':'CloudFloor_1_mc','y':128},{'x':4352,'name':'PassTile_1_mc','y':113},{'x':4352,'name':'PassTile_9_mc','y':74},{'x':4288,'name':'CloudFloor_1_mc','y':128},{'x':4288,'name':'PassTile_1_mc','y':113},{'x':4288,'name':'PassTile_9_mc','y':74},{'x':4224,'name':'CloudFloor_1_mc','y':128},{'x':4224,'name':'PassTile_1_mc','y':113},{'x':4224,'name':'PassTile_9_mc','y':74},{'x':4160,'name':'PassTile_13_mc','y':256},{'x':4160,'name':'PassTile_1_mc','y':305},{'x':4160,'name':'CloudFloor_1_mc','y':128},{'x':4160,'name':'PassTile_1_mc','y':113},{'x':4160,'name':'PassTile_9_mc','y':74},{'x':4160,'name':'PassTile_7_mc','y':192},{'x':4096,'name':'PassTile_1_mc','y':305},{'x':4096,'name':'CloudFloor_1_mc','y':192},{'x':4096,'name':'PassTile_1_mc','y':177},{'x':4096,'name':'PassTile_9_mc','y':138},{'x':4032,'name':'PassTile_1_mc','y':305},{'x':4032,'name':'CloudFloor_1_mc','y':192},{'x':4032,'name':'PassTile_1_mc','y':177},{'x':4032,'name':'PassTile_9_mc','y':138},{'x':3968,'name':'PassTile_13_mc','y':256},{'x':3968,'name':'PassTile_1_mc','y':305},{'x':3968,'name':'CloudFloor_1_mc','y':128},{'x':3968,'name':'PassTile_1_mc','y':113},{'x':3968,'name':'PassTile_9_mc','y':74},{'x':3968,'name':'PassTile_7_mc','y':192},{'x':4303.05,'name':'PassTile_2_mc','y':213},{'x':4224,'name':'PassTile_9_mc','y':202},{'x':4288,'name':'Floor_1_mc','y':192},{'x':4224,'name':'Floor_1_mc','y':192},{'x':4416,'name':'PassTile_5_mc','y':192},{'x':4206.150000000001,'name':'PassTile_3_mc','y':192.4},{'x':4224,'name':'PassTile_1_mc','y':177},{'x':4288,'name':'PassTile_1_mc','y':177},{'x':4367.05,'name':'PassTile_2_mc','y':213},{'x':4352,'name':'Floor_1_mc','y':192},{'x':4352,'name':'PassTile_1_mc','y':177},{'x':4224,'name':'Floor_2_mc','y':256},{'x':4288,'name':'Floor_2_mc','y':256},{'x':4352,'name':'Floor_2_mc','y':256},{'x':4208.95,'name':'PassTile_4_mc','y':256},{'x':4416,'name':'PassTile_6_mc','y':256},{'x':6720,'name':'Floor_1_mc','y':320},{'x':6720,'name':'PassTile_1_mc','y':305},{'x':6656,'name':'PassTile_1_mc','y':305},{'x':6656,'name':'Floor_1_mc','y':320},{'x':6671.05,'name':'PassTile_2_mc','y':277},{'level':8,'name':'Door_mc','isUpForwards':false,'y':256,'x':6592,'heroPosY':320,'heroPosX':128},{'x':4032,'name':'PassTile_5_mc','y':128},{'x':4144.25,'name':'PassTile_3_mc','y':128.35},{'x':4480,'name':'PassTile_5_mc','y':128},{'x':4592.400000000001,'name':'PassTile_3_mc','y':128.35},{'x':2880,'name':'Floor_1_mc','y':256},{'x':2944,'name':'Floor_1_mc','y':256},{'x':3008,'name':'PassTile_5_mc','y':256},{'x':2862.15,'name':'PassTile_3_mc','y':256.40000000000003},{'x':2738.15,'name':'PassTile_4_mc','y':191.4},{'x':2734.3500000000004,'name':'PassTile_3_mc','y':128.4},{'charTypeList':['SoldierB2,2','SoldierC2,1','SoldierA2,2'],'name':'Anchor_mc','y':0.05,'x':1344,'maxCharNum':10},{'charTypeList':['SoldierB2,2','SoldierC2,1','SoldierA2,2'],'name':'Anchor_mc','y':0.05,'x':2432,'maxCharNum':10},{'charTypeList':['SoldierB2,2','SoldierC2,2','SoldierA2,1'],'name':'Anchor_mc','y':0.05,'x':4288,'maxCharNum':10},{'charTypeList':['SoldierB2,2','SoldierC2,2','SoldierA2,1'],'name':'Anchor_mc','y':0.05,'x':5504,'maxCharNum':10},{'width':6796,'height':832}]";
["item7"] = "[{'x':4955.05,'name':'Item_2_mc','y':320}]";
["map8"] = "[{'y':256,'name':'PassTile_6_mc','x':2816},{'y':193,'name':'PassTile_3_mc','x':2734.2000000000003},{'y':192,'name':'CloudFloor_1_mc','x':2752},{'y':177,'name':'PassTile_1_mc','x':2752},{'y':192,'name':'PassTile_5_mc','x':2816},{'y':256,'name':'PassTile_7_mc','x':2752},{'y':256,'name':'PassTile_4_mc','x':2738},{'y':138,'name':'PassTile_9_mc','x':2752},{'y':192,'name':'CloudFloor_1_mc','x':2368},{'y':177,'name':'PassTile_1_mc','x':2368},{'y':256,'name':'PassTile_7_mc','x':2368},{'y':138,'name':'PassTile_9_mc','x':2368},{'y':192,'name':'CloudFloor_1_mc','x':2432},{'y':177,'name':'PassTile_1_mc','x':2432},{'y':256,'name':'PassTile_7_mc','x':2432},{'y':138,'name':'PassTile_9_mc','x':2432},{'y':256,'name':'PassTile_6_mc','x':2496},{'y':193,'name':'PassTile_3_mc','x':2286.2000000000003},{'y':192,'name':'CloudFloor_1_mc','x':2304},{'y':177,'name':'PassTile_1_mc','x':2304},{'y':192,'name':'PassTile_5_mc','x':2496},{'y':256,'name':'PassTile_7_mc','x':2304},{'y':246,'name':'PassTile_4_mc','x':2290},{'y':138,'name':'PassTile_9_mc','x':2304},{'y':292.2,'name':'PassTile_10_mc','x':1152},{'y':292.2,'name':'PassTile_11_mc','x':1216},{'y':292.2,'name':'PassTile_12_mc','x':1280},{'y':256,'name':'PassTile_6_mc','x':896},{'y':193,'name':'PassTile_3_mc','x':814.2},{'y':192,'name':'CloudFloor_1_mc','x':832},{'y':177,'name':'PassTile_1_mc','x':832},{'y':192,'name':'PassTile_5_mc','x':896},{'y':256,'name':'PassTile_7_mc','x':832},{'y':256,'name':'PassTile_4_mc','x':818},{'y':138,'name':'PassTile_9_mc','x':832},{'y':256,'name':'PassTile_6_mc','x':1600},{'y':193,'name':'PassTile_3_mc','x':1518.2},{'y':192,'name':'CloudFloor_1_mc','x':1536},{'y':177,'name':'PassTile_1_mc','x':1536},{'y':192,'name':'PassTile_5_mc','x':1600},{'y':256,'name':'PassTile_7_mc','x':1536},{'y':256,'name':'PassTile_4_mc','x':1522},{'y':138,'name':'PassTile_9_mc','x':1536},{'y':256,'name':'PassTile_8_mc','x':896},{'y':305,'name':'PassTile_1_mc','x':832},{'y':320,'name':'Floor_1_mc','x':0},{'y':320,'name':'Floor_1_mc','x':64},{'y':320,'name':'Floor_1_mc','x':128},{'y':320,'name':'Floor_1_mc','x':192},{'y':320,'name':'Floor_1_mc','x':256},{'y':320,'name':'Floor_1_mc','x':320},{'y':320,'name':'Floor_1_mc','x':384},{'y':320,'name':'Floor_1_mc','x':832},{'y':320,'name':'Floor_1_mc','x':896},{'y':320,'name':'Floor_1_mc','x':960},{'y':320,'name':'Floor_1_mc','x':1024},{'y':305,'name':'PassTile_1_mc','x':0},{'y':305,'name':'PassTile_1_mc','x':64},{'y':305,'name':'PassTile_1_mc','x':128},{'y':305,'name':'PassTile_1_mc','x':192},{'y':305,'name':'PassTile_1_mc','x':896},{'y':305,'name':'PassTile_1_mc','x':960},{'y':305,'name':'PassTile_1_mc','x':1024},{'y':320,'name':'Floor_1_mc','x':1216},{'y':305,'name':'PassTile_1_mc','x':1216},{'y':278,'name':'PassTile_2_mc','x':192},{'y':305,'name':'PassTile_1_mc','x':256},{'y':305,'name':'PassTile_1_mc','x':1152},{'y':320,'name':'Floor_1_mc','x':1152},{'y':320,'name':'Floor_1_mc','x':1088},{'y':305,'name':'PassTile_1_mc','x':1088},{'y':256,'name':'PassTile_8_mc','x':0},{'y':277,'name':'PassTile_2_mc','x':1167.05},{'y':266,'name':'PassTile_9_mc','x':0},{'y':266,'name':'PassTile_9_mc','x':128},{'y':266,'name':'PassTile_9_mc','x':960},{'y':266,'name':'PassTile_9_mc','x':1088},{'y':296,'name':'PassTile_10_mc','x':64},{'y':296,'name':'PassTile_11_mc','x':128},{'y':296,'name':'PassTile_12_mc','x':192},{'y':305.90000000000003,'name':'PassTile_1_mc','x':320},{'y':305.90000000000003,'name':'PassTile_1_mc','x':384},{'y':305.90000000000003,'name':'PassTile_1_mc','x':768},{'y':278.90000000000003,'name':'PassTile_2_mc','x':352},{'y':278.90000000000003,'name':'PassTile_2_mc','x':416},{'y':256,'x':64,'isUpForwards':false,'level':7,'name':'Door_mc','heroPosY':320,'heroPosX':6528},{'y':320,'name':'Floor_1_mc','x':768},{'y':256,'name':'PassTile_8_mc','x':1280},{'y':320,'name':'Floor_1_mc','x':1280},{'y':320,'name':'Floor_1_mc','x':1344},{'y':320,'name':'Floor_1_mc','x':1408},{'y':305,'name':'PassTile_1_mc','x':1280},{'y':305,'name':'PassTile_1_mc','x':1344},{'y':305,'name':'PassTile_1_mc','x':1408},{'y':320,'name':'Floor_1_mc','x':1600},{'y':305,'name':'PassTile_1_mc','x':1600},{'y':305,'name':'PassTile_1_mc','x':1536},{'y':320,'name':'Floor_1_mc','x':1536},{'y':320,'name':'Floor_1_mc','x':1472},{'y':305,'name':'PassTile_1_mc','x':1472},{'y':277,'name':'PassTile_2_mc','x':1551.0500000000002},{'y':266,'name':'PassTile_9_mc','x':1344},{'y':266,'name':'PassTile_9_mc','x':1472},{'y':256,'name':'PassTile_8_mc','x':1664},{'y':320,'name':'Floor_1_mc','x':1664},{'y':320,'name':'Floor_1_mc','x':1728},{'y':320,'name':'Floor_1_mc','x':1792},{'y':305,'name':'PassTile_1_mc','x':1664},{'y':305,'name':'PassTile_1_mc','x':1728},{'y':305,'name':'PassTile_1_mc','x':1792},{'y':256,'name':'Floor_1_mc','x':1984},{'y':241,'name':'PassTile_1_mc','x':1984},{'y':305,'name':'PassTile_1_mc','x':1920},{'y':320,'name':'Floor_1_mc','x':1920},{'y':320,'name':'Floor_1_mc','x':1856},{'y':305,'name':'PassTile_1_mc','x':1856},{'y':277,'name':'PassTile_2_mc','x':1935.0500000000002},{'y':266,'name':'PassTile_9_mc','x':1728},{'y':266,'name':'PassTile_9_mc','x':1856},{'y':192,'name':'PassTile_8_mc','x':2048},{'y':256,'name':'Floor_1_mc','x':2048},{'y':256,'name':'Floor_1_mc','x':2112},{'y':256,'name':'Floor_1_mc','x':2176},{'y':241,'name':'PassTile_1_mc','x':2048},{'y':241,'name':'PassTile_1_mc','x':2112},{'y':241,'name':'PassTile_1_mc','x':2176},{'y':320,'name':'Floor_1_mc','x':2368},{'y':305,'name':'PassTile_1_mc','x':2368},{'y':305,'name':'PassTile_1_mc','x':2304},{'y':320,'name':'Floor_1_mc','x':2304},{'y':241,'name':'PassTile_1_mc','x':2240},{'y':277,'name':'PassTile_2_mc','x':2319.05},{'y':202,'name':'PassTile_9_mc','x':2112},{'y':202,'name':'PassTile_9_mc','x':2240},{'y':256,'name':'PassTile_8_mc','x':2432},{'y':320,'name':'Floor_1_mc','x':2432},{'y':320,'name':'Floor_1_mc','x':2496},{'y':320,'name':'Floor_1_mc','x':2560},{'y':305,'name':'PassTile_1_mc','x':2432},{'y':305,'name':'PassTile_1_mc','x':2496},{'y':305,'name':'PassTile_1_mc','x':2560},{'y':320,'name':'Floor_1_mc','x':2752},{'y':305,'name':'PassTile_1_mc','x':2752},{'y':305,'name':'PassTile_1_mc','x':2688},{'y':320,'name':'Floor_1_mc','x':2688},{'y':320,'name':'Floor_1_mc','x':2624},{'y':305,'name':'PassTile_1_mc','x':2624},{'y':277,'name':'PassTile_2_mc','x':2703.05},{'y':266,'name':'PassTile_9_mc','x':2496},{'y':266,'name':'PassTile_9_mc','x':2624},{'y':256,'name':'PassTile_8_mc','x':2816},{'y':320,'name':'Floor_1_mc','x':2816},{'y':320,'name':'Floor_1_mc','x':2880},{'y':320,'name':'Floor_1_mc','x':2944},{'y':305,'name':'PassTile_1_mc','x':2816},{'y':305,'name':'PassTile_1_mc','x':2880},{'y':305,'name':'PassTile_1_mc','x':2944},{'y':320,'name':'Floor_1_mc','x':3008},{'y':305,'name':'PassTile_1_mc','x':3008},{'y':266,'name':'PassTile_9_mc','x':2880},{'y':266,'name':'PassTile_9_mc','x':3008},{'y':320,'name':'Floor_1_mc','x':3072},{'y':320,'name':'Floor_1_mc','x':3136},{'y':305,'name':'PassTile_1_mc','x':3072},{'y':305,'name':'PassTile_1_mc','x':3136},{'y':320,'name':'Floor_1_mc','x':3328},{'y':305,'name':'PassTile_1_mc','x':3328},{'y':305,'name':'PassTile_1_mc','x':3264},{'y':320,'name':'Floor_1_mc','x':3264},{'y':320,'name':'Floor_1_mc','x':3200},{'y':305,'name':'PassTile_1_mc','x':3200},{'y':277,'name':'PassTile_2_mc','x':3279.05},{'y':266,'name':'PassTile_9_mc','x':3072},{'y':266,'name':'PassTile_9_mc','x':3200},{'y':0.05,'maxCharNum':32,'bossType':'BossA','name':'BossAnchor_mc','charTypeList':['SoldierA2,1'],'x':832},{'y':256.40000000000003,'name':'PassTile_3_mc','x':1968.3000000000002},{'y':256,'name':'PassTile_5_mc','x':2304},{'y':320,'name':'Floor_2_mc','x':1984},{'y':320,'name':'Floor_2_mc','x':2048},{'y':320,'name':'Floor_2_mc','x':2112},{'y':320,'name':'Floor_2_mc','x':2176},{'y':320,'name':'Floor_2_mc','x':2240},{'y':256,'x':3200,'isUpForwards':false,'level':9,'name':'Door_mc','heroPosY':320,'heroPosX':128},{'y':256,'name':'Floor_1_mc','x':2240},{'y':0.05,'maxCharNum':32,'bossType':'BossB','name':'BossAnchor_mc','charTypeList':['SoldierA2,2','SoldierB2,3'],'x':1536},{'y':320,'name':'Floor_1_mc','x':448},{'y':320,'name':'Floor_1_mc','x':512},{'y':320,'name':'Floor_1_mc','x':576},{'y':320,'name':'Floor_1_mc','x':640},{'y':320,'name':'Floor_1_mc','x':704},{'y':305,'name':'PassTile_1_mc','x':448},{'y':305,'name':'PassTile_1_mc','x':512},{'y':278,'name':'PassTile_2_mc','x':512},{'y':305,'name':'PassTile_1_mc','x':576},{'y':266,'name':'PassTile_9_mc','x':448},{'y':305.90000000000003,'name':'PassTile_1_mc','x':640},{'y':305.90000000000003,'name':'PassTile_1_mc','x':704},{'y':278.90000000000003,'name':'PassTile_2_mc','x':672},{'y':278.90000000000003,'name':'PassTile_2_mc','x':736},{'height':387.1,'width':3404}]";
["item8"] = "[{'x':2207.5,'name':'Item_2_mc','y':256},{'x':2454.5,'name':'Item_4_mc','y':192},{'x':2783.4500000000003,'name':'Item_2_mc','y':192}]";
["map9"] = "[{'x':1984,'name':'PassTile2_13_mc','y':300},{'x':2048.05,'name':'PassTile2_14_mc','y':299.45},{'x':2112,'name':'PassTile2_15_mc','y':300.5},{'x':2176,'name':'PassTile2_16_mc','y':300.5},{'x':1472,'name':'PassTile2_13_mc','y':300},{'x':1536.0500000000002,'name':'PassTile2_14_mc','y':299.45},{'x':1600,'name':'PassTile2_15_mc','y':300.5},{'x':1664,'name':'PassTile2_16_mc','y':300.5},{'x':2496,'name':'PassTile_6_mc','y':256},{'x':2414.2000000000003,'name':'PassTile_3_mc','y':193},{'x':2432,'name':'CloudFloor_1_mc','y':192},{'x':2432,'name':'PassTile_1_mc','y':177},{'x':2496,'name':'PassTile_5_mc','y':192},{'x':2432,'name':'PassTile_7_mc','y':256},{'x':2418,'name':'PassTile_4_mc','y':256},{'x':2432,'name':'PassTile_9_mc','y':138},{'x':832,'name':'PassTile_10_mc','y':292.2},{'x':896,'name':'PassTile_11_mc','y':292.2},{'x':960,'name':'PassTile_12_mc','y':292.2},{'x':576,'name':'PassTile_6_mc','y':256},{'x':494.20000000000005,'name':'PassTile_3_mc','y':193},{'x':512,'name':'CloudFloor_1_mc','y':192},{'x':512,'name':'PassTile_1_mc','y':177},{'x':576,'name':'PassTile_5_mc','y':192},{'x':512,'name':'PassTile_7_mc','y':256},{'x':498,'name':'PassTile_4_mc','y':256},{'x':512,'name':'PassTile_9_mc','y':138},{'x':1280,'name':'PassTile_6_mc','y':256},{'x':1198.2,'name':'PassTile_3_mc','y':193},{'x':1216,'name':'CloudFloor_1_mc','y':192},{'x':1216,'name':'PassTile_1_mc','y':177},{'x':1280,'name':'PassTile_5_mc','y':192},{'x':1216,'name':'PassTile_7_mc','y':256},{'x':1202,'name':'PassTile_4_mc','y':256},{'x':1216,'name':'PassTile_9_mc','y':138},{'x':576,'name':'PassTile_8_mc','y':256},{'x':512,'name':'PassTile_1_mc','y':305},{'x':0,'name':'Floor_1_mc','y':320},{'x':64,'name':'Floor_1_mc','y':320},{'x':128,'name':'Floor_1_mc','y':320},{'x':192,'name':'Floor_1_mc','y':320},{'x':256,'name':'Floor_1_mc','y':320},{'x':320,'name':'Floor_1_mc','y':320},{'x':384,'name':'Floor_1_mc','y':320},{'x':512,'name':'Floor_1_mc','y':320},{'x':576,'name':'Floor_1_mc','y':320},{'x':640,'name':'Floor_1_mc','y':320},{'x':704,'name':'Floor_1_mc','y':320},{'x':0,'name':'PassTile_1_mc','y':305},{'x':64,'name':'PassTile_1_mc','y':305},{'x':128,'name':'PassTile_1_mc','y':305},{'x':192,'name':'PassTile_1_mc','y':305},{'x':576,'name':'PassTile_1_mc','y':305},{'x':640,'name':'PassTile_1_mc','y':305},{'x':704,'name':'PassTile_1_mc','y':305},{'x':896,'name':'Floor_1_mc','y':320},{'x':896,'name':'PassTile_1_mc','y':305},{'x':192,'name':'PassTile_2_mc','y':278},{'x':256,'name':'PassTile_1_mc','y':305},{'x':832,'name':'PassTile_1_mc','y':305},{'x':832,'name':'Floor_1_mc','y':320},{'x':768,'name':'Floor_1_mc','y':320},{'x':768,'name':'PassTile_1_mc','y':305},{'x':0,'name':'PassTile_8_mc','y':256},{'x':847.0500000000001,'name':'PassTile_2_mc','y':277},{'x':0,'name':'PassTile_9_mc','y':266},{'x':128,'name':'PassTile_9_mc','y':266},{'x':640,'name':'PassTile_9_mc','y':266},{'x':768,'name':'PassTile_9_mc','y':266},{'x':64,'name':'PassTile_10_mc','y':296},{'x':128,'name':'PassTile_11_mc','y':296},{'x':192,'name':'PassTile_12_mc','y':296},{'x':320,'name':'PassTile_1_mc','y':305.90000000000003},{'x':384,'name':'PassTile_1_mc','y':305.90000000000003},{'x':448,'name':'PassTile_1_mc','y':305.90000000000003},{'x':352,'name':'PassTile_2_mc','y':278.90000000000003},{'x':416,'name':'PassTile_2_mc','y':278.90000000000003},{'isUpForwards':false,'level':8,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':3136,'x':64},{'x':448,'name':'Floor_1_mc','y':320},{'x':960,'name':'PassTile_8_mc','y':256},{'x':960,'name':'Floor_1_mc','y':320},{'x':1024,'name':'Floor_1_mc','y':320},{'x':1088,'name':'Floor_1_mc','y':320},{'x':960,'name':'PassTile_1_mc','y':305},{'x':1024,'name':'PassTile_1_mc','y':305},{'x':1088,'name':'PassTile_1_mc','y':305},{'x':1280,'name':'Floor_1_mc','y':320},{'x':1280,'name':'PassTile_1_mc','y':305},{'x':1216,'name':'PassTile_1_mc','y':305},{'x':1216,'name':'Floor_1_mc','y':320},{'x':1152,'name':'Floor_1_mc','y':320},{'x':1152,'name':'PassTile_1_mc','y':305},{'x':1231.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1024,'name':'PassTile_9_mc','y':266},{'x':1152,'name':'PassTile_9_mc','y':266},{'x':1344,'name':'PassTile_8_mc','y':256},{'x':1344,'name':'Floor_1_mc','y':320},{'x':1408,'name':'Floor_1_mc','y':320},{'x':1472,'name':'Floor_1_mc','y':320},{'x':1344,'name':'PassTile_1_mc','y':305},{'x':1408,'name':'PassTile_1_mc','y':305},{'x':1472,'name':'PassTile_1_mc','y':305},{'x':1600,'name':'PassTile_1_mc','y':305},{'x':1600,'name':'Floor_1_mc','y':320},{'x':1536,'name':'Floor_1_mc','y':320},{'x':1536,'name':'PassTile_1_mc','y':305},{'x':1615.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1408,'name':'PassTile_9_mc','y':266},{'x':1536,'name':'PassTile_9_mc','y':266},{'x':2048,'name':'Floor_1_mc','y':320},{'x':2048,'name':'PassTile_1_mc','y':305},{'x':1984,'name':'PassTile_1_mc','y':305},{'x':1984,'name':'Floor_1_mc','y':320},{'x':1999.0500000000002,'name':'PassTile_2_mc','y':277},{'x':2112,'name':'Floor_1_mc','y':320},{'x':2176,'name':'Floor_1_mc','y':320},{'x':2240,'name':'Floor_1_mc','y':320},{'x':2112,'name':'PassTile_1_mc','y':305},{'x':2176,'name':'PassTile_1_mc','y':305},{'x':2240,'name':'PassTile_1_mc','y':305},{'x':2432,'name':'Floor_1_mc','y':320},{'x':2432,'name':'PassTile_1_mc','y':305},{'x':2368,'name':'PassTile_1_mc','y':305},{'x':2368,'name':'Floor_1_mc','y':320},{'x':2304,'name':'Floor_1_mc','y':320},{'x':2304,'name':'PassTile_1_mc','y':305},{'x':2383.05,'name':'PassTile_2_mc','y':277},{'x':2176,'name':'PassTile_9_mc','y':266},{'x':2304,'name':'PassTile_9_mc','y':266},{'x':2496,'name':'PassTile_8_mc','y':256},{'x':2496,'name':'Floor_1_mc','y':320},{'x':2560,'name':'Floor_1_mc','y':320},{'x':2624,'name':'Floor_1_mc','y':320},{'x':2496,'name':'PassTile_1_mc','y':305},{'x':2560,'name':'PassTile_1_mc','y':305},{'x':2624,'name':'PassTile_1_mc','y':305},{'x':2816,'name':'Floor_1_mc','y':256},{'x':2816,'name':'PassTile_1_mc','y':241},{'x':2752,'name':'PassTile_1_mc','y':241},{'x':2752,'name':'Floor_1_mc','y':256},{'x':2688,'name':'Floor_1_mc','y':320},{'x':2688,'name':'PassTile_1_mc','y':305},{'x':2767.05,'name':'PassTile_2_mc','y':213},{'x':2560,'name':'PassTile_9_mc','y':266},{'x':2688,'name':'PassTile_9_mc','y':266},{'x':2944,'name':'Floor_1_mc','y':256},{'x':2944,'name':'PassTile_1_mc','y':241},{'x':2880,'name':'PassTile_1_mc','y':241},{'x':2880,'name':'Floor_1_mc','y':256},{'x':2895.05,'name':'PassTile_2_mc','y':213},{'x':3008,'name':'PassTile_8_mc','y':192},{'x':3008,'name':'Floor_1_mc','y':256},{'x':3072,'name':'Floor_1_mc','y':320},{'x':3136,'name':'Floor_1_mc','y':320},{'x':3008,'name':'PassTile_1_mc','y':241},{'x':3072,'name':'PassTile_1_mc','y':305},{'x':3136,'name':'PassTile_1_mc','y':305},{'x':3328,'name':'Floor_1_mc','y':320},{'x':3328,'name':'PassTile_1_mc','y':305},{'x':3264,'name':'PassTile_1_mc','y':305},{'x':3264,'name':'Floor_1_mc','y':320},{'x':3200,'name':'Floor_1_mc','y':320},{'x':3200,'name':'PassTile_1_mc','y':305},{'x':3279.05,'name':'PassTile_2_mc','y':277},{'x':3072,'name':'PassTile_9_mc','y':266},{'x':3200,'name':'PassTile_9_mc','y':266},{'x':2752,'name':'Floor_2_mc','y':320},{'x':2816,'name':'Floor_2_mc','y':320},{'x':2880,'name':'Floor_2_mc','y':320},{'x':2944,'name':'Floor_2_mc','y':320},{'x':3008,'name':'Floor_2_mc','y':320},{'x':3072,'name':'PassTile_5_mc','y':256},{'x':2736.55,'name':'PassTile_3_mc','y':256.40000000000003},{'isUpForwards':false,'level':13,'y':256,'name':'Door_mc','heroPosY':320,'heroPosX':128,'x':3200},{'x':1856,'name':'PassTile_6_mc','y':256},{'x':1774.2,'name':'PassTile_3_mc','y':193},{'x':1792,'name':'CloudFloor_1_mc','y':192},{'x':1792,'name':'PassTile_1_mc','y':177},{'x':1856,'name':'PassTile_5_mc','y':192},{'x':1792,'name':'PassTile_7_mc','y':256},{'x':1778,'name':'PassTile_4_mc','y':256},{'x':1792,'name':'PassTile_9_mc','y':138},{'x':1664,'name':'Floor_1_mc','y':320},{'x':1664,'name':'PassTile_1_mc','y':305},{'x':1856,'name':'Floor_1_mc','y':320},{'x':1856,'name':'PassTile_1_mc','y':305},{'x':1792,'name':'PassTile_1_mc','y':305},{'x':1792,'name':'Floor_1_mc','y':320},{'x':1728,'name':'Floor_1_mc','y':320},{'x':1728,'name':'PassTile_1_mc','y':305},{'x':1807.0500000000002,'name':'PassTile_2_mc','y':277},{'x':1728,'name':'PassTile_9_mc','y':266},{'x':1920,'name':'PassTile_8_mc','y':256},{'x':1920,'name':'Floor_1_mc','y':320},{'x':1920,'name':'PassTile_1_mc','y':305},{'bossType':'BossC','x':1792,'y':0.05,'maxCharNum':32,'name':'BossAnchor_mc','charTypeList':['SoldierC2,3','SoldierB2,2']},{'width':3404,'height':387.1}]";
["item9"] = "";
["map10"] = "[{'x':384,'y':256,'name':'PassTile_6_mc'},{'x':302.2,'y':193,'name':'PassTile_3_mc'},{'x':320,'y':192,'name':'CloudFloor_1_mc'},{'x':320,'y':177,'name':'PassTile_1_mc'},{'x':384,'y':192,'name':'PassTile_5_mc'},{'x':320,'y':256,'name':'PassTile_7_mc'},{'x':306,'y':256,'name':'PassTile_4_mc'},{'x':320,'y':138,'name':'PassTile_9_mc'},{'x':384,'y':256,'name':'PassTile_8_mc'},{'x':512,'y':305,'name':'PassTile_1_mc'},{'x':0,'y':320,'name':'Floor_1_mc'},{'x':64,'y':320,'name':'Floor_1_mc'},{'x':128,'y':320,'name':'Floor_1_mc'},{'x':192,'y':320,'name':'Floor_1_mc'},{'x':256,'y':320,'name':'Floor_1_mc'},{'x':320,'y':320,'name':'Floor_1_mc'},{'x':384,'y':320,'name':'Floor_1_mc'},{'x':512,'y':320,'name':'Floor_1_mc'},{'x':768,'y':320,'name':'Floor_1_mc'},{'x':576,'y':320,'name':'Floor_1_mc'},{'x':640,'y':320,'name':'Floor_2_mc'},{'x':0,'y':305,'name':'PassTile_1_mc'},{'x':64,'y':305,'name':'PassTile_1_mc'},{'x':128,'y':305,'name':'PassTile_1_mc'},{'x':192,'y':305,'name':'PassTile_1_mc'},{'x':768,'y':305,'name':'PassTile_1_mc'},{'x':576,'y':305,'name':'PassTile_1_mc'},{'x':192,'y':278,'name':'PassTile_2_mc'},{'x':256,'y':305,'name':'PassTile_1_mc'},{'x':0,'y':256,'name':'PassTile_8_mc'},{'x':0,'y':266,'name':'PassTile_9_mc'},{'x':128,'y':266,'name':'PassTile_9_mc'},{'x':576,'y':266,'name':'PassTile_9_mc'},{'x':64,'y':296,'name':'PassTile_10_mc'},{'x':128,'y':296,'name':'PassTile_11_mc'},{'x':192,'y':296,'name':'PassTile_12_mc'},{'x':320,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':384,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':448,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':352,'y':278.90000000000003,'name':'PassTile_2_mc'},{'x':416,'y':278.90000000000003,'name':'PassTile_2_mc'},{'x':64,'heroPosY':320,'y':256,'level':1,'heroPosX':5120,'name':'Door_mc'},{'x':448,'y':320,'name':'Floor_1_mc'},{'x':622.2,'y':129,'name':'PassTile_3_mc'},{'x':640,'y':128,'name':'Floor_1_mc'},{'x':640,'y':113,'name':'PassTile_1_mc'},{'x':640,'y':192,'name':'Floor_2_mc'},{'x':627,'y':192,'name':'PassTile_4_mc'},{'x':640,'y':74,'name':'PassTile_9_mc'},{'x':640,'y':256,'name':'Floor_3_mc'},{'x':627,'y':257.6,'name':'PassTile_4_mc'},{'x':704,'y':320,'name':'Floor_2_mc'},{'x':704,'y':128,'name':'Floor_1_mc'},{'x':704,'y':113,'name':'PassTile_1_mc'},{'x':704,'y':192,'name':'Floor_2_mc'},{'x':704,'y':256,'name':'Floor_3_mc'},{'width':844,'height':387.1}]";
["item10"] = "[{'name':'Item_5_mc','y':192,'x':353.05,'type':'heavyAttack'}]";
["map11"] = "[{'x':320,'name':'PassTile2_13_mc','y':300},{'x':384.05,'name':'PassTile2_14_mc','y':299.45},{'x':448,'name':'PassTile2_15_mc','y':300.5},{'x':512,'name':'PassTile2_16_mc','y':300.5},{'x':704,'name':'PassTile2_10_mc','y':300},{'x':960,'name':'PassTile2_1_mc','y':305},{'x':64,'name':'PassTile2_10_mc','y':296},{'x':128,'name':'PassTile2_11_mc','y':296},{'x':192,'name':'PassTile2_12_mc','y':296},{'x':320,'name':'PassTile2_8_mc','y':256},{'x':640,'name':'PassTile2_6_mc','y':256},{'x':176.20000000000002,'name':'PassTile2_3_mc','y':256.40000000000003},{'x':192,'name':'CloudFloor2_1_mc','y':256},{'x':0,'name':'Floor2_1_mc','y':320},{'x':0,'name':'PassTile2_1_mc','y':305},{'x':192,'name':'PassTile2_2_mc','y':278},{'x':192,'name':'PassTile2_1_mc','y':241},{'x':256,'name':'PassTile2_5_mc','y':256},{'x':560.2,'name':'PassTile2_3_mc','y':192.4},{'x':576,'name':'CloudFloor2_1_mc','y':192},{'x':576,'name':'PassTile2_1_mc','y':177},{'x':640,'name':'PassTile2_5_mc','y':192},{'x':576,'name':'PassTile2_7_mc','y':256},{'x':563.5,'name':'PassTile2_4_mc','y':256},{'x':0,'name':'PassTile2_8_mc','y':256},{'x':192,'name':'PassTile2_8_mc','y':192},{'x':0,'name':'PassTile2_9_mc','y':266},{'x':128,'name':'PassTile2_9_mc','y':266},{'x':192,'name':'PassTile2_9_mc','y':202},{'x':512,'name':'PassTile2_9_mc','y':266},{'x':640,'name':'PassTile2_9_mc','y':266},{'x':576,'name':'PassTile2_9_mc','y':138},{'x':352,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':416,'name':'PassTile2_2_mc','y':278.90000000000003},{'x':768,'name':'PassTile2_11_mc','y':300},{'x':832,'name':'PassTile2_12_mc','y':300},{'x':64,'name':'Floor2_1_mc','y':320},{'x':64,'name':'PassTile2_1_mc','y':305},{'x':128,'name':'Floor2_1_mc','y':320},{'x':128,'name':'PassTile2_1_mc','y':305},{'x':192,'name':'Floor2_1_mc','y':320},{'x':192,'name':'PassTile2_1_mc','y':305},{'x':256,'name':'Floor2_1_mc','y':320},{'x':256,'name':'PassTile2_1_mc','y':305},{'x':320,'name':'Floor2_1_mc','y':320},{'x':320,'name':'PassTile2_1_mc','y':305},{'x':384,'name':'Floor2_1_mc','y':320},{'x':384,'name':'PassTile2_1_mc','y':305},{'x':448,'name':'Floor2_1_mc','y':320},{'x':512,'name':'Floor2_1_mc','y':320},{'x':512,'name':'PassTile2_1_mc','y':305},{'x':576,'name':'Floor2_1_mc','y':320},{'x':576,'name':'PassTile2_1_mc','y':305},{'x':640,'name':'Floor2_1_mc','y':320},{'x':640,'name':'PassTile2_1_mc','y':305},{'x':704,'name':'Floor2_1_mc','y':320},{'x':704,'name':'PassTile2_1_mc','y':305},{'x':768,'name':'Floor2_1_mc','y':320},{'x':768,'name':'PassTile2_1_mc','y':305},{'level':4,'name':'Door_mc','isUpForwards':false,'y':256,'x':64,'heroPosY':320,'heroPosX':1728},{'x':832,'name':'Floor2_1_mc','y':320},{'x':832,'name':'PassTile2_1_mc','y':305},{'x':896,'name':'Floor2_3_mc','y':256},{'x':960,'name':'Floor2_1_mc','y':320},{'x':896,'name':'Floor2_1_mc','y':128},{'x':896,'name':'Floor2_2_mc','y':192},{'x':896,'name':'PassTile2_1_mc','y':110},{'x':878.45,'name':'PassTile2_3_mc','y':128.4},{'x':960,'name':'PassTile2_5_mc','y':127.85000000000001},{'x':959,'name':'PassTile2_6_mc','y':192},{'x':881.25,'name':'PassTile2_4_mc','y':193.5},{'x':448,'name':'PassTile2_1_mc','y':305},{'x':896,'name':'Floor2_2_mc','y':320},{'x':881.25,'name':'PassTile2_4_mc','y':257.5},{'x':960,'name':'PassTile2_6_mc','y':256},{'x':1024,'name':'PassTile2_1_mc','y':305},{'x':1024,'name':'Floor2_1_mc','y':320},{'width':1094,'height':385}]";
["item11"] = "[{'type':'upCut','name':'Item_5_mc','x':607.15,'y':192}]";
["map12"] = "[{'x':1216,'y':256,'name':'PassTile_6_mc'},{'x':1134.2,'y':193,'name':'PassTile_3_mc'},{'x':1152,'y':192,'name':'CloudFloor_1_mc'},{'x':1152,'y':177,'name':'PassTile_1_mc'},{'x':1216,'y':192,'name':'PassTile_5_mc'},{'x':1152,'y':256,'name':'PassTile_7_mc'},{'x':1138,'y':256,'name':'PassTile_4_mc'},{'x':1152,'y':138,'name':'PassTile_9_mc'},{'x':1216,'y':256,'name':'PassTile_8_mc'},{'x':1344,'y':305,'name':'PassTile_1_mc'},{'x':0,'y':320,'name':'Floor_1_mc'},{'x':64,'y':320,'name':'Floor_1_mc'},{'x':128,'y':320,'name':'Floor_1_mc'},{'x':192,'y':320,'name':'Floor_1_mc'},{'x':1088,'y':320,'name':'Floor_1_mc'},{'x':1152,'y':320,'name':'Floor_1_mc'},{'x':1216,'y':320,'name':'Floor_1_mc'},{'x':1344,'y':320,'name':'Floor_1_mc'},{'x':1600,'y':320,'name':'Floor_1_mc'},{'x':1408,'y':320,'name':'Floor_1_mc'},{'x':1472,'y':320,'name':'Floor_2_mc'},{'x':0,'y':305,'name':'PassTile_1_mc'},{'x':64,'y':305,'name':'PassTile_1_mc'},{'x':128,'y':305,'name':'PassTile_1_mc'},{'x':192,'y':305,'name':'PassTile_1_mc'},{'x':1600,'y':305,'name':'PassTile_1_mc'},{'x':1408,'y':305,'name':'PassTile_1_mc'},{'x':192,'y':278,'name':'PassTile_2_mc'},{'x':1088,'y':305,'name':'PassTile_1_mc'},{'x':0,'y':256,'name':'PassTile_8_mc'},{'x':0,'y':266,'name':'PassTile_9_mc'},{'x':128,'y':266,'name':'PassTile_9_mc'},{'x':1408,'y':266,'name':'PassTile_9_mc'},{'x':64,'y':296,'name':'PassTile_10_mc'},{'x':128,'y':296,'name':'PassTile_11_mc'},{'x':192,'y':296,'name':'PassTile_12_mc'},{'x':1152,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':1216,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':1280,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':1184,'y':278.90000000000003,'name':'PassTile_2_mc'},{'x':1248,'y':278.90000000000003,'name':'PassTile_2_mc'},{'isUpForwards':false,'x':64,'level':7,'name':'Door_mc','heroPosY':320,'heroPosX':704,'y':256},{'x':1280,'y':320,'name':'Floor_1_mc'},{'x':1454.2,'y':129,'name':'PassTile_3_mc'},{'x':1472,'y':128,'name':'Floor_1_mc'},{'x':1472,'y':113,'name':'PassTile_1_mc'},{'x':1472,'y':192,'name':'Floor_2_mc'},{'x':1459,'y':192,'name':'PassTile_4_mc'},{'x':1472,'y':74,'name':'PassTile_9_mc'},{'x':1472,'y':256,'name':'Floor_3_mc'},{'x':1459,'y':257.6,'name':'PassTile_4_mc'},{'x':1536,'y':320,'name':'Floor_2_mc'},{'x':1536,'y':128,'name':'Floor_1_mc'},{'x':1536,'y':113,'name':'PassTile_1_mc'},{'x':1536,'y':192,'name':'Floor_2_mc'},{'x':1536,'y':256,'name':'Floor_3_mc'},{'x':384,'y':256,'name':'PassTile_6_mc'},{'x':302.2,'y':193,'name':'PassTile_3_mc'},{'x':320,'y':192,'name':'CloudFloor_1_mc'},{'x':320,'y':177,'name':'PassTile_1_mc'},{'x':384,'y':192,'name':'PassTile_5_mc'},{'x':320,'y':256,'name':'PassTile_7_mc'},{'x':306,'y':256,'name':'PassTile_4_mc'},{'x':320,'y':138,'name':'PassTile_9_mc'},{'x':384,'y':256,'name':'PassTile_8_mc'},{'x':512,'y':305,'name':'PassTile_1_mc'},{'x':256,'y':320,'name':'Floor_1_mc'},{'x':320,'y':320,'name':'Floor_1_mc'},{'x':384,'y':320,'name':'Floor_1_mc'},{'x':512,'y':320,'name':'Floor_1_mc'},{'x':256,'y':305,'name':'PassTile_1_mc'},{'x':320,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':384,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':448,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':352,'y':278.90000000000003,'name':'PassTile_2_mc'},{'x':416,'y':278.90000000000003,'name':'PassTile_2_mc'},{'x':448,'y':320,'name':'Floor_1_mc'},{'x':640,'y':305,'name':'PassTile_1_mc'},{'x':640,'y':320,'name':'Floor_1_mc'},{'x':576,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':576,'y':320,'name':'Floor_1_mc'},{'x':768,'y':305,'name':'PassTile_1_mc'},{'x':768,'y':320,'name':'Floor_1_mc'},{'x':704,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':704,'y':320,'name':'Floor_1_mc'},{'x':896,'y':305,'name':'PassTile_1_mc'},{'x':896,'y':320,'name':'Floor_1_mc'},{'x':832,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':832,'y':320,'name':'Floor_1_mc'},{'bossType':'BossA','y':0.05,'name':'BossAnchor_mc','maxCharNum':32,'x':576,'charTypeList':['SoldierA2,1']},{'x':1024,'y':305,'name':'PassTile_1_mc'},{'x':1024,'y':320,'name':'Floor_1_mc'},{'x':960,'y':305.90000000000003,'name':'PassTile_1_mc'},{'x':960,'y':320,'name':'Floor_1_mc'},{'height':387.1,'width':1676}]";
["item12"] = "[{'y':192,'name':'Item_7_mc','type':'dragonUpCut','x':1185.05}]";
}
public function getCharData(pSceneID:uint=0):Array{
return ( [pSceneID]);
}
public function getBgm(pSceneID:uint):String{
return ( [pSceneID]);
}
private function
():void{
(0, "BgLayer", [new CharSpawnInfo(SoldierA, 1)], 32, SoundType.BGM1);
(1, "BgLayer2", [new CharSpawnInfo(SoldierA, 4), new CharSpawnInfo(SoldierB, 1)], 32, SoundType.BGM1);
(2, "BgLayer", [], 0, SoundType.BGM1);
(3, "BgLayer3", [new CharSpawnInfo(SoldierA, 3), new CharSpawnInfo(SoldierB, 2)], 32, SoundType.BGM2);
(4, "BgLayer3", [new CharSpawnInfo(SoldierA, 2), new CharSpawnInfo(SoldierB, 2), new CharSpawnInfo(SoldierC, 1)], 32, SoundType.BGM2);
(5, "BgLayer3", [], 0, SoundType.BGM2);
(6, "BgLayer", [new CharSpawnInfo(SoldierC, 3), new CharSpawnInfo(SoldierB, 1), new CharSpawnInfo(SoldierA2, 1)], 32, SoundType.BGM1);
(7, "BgLayer2", [new CharSpawnInfo(SoldierC, 2), new CharSpawnInfo(SoldierB2, 1), new CharSpawnInfo(SoldierA2, 1)], 32, SoundType.BGM1);
(8, "BgLayer2", [], 0, SoundType.BGM1);
(9, "BgLayer", [], 0, SoundType.BGM3);
(10, "BgLayer2", [], 0, SoundType.BGM1);
(11, "BgLayer3", [], 0, SoundType.BGM2);
(12, "BgLayer2", [], 0, SoundType.BGM1);
}
public function setItemData(pSceneID:uint, pData:Array):void{
[pSceneID] = pData;
}
private function (pStr:String):String{
var myPattern:RegExp = /\'/g;
return (pStr.replace(myPattern, "\""));
}
public function getMapData(pSceneID:uint=0):Array{
return ( [pSceneID]);
}
public function getMaxCharLimit(pSceneID:uint=0):uint{
return ( [pSceneID]);
}
private function (pSceneID:uint, pBgType:String, pCharTypeList:Array, pMaxCharNum:uint, pSoundType:String):void{
[pSceneID] = (JSON.decode( ( [("map" + pSceneID)])) as Array);
[pSceneID] = pBgType;
[pSceneID] = createCharTypeProbList(pCharTypeList);
[pSceneID] = pMaxCharNum;
[pSceneID] = pSoundType;
}
public static function createCharTypeProbList(pInfoList:Array):Array{
var j:uint;
var targetList:Array = new Array();
var i:uint;
while (i < pInfoList.length) {
j = 0;
while (j < CharSpawnInfo(pInfoList[i]).ratio) {
targetList.push(CharSpawnInfo(pInfoList[i]).type);
j++;
};
i++;
};
return (targetList);
}
}
}//package com.creetor.game.YLLegend
Section 266
//SkillLocker (com.creetor.game.YLLegend.SkillLocker)
package com.creetor.game.YLLegend {
public class SkillLocker {
private var :Object;
public function SkillLocker(pSkillList:Array){
super();
= new Object();
var i:uint;
while (i < pSkillList.length) {
[pSkillList[i]] = true;
i++;
};
}
public function unlock(pSkill:String):void{
[pSkill] = false;
}
public function unlockAll():void{
var i:String;
for (i in ) {
[i] = false;
};
}
public function getLocker(pSkill:String):Boolean{
return ([pSkill]);
}
public function dispose():void{
= null;
}
}
}//package com.creetor.game.YLLegend
Section 267
//YLLegend (com.creetor.game.YLLegend.YLLegend)
package com.creetor.game.YLLegend {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.ai.*;
import flash.display.*;
import com.creetor.game.YLLegend.ui.*;
import com.creetor.game.YLLegend.view.*;
import com.creetor.game.YLLegend.controller.*;
public final class YLLegend extends Sprite implements IDataLoadable, IDataSaveable {
private var :LocalDataSLHandler;
private var :Game;
private var :ComboInputController;
private var :SceneData;
private var :GameAnimator;
public var _mochiads_game_id:String;// = "b4fc42053b994c49"
private var
:UIManager;
private var
:MovieClip;
public static const HIGHSCORE_KEY:String = "a33FsaBsxvfsD";
public static const VERSION:Number = 0.9;
public static const ID:int = 1;
public static const LANG:String = "en";
public function YLLegend(){
super();
();
init();
}
private function (event:UIManagerEvent):void{
start();
}
public function stopLoop():void{
.removeEventListener(Event.ENTER_FRAME, update);
}
private function
():void{
var mask:Sprite = new Sprite();
mask.graphics.beginFill(0);
mask.graphics.drawRect(0, 0, 576, 384);
mask.graphics.endFill();
this.mask = mask;
}
private function update(event:Event):void{
if (! .isPause()){
.update();
.update();
.update();
};
}
private function init():void{
LangTextHolder.getInstance(LANG);
= LocalDataSLHandler.getInstance();
if ( .getConfigData() != null){
setData( .getConfigData());
};
= new SceneData();
= Game.getInstance( );
.addEventListener(GameEvent.UNABLE_INPUT, );
.addEventListener(GameEvent.ENABLE_INPUT, );
.addEventListener(GameEvent.GAME_OVER, );
.addEventListener(GameEvent.GAME_ENDING, );
= new GameAnimator( );
this.addChild( .sp);
= UIManager.getInstance( );
.addEventListener(UIManagerEvent.START_GAME, );
.addEventListener(UIManagerEvent.SET_KEY_STYLE, );
.createVluxPreScreen();
this.addChild(
.sp);
= new MovieClip();
}
public function dispose():void{
.dispose();
stopLoop();
= null;
.dispose();
UserInputAdapter.stage = null;
.dispose();
}
public function getData():Object{
var data:Object = new Object();
data.keyStyle = UserInputAdapter.getKeyStyle();
return (data);
}
private function (event:GameEvent):void{
if ( != null){
.enable();
};
}
public function start():void{
UserInputAdapter.stage = parent.stage;
Game.setFrameRate(parent.stage.frameRate);
.createScene();
= new ComboInputController(( .hero.getCharOperator() as YanLoongOperator));
.setComboIndexs([0, 1, 2, 3, 4, 5]);
.addEventListener(Event.ENTER_FRAME, update);
}
private function (event:GameEvent):void{
.dispose();
= null;
stopLoop();
}
private function (event:UIManagerEvent):void{
UserInputAdapter.setKeyStyle(event.getKeyStyle());
.saveConfig(getData());
}
private function (event:GameEvent):void{
.dispose();
= null;
}
public function setData(pData:Object):void{
UserInputAdapter.setKeyStyle(pData.keyStyle);
}
private function (event:GameEvent):void{
.disable();
}
}
}//package com.creetor.game.YLLegend
Section 268
//Config (com.novelgames.flashgames.highscores.Config)
package com.novelgames.flashgames.highscores {
public class Config {
public static var HIGHSCORES_UPARROW_FROMBOTTOM:Number = 40;
public static var HIGHSCORES_UPARROW_FROMRIGHT:Number = 34;
public static var ENTER_NAMEFIELDORDER:Number = 20;
public static var HIGHSCORES_DOWNARROW_FROMBOTTOM:Number = 40;
public static var HIGHSCORES_LIST_BUTTONFROMBOTTOM:Number = 20;
public static var ENTER_LABELFIELDSPACING:Number = 5;
public static var HIGHSCORES_LIST_FROMBOTTOM:Number = 50;
public static var HIGHSCORES_TITLEY:Number = 20;
public static var HIGHSCORES_DOWNARROW_FROMRIGHT:Number = 18;
public static var ENTER_SECTIONSPACING:Number = 30;
public static var HIGHSCORES_LIST_FROMTOP:Number = 50;
public static var HIGHSCORES_LIST_COLUMNSPACING:Number = 10;
public static var FAILED_TEXTBUTTONSPACING:Number = 50;
public static var ENTER_BUTTONSSPACING:Number = 70;
public static var HIGHSCORES_LIST_FROMRIGHT:Number = 10;
public static var HIGHSCORES_LIST_ROWSPACING:Number = 15;
public static var HIGHSCORES_NONEDISPLAY:String = "-";
public static var HIGHSCORES_LIST_FROMLEFT:Number = 10;
public static var HIGHSCORES_SCROLLSPEED:Number = 200;
}
}//package com.novelgames.flashgames.highscores
Section 269
//HighScores (com.novelgames.flashgames.highscores.HighScores)
package com.novelgames.flashgames.highscores {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import fl.core.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
import flash.xml.*;
public class HighScores extends UIComponent {
private var :String;
private var :Number;
private var :Number;
private var :Number;
private var :Number;
private var :Number;
private var :Number;
private var :Array;
private var :Timer;
private var :MovieClip;
private var
:String;
private var score:Number;
private var :Boolean;
private var :Boolean;
private var :Number;
private var :Boolean;
private var
:Number;
private var
:String;
private var
:Number;
private var
:Number;
private var
:Number;
private var
:Number;
private var :Boolean;
private var :Function;
private var :String;
private var :Number;
private var :Boolean;
private var level:int;
private var :Boolean;
private var :String;
private var difficulty:int;
private var :int;
private var scoreRange:Number;
private var :Boolean;
public static var SCORERANGE_PASTWEEK:Number = 3;
public static var SCORERANGE_PASTYEAR:Number = 5;
public static var SCROLL_UP:Number = 1;
public static var SCROLL_DOWN:Number = 2;
public static var SCORERANGE_THISDAY:Number = 6;
public static var SCORERANGE_THISMONTH:Number = 8;
public static var SCORERANGE_THISYEAR:Number = 9;
public static var SCORERANGE_ETERNITY:Number = 1;
public static var SCORERANGE_THISWEEK:Number = 7;
public static var SCORERANGE_PASTDAY:Number = 2;
public static var SCORERANGE_PASTMONTH:Number = 4;
public function get saveScoreURL():String{
return ();
}
private function ():void{
if (){
this.removeChild();
};
= new HighScoresLoadFailedPage();
drawBackground();
.loadHighScoresFailedText.x = (width / 2);
.loadHighScoresFailedText.y = ((height / 2) - (Config.FAILED_TEXTBUTTONSPACING / 2));
.okButton.x = (width / 2);
.okButton.y = ((height / 2) + (Config.FAILED_TEXTBUTTONSPACING / 2));
.okButton.addEventListener(MouseEvent.CLICK, hide);
this.addChild();
visible = true;
}
public function get dialogBorderAlpha():Number{
return ();
}
public function set saveScoreURL(_arg1:String):void{
= _arg1;
}
public function get maxNoOfScores():Number{
return ();
}
public function get dialogBorderThickness():Number{
return ();
}
public function set dialogBorderAlpha(_arg1:Number):void{
= _arg1;
}
private function (_arg1:int):void{
var _local2:Array;
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:*;
var _local8:*;
var _local9:MovieClip;
var _local10:*;
_local2 = new Array();
_local3 = new Array();
_local4 = new Array();
_local5 = 0;
_local6 = 0;
_local10 = 0;
while (_local10 < ) {
if (_local10 < .length){
_local7 = [_local10].name;
_local8 = [_local10].score;
} else {
_local7 = Config.HIGHSCORES_NONEDISPLAY;
_local8 = Config.HIGHSCORES_NONEDISPLAY;
};
_local9 = new TextText();
_local9.textText.autoSize = "left";
_local9.textText.text = (_local10 + 1);
if (_local9.width > _local5){
_local5 = _local9.width;
};
.ranksHolder.addChild(_local9);
_local2.push(_local9);
_local9 = new TextText();
_local9.textText.autoSize = "left";
_local9.textText.text = _local7;
.namesHolder.addChild(_local9);
_local3.push(_local9);
_local9 = new TextText();
_local9.textText.autoSize = "left";
_local9.textText.text = _local8;
if (_local9.width > _local6){
_local6 = _local9.width;
};
.scoresHolder.addChild(_local9);
_local4.push(_local9);
_local10++;
};
_local10 = 0;
while (_local10 < ) {
_local2[_local10].x = Config.HIGHSCORES_LIST_FROMLEFT;
_local2[_local10].y = (Config.HIGHSCORES_LIST_FROMTOP + (_local10 * Config.HIGHSCORES_LIST_ROWSPACING));
_local3[_local10].x = ((Config.HIGHSCORES_LIST_FROMLEFT + _local5) + Config.HIGHSCORES_LIST_COLUMNSPACING);
_local3[_local10].y = (Config.HIGHSCORES_LIST_FROMTOP + (_local10 * Config.HIGHSCORES_LIST_ROWSPACING));
_local4[_local10].x = ((width - Config.HIGHSCORES_LIST_FROMRIGHT) - _local4[_local10].width);
_local4[_local10].y = (Config.HIGHSCORES_LIST_FROMTOP + (_local10 * Config.HIGHSCORES_LIST_ROWSPACING));
_local10++;
};
.ranksMask.x = Config.HIGHSCORES_LIST_FROMLEFT;
.ranksMask.y = Config.HIGHSCORES_LIST_FROMTOP;
.ranksMask.width = ((((width - Config.HIGHSCORES_LIST_FROMRIGHT) - Config.HIGHSCORES_LIST_FROMLEFT) - _local6) - Config.HIGHSCORES_LIST_COLUMNSPACING);
.ranksMask.height = ((height - Config.HIGHSCORES_LIST_FROMBOTTOM) - Config.HIGHSCORES_LIST_FROMTOP);
.namesMask.x = Config.HIGHSCORES_LIST_FROMLEFT;
.namesMask.y = Config.HIGHSCORES_LIST_FROMTOP;
.namesMask.width = ((((width - Config.HIGHSCORES_LIST_FROMRIGHT) - Config.HIGHSCORES_LIST_FROMLEFT) - _local6) - Config.HIGHSCORES_LIST_COLUMNSPACING);
.namesMask.height = ((height - Config.HIGHSCORES_LIST_FROMBOTTOM) - Config.HIGHSCORES_LIST_FROMTOP);
.scoresMask.x = ((width - Config.HIGHSCORES_LIST_FROMRIGHT) - _local6);
.scoresMask.y = Config.HIGHSCORES_LIST_FROMTOP;
.scoresMask.width = _local6;
.scoresMask.height = ((height - Config.HIGHSCORES_LIST_FROMBOTTOM) - Config.HIGHSCORES_LIST_FROMTOP);
.ranksHolder.mask = .ranksMask;
.namesHolder.mask = .namesMask;
.scoresHolder.mask = .scoresMask;
if (_arg1 != -1){
if (_arg1 < _local2.length){
_local2[_arg1].textText.textColor =
;
_local3[_arg1].textText.textColor =
;
_local4[_arg1].textText.textColor =
;
};
(_arg1);
};
}
public function set dialogColour(_arg1:Number):void{
= _arg1;
}
private function (_arg1:int):void{
if ( ){
();
return;
};
if ( == null){
();
return;
};
if (){
this.removeChild();
};
= new HighScoresTablePage();
drawBackground();
();
(_arg1);
();
.okButton.x = (width / 2);
.okButton.y = (height - Config.HIGHSCORES_LIST_BUTTONFROMBOTTOM);
.okButton.addEventListener(MouseEvent.CLICK, hide);
this.addChild();
visible = true;
if (alwaysReloadScores){
= null;
};
}
public function get hashKey():String{
return (
);
}
public function showEnterHighScore(_arg1:Number, _arg2:int, _arg3:int):void{
var _local4:Number;
var _local5:Number;
this.score = _arg1;
this.level = _arg2;
this.difficulty = _arg3;
if (){
this.removeChild();
};
= new HighScoresEnterPage();
.scoreText.text = _arg1.toString();
.nameText.text = ((
)!=null) ?
: "";
drawBackground();
_local4 = ((((((((.yourScoreText.height + Config.ENTER_LABELFIELDSPACING) + .scoreText.height) + Config.ENTER_SECTIONSPACING) + .enterText.height) + Config.ENTER_LABELFIELDSPACING) + .nameText.height) + Config.ENTER_SECTIONSPACING) + .okButton.height);
_local5 = ((height - _local4) / 2);
.yourScoreText.x = (width / 2);
.yourScoreText.y = (_local5 + (.yourScoreText.height / 2));
_local5 = (_local5 + (.yourScoreText.height + Config.ENTER_LABELFIELDSPACING));
.scoreText.autoSize = "center";
.scoreText.x = ((width - .scoreText.width) / 2);
.scoreText.y = _local5;
_local5 = (_local5 + (.scoreText.height + Config.ENTER_SECTIONSPACING));
.enterText.x = (width / 2);
.enterText.y = (_local5 + (.enterText.height / 2));
_local5 = (_local5 + (.enterText.height + Config.ENTER_LABELFIELDSPACING));
.nameText.width = (width - (Config.ENTER_NAMEFIELDORDER * 2));
.nameText.x = ((width - .nameText.width) / 2);
.nameText.y = _local5;
_local5 = (_local5 + (.nameText.height + Config.ENTER_SECTIONSPACING));
.okButton.x = ((width - Config.ENTER_BUTTONSSPACING) / 2);
.okButton.y = (_local5 + (.okButton.height / 2));
.cancelButton.x = ((width + Config.ENTER_BUTTONSSPACING) / 2);
.cancelButton.y = (_local5 + (.cancelButton.height / 2));
.okButton.addEventListener(MouseEvent.CLICK,
);
.cancelButton.addEventListener(MouseEvent.CLICK, hide);
this.addChild();
visible = true;
if (((!(( == ""))) && (!((root.loaderInfo.parameters[] == null))))){
= false;
= root.loaderInfo.parameters[];
if (
== null){
= "";
};
};
if (!){
();
};
}
public function set dialogBorderThickness(_arg1:Number):void{
= _arg1;
}
public function get dialogBorderColour():Number{
return ();
}
public function set loadScoresURL(_arg1:String):void{
= _arg1;
}
public function get gameID():Number{
return ();
}
public function ():void{
var _local1:URLRequest;
var _local2:URLLoader;
_local1 = new URLRequest((( + ((.indexOf("?") == -1)) ? "?id=" : "&id=") + ));
_local2 = new URLLoader();
= true;
_local1.method = "GET";
_local2.addEventListener(IOErrorEvent.IO_ERROR, );
_local2.addEventListener(SecurityErrorEvent.SECURITY_ERROR, );
_local2.addEventListener(Event.COMPLETE,
);
_local2.load(_local1);
if ( ){
();
};
}
public function set loadScoresAtStart(_arg1:Boolean):void{
= _arg1;
}
private function ():void{
if (){
this.removeChild();
};
= new HighScoresSavingPage();
drawBackground();
.savingScoreText.x = (width / 2);
.savingScoreText.y = (height / 2);
this.addChild();
visible = true;
}
public function get highScoresHighlightColour():Number{
return (
);
}
public function get alwaysReloadScores():Boolean{
return ( );
}
private function
(_arg1:MouseEvent):void{
(_slot1.SCROLL_UP);
}
private function ():void{
if (.ranksHolder.height > .namesMask.height){
.upArrowButton.x = (width - Config.HIGHSCORES_UPARROW_FROMRIGHT);
.upArrowButton.y = (height - Config.HIGHSCORES_UPARROW_FROMBOTTOM);
.downArrowButton.x = (width - Config.HIGHSCORES_DOWNARROW_FROMRIGHT);
.downArrowButton.y = (height - Config.HIGHSCORES_DOWNARROW_FROMBOTTOM);
.upArrowButton.addEventListener(MouseEvent.MOUSE_DOWN,
);
.downArrowButton.addEventListener(MouseEvent.MOUSE_DOWN,
);
.upArrowButton.addEventListener(MouseEvent.MOUSE_UP, );
.downArrowButton.addEventListener(MouseEvent.MOUSE_UP, );
if (.ranksHolder.y >= 0){
.upArrowButton.visible = false;
};
if (((.ranksHolder.y + Config.HIGHSCORES_LIST_FROMTOP) + ( * Config.HIGHSCORES_LIST_ROWSPACING)) <= (height - Config.HIGHSCORES_LIST_FROMBOTTOM)){
.downArrowButton.visible = false;
};
} else {
.upArrowButton.visible = false;
.downArrowButton.visible = false;
};
}
public function get backgroundColour():Number{
return ( );
}
private function (_arg1:String):void{
switch (_arg1){
case "eternity":
scoreRange = SCORERANGE_ETERNITY;
break;
case "pastDay":
scoreRange = SCORERANGE_PASTDAY;
break;
case "pastWeek":
scoreRange = SCORERANGE_PASTWEEK;
break;
case "pastMonth":
scoreRange = SCORERANGE_PASTMONTH;
break;
case "pastYear":
scoreRange = SCORERANGE_PASTYEAR;
break;
case "thisDay":
scoreRange = SCORERANGE_THISDAY;
break;
case "thisWeek":
scoreRange = SCORERANGE_THISWEEK;
break;
case "thisMonth":
scoreRange = SCORERANGE_THISMONTH;
break;
case "thisYear":
scoreRange = SCORERANGE_THISYEAR;
break;
};
}
override public function set visible(_arg1:Boolean):void{
if ( ){
return;
};
super.visible = _arg1;
}
public function get backgroundAlpha():Number{
return (
);
}
public function set hashKey(_arg1:String):void{
= _arg1;
}
private function ():void{
if (){
this.removeChild();
};
= new HighScoresSaveFailedPage();
drawBackground();
.saveScoreFailedText.x = (width / 2);
.saveScoreFailedText.y = ((height / 2) - (Config.FAILED_TEXTBUTTONSPACING / 2));
.okButton.x = (width / 2);
.okButton.y = ((height / 2) + (Config.FAILED_TEXTBUTTONSPACING / 2));
.okButton.addEventListener(MouseEvent.CLICK, hide);
this.addChild();
visible = true;
}
public function get dialogAlpha():Number{
return (
);
}
public function set dialogBorderColour(_arg1:Number):void{
= _arg1;
}
public function set showTableAfterSubmit(_arg1:Boolean):void{
= _arg1;
}
public function
(_arg1:String):void{
this.
= _arg1;
= false;
}
private function
(_arg1:MouseEvent):void{
(_slot1.SCROLL_DOWN);
}
private function
():void{
var _local1:URLVariables;
var _local2:URLRequest;
var _local3:URLLoader;
var _local4:*;
_local1 = new URLVariables();
_local2 = new URLRequest();
_local3 = new URLLoader();
if (){
if ( == null){
=
;
= true;
();
return;
};
_local4 = 0;
while (_local4 < .length) {
if ([_local4].score <= score){
break;
};
_local4++;
};
= _local4;
.splice(_local4, 0, new Record(
, score));
.splice();
};
Security.loadPolicyFile("http://yll.creetor.com/highscores/crossdomain.xml");
_local1.id = ;
_local1.name =
;
_local1.difficulty = difficulty;
_local1.level = level;
_local1.score = score;
_local1.hash = MD5.md5((((((("" + ) +
) + difficulty) + level) + score) + hashKey));
_local2.data = _local1;
_local2.method = "POST";
_local3.addEventListener(Event.COMPLETE, );
_local3.addEventListener(IOErrorEvent.IO_ERROR,
);
_local3.load(_local2);
();
}
public function set gameID(_arg1:Number):void{
= Number(_arg1);
}
public function set nameSWFVariable(_arg1:String):void{
= _arg1;
}
private function
(_arg1:Event):void{
var _local2:URLLoader;
var _local3:XMLDocument;
var _local4:XMLNode;
var _local5:XMLNode;
_local2 = URLLoader(_arg1.currentTarget);
_local3 = new XMLDocument();
_local3.ignoreWhite = true;
_local3.parseXML(_local2.data);
_local4 = _local3.firstChild;
= false;
= false;
(_local4.attributes.scoreRange);
= new Array();
_local5 = _local4.firstChild;
while (_local5) {
if (_local5.nodeName != "RECORD"){
} else {
.push(new Record(_local5.attributes.name, Number(_local5.attributes.score)));
if (.length >= ){
break;
};
};
_local5 = _local5.nextSibling;
};
();
}
public function get dialogColour():Number{
return (
);
}
public function set maxNoOfScores(_arg1:Number):void{
= Number(_arg1);
}
private function
():void{
= true;
=
;
();
}
public function hide(_arg1:MouseEvent=null):void{
= false;
if (){
this.removeChild();
};
= null;
visible = false;
}
public function set backgroundColour(_arg1:Number):void{
= Number(_arg1);
}
public function get loadScoresURL():String{
return ();
}
override protected function draw():void{
= false;
.highScoresModuleText.x = (width / 2);
.highScoresModuleText.y = (height / 2);
drawBackground();
}
override protected function configUI():void{
super.configUI();
= 1;
= "loadScores.php";
= "saveScore.php";
= false;
= 0x990000;
= 1;
= 1;
= 0xFF9900;
= 1;
= 0;
= 0.5;
= 50;
= "";
= "";
= 0x99CC00;
= false;
= true;
= false;
= false;
= true;
= null;
if (!checkLivePreview()){
visible = false;
};
if (){
= hide;
();
};
= new HighScoresTextPage();
.highScoresModuleText.x = (width / 2);
.highScoresModuleText.y = (height / 2);
this.addChild();
= true;
}
private function
():void{
if (){
this.removeChild();
};
= new HighScoresLoadingPage();
drawBackground();
.loadingHighScoresText.x = (width / 2);
.loadingHighScoresText.y = (height / 2);
this.addChild();
visible = true;
}
private function
(_arg1:IOErrorEvent):void{
();
}
public function showHighScores():void{
= true;
= showHighScores;
(-1);
}
private function ():void{
switch (scoreRange){
case SCORERANGE_ETERNITY:
.titleText.gotoAndStop("eternity");
break;
case SCORERANGE_PASTDAY:
.titleText.gotoAndStop("pastDay");
break;
case SCORERANGE_PASTWEEK:
.titleText.gotoAndStop("pastWeek");
break;
case SCORERANGE_PASTMONTH:
.titleText.gotoAndStop("pastMonth");
break;
case SCORERANGE_PASTYEAR:
.titleText.gotoAndStop("pastYear");
break;
case SCORERANGE_THISDAY:
.titleText.gotoAndStop("thisDay");
break;
case SCORERANGE_THISWEEK:
.titleText.gotoAndStop("thisWeek");
break;
case SCORERANGE_THISMONTH:
.titleText.gotoAndStop("thisMonth");
break;
case SCORERANGE_THISYEAR:
.titleText.gotoAndStop("thisYear");
break;
};
.titleText.x = (width / 2);
.titleText.y = Config.HIGHSCORES_TITLEY;
}
public function get loadScoresAtStart():Boolean{
return ();
}
private function (_arg1:Event):void{
if ( ){
();
};
= false;
= false;
}
public function set highScoresHighlightColour(_arg1:Number):void{
= _arg1;
}
private function (_arg1:MouseEvent=null):void{
if ( ){
.stop();
};
}
private function
(_arg1:int):void{
var _local2:Number;
_local2 = ((-(_arg1) * Config.HIGHSCORES_LIST_ROWSPACING) + ((((height - Config.HIGHSCORES_LIST_FROMBOTTOM) - Config.HIGHSCORES_LIST_FROMTOP) - Config.HIGHSCORES_LIST_ROWSPACING) / 2));
if (_local2 > 0){
_local2 = 0;
} else {
if (((_local2 + Config.HIGHSCORES_LIST_FROMTOP) + ( * Config.HIGHSCORES_LIST_ROWSPACING)) <= (height - Config.HIGHSCORES_LIST_FROMBOTTOM)){
_local2 = (((height - Config.HIGHSCORES_LIST_FROMBOTTOM) - ( * Config.HIGHSCORES_LIST_ROWSPACING)) - Config.HIGHSCORES_LIST_FROMTOP);
};
};
.ranksHolder.y = _local2;
.namesHolder.y = _local2;
.scoresHolder.y = _local2;
}
public function set alwaysReloadScores(_arg1:Boolean):void{
= _arg1;
}
private function (_arg1:TimerEvent):void{
var _local2:Number;
_arg1.updateAfterEvent();
if (
== SCROLL_DOWN){
_local2 = ( - (((getTimer() - ) * Config.HIGHSCORES_SCROLLSPEED) / 1000));
if (((_local2 + Config.HIGHSCORES_LIST_FROMTOP) + ( * Config.HIGHSCORES_LIST_ROWSPACING)) <= (height - Config.HIGHSCORES_LIST_FROMBOTTOM)){
_local2 = (((height - Config.HIGHSCORES_LIST_FROMBOTTOM) - ( * Config.HIGHSCORES_LIST_ROWSPACING)) - Config.HIGHSCORES_LIST_FROMTOP);
();
.downArrowButton.visible = false;
};
.ranksHolder.y = _local2;
.namesHolder.y = _local2;
.scoresHolder.y = _local2;
.upArrowButton.visible = true;
} else {
_local2 = ( + (((getTimer() - ) * Config.HIGHSCORES_SCROLLSPEED) / 1000));
if (_local2 >= 0){
_local2 = 0;
();
.upArrowButton.visible = false;
};
.ranksHolder.y = _local2;
.namesHolder.y = _local2;
.scoresHolder.y = _local2;
.downArrowButton.visible = true;
};
}
private function drawBackground():void{
var _local1:Point;
var _local2:Point;
_local1 = new Point(0, 0);
_local2 = new Point(stage.stageWidth, stage.stageHeight);
_local1 = this.globalToLocal(_local1);
_local2 = this.globalToLocal(_local2);
.backgroundHolder.graphics.clear();
.backgroundHolder.graphics.beginFill( ,
);
.backgroundHolder.graphics.moveTo(_local1.x, _local1.y);
.backgroundHolder.graphics.lineTo(_local2.x, _local1.y);
.backgroundHolder.graphics.lineTo(_local2.x, _local2.y);
.backgroundHolder.graphics.lineTo(_local1.x, _local2.y);
.backgroundHolder.graphics.lineTo(_local1.x, _local1.y);
.backgroundHolder.graphics.endFill();
.backgroundHolder.graphics.lineStyle(, , );
.backgroundHolder.graphics.beginFill(
,
);
.backgroundHolder.graphics.moveTo(0, 0);
.backgroundHolder.graphics.lineTo(width, 0);
.backgroundHolder.graphics.lineTo(width, height);
.backgroundHolder.graphics.lineTo(0, height);
.backgroundHolder.graphics.lineTo(0, 0);
.backgroundHolder.graphics.endFill();
}
public function get nameSWFVariable():String{
return ();
}
public function get showTableAfterSubmit():Boolean{
return ();
}
public function set backgroundAlpha(_arg1:Number):void{
= Number(_arg1);
}
private function
(_arg1:MouseEvent):void{
if (String(.nameText.text).length > 20){
= String(.nameText.text).slice(0, 20);
} else {
= .nameText.text;
};
();
}
private function (_arg1:Number):void{
= _arg1;
= getTimer();
= .ranksHolder.y;
if ( ){
.stop();
};
= new Timer(1, 0);
.addEventListener(TimerEvent.TIMER, );
.start();
}
private function (_arg1:Event):void{
var _local2:URLLoader;
var _local3:URLVariables;
_local2 = URLLoader(_arg1.currentTarget);
_local3 = new URLVariables(_local2.data);
if (_local3.success != "true"){
();
return;
};
if (){
();
} else {
hide();
};
}
public function set dialogAlpha(_arg1:Number):void{
= _arg1;
}
}
}//package com.novelgames.flashgames.highscores
Section 270
//HighScoresEnterPage (com.novelgames.flashgames.highscores.HighScoresEnterPage)
package com.novelgames.flashgames.highscores {
import flash.display.*;
import flash.text.*;
public dynamic class HighScoresEnterPage extends MovieClip {
public var yourScoreText:MovieClip;
public var enterText:MovieClip;
public var okButton:SimpleButton;
public var cancelButton:SimpleButton;
public var nameText:TextField;
public var backgroundHolder:MovieClip;
public var scoreText:TextField;
}
}//package com.novelgames.flashgames.highscores
Section 271
//HighScoresLoadFailedPage (com.novelgames.flashgames.highscores.HighScoresLoadFailedPage)
package com.novelgames.flashgames.highscores {
import flash.display.*;
public dynamic class HighScoresLoadFailedPage extends MovieClip {
public var okButton:SimpleButton;
public var backgroundHolder:MovieClip;
public var loadHighScoresFailedText:MovieClip;
}
}//package com.novelgames.flashgames.highscores
Section 272
//HighScoresLoadingPage (com.novelgames.flashgames.highscores.HighScoresLoadingPage)
package com.novelgames.flashgames.highscores {
import flash.display.*;
public dynamic class HighScoresLoadingPage extends MovieClip {
public var backgroundHolder:MovieClip;
public var loadingHighScoresText:MovieClip;
}
}//package com.novelgames.flashgames.highscores
Section 273
//HighScoresSaveFailedPage (com.novelgames.flashgames.highscores.HighScoresSaveFailedPage)
package com.novelgames.flashgames.highscores {
import flash.display.*;
public dynamic class HighScoresSaveFailedPage extends MovieClip {
public var okButton:SimpleButton;
public var backgroundHolder:MovieClip;
public var saveScoreFailedText:MovieClip;
}
}//package com.novelgames.flashgames.highscores
Section 274
//HighScoresSavingPage (com.novelgames.flashgames.highscores.HighScoresSavingPage)
package com.novelgames.flashgames.highscores {
import flash.display.*;
public dynamic class HighScoresSavingPage extends MovieClip {
public var savingScoreText:MovieClip;
public var backgroundHolder:MovieClip;
}
}//package com.novelgames.flashgames.highscores
Section 275
//HighScoresTablePage (com.novelgames.flashgames.highscores.HighScoresTablePage)
package com.novelgames.flashgames.highscores {
import flash.display.*;
public dynamic class HighScoresTablePage extends MovieClip {
public var upArrowButton:SimpleButton;
public var namesHolder:MovieClip;
public var scoresHolder:MovieClip;
public var okButton:SimpleButton;
public var namesMask:MovieClip;
public var ranksHolder:MovieClip;
public var ranksMask:MovieClip;
public var downArrowButton:SimpleButton;
public var backgroundHolder:MovieClip;
public var titleText:MovieClip;
public var scoresMask:MovieClip;
}
}//package com.novelgames.flashgames.highscores
Section 276
//HighScoresTextPage (com.novelgames.flashgames.highscores.HighScoresTextPage)
package com.novelgames.flashgames.highscores {
import flash.display.*;
public dynamic class HighScoresTextPage extends MovieClip {
public var highScoresModuleText:MovieClip;
public var backgroundHolder:MovieClip;
}
}//package com.novelgames.flashgames.highscores
Section 277
//MD5 (com.novelgames.flashgames.highscores.MD5)
package com.novelgames.flashgames.highscores {
public class MD5 {
private static function leftRotate(_arg1:uint, _arg2:int):uint{
var _local3:uint;
_local3 = ((1 << _arg2) - 1);
return (((_arg1 << _arg2) | ((_arg1 >> (32 - _arg2)) & _local3)));
}
private static function hexByteToString(_arg1:uint):String{
var _local2:String;
_local2 = _arg1.toString(16);
while (_local2.length < 2) {
_local2 = ("0" + _local2);
};
return (_local2);
}
public static function md5(_arg1:String){
var _local2:Array;
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:int;
var _local12:Array;
var _local13:int;
var _local14:Array;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:uint;
var _local19:uint;
var _local20:uint;
var _local21:*;
_local2 = [7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21];
_local3 = new Array(64);
_local4 = 0;
while (_local4 < 64) {
_local3[_local4] = Math.floor((Math.abs(Math.sin((_local4 + 1))) * Math.pow(2, 32)));
_local4++;
};
_local7 = 1732584193;
_local8 = 4023233417;
_local9 = 2562383102;
_local10 = 271733878;
_local11 = (_arg1.length * 8);
_local12 = new Array(_arg1.length);
_local4 = 0;
while (_local4 < _arg1.length) {
_local12[_local4] = _arg1.charCodeAt(_local4);
_local4++;
};
_local12.push(128);
while (((_local12.length * 8) % 0x0200) != 448) {
_local12.push(0);
};
_local12.push((_local11 & 0xFF));
_local12.push(((_local11 >> 8) & 0xFF));
_local12.push(((_local11 >> 16) & 0xFF));
_local12.push(((_local11 >> 24) & 0xFF));
_local12.push(0);
_local12.push(0);
_local12.push(0);
_local12.push(0);
_local13 = ((_local12.length * 8) / 0x0200);
_local6 = 0;
while (_local6 < _local13) {
_local14 = new Array(16);
_local5 = 0;
while (_local5 < 16) {
_local14[_local5] = ((((_local12[(((_local6 * 64) + (_local5 * 4)) + 3)] << 24) | (_local12[(((_local6 * 64) + (_local5 * 4)) + 2)] << 16)) | (_local12[(((_local6 * 64) + (_local5 * 4)) + 1)] << 8)) | _local12[((_local6 * 64) + (_local5 * 4))]);
_local5++;
};
_local15 = _local7;
_local16 = _local8;
_local17 = _local9;
_local18 = _local10;
_local4 = 0;
while (_local4 < 64) {
if (_local4 < 16){
_local19 = ((_local16 & _local17) | (~(_local16) & _local18));
_local20 = _local4;
} else {
if (_local4 < 32){
_local19 = ((_local18 & _local16) | (~(_local18) & _local17));
_local20 = (((5 * _local4) + 1) % 16);
} else {
if (_local4 < 48){
_local19 = ((_local16 ^ _local17) ^ _local18);
_local20 = (((3 * _local4) + 5) % 16);
} else {
_local19 = (_local17 ^ (_local16 | ~(_local18)));
_local20 = ((7 * _local4) % 16);
};
};
};
_local21 = _local18;
_local18 = _local17;
_local17 = _local16;
_local16 = (_local16 + leftRotate((((_local15 + _local19) + _local3[_local4]) + _local14[_local20]), _local2[_local4]));
_local15 = _local21;
_local4++;
};
_local7 = (_local7 + _local15);
_local8 = (_local8 + _local16);
_local9 = (_local9 + _local17);
_local10 = (_local10 + _local18);
_local6++;
};
return ((((hexToString(_local7) + hexToString(_local8)) + hexToString(_local9)) + hexToString(_local10)));
}
private static function hexToString(_arg1:uint):String{
return ((((hexByteToString((_arg1 & 0xFF)) + hexByteToString(((_arg1 >> 8) & 0xFF))) + hexByteToString(((_arg1 >> 16) & 0xFF))) + hexByteToString(((_arg1 >> 24) & 0xFF))));
}
}
}//package com.novelgames.flashgames.highscores
Section 278
//Record (com.novelgames.flashgames.highscores.Record)
package com.novelgames.flashgames.highscores {
public class Record {
public var score:Number;
public var name:String;
public function Record(_arg1:String, _arg2:Number){
this.name = _arg1;
this.score = _arg2;
}
}
}//package com.novelgames.flashgames.highscores
Section 279
//TextText (com.novelgames.flashgames.highscores.TextText)
package com.novelgames.flashgames.highscores {
import flash.display.*;
import flash.text.*;
public dynamic class TextText extends MovieClip {
public var textText:TextField;
}
}//package com.novelgames.flashgames.highscores
Section 280
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import flash.events.*;
import flash.display.*;
import fl.core.*;
import flash.utils.*;
import fl.events.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 281
//Button (fl.controls.Button)
package fl.controls {
import flash.display.*;
import fl.managers.*;
import fl.core.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 282
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 283
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import flash.events.*;
import flash.display.*;
import fl.managers.*;
import fl.core.*;
import flash.text.*;
import fl.events.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 284
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 285
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.events.*;
import flash.display.*;
import fl.managers.*;
import flash.utils.*;
import flash.text.*;
import fl.events.*;
import flash.system.*;
public class UIComponent extends Sprite {
protected var :Boolean;// = true
private var :Boolean;// = true
protected var :Number;
protected var _height:Number;
protected var :String;// = null
protected var :Number;
public var :IFocusManagerComponent;
protected var :Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var :String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var :Dictionary;
private var :Boolean;// = true
private var
:TextField;
protected var :Boolean;// = false
protected var :Boolean;// = false
protected var :Object;
protected var :Object;
protected var :Boolean;// = false
protected var :String;// = null
protected var :Object;
protected var _x:Number;
protected var :Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
= "3.0.0.15";
= false;
= false;
= true;
isFocused = false;
= true;
= true;
= null;
= null;
= false;
= false;
super();
= {};
= {};
= {};
= new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN,
);
addEventListener(FocusEvent.FOCUS_OUT, );
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
();
addEventListener(Event.ENTER_FRAME, , false, 0, true);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
private function (_arg1:Event):void{
var _local2:Dictionary;
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, );
stage.addEventListener(Event.RENDER, , false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, );
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, , false, 0, true);
return;
};
inCallLaterPhase = true;
_local2 = ;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function (_arg1:Event):void{
removeEventListener("addedToStage", );
();
}
protected function getStyleValue(_arg1:String):Object{
return ((([_arg1])==null) ? [_arg1] : [_arg1]);
}
protected function (_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / ));
}
override public function get scaleY():Number{
return ((height / ));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function
(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if ( ((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function (_arg1:String, _arg2:Object):void{
if (((([_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return ();
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN()) ? super.y : );
}
protected function (_arg1:Boolean){
var enabled = _arg1;
if ( != null){
if (enabled){
IME.enabled = true;
= IME.conversionMode;
try {
if (((!()) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = ;
};
= false;
} catch(e:Error) {
= true;
throw (new Error(("IME mode not supported: " + )));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!(( == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = ;
};
IME.enabled = false;
};
};
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == ){
return;
};
= _arg1;
invalidate(InvalidationType.STATE);
}
public function (_arg1:String, _arg2:Object):void{
if (((([_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
[_arg1] = _arg2;
if ([_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
= _arg1;
}
override public function set scaleX(_arg1:Number):void{
(( * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return ();
}
override public function set scaleY(_arg1:Number):void{
(width, ( * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function (_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function ():void{
}
protected function (_arg1:Function):void{
if (inCallLaterPhase){
return;
};
[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, , false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, , false, 0, true);
};
}
protected function ():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function (_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, );
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
= _arg1;
if (){
();
} else {
();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, );
}
public function ():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function (_arg1:FocusEvent):void{
if ( ((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
= _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
= {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
[_arg1] = true;
if (_arg2){
this.(draw);
};
}
public function get enabled():Boolean{
return ();
}
protected function ():Number{
return (super.scaleX);
}
protected function ():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return ();
}
protected function ():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
= checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
= _local2;
= _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function (_arg1:Number):void{
super.scaleX = _arg1;
}
protected function (_arg1:Number):void{
super.scaleY = _arg1;
}
private function ():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, , false, 0, true);
} else {
();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function (_arg1:String):void{
(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if ((([_arg1]) || ([InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if ([_args.pop()]){
return (true);
};
};
return (false);
}
public function (_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
= _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function ():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function (_arg1:String):Object{
return ([_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 286
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 287
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import flash.events.*;
import flash.display.*;
import fl.core.*;
import fl.controls.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, );
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function (_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function (_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function
(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN,
, true);
form.addEventListener(FocusEvent.FOCUS_OUT, , true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN,
, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, , true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 288
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import flash.display.*;
import fl.controls.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 289
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 290
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 291
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.utils.*;
import flash.text.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function (_arg1:String):void{
(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function (_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function (_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 292
//textHolder_30 (HighScores_fla.textHolder_30)
package HighScores_fla {
import flash.display.*;
import com.novelgames.flashgames.highscores.*;
public dynamic class textHolder_30 extends MovieClip {
public var seedText:TextText;
}
}//package HighScores_fla
Section 293
//BareHittedEffectA_mc (BareHittedEffectA_mc)
package {
import flash.display.*;
public dynamic class BareHittedEffectA_mc extends MovieClip {
}
}//package
Section 294
//BgLayer_1_mc (BgLayer_1_mc)
package {
import flash.display.*;
public dynamic class BgLayer_1_mc extends MovieClip {
}
}//package
Section 295
//BgLayer_2_mc (BgLayer_2_mc)
package {
import flash.display.*;
public dynamic class BgLayer_2_mc extends MovieClip {
}
}//package
Section 296
//BgLayer_3_mc (BgLayer_3_mc)
package {
import flash.display.*;
public dynamic class BgLayer_3_mc extends MovieClip {
}
}//package
Section 297
//BgLayer_4_mc (BgLayer_4_mc)
package {
import flash.display.*;
public dynamic class BgLayer_4_mc extends MovieClip {
}
}//package
Section 298
//BgLayer2_1_mc (BgLayer2_1_mc)
package {
import flash.display.*;
public dynamic class BgLayer2_1_mc extends MovieClip {
}
}//package
Section 299
//BgLayer2_2_mc (BgLayer2_2_mc)
package {
import flash.display.*;
public dynamic class BgLayer2_2_mc extends MovieClip {
}
}//package
Section 300
//BgLayer2_3_mc (BgLayer2_3_mc)
package {
import flash.display.*;
public dynamic class BgLayer2_3_mc extends MovieClip {
}
}//package
Section 301
//BgLayer2_4_mc (BgLayer2_4_mc)
package {
import flash.display.*;
public dynamic class BgLayer2_4_mc extends MovieClip {
}
}//package
Section 302
//BgLayer3_1_mc (BgLayer3_1_mc)
package {
import flash.display.*;
public dynamic class BgLayer3_1_mc extends MovieClip {
}
}//package
Section 303
//BgLayer3_2_mc (BgLayer3_2_mc)
package {
import flash.display.*;
public dynamic class BgLayer3_2_mc extends MovieClip {
}
}//package
Section 304
//BgLayer3_3_mc (BgLayer3_3_mc)
package {
import flash.display.*;
public dynamic class BgLayer3_3_mc extends MovieClip {
}
}//package
Section 305
//BgLayer3_4_mc (BgLayer3_4_mc)
package {
import flash.display.*;
public dynamic class BgLayer3_4_mc extends MovieClip {
}
}//package
Section 306
//Bgm1_snd (Bgm1_snd)
package {
import flash.media.*;
public dynamic class Bgm1_snd extends Sound {
}
}//package
Section 307
//Bgm2_snd (Bgm2_snd)
package {
import flash.media.*;
public dynamic class Bgm2_snd extends Sound {
}
}//package
Section 308
//Bgm3_snd (Bgm3_snd)
package {
import flash.media.*;
public dynamic class Bgm3_snd extends Sound {
}
}//package
Section 309
//BigFireBall_explode_mc (BigFireBall_explode_mc)
package {
import flash.display.*;
public dynamic class BigFireBall_explode_mc extends MovieClip {
}
}//package
Section 310
//BigFireBall_move_mc (BigFireBall_move_mc)
package {
import flash.display.*;
public dynamic class BigFireBall_move_mc extends MovieClip {
}
}//package
Section 311
//BossA_airHurt_mc (BossA_airHurt_mc)
package {
import flash.display.*;
public dynamic class BossA_airHurt_mc extends MovieClip {
}
}//package
Section 312
//BossA_attack1_mc (BossA_attack1_mc)
package {
import flash.display.*;
public dynamic class BossA_attack1_mc extends MovieClip {
}
}//package
Section 313
//BossA_fallDown_mc (BossA_fallDown_mc)
package {
import flash.display.*;
public dynamic class BossA_fallDown_mc extends MovieClip {
}
}//package
Section 314
//BossA_heavyAttack_mc (BossA_heavyAttack_mc)
package {
import flash.display.*;
public dynamic class BossA_heavyAttack_mc extends MovieClip {
}
}//package
Section 315
//BossA_jump_mc (BossA_jump_mc)
package {
import flash.display.*;
public dynamic class BossA_jump_mc extends MovieClip {
}
}//package
Section 316
//BossA_jumpAttack_mc (BossA_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class BossA_jumpAttack_mc extends MovieClip {
}
}//package
Section 317
//BossA_midHurt_mc (BossA_midHurt_mc)
package {
import flash.display.*;
public dynamic class BossA_midHurt_mc extends MovieClip {
}
}//package
Section 318
//BossA_stand_mc (BossA_stand_mc)
package {
import flash.display.*;
public dynamic class BossA_stand_mc extends MovieClip {
}
}//package
Section 319
//BossA_upHurt_mc (BossA_upHurt_mc)
package {
import flash.display.*;
public dynamic class BossA_upHurt_mc extends MovieClip {
}
}//package
Section 320
//BossA_walk_mc (BossA_walk_mc)
package {
import flash.display.*;
public dynamic class BossA_walk_mc extends MovieClip {
}
}//package
Section 321
//BossB_airHurt_mc (BossB_airHurt_mc)
package {
import flash.display.*;
public dynamic class BossB_airHurt_mc extends MovieClip {
}
}//package
Section 322
//BossB_attack1_mc (BossB_attack1_mc)
package {
import flash.display.*;
public dynamic class BossB_attack1_mc extends MovieClip {
}
}//package
Section 323
//BossB_dashAttack_mc (BossB_dashAttack_mc)
package {
import flash.display.*;
public dynamic class BossB_dashAttack_mc extends MovieClip {
}
}//package
Section 324
//BossB_fallDown_mc (BossB_fallDown_mc)
package {
import flash.display.*;
public dynamic class BossB_fallDown_mc extends MovieClip {
}
}//package
Section 325
//BossB_jump_mc (BossB_jump_mc)
package {
import flash.display.*;
public dynamic class BossB_jump_mc extends MovieClip {
}
}//package
Section 326
//BossB_jumpAttack_mc (BossB_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class BossB_jumpAttack_mc extends MovieClip {
}
}//package
Section 327
//BossB_magicAttack_mc (BossB_magicAttack_mc)
package {
import flash.display.*;
public dynamic class BossB_magicAttack_mc extends MovieClip {
}
}//package
Section 328
//BossB_midHurt_mc (BossB_midHurt_mc)
package {
import flash.display.*;
public dynamic class BossB_midHurt_mc extends MovieClip {
}
}//package
Section 329
//BossB_run_mc (BossB_run_mc)
package {
import flash.display.*;
public dynamic class BossB_run_mc extends MovieClip {
}
}//package
Section 330
//BossB_stand_mc (BossB_stand_mc)
package {
import flash.display.*;
public dynamic class BossB_stand_mc extends MovieClip {
}
}//package
Section 331
//BossB_upCut_mc (BossB_upCut_mc)
package {
import flash.display.*;
public dynamic class BossB_upCut_mc extends MovieClip {
}
}//package
Section 332
//BossB_upHurt_mc (BossB_upHurt_mc)
package {
import flash.display.*;
public dynamic class BossB_upHurt_mc extends MovieClip {
}
}//package
Section 333
//BossB_walk_mc (BossB_walk_mc)
package {
import flash.display.*;
public dynamic class BossB_walk_mc extends MovieClip {
}
}//package
Section 334
//BossC_airHurt_mc (BossC_airHurt_mc)
package {
import flash.display.*;
public dynamic class BossC_airHurt_mc extends MovieClip {
}
}//package
Section 335
//BossC_attack1_mc (BossC_attack1_mc)
package {
import flash.display.*;
public dynamic class BossC_attack1_mc extends MovieClip {
}
}//package
Section 336
//BossC_fallDown_mc (BossC_fallDown_mc)
package {
import flash.display.*;
public dynamic class BossC_fallDown_mc extends MovieClip {
}
}//package
Section 337
//BossC_heavyAttack_mc (BossC_heavyAttack_mc)
package {
import flash.display.*;
public dynamic class BossC_heavyAttack_mc extends MovieClip {
}
}//package
Section 338
//BossC_jump_mc (BossC_jump_mc)
package {
import flash.display.*;
public dynamic class BossC_jump_mc extends MovieClip {
}
}//package
Section 339
//BossC_jumpAttack_mc (BossC_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class BossC_jumpAttack_mc extends MovieClip {
}
}//package
Section 340
//BossC_jumpKick_mc (BossC_jumpKick_mc)
package {
import flash.display.*;
public dynamic class BossC_jumpKick_mc extends MovieClip {
}
}//package
Section 341
//BossC_midHurt_mc (BossC_midHurt_mc)
package {
import flash.display.*;
public dynamic class BossC_midHurt_mc extends MovieClip {
}
}//package
Section 342
//BossC_stand_mc (BossC_stand_mc)
package {
import flash.display.*;
public dynamic class BossC_stand_mc extends MovieClip {
}
}//package
Section 343
//BossC_upHurt_mc (BossC_upHurt_mc)
package {
import flash.display.*;
public dynamic class BossC_upHurt_mc extends MovieClip {
}
}//package
Section 344
//BossC_walk_mc (BossC_walk_mc)
package {
import flash.display.*;
public dynamic class BossC_walk_mc extends MovieClip {
}
}//package
Section 345
//Burning1_snd (Burning1_snd)
package {
import flash.media.*;
public dynamic class Burning1_snd extends Sound {
}
}//package
Section 346
//CheckBox_mc (CheckBox_mc)
package {
import flash.display.*;
public dynamic class CheckBox_mc extends MovieClip {
}
}//package
Section 347
//CloudFloor_1_mc (CloudFloor_1_mc)
package {
import flash.display.*;
public dynamic class CloudFloor_1_mc extends MovieClip {
}
}//package
Section 348
//CloudFloor2_1_mc (CloudFloor2_1_mc)
package {
import flash.display.*;
public dynamic class CloudFloor2_1_mc extends MovieClip {
}
}//package
Section 349
//CreditsScreen_mc (CreditsScreen_mc)
package {
import flash.display.*;
public dynamic class CreditsScreen_mc extends MovieClip {
public var back_btn:SimpleButton;
public var creetorSite_btn:SimpleButton;
}
}//package
Section 350
//CreetorLogo_btn (CreetorLogo_btn)
package {
import flash.display.*;
public dynamic class CreetorLogo_btn extends SimpleButton {
}
}//package
Section 351
//DiffPan_mc (DiffPan_mc)
package {
import flash.display.*;
public dynamic class DiffPan_mc extends MovieClip {
public var normal_btn:SimpleButton;
public var hard_btn:SimpleButton;
public var back_btn:SimpleButton;
public var easy_btn:SimpleButton;
}
}//package
Section 352
//Digit (Digit)
package {
import cn.vlux.sharedLib.game.*;
public dynamic class Digit extends Digit {
}
}//package
Section 353
//DragonBody_explode_mc (DragonBody_explode_mc)
package {
import flash.display.*;
public dynamic class DragonBody_explode_mc extends MovieClip {
}
}//package
Section 354
//DragonBody_move_mc (DragonBody_move_mc)
package {
import flash.display.*;
public dynamic class DragonBody_move_mc extends MovieClip {
}
}//package
Section 355
//DragonHead_explode_mc (DragonHead_explode_mc)
package {
import flash.display.*;
public dynamic class DragonHead_explode_mc extends MovieClip {
}
}//package
Section 356
//DragonHead_move_mc (DragonHead_move_mc)
package {
import flash.display.*;
public dynamic class DragonHead_move_mc extends MovieClip {
}
}//package
Section 357
//EndingScreen_mc (EndingScreen_mc)
package {
import flash.display.*;
public dynamic class EndingScreen_mc extends MovieClip {
public var officialSite_btn:SimpleButton;
public var highscores_btn:SimpleButton;
public var backToMain_btn:SimpleButton;
}
}//package
Section 358
//Enemy_info_mc (Enemy_info_mc)
package {
import flash.display.*;
public dynamic class Enemy_info_mc extends MovieClip {
public var lifeBar_mc:LifeBar_mc;
}
}//package
Section 359
//FallDown1_snd (FallDown1_snd)
package {
import flash.media.*;
public dynamic class FallDown1_snd extends Sound {
}
}//package
Section 360
//FireDragonShot_explode_mc (FireDragonShot_explode_mc)
package {
import flash.display.*;
public dynamic class FireDragonShot_explode_mc extends MovieClip {
}
}//package
Section 361
//FireDragonShot_move_mc (FireDragonShot_move_mc)
package {
import flash.display.*;
public dynamic class FireDragonShot_move_mc extends MovieClip {
}
}//package
Section 362
//FireHittedEffectA_mc (FireHittedEffectA_mc)
package {
import flash.display.*;
public dynamic class FireHittedEffectA_mc extends MovieClip {
}
}//package
Section 363
//FireHittedEffectB_mc (FireHittedEffectB_mc)
package {
import flash.display.*;
public dynamic class FireHittedEffectB_mc extends MovieClip {
}
}//package
Section 364
//Floor_1_mc (Floor_1_mc)
package {
import flash.display.*;
public dynamic class Floor_1_mc extends MovieClip {
}
}//package
Section 365
//Floor_2_mc (Floor_2_mc)
package {
import flash.display.*;
public dynamic class Floor_2_mc extends MovieClip {
}
}//package
Section 366
//Floor_3_mc (Floor_3_mc)
package {
import flash.display.*;
public dynamic class Floor_3_mc extends MovieClip {
}
}//package
Section 367
//Floor2_1_mc (Floor2_1_mc)
package {
import flash.display.*;
public dynamic class Floor2_1_mc extends MovieClip {
}
}//package
Section 368
//Floor2_2_mc (Floor2_2_mc)
package {
import flash.display.*;
public dynamic class Floor2_2_mc extends MovieClip {
}
}//package
Section 369
//Floor2_3_mc (Floor2_3_mc)
package {
import flash.display.*;
public dynamic class Floor2_3_mc extends MovieClip {
}
}//package
Section 370
//GameOverScreen_mc (GameOverScreen_mc)
package {
import flash.display.*;
public dynamic class GameOverScreen_mc extends MovieClip {
public var back_btn:SimpleButton;
public var PlayMoreGames_btn:SimpleButton;
public var highscores_btn:SimpleButton;
public var continue_btn:SimpleButton;
}
}//package
Section 371
//GetItem_snd (GetItem_snd)
package {
import flash.media.*;
public dynamic class GetItem_snd extends Sound {
}
}//package
Section 372
//Hero_info_mc (Hero_info_mc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Hero_info_mc extends MovieClip {
public var level_tf:TextField;
public var lifeBar_mc:LifeBar_mc;
public var powerBar_mc:PowerBar_mc;
public var exp_tf:TextField;
}
}//package
Section 373
//HitsCounter_mc (HitsCounter_mc)
package {
import flash.display.*;
public dynamic class HitsCounter_mc extends MovieClip {
public var digit1_mc:Digit;
public var digit2_mc:Digit;
public var hitLabel_mc:MovieClip;
}
}//package
Section 374
//HowToPlayScreen_mc (HowToPlayScreen_mc)
package {
import flash.display.*;
public dynamic class HowToPlayScreen_mc extends MovieClip {
public var back_btn:SimpleButton;
public var next_btn:SimpleButton;
public var prev_btn:SimpleButton;
public var htpPan_mc:HtpPan_mc;
}
}//package
Section 375
//HtpPan_mc (HtpPan_mc)
package {
import flash.display.*;
public dynamic class HtpPan_mc extends MovieClip {
public var officialSite_btn:SimpleButton;
}
}//package
Section 376
//IceBirdShot_explode_mc (IceBirdShot_explode_mc)
package {
import flash.display.*;
public dynamic class IceBirdShot_explode_mc extends MovieClip {
}
}//package
Section 377
//IceBirdShot_move_mc (IceBirdShot_move_mc)
package {
import flash.display.*;
public dynamic class IceBirdShot_move_mc extends MovieClip {
}
}//package
Section 378
//IceHittedEffectA_mc (IceHittedEffectA_mc)
package {
import flash.display.*;
public dynamic class IceHittedEffectA_mc extends MovieClip {
}
}//package
Section 379
//Item_1_mc (Item_1_mc)
package {
import flash.display.*;
public dynamic class Item_1_mc extends MovieClip {
}
}//package
Section 380
//Item_2_mc (Item_2_mc)
package {
import flash.display.*;
public dynamic class Item_2_mc extends MovieClip {
}
}//package
Section 381
//Item_3_mc (Item_3_mc)
package {
import flash.display.*;
public dynamic class Item_3_mc extends MovieClip {
}
}//package
Section 382
//Item_4_mc (Item_4_mc)
package {
import flash.display.*;
public dynamic class Item_4_mc extends MovieClip {
}
}//package
Section 383
//Item_5_mc (Item_5_mc)
package {
import flash.display.*;
public dynamic class Item_5_mc extends MovieClip {
}
}//package
Section 384
//Item_6_mc (Item_6_mc)
package {
import flash.display.*;
public dynamic class Item_6_mc extends MovieClip {
}
}//package
Section 385
//Item_7_mc (Item_7_mc)
package {
import flash.display.*;
public dynamic class Item_7_mc extends MovieClip {
}
}//package
Section 386
//Item_8_mc (Item_8_mc)
package {
import flash.display.*;
public dynamic class Item_8_mc extends MovieClip {
}
}//package
Section 387
//ItemGetAlert_mc (ItemGetAlert_mc)
package {
import com.creetor.game.YLLegend.ui.*;
public dynamic class ItemGetAlert_mc extends ItemGetAlertSkin {
}
}//package
Section 388
//Kick1_snd (Kick1_snd)
package {
import flash.media.*;
public dynamic class Kick1_snd extends Sound {
}
}//package
Section 389
//LevelUp_snd (LevelUp_snd)
package {
import flash.media.*;
public dynamic class LevelUp_snd extends Sound {
}
}//package
Section 390
//LevelUpTip_mc (LevelUpTip_mc)
package {
import flash.display.*;
public dynamic class LevelUpTip_mc extends MovieClip {
}
}//package
Section 391
//LifeBar_mc (LifeBar_mc)
package {
import com.creetor.game.YLLegend.ui.*;
public dynamic class LifeBar_mc extends PowerBarSkin {
}
}//package
Section 392
//LitFireBall_explode_mc (LitFireBall_explode_mc)
package {
import flash.display.*;
public dynamic class LitFireBall_explode_mc extends MovieClip {
}
}//package
Section 393
//LitFireBall_move_mc (LitFireBall_move_mc)
package {
import flash.display.*;
public dynamic class LitFireBall_move_mc extends MovieClip {
}
}//package
Section 394
//MapChangeFader_mc (MapChangeFader_mc)
package {
import flash.display.*;
public dynamic class MapChangeFader_mc extends MovieClip {
}
}//package
Section 395
//MidFireBall_explode_mc (MidFireBall_explode_mc)
package {
import flash.display.*;
public dynamic class MidFireBall_explode_mc extends MovieClip {
public function MidFireBall_explode_mc(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package
Section 396
//MidFireBall_move_mc (MidFireBall_move_mc)
package {
import flash.display.*;
public dynamic class MidFireBall_move_mc extends MovieClip {
}
}//package
Section 397
//NewConPan_mc (NewConPan_mc)
package {
import flash.display.*;
public dynamic class NewConPan_mc extends MovieClip {
public var back_btn:SimpleButton;
public var newGame_btn:SimpleButton;
public var continue_btn:SimpleButton;
}
}//package
Section 398
//OptionScreen_mc (OptionScreen_mc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class OptionScreen_mc extends MovieClip {
public var back_btn:SimpleButton;
public var pwInput_tf:TextField;
public var cbL_mc:CheckBox_mc;
public var pwOK_btn:SimpleButton;
public var pwMsg_mc:PwMsg_mc;
public var cbR_mc:CheckBox_mc;
public var RStyle_btn:SimpleButton;
public var LStyle_btn:SimpleButton;
}
}//package
Section 399
//PassTile_1_mc (PassTile_1_mc)
package {
import flash.display.*;
public dynamic class PassTile_1_mc extends MovieClip {
}
}//package
Section 400
//PassTile_10_mc (PassTile_10_mc)
package {
import flash.display.*;
public dynamic class PassTile_10_mc extends MovieClip {
}
}//package
Section 401
//PassTile_11_mc (PassTile_11_mc)
package {
import flash.display.*;
public dynamic class PassTile_11_mc extends MovieClip {
}
}//package
Section 402
//PassTile_12_mc (PassTile_12_mc)
package {
import flash.display.*;
public dynamic class PassTile_12_mc extends MovieClip {
}
}//package
Section 403
//PassTile_13_mc (PassTile_13_mc)
package {
import flash.display.*;
public dynamic class PassTile_13_mc extends MovieClip {
}
}//package
Section 404
//PassTile_2_mc (PassTile_2_mc)
package {
import flash.display.*;
public dynamic class PassTile_2_mc extends MovieClip {
}
}//package
Section 405
//PassTile_3_mc (PassTile_3_mc)
package {
import flash.display.*;
public dynamic class PassTile_3_mc extends MovieClip {
}
}//package
Section 406
//PassTile_4_mc (PassTile_4_mc)
package {
import flash.display.*;
public dynamic class PassTile_4_mc extends MovieClip {
}
}//package
Section 407
//PassTile_5_mc (PassTile_5_mc)
package {
import flash.display.*;
public dynamic class PassTile_5_mc extends MovieClip {
}
}//package
Section 408
//PassTile_6_mc (PassTile_6_mc)
package {
import flash.display.*;
public dynamic class PassTile_6_mc extends MovieClip {
}
}//package
Section 409
//PassTile_7_mc (PassTile_7_mc)
package {
import flash.display.*;
public dynamic class PassTile_7_mc extends MovieClip {
}
}//package
Section 410
//PassTile_8_mc (PassTile_8_mc)
package {
import flash.display.*;
public dynamic class PassTile_8_mc extends MovieClip {
}
}//package
Section 411
//PassTile_9_mc (PassTile_9_mc)
package {
import flash.display.*;
public dynamic class PassTile_9_mc extends MovieClip {
}
}//package
Section 412
//PassTile2_1_mc (PassTile2_1_mc)
package {
import flash.display.*;
public dynamic class PassTile2_1_mc extends MovieClip {
}
}//package
Section 413
//PassTile2_10_mc (PassTile2_10_mc)
package {
import flash.display.*;
public dynamic class PassTile2_10_mc extends MovieClip {
}
}//package
Section 414
//PassTile2_11_mc (PassTile2_11_mc)
package {
import flash.display.*;
public dynamic class PassTile2_11_mc extends MovieClip {
}
}//package
Section 415
//PassTile2_12_mc (PassTile2_12_mc)
package {
import flash.display.*;
public dynamic class PassTile2_12_mc extends MovieClip {
}
}//package
Section 416
//PassTile2_13_mc (PassTile2_13_mc)
package {
import flash.display.*;
public dynamic class PassTile2_13_mc extends MovieClip {
}
}//package
Section 417
//PassTile2_14_mc (PassTile2_14_mc)
package {
import flash.display.*;
public dynamic class PassTile2_14_mc extends MovieClip {
}
}//package
Section 418
//PassTile2_15_mc (PassTile2_15_mc)
package {
import flash.display.*;
public dynamic class PassTile2_15_mc extends MovieClip {
}
}//package
Section 419
//PassTile2_16_mc (PassTile2_16_mc)
package {
import flash.display.*;
public dynamic class PassTile2_16_mc extends MovieClip {
}
}//package
Section 420
//PassTile2_17_mc (PassTile2_17_mc)
package {
import flash.display.*;
public dynamic class PassTile2_17_mc extends MovieClip {
}
}//package
Section 421
//PassTile2_2_mc (PassTile2_2_mc)
package {
import flash.display.*;
public dynamic class PassTile2_2_mc extends MovieClip {
}
}//package
Section 422
//PassTile2_3_mc (PassTile2_3_mc)
package {
import flash.display.*;
public dynamic class PassTile2_3_mc extends MovieClip {
}
}//package
Section 423
//PassTile2_4_mc (PassTile2_4_mc)
package {
import flash.display.*;
public dynamic class PassTile2_4_mc extends MovieClip {
}
}//package
Section 424
//PassTile2_5_mc (PassTile2_5_mc)
package {
import flash.display.*;
public dynamic class PassTile2_5_mc extends MovieClip {
}
}//package
Section 425
//PassTile2_6_mc (PassTile2_6_mc)
package {
import flash.display.*;
public dynamic class PassTile2_6_mc extends MovieClip {
}
}//package
Section 426
//PassTile2_7_mc (PassTile2_7_mc)
package {
import flash.display.*;
public dynamic class PassTile2_7_mc extends MovieClip {
}
}//package
Section 427
//PassTile2_8_mc (PassTile2_8_mc)
package {
import flash.display.*;
public dynamic class PassTile2_8_mc extends MovieClip {
}
}//package
Section 428
//PassTile2_9_mc (PassTile2_9_mc)
package {
import flash.display.*;
public dynamic class PassTile2_9_mc extends MovieClip {
}
}//package
Section 429
//PowerBar_mc (PowerBar_mc)
package {
import com.creetor.game.YLLegend.ui.*;
public dynamic class PowerBar_mc extends PowerBarSkin {
}
}//package
Section 430
//PreLoadBar_mc (PreLoadBar_mc)
package {
import com.creetor.game.YLLegend.ui.*;
public dynamic class PreLoadBar_mc extends PowerBarSkin {
}
}//package
Section 431
//Preloader (Preloader)
package {
import flash.events.*;
import flash.display.*;
import com.creetor.game.YLLegend.utils.*;
import flash.ui.*;
import flash.utils.*;
public class Preloader extends MovieClip {
private var _skin:PreLoadScreen_mc;
public static var FRAMERATE:uint;
public function Preloader(){
super();
stop();
if (this.numChildren > 0){
removeChildAt(0);
};
stage.stageFocusRect = false;
stage.quality = StageQuality.HIGH;
stage.scaleMode = StageScaleMode.NO_SCALE;
var myContextMenu:ContextMenu = new ContextMenu();
var item:ContextMenuItem = new ContextMenuItem("Play More Games>>>");
myContextMenu.hideBuiltInItems();
myContextMenu.customItems.push(item);
this.contextMenu = myContextMenu;
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, );
addEventListener(Event.ENTER_FRAME, );
();
}
private function ():void{
var app:Object;
var mainClass:Class = Class(getDefinitionByName("YLLegend_FB"));
if (mainClass){
app = new (mainClass);
addChild((app as DisplayObject));
};
}
private function ():void{
removeChild(_skin);
}
public function (event:Event):void{
var ratio:Number;
var percent:Number;
graphics.clear();
if (framesLoaded == totalFrames){
removeEventListener(Event.ENTER_FRAME, );
();
nextFrame();
();
} else {
ratio = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
percent = Math.floor((ratio * 100));
_skin.prog_txt.text = (percent + "%");
_skin.preLoadBar_mc.power_mc.scaleX = ratio;
};
}
private function
():void{
var skinClass:Class = Class(getDefinitionByName("PreLoadScreen_mc"));
if (skinClass){
_skin = new (skinClass);
};
addChild(_skin);
_skin.creetorSite_btn.addEventListener(MouseEvent.CLICK, onGetURL);
}
private function (e:ContextMenuEvent):void{
URL.getURL(URL.URL_CREETOR);
}
private function onGetURL(event:MouseEvent):void{
URL.getURL(URL.URL_CREETOR);
}
}
}//package
Section 432
//PreLoadScreen_mc (PreLoadScreen_mc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class PreLoadScreen_mc extends MovieClip {
public var prog_txt:TextField;
public var creetorSite_btn:SimpleButton;
public var preLoadBar_mc:PreLoadBar_mc;
}
}//package
Section 433
//PwMsg_mc (PwMsg_mc)
package {
import flash.display.*;
public dynamic class PwMsg_mc extends MovieClip {
public var officialSite_btn:SimpleButton;
}
}//package
Section 434
//Qigong_1_mc (Qigong_1_mc)
package {
import flash.display.*;
public dynamic class Qigong_1_mc extends MovieClip {
}
}//package
Section 435
//Qigong_2_mc (Qigong_2_mc)
package {
import flash.display.*;
public dynamic class Qigong_2_mc extends MovieClip {
}
}//package
Section 436
//Qigong_3_mc (Qigong_3_mc)
package {
import flash.display.*;
public dynamic class Qigong_3_mc extends MovieClip {
}
}//package
Section 437
//Qigong_4_mc (Qigong_4_mc)
package {
import flash.display.*;
public dynamic class Qigong_4_mc extends MovieClip {
}
}//package
Section 438
//Qigong_5_mc (Qigong_5_mc)
package {
import flash.display.*;
public dynamic class Qigong_5_mc extends MovieClip {
}
}//package
Section 439
//ScreenChangeFader_mc (ScreenChangeFader_mc)
package {
import flash.display.*;
public dynamic class ScreenChangeFader_mc extends MovieClip {
}
}//package
Section 440
//Shaking1_snd (Shaking1_snd)
package {
import flash.media.*;
public dynamic class Shaking1_snd extends Sound {
}
}//package
Section 441
//Shaking2_snd (Shaking2_snd)
package {
import flash.media.*;
public dynamic class Shaking2_snd extends Sound {
}
}//package
Section 442
//ShotHitted1_snd (ShotHitted1_snd)
package {
import flash.media.*;
public dynamic class ShotHitted1_snd extends Sound {
}
}//package
Section 443
//ShotHitted2_snd (ShotHitted2_snd)
package {
import flash.media.*;
public dynamic class ShotHitted2_snd extends Sound {
}
}//package
Section 444
//SkillPan_mc (SkillPan_mc)
package {
import com.creetor.game.YLLegend.ui.*;
public dynamic class SkillPan_mc extends HeroSkillPanSkin {
}
}//package
Section 445
//SlashShot_explode_mc (SlashShot_explode_mc)
package {
import flash.display.*;
public dynamic class SlashShot_explode_mc extends MovieClip {
}
}//package
Section 446
//SlashShot_move_mc (SlashShot_move_mc)
package {
import flash.display.*;
public dynamic class SlashShot_move_mc extends MovieClip {
}
}//package
Section 447
//SndOn_mc (SndOn_mc)
package {
import flash.display.*;
public dynamic class SndOn_mc extends MovieClip {
}
}//package
Section 448
//SoldierA_airHurt_mc (SoldierA_airHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierA_airHurt_mc extends MovieClip {
}
}//package
Section 449
//SoldierA_attack1_mc (SoldierA_attack1_mc)
package {
import flash.display.*;
public dynamic class SoldierA_attack1_mc extends MovieClip {
}
}//package
Section 450
//SoldierA_fallDown_mc (SoldierA_fallDown_mc)
package {
import flash.display.*;
public dynamic class SoldierA_fallDown_mc extends MovieClip {
}
}//package
Section 451
//SoldierA_jump_mc (SoldierA_jump_mc)
package {
import flash.display.*;
public dynamic class SoldierA_jump_mc extends MovieClip {
}
}//package
Section 452
//SoldierA_jumpAttack_mc (SoldierA_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class SoldierA_jumpAttack_mc extends MovieClip {
}
}//package
Section 453
//SoldierA_midHurt_mc (SoldierA_midHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierA_midHurt_mc extends MovieClip {
}
}//package
Section 454
//SoldierA_stand_mc (SoldierA_stand_mc)
package {
import flash.display.*;
public dynamic class SoldierA_stand_mc extends MovieClip {
}
}//package
Section 455
//SoldierA_upHurt_mc (SoldierA_upHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierA_upHurt_mc extends MovieClip {
}
}//package
Section 456
//SoldierA_walk_mc (SoldierA_walk_mc)
package {
import flash.display.*;
public dynamic class SoldierA_walk_mc extends MovieClip {
}
}//package
Section 457
//SoldierA2_airHurt_mc (SoldierA2_airHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_airHurt_mc extends MovieClip {
}
}//package
Section 458
//SoldierA2_attack1_mc (SoldierA2_attack1_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_attack1_mc extends MovieClip {
}
}//package
Section 459
//SoldierA2_fallDown_mc (SoldierA2_fallDown_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_fallDown_mc extends MovieClip {
}
}//package
Section 460
//SoldierA2_jump_mc (SoldierA2_jump_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_jump_mc extends MovieClip {
}
}//package
Section 461
//SoldierA2_jumpAttack_mc (SoldierA2_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_jumpAttack_mc extends MovieClip {
}
}//package
Section 462
//SoldierA2_midHurt_mc (SoldierA2_midHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_midHurt_mc extends MovieClip {
}
}//package
Section 463
//SoldierA2_stand_mc (SoldierA2_stand_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_stand_mc extends MovieClip {
}
}//package
Section 464
//SoldierA2_upHurt_mc (SoldierA2_upHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_upHurt_mc extends MovieClip {
}
}//package
Section 465
//SoldierA2_walk_mc (SoldierA2_walk_mc)
package {
import flash.display.*;
public dynamic class SoldierA2_walk_mc extends MovieClip {
}
}//package
Section 466
//SoldierB_airHurt_mc (SoldierB_airHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierB_airHurt_mc extends MovieClip {
}
}//package
Section 467
//SoldierB_attack1_mc (SoldierB_attack1_mc)
package {
import flash.display.*;
public dynamic class SoldierB_attack1_mc extends MovieClip {
}
}//package
Section 468
//SoldierB_fallDown_mc (SoldierB_fallDown_mc)
package {
import flash.display.*;
public dynamic class SoldierB_fallDown_mc extends MovieClip {
}
}//package
Section 469
//SoldierB_jump_mc (SoldierB_jump_mc)
package {
import flash.display.*;
public dynamic class SoldierB_jump_mc extends MovieClip {
}
}//package
Section 470
//SoldierB_jumpAttack_mc (SoldierB_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class SoldierB_jumpAttack_mc extends MovieClip {
public var attackArea_mc:MovieClip;
}
}//package
Section 471
//SoldierB_midHurt_mc (SoldierB_midHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierB_midHurt_mc extends MovieClip {
}
}//package
Section 472
//SoldierB_rollAttack_mc (SoldierB_rollAttack_mc)
package {
import flash.display.*;
public dynamic class SoldierB_rollAttack_mc extends MovieClip {
public var attackArea_mc:MovieClip;
}
}//package
Section 473
//SoldierB_stand_mc (SoldierB_stand_mc)
package {
import flash.display.*;
public dynamic class SoldierB_stand_mc extends MovieClip {
}
}//package
Section 474
//SoldierB_upHurt_mc (SoldierB_upHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierB_upHurt_mc extends MovieClip {
}
}//package
Section 475
//SoldierB_walk_mc (SoldierB_walk_mc)
package {
import flash.display.*;
public dynamic class SoldierB_walk_mc extends MovieClip {
}
}//package
Section 476
//SoldierB2_airHurt_mc (SoldierB2_airHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_airHurt_mc extends MovieClip {
}
}//package
Section 477
//SoldierB2_attack1_mc (SoldierB2_attack1_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_attack1_mc extends MovieClip {
}
}//package
Section 478
//SoldierB2_fallDown_mc (SoldierB2_fallDown_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_fallDown_mc extends MovieClip {
}
}//package
Section 479
//SoldierB2_jump_mc (SoldierB2_jump_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_jump_mc extends MovieClip {
}
}//package
Section 480
//SoldierB2_jumpAttack_mc (SoldierB2_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_jumpAttack_mc extends MovieClip {
public var attackArea_mc:MovieClip;
}
}//package
Section 481
//SoldierB2_midHurt_mc (SoldierB2_midHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_midHurt_mc extends MovieClip {
}
}//package
Section 482
//SoldierB2_rollAttack_mc (SoldierB2_rollAttack_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_rollAttack_mc extends MovieClip {
public var attackArea_mc:MovieClip;
}
}//package
Section 483
//SoldierB2_stand_mc (SoldierB2_stand_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_stand_mc extends MovieClip {
}
}//package
Section 484
//SoldierB2_upHurt_mc (SoldierB2_upHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_upHurt_mc extends MovieClip {
}
}//package
Section 485
//SoldierB2_walk_mc (SoldierB2_walk_mc)
package {
import flash.display.*;
public dynamic class SoldierB2_walk_mc extends MovieClip {
}
}//package
Section 486
//SoldierC_airHurt_mc (SoldierC_airHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierC_airHurt_mc extends MovieClip {
}
}//package
Section 487
//SoldierC_attack1_mc (SoldierC_attack1_mc)
package {
import flash.display.*;
public dynamic class SoldierC_attack1_mc extends MovieClip {
}
}//package
Section 488
//SoldierC_fallDown_mc (SoldierC_fallDown_mc)
package {
import flash.display.*;
public dynamic class SoldierC_fallDown_mc extends MovieClip {
}
}//package
Section 489
//SoldierC_jump_mc (SoldierC_jump_mc)
package {
import flash.display.*;
public dynamic class SoldierC_jump_mc extends MovieClip {
}
}//package
Section 490
//SoldierC_jumpAttack_mc (SoldierC_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class SoldierC_jumpAttack_mc extends MovieClip {
}
}//package
Section 491
//SoldierC_midHurt_mc (SoldierC_midHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierC_midHurt_mc extends MovieClip {
}
}//package
Section 492
//SoldierC_stand_mc (SoldierC_stand_mc)
package {
import flash.display.*;
public dynamic class SoldierC_stand_mc extends MovieClip {
}
}//package
Section 493
//SoldierC_upHurt_mc (SoldierC_upHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierC_upHurt_mc extends MovieClip {
}
}//package
Section 494
//SoldierC_walk_mc (SoldierC_walk_mc)
package {
import flash.display.*;
public dynamic class SoldierC_walk_mc extends MovieClip {
}
}//package
Section 495
//SoldierC2_airHurt_mc (SoldierC2_airHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_airHurt_mc extends MovieClip {
}
}//package
Section 496
//SoldierC2_attack1_mc (SoldierC2_attack1_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_attack1_mc extends MovieClip {
}
}//package
Section 497
//SoldierC2_fallDown_mc (SoldierC2_fallDown_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_fallDown_mc extends MovieClip {
}
}//package
Section 498
//SoldierC2_jump_mc (SoldierC2_jump_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_jump_mc extends MovieClip {
}
}//package
Section 499
//SoldierC2_jumpAttack_mc (SoldierC2_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_jumpAttack_mc extends MovieClip {
}
}//package
Section 500
//SoldierC2_midHurt_mc (SoldierC2_midHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_midHurt_mc extends MovieClip {
}
}//package
Section 501
//SoldierC2_stand_mc (SoldierC2_stand_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_stand_mc extends MovieClip {
}
}//package
Section 502
//SoldierC2_upHurt_mc (SoldierC2_upHurt_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_upHurt_mc extends MovieClip {
}
}//package
Section 503
//SoldierC2_walk_mc (SoldierC2_walk_mc)
package {
import flash.display.*;
public dynamic class SoldierC2_walk_mc extends MovieClip {
}
}//package
Section 504
//Story_mc (Story_mc)
package {
import flash.display.*;
public dynamic class Story_mc extends MovieClip {
public var skip_btn:SimpleButton;
}
}//package
Section 505
//Sword1_snd (Sword1_snd)
package {
import flash.media.*;
public dynamic class Sword1_snd extends Sound {
}
}//package
Section 506
//SwordHittedEffectA_mc (SwordHittedEffectA_mc)
package {
import flash.display.*;
public dynamic class SwordHittedEffectA_mc extends MovieClip {
}
}//package
Section 507
//TitleMenuPan_mc (TitleMenuPan_mc)
package {
import flash.display.*;
public dynamic class TitleMenuPan_mc extends MovieClip {
public var howToPlay_btn:SimpleButton;
public var story_btn:SimpleButton;
public var PlayMoreGames_btn:SimpleButton;
public var credits_btn:SimpleButton;
public var highScores_btn:SimpleButton;
public var option_btn:SimpleButton;
}
}//package
Section 508
//TitleScreen_mc (TitleScreen_mc)
package {
import flash.display.*;
public dynamic class TitleScreen_mc extends MovieClip {
public var creetorSite_btn:SimpleButton;
public var mainMenu_mc:TitleMenuPan_mc;
public var newConPan_mc:NewConPan_mc;
public var diffPan_mc:DiffPan_mc;
}
}//package
Section 509
//VluxPreScreen_mc (VluxPreScreen_mc)
package {
import flash.display.*;
public dynamic class VluxPreScreen_mc extends MovieClip {
public var creetorSite_btn:SimpleButton;
public var vluxPre_btn:SimpleButton;
public var preLoadBar_mc:PreLoadBar_mc;
}
}//package
Section 510
//YanLoong_airHurt_mc (YanLoong_airHurt_mc)
package {
import flash.display.*;
public dynamic class YanLoong_airHurt_mc extends MovieClip {
}
}//package
Section 511
//YanLoong_attack1_mc (YanLoong_attack1_mc)
package {
import flash.display.*;
public dynamic class YanLoong_attack1_mc extends MovieClip {
}
}//package
Section 512
//YanLoong_attack2_mc (YanLoong_attack2_mc)
package {
import flash.display.*;
public dynamic class YanLoong_attack2_mc extends MovieClip {
}
}//package
Section 513
//YanLoong_dashAttack_mc (YanLoong_dashAttack_mc)
package {
import flash.display.*;
public dynamic class YanLoong_dashAttack_mc extends MovieClip {
}
}//package
Section 514
//YanLoong_dragonUpCut_mc (YanLoong_dragonUpCut_mc)
package {
import flash.display.*;
public dynamic class YanLoong_dragonUpCut_mc extends MovieClip {
}
}//package
Section 515
//YanLoong_fallDown_mc (YanLoong_fallDown_mc)
package {
import flash.display.*;
public dynamic class YanLoong_fallDown_mc extends MovieClip {
}
}//package
Section 516
//YanLoong_finalAttack_mc (YanLoong_finalAttack_mc)
package {
import flash.display.*;
public dynamic class YanLoong_finalAttack_mc extends MovieClip {
}
}//package
Section 517
//YanLoong_heavyAttack_mc (YanLoong_heavyAttack_mc)
package {
import flash.display.*;
public dynamic class YanLoong_heavyAttack_mc extends MovieClip {
}
}//package
Section 518
//YanLoong_jump_mc (YanLoong_jump_mc)
package {
import flash.display.*;
public dynamic class YanLoong_jump_mc extends MovieClip {
}
}//package
Section 519
//YanLoong_jumpAttack_mc (YanLoong_jumpAttack_mc)
package {
import flash.display.*;
public dynamic class YanLoong_jumpAttack_mc extends MovieClip {
}
}//package
Section 520
//YanLoong_magicAttack_mc (YanLoong_magicAttack_mc)
package {
import flash.display.*;
public dynamic class YanLoong_magicAttack_mc extends MovieClip {
}
}//package
Section 521
//YanLoong_midHurt_mc (YanLoong_midHurt_mc)
package {
import flash.display.*;
public dynamic class YanLoong_midHurt_mc extends MovieClip {
}
}//package
Section 522
//YanLoong_portait_mc (YanLoong_portait_mc)
package {
import flash.display.*;
public dynamic class YanLoong_portait_mc extends MovieClip {
}
}//package
Section 523
//YanLoong_rotaAttack_mc (YanLoong_rotaAttack_mc)
package {
import flash.display.*;
public dynamic class YanLoong_rotaAttack_mc extends MovieClip {
}
}//package
Section 524
//YanLoong_run_mc (YanLoong_run_mc)
package {
import flash.display.*;
public dynamic class YanLoong_run_mc extends MovieClip {
}
}//package
Section 525
//YanLoong_squat_mc (YanLoong_squat_mc)
package {
import flash.display.*;
public dynamic class YanLoong_squat_mc extends MovieClip {
}
}//package
Section 526
//YanLoong_squatAttack_mc (YanLoong_squatAttack_mc)
package {
import flash.display.*;
public dynamic class YanLoong_squatAttack_mc extends MovieClip {
}
}//package
Section 527
//YanLoong_squatKick_mc (YanLoong_squatKick_mc)
package {
import flash.display.*;
public dynamic class YanLoong_squatKick_mc extends MovieClip {
}
}//package
Section 528
//YanLoong_stand_mc (YanLoong_stand_mc)
package {
import flash.display.*;
public dynamic class YanLoong_stand_mc extends MovieClip {
}
}//package
Section 529
//YanLoong_upAttack_mc (YanLoong_upAttack_mc)
package {
import flash.display.*;
public dynamic class YanLoong_upAttack_mc extends MovieClip {
}
}//package
Section 530
//YanLoong_upCut_mc (YanLoong_upCut_mc)
package {
import flash.display.*;
public dynamic class YanLoong_upCut_mc extends MovieClip {
}
}//package
Section 531
//YanLoong_upHurt_mc (YanLoong_upHurt_mc)
package {
import flash.display.*;
public dynamic class YanLoong_upHurt_mc extends MovieClip {
}
}//package
Section 532
//YanLoong_walk_mc (YanLoong_walk_mc)
package {
import flash.display.*;
public dynamic class YanLoong_walk_mc extends MovieClip {
}
}//package
Section 533
//YLLegend_FB (YLLegend_FB)
package {
import flash.events.*;
import com.creetor.game.YLLegend.events.*;
import com.creetor.game.YLLegend.model.*;
import com.creetor.game.YLLegend.*;
import com.creetor.game.YLLegend.ai.*;
import flash.display.*;
import com.creetor.game.YLLegend.ui.*;
import com.creetor.game.YLLegend.view.*;
import com.creetor.game.YLLegend.controller.*;
import com.creetor.game.YLLegend.utils.*;
import flash.ui.*;
public final class YLLegend_FB extends Sprite implements IDataLoadable, IDataSaveable {
private var :LocalDataSLHandler;
private var :Game;
private var :ComboInputController;
private var :SceneData;
private var :GameAnimator;
public var _mochiads_game_id:String;// = "b4fc42053b994c49"
private var
:UIManager;
private var
:MovieClip;
public static const HIGHSCORE_KEY:String = "a33FsaBsxvfsD";
public static const VERSION:Number = 0.9;
public static const ID:int = 1;
public function YLLegend_FB(){
super();
();
var myContextMenu:ContextMenu = new ContextMenu();
var item:ContextMenuItem = new ContextMenuItem("Play More Games>>>");
myContextMenu.hideBuiltInItems();
myContextMenu.customItems.push(item);
this.contextMenu = myContextMenu;
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, );
init();
}
private function (event:UIManagerEvent):void{
start();
}
public function stopLoop():void{
.removeEventListener(Event.ENTER_FRAME, update);
}
private function
():void{
var mask:Sprite = new Sprite();
mask.graphics.beginFill(0);
mask.graphics.drawRect(0, 0, 576, 384);
mask.graphics.endFill();
this.mask = mask;
}
private function update(event:Event):void{
if (! .isPause()){
.update();
.update();
.update();
};
}
private function init():void{
= LocalDataSLHandler.getInstance();
if ( .getConfigData() != null){
setData( .getConfigData());
};
= new SceneData();
= Game.getInstance( );
.addEventListener(GameEvent.UNABLE_INPUT, );
.addEventListener(GameEvent.ENABLE_INPUT, );
.addEventListener(GameEvent.GAME_OVER, );
.addEventListener(GameEvent.GAME_ENDING, );
= new GameAnimator( );
this.addChild( .sp);
= UIManager.getInstance( );
.addEventListener(UIManagerEvent.START_GAME, );
.addEventListener(UIManagerEvent.SET_KEY_STYLE, );
.createVluxPreScreen();
this.addChild(
.sp);
= new MovieClip();
}
private function (e:ContextMenuEvent):void{
URL.getURL(URL.URL_CREETOR);
}
public function dispose():void{
.dispose();
stopLoop();
= null;
.dispose();
UserInputAdapter.stage = null;
.dispose();
}
public function getData():Object{
var data:Object = new Object();
data.keyStyle = UserInputAdapter.getKeyStyle();
return (data);
}
private function (event:GameEvent):void{
if ( != null){
.enable();
};
}
public function start():void{
UserInputAdapter.stage = parent.stage;
Game.setFrameRate(parent.stage.frameRate);
.createScene();
= new ComboInputController(( .hero.getCharOperator() as YanLoongOperator));
.setComboIndexs([0, 1, 2, 3, 4, 5]);
.addEventListener(Event.ENTER_FRAME, update);
}
private function (event:GameEvent):void{
.dispose();
= null;
stopLoop();
}
private function (event:UIManagerEvent):void{
UserInputAdapter.setKeyStyle(event.getKeyStyle());
.saveConfig(getData());
}
private function (event:GameEvent):void{
.dispose();
= null;
}
public function setData(pData:Object):void{
UserInputAdapter.setKeyStyle(pData.keyStyle);
}
private function (event:GameEvent):void{
.disable();
}
}
}//package