Section 1
//_Alien_lost_552 (american_football_fla._Alien_lost_552)
package american_football_fla {
import flash.display.*;
public dynamic class _Alien_lost_552 extends MovieClip {
public function _Alien_lost_552(){
addFrameScript(3, frame4);
}
function frame4(){
stop();
}
}
}//package american_football_fla
Section 2
//_mult_16 (american_football_fla._mult_16)
package american_football_fla {
import flash.display.*;
public dynamic class _mult_16 extends MovieClip {
public var go:MovieClip;
public function _mult_16(){
addFrameScript(120, frame121);
}
function frame121(){
stop();
}
}
}//package american_football_fla
Section 3
//_road3_141 (american_football_fla._road3_141)
package american_football_fla {
import flash.display.*;
public dynamic class _road3_141 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 4
//blick_118 (american_football_fla.blick_118)
package american_football_fla {
import flash.display.*;
public dynamic class blick_118 extends MovieClip {
public function blick_118(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package american_football_fla
Section 5
//blick_725 (american_football_fla.blick_725)
package american_football_fla {
import flash.display.*;
public dynamic class blick_725 extends MovieClip {
public function blick_725(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package american_football_fla
Section 6
//blick2_113 (american_football_fla.blick2_113)
package american_football_fla {
import flash.display.*;
public dynamic class blick2_113 extends MovieClip {
public function blick2_113(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package american_football_fla
Section 7
//blick4_111 (american_football_fla.blick4_111)
package american_football_fla {
import flash.display.*;
public dynamic class blick4_111 extends MovieClip {
public function blick4_111(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package american_football_fla
Section 8
//game_over_bg_294 (american_football_fla.game_over_bg_294)
package american_football_fla {
import flash.display.*;
public dynamic class game_over_bg_294 extends MovieClip {
public var run:MovieClip;
public var ground_01:MovieClip;
}
}//package american_football_fla
Section 9
//gamezhero_114 (american_football_fla.gamezhero_114)
package american_football_fla {
import flash.display.*;
public dynamic class gamezhero_114 extends MovieClip {
public var blick2:MovieClip;
public var blick:MovieClip;
}
}//package american_football_fla
Section 10
//gamezhero_721 (american_football_fla.gamezhero_721)
package american_football_fla {
import flash.display.*;
public dynamic class gamezhero_721 extends MovieClip {
public var blick2:MovieClip;
public var blick:MovieClip;
}
}//package american_football_fla
Section 11
//gameZheroPreloader_789 (american_football_fla.gameZheroPreloader_789)
package american_football_fla {
import flash.display.*;
public dynamic class gameZheroPreloader_789 extends MovieClip {
public var pr:MovieClip;
public function gameZheroPreloader_789(){
addFrameScript(166, frame167);
}
function frame167(){
stop();
}
}
}//package american_football_fla
Section 12
//ground_01_1_400 (american_football_fla.ground_01_1_400)
package american_football_fla {
import flash.display.*;
public dynamic class ground_01_1_400 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 13
//ground_01_2_397 (american_football_fla.ground_01_2_397)
package american_football_fla {
import flash.display.*;
public dynamic class ground_01_2_397 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 14
//ground_01_3_392 (american_football_fla.ground_01_3_392)
package american_football_fla {
import flash.display.*;
public dynamic class ground_01_3_392 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 15
//ground_01_4_390 (american_football_fla.ground_01_4_390)
package american_football_fla {
import flash.display.*;
public dynamic class ground_01_4_390 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 16
//ground_02_1_423 (american_football_fla.ground_02_1_423)
package american_football_fla {
import flash.display.*;
public dynamic class ground_02_1_423 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 17
//ground_02_3_420 (american_football_fla.ground_02_3_420)
package american_football_fla {
import flash.display.*;
public dynamic class ground_02_3_420 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 18
//ground_02_4_419 (american_football_fla.ground_02_4_419)
package american_football_fla {
import flash.display.*;
public dynamic class ground_02_4_419 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 19
//ground_02_5_411 (american_football_fla.ground_02_5_411)
package american_football_fla {
import flash.display.*;
public dynamic class ground_02_5_411 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 20
//ground_02_6_410 (american_football_fla.ground_02_6_410)
package american_football_fla {
import flash.display.*;
public dynamic class ground_02_6_410 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 21
//ground_03_1_440 (american_football_fla.ground_03_1_440)
package american_football_fla {
import flash.display.*;
public dynamic class ground_03_1_440 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 22
//ground_03_2_439 (american_football_fla.ground_03_2_439)
package american_football_fla {
import flash.display.*;
public dynamic class ground_03_2_439 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 23
//ground_03_3_438 (american_football_fla.ground_03_3_438)
package american_football_fla {
import flash.display.*;
public dynamic class ground_03_3_438 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 24
//ground_03_4_437 (american_football_fla.ground_03_4_437)
package american_football_fla {
import flash.display.*;
public dynamic class ground_03_4_437 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 25
//ground_03_5_436 (american_football_fla.ground_03_5_436)
package american_football_fla {
import flash.display.*;
public dynamic class ground_03_5_436 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 26
//ground_04_1_457 (american_football_fla.ground_04_1_457)
package american_football_fla {
import flash.display.*;
public dynamic class ground_04_1_457 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 27
//ground_04_2_455 (american_football_fla.ground_04_2_455)
package american_football_fla {
import flash.display.*;
public dynamic class ground_04_2_455 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 28
//ground_04_3_454 (american_football_fla.ground_04_3_454)
package american_football_fla {
import flash.display.*;
public dynamic class ground_04_3_454 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 29
//ground_04_4_453 (american_football_fla.ground_04_4_453)
package american_football_fla {
import flash.display.*;
public dynamic class ground_04_4_453 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 30
//ground_04_5_452 (american_football_fla.ground_04_5_452)
package american_football_fla {
import flash.display.*;
public dynamic class ground_04_5_452 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 31
//hint_144 (american_football_fla.hint_144)
package american_football_fla {
import flash.display.*;
public dynamic class hint_144 extends MovieClip {
public function hint_144(){
addFrameScript(37, frame38);
}
function frame38(){
stop();
}
}
}//package american_football_fla
Section 32
//inst_g1_loop_140 (american_football_fla.inst_g1_loop_140)
package american_football_fla {
import flash.display.*;
public dynamic class inst_g1_loop_140 extends MovieClip {
public function inst_g1_loop_140(){
addFrameScript(54, frame55);
}
function frame55(){
gotoAndPlay(1);
}
}
}//package american_football_fla
Section 33
//inst_g2_loop_137 (american_football_fla.inst_g2_loop_137)
package american_football_fla {
import flash.display.*;
public dynamic class inst_g2_loop_137 extends MovieClip {
public var ground_00_03:Ground_00_Road;
public function inst_g2_loop_137(){
addFrameScript(74, frame75);
}
function frame75(){
gotoAndPlay(1);
}
}
}//package american_football_fla
Section 34
//inst002_160 (american_football_fla.inst002_160)
package american_football_fla {
import flash.display.*;
public dynamic class inst002_160 extends MovieClip {
public function inst002_160(){
addFrameScript(54, frame55);
}
function frame55(){
}
}
}//package american_football_fla
Section 35
//level_info_close_204 (american_football_fla.level_info_close_204)
package american_football_fla {
import flash.display.*;
public dynamic class level_info_close_204 extends MovieClip {
public var obj_mc:MovieClip;
}
}//package american_football_fla
Section 36
//level_info_obj_203 (american_football_fla.level_info_obj_203)
package american_football_fla {
import flash.display.*;
import flash.text.*;
public dynamic class level_info_obj_203 extends MovieClip {
public var text_txt:TextField;
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 37
//level_info_open_202 (american_football_fla.level_info_open_202)
package american_football_fla {
import flash.display.*;
public dynamic class level_info_open_202 extends MovieClip {
public var obj_mc:MovieClip;
}
}//package american_football_fla
Section 38
//map0009_737 (american_football_fla.map0009_737)
package american_football_fla {
import flash.display.*;
public dynamic class map0009_737 extends MovieClip {
public function map0009_737(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package american_football_fla
Section 39
//Mult0016_41 (american_football_fla.Mult0016_41)
package american_football_fla {
import flash.display.*;
public dynamic class Mult0016_41 extends MovieClip {
public function Mult0016_41(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package american_football_fla
Section 40
//Mult0018_42 (american_football_fla.Mult0018_42)
package american_football_fla {
import flash.display.*;
public dynamic class Mult0018_42 extends MovieClip {
public function Mult0018_42(){
addFrameScript(27, frame28);
}
function frame28(){
stop();
}
}
}//package american_football_fla
Section 41
//Mult0020_38 (american_football_fla.Mult0020_38)
package american_football_fla {
import flash.display.*;
public dynamic class Mult0020_38 extends MovieClip {
public function Mult0020_38(){
addFrameScript(39, frame40, 48, frame49);
}
function frame40(){
(parent as MovieClip).play();
}
function frame49(){
stop();
}
}
}//package american_football_fla
Section 42
//Mult0028_29 (american_football_fla.Mult0028_29)
package american_football_fla {
import flash.display.*;
public dynamic class Mult0028_29 extends MovieClip {
public function Mult0028_29(){
addFrameScript(22, frame23);
}
function frame23(){
stop();
}
}
}//package american_football_fla
Section 43
//Mult0029_34 (american_football_fla.Mult0029_34)
package american_football_fla {
import flash.display.*;
public dynamic class Mult0029_34 extends MovieClip {
public function Mult0029_34(){
addFrameScript(74, frame75);
}
function frame75(){
(parent as MovieClip).play();
stop();
}
}
}//package american_football_fla
Section 44
//Mult0030_17 (american_football_fla.Mult0030_17)
package american_football_fla {
import flash.display.*;
public dynamic class Mult0030_17 extends MovieClip {
public function Mult0030_17(){
addFrameScript(138, frame139, 148, frame149, 386, frame387);
}
function frame139(){
stop();
}
function frame387(){
stop();
}
function frame149(){
stop();
}
}
}//package american_football_fla
Section 45
//musicMenu_729 (american_football_fla.musicMenu_729)
package american_football_fla {
import flash.display.*;
public dynamic class musicMenu_729 extends MovieClip {
public function musicMenu_729(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package american_football_fla
Section 46
//Obstacle_Complex_00_Win_557 (american_football_fla.Obstacle_Complex_00_Win_557)
package american_football_fla {
import flash.display.*;
public dynamic class Obstacle_Complex_00_Win_557 extends MovieClip {
public var anim_mc:MovieClip;
}
}//package american_football_fla
Section 47
//Panel_For_Combo_257 (american_football_fla.Panel_For_Combo_257)
package american_football_fla {
import flash.display.*;
import game.ui.*;
public dynamic class Panel_For_Combo_257 extends MovieClip {
public var action_2_mc:View_Action_Checkit;
public var sensor_mc:View_Sensor;
public var action_5_mc:View_Action_Checkit;
public var action_up_mc:View_Action_BlowUp;
public var action_0_mc:View_Action_Checkit;
public var action_down_mc:View_Action_BlowUp;
public var action_right_mc:View_Action_BlowUp;
public var enemy_faces_mc:View_Enemy_Faces;
public var action_3_mc:View_Action_Checkit;
public var action_left_mc:View_Action_BlowUp;
public var action_1_mc:View_Action_Checkit;
public var action_4_mc:View_Action_Checkit;
}
}//package american_football_fla
Section 48
//preloaderLine_790 (american_football_fla.preloaderLine_790)
package american_football_fla {
import flash.display.*;
public dynamic class preloaderLine_790 extends MovieClip {
public var begun:MovieClip;
}
}//package american_football_fla
Section 49
//repository_347 (american_football_fla.repository_347)
package american_football_fla {
import flash.display.*;
import game.ui.*;
public dynamic class repository_347 extends MovieClip {
public var levels_map_mc:View_Levels_Map;
}
}//package american_football_fla
Section 50
//score_info_close_200 (american_football_fla.score_info_close_200)
package american_football_fla {
import flash.display.*;
public dynamic class score_info_close_200 extends MovieClip {
public var obj_mc:MovieClip;
}
}//package american_football_fla
Section 51
//score_info_obj_198 (american_football_fla.score_info_obj_198)
package american_football_fla {
import flash.display.*;
import flash.text.*;
public dynamic class score_info_obj_198 extends MovieClip {
public var text_txt:TextField;
public var bg_mc:MovieClip;
}
}//package american_football_fla
Section 52
//score_info_open_197 (american_football_fla.score_info_open_197)
package american_football_fla {
import flash.display.*;
public dynamic class score_info_open_197 extends MovieClip {
public var obj_mc:MovieClip;
}
}//package american_football_fla
Section 53
//soundMenu1_728 (american_football_fla.soundMenu1_728)
package american_football_fla {
import flash.display.*;
public dynamic class soundMenu1_728 extends MovieClip {
public function soundMenu1_728(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package american_football_fla
Section 54
//ui_191 (american_football_fla.ui_191)
package american_football_fla {
import flash.display.*;
import game.ui.*;
public dynamic class ui_191 extends MovieClip {
public var lose_mc:View_Lose;
public var life_energy_mc:View_Life_Energy;
public var score_mc:View_Score;
public var logo_mc:View_logo;
public var levelInfo_mc:View_Level_Info;
public var indicator_mc:View_Position_Indicator;
public var lifes_mc:View_Lifes;
public var panel_for_combo_mc:View_Panel_For_Combo;
}
}//package american_football_fla
Section 55
//win0011_325 (american_football_fla.win0011_325)
package american_football_fla {
import flash.display.*;
public dynamic class win0011_325 extends MovieClip {
public var ground_01:MovieClip;
}
}//package american_football_fla
Section 56
//z_2_116 (american_football_fla.z_2_116)
package american_football_fla {
import flash.display.*;
public dynamic class z_2_116 extends MovieClip {
public function z_2_116(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package american_football_fla
Section 57
//z_2_723 (american_football_fla.z_2_723)
package american_football_fla {
import flash.display.*;
public dynamic class z_2_723 extends MovieClip {
public function z_2_723(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package american_football_fla
Section 58
//MD5 (classes.crypto.MD5)
package classes.crypto {
import classes.utils.*;
public class MD5 {
private function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private function createBlocks(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
return (_local2);
}
public function hash(_arg1:String):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package classes.crypto
Section 59
//MainMenu (classes.gameInterface.MainMenu)
package classes.gameInterface {
import flash.events.*;
import flash.display.*;
import main.*;
import main.v.*;
import classes.*;
public class MainMenu extends TAllItem {
public var viewTopScoreBtn:SimpleButton;
public var putThisGameText_mc:putThisGametext;
public var howToPlayBtn:SimpleButton;
public var sendToFriendsBtn:SimpleButton;
public var playGameBtn:SimpleButton;
public var playMoreGamesText_mc:playMoreGamesText;
public var introBtn:SimpleButton;
public var title:GameNameText;
public var putGameBtn:SimpleButton;
public var viewTopScoreText_mc:viewTopScoreText;
public var gamezheroBtn:MovieClip;
public var playMoreGamesBtn:SimpleButton;
public var sendToFriendsText_mc:sendToFriendsText;
public var instructionText_mc:instructionText;
public var introText_mc:introText;
public var playGametext_mc:playGameText;
public function MainMenu():void{
playGametext_mc.mouseEnabled = false;
instructionText_mc.mouseEnabled = false;
introText_mc.mouseEnabled = false;
viewTopScoreText_mc.mouseEnabled = false;
sendToFriendsText_mc.mouseEnabled = false;
playMoreGamesText_mc.mouseEnabled = false;
putThisGameText_mc.mouseEnabled = false;
playGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
introBtn.addEventListener(MouseEvent.MOUSE_DOWN, introAction);
howToPlayBtn.addEventListener(MouseEvent.MOUSE_DOWN, howToPlayAction);
viewTopScoreBtn.addEventListener(MouseEvent.MOUSE_DOWN, viewScore);
sendToFriendsBtn.addEventListener(MouseEvent.MOUSE_DOWN, sendToFriends);
playMoreGamesBtn.addEventListener(MouseEvent.MOUSE_DOWN, playMoreGames);
gamezheroBtn.addEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2);
putGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, putGameAction);
playGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
introBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
howToPlayBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
viewTopScoreBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
sendToFriendsBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
playMoreGamesBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverZorro);
putGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.addEventListener(MouseEvent.CLICK, clicked);
gamezheroBtn.buttonMode = true;
gamezheroBtn.useHandCursor = true;
stage.quality = "BEST";
}
private function playGameAction(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
getParent().onChangeState(Global_Settings.PLAY_GAME);
}
private function diactivateAllButtons():void{
playGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
introBtn.removeEventListener(MouseEvent.MOUSE_DOWN, introAction);
howToPlayBtn.removeEventListener(MouseEvent.MOUSE_DOWN, howToPlayAction);
viewTopScoreBtn.removeEventListener(MouseEvent.MOUSE_DOWN, viewScore);
sendToFriendsBtn.removeEventListener(MouseEvent.MOUSE_DOWN, sendToFriends);
playMoreGamesBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playMoreGames);
gamezheroBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2);
putGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, putGameAction);
playGameBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
introBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
howToPlayBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
viewTopScoreBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
sendToFriendsBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
playMoreGamesBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverZorro);
putGameBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.removeEventListener(MouseEvent.CLICK, clicked);
gamezheroBtn.buttonMode = false;
}
private function putGameAction(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getParent().onChangeState(Global_Settings.PLAY_PUT_THIS_GAME);
}
private function mouseOverZorro(_arg1:MouseEvent):void{
gamezheroBtn["blick"].play();
gamezheroBtn["blick2"].play();
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
private function clicked(_arg1:MouseEvent):void{
}
private function mouseOverFunc(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
private function playMoreGames(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getParent().onChangeState(Global_Settings.PLAY_MORE);
}
private function playMoreGames2(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getParent().onChangeState(Global_Settings.PLAY_ZORRO_LOGO);
}
private function introAction(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
getParent().onChangeState(Global_Settings.PLAY_INTRO);
}
private function howToPlayAction(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
getParent().onChangeState(Global_Settings.PLAY_INSTR);
}
private function viewScore(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getParent().onChangeState(Global_Settings.PLAY_VIEW_SCORE);
}
private function sendToFriends(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getParent().onChangeState(Global_Settings.PLAY_SEND_TO_FRIENDS);
}
override public function show(_arg1:Boolean=true):void{
if (_arg1){
} else {
diactivateAllButtons();
};
super.show(_arg1);
}
}
}//package classes.gameInterface
Section 60
//PauseMenu (classes.gameInterface.PauseMenu)
package classes.gameInterface {
import game.*;
import flash.events.*;
import flash.display.*;
import main.*;
import flash.text.*;
import classes.*;
import flash.net.*;
public class PauseMenu extends MovieClip {
public var exitGameBtn:MovieClip;
public var musicGameBtn:MovieClip;
public var playGameBtn:MovieClip;
private var m_view:View_Pause;
public var bg:MovieClip;
public var txt:TextField;
public var soundGameBtn:MovieClip;
public var gamezheroBtn:MovieClip;
private var CURRENT_QUALITY:String;
public function PauseMenu(_arg1:MovieClip=null){
if (_arg1 == null){
return;
};
_arg1.addChild(this);
gamezheroBtn.addEventListener(MouseEvent.MOUSE_DOWN, gamezheroAction);
gamezheroBtn.alert = Language_Settings.getInstance().getText(Language_Settings.GAMEZ_HERO_BTN_HINT);
playGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
playGameBtn.alert = Language_Settings.getInstance().getText(Language_Settings.PLAY_GAME_BTN_HINT);
exitGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, exitGameAction);
exitGameBtn.alert = Language_Settings.getInstance().getText(Language_Settings.EXIT_GAME_BTN_HINT);
soundGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, soundGameAction);
soundGameBtn.alert = Language_Settings.getInstance().getText(Language_Settings.SOUND_GAME_BTN_HINT);
musicGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, musicGameAction);
musicGameBtn.alert = Language_Settings.getInstance().getText(Language_Settings.MUSIC_GAME_BTN_HINT);
gamezheroBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
playGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
exitGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
soundGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
musicGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.buttonMode = true;
gamezheroBtn.useHandCursor = true;
playGameBtn.buttonMode = true;
playGameBtn.useHandCursor = true;
exitGameBtn.buttonMode = true;
exitGameBtn.useHandCursor = true;
soundGameBtn.buttonMode = true;
soundGameBtn.useHandCursor = true;
musicGameBtn.buttonMode = true;
musicGameBtn.useHandCursor = true;
CURRENT_QUALITY = stage.quality;
stage.quality = "BEST";
soundGameBtn.gotoAndStop(((Global._game_stored_data.data.soundVolumeFlag == 1)) ? 2 : 1);
musicGameBtn.gotoAndStop(((Global._game_stored_data.data.musicVolumeFlag == 1)) ? 2 : 1);
Global.music_game.stopMusics();
Global.sound_game.stopSounds();
}
public function show(_arg1:Boolean=true):void{
if (_arg1){
visible = true;
} else {
visible = false;
};
}
private function playGameAction(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
stage.quality = CURRENT_QUALITY;
iniSoundAndMusic();
m_view.onChangePause(false);
}
public function setView(_arg1:View_Pause):void{
m_view = _arg1;
}
private function diactivateAllButtons():void{
gamezheroBtn.removeEventListener(MouseEvent.MOUSE_DOWN, gamezheroAction);
playGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
exitGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, exitGameAction);
soundGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, soundGameAction);
musicGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, musicGameAction);
}
private function iniSoundAndMusic():void{
if (Global._game_stored_data.data.soundVolumeFlag == 1){
Global.sound_game.setSoundVolume(Global._sound_volume_game);
} else {
Global.sound_game.setSoundVolume(0);
};
if (Global._game_stored_data.data.musicVolumeFlag == 1){
Global.music_game.setMusicVolume(Global._music_volume_game);
} else {
Global.music_game.setMusicVolume(0);
};
}
private function getURL(_arg1:String):void{
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
navigateToURL(_local2, "_blank");
}
private function mouseOverFunc(_arg1:MouseEvent):void{
var _local2:MovieClip;
Global.sound_interface.playSound(null, "s_over", 0, 0);
_local2 = this[_arg1.target.name];
if (_local2.blick2 != null){
_local2.blick2.play();
};
txt.text = _local2.alert;
}
private function exitGameAction(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
stage.quality = CURRENT_QUALITY;
m_view.onChangeGameState(Model_Settings.GAME_STATE_GAME_OVER);
}
private function gamezheroAction(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getURL("http://www.gamezhero.com/?utm_campaign=last_touchdonwn&utm_source=last_touchdonwn&utm_medium=zorro_logo_pause");
}
private function soundGameAction(_arg1:MouseEvent=null){
Global._game_stored_data.data.soundVolumeFlag = ((Global._game_stored_data.data.soundVolumeFlag == 1)) ? 0 : 1;
soundGameBtn.gotoAndStop(((Global._game_stored_data.data.soundVolumeFlag == 1)) ? 2 : 1);
}
private function mouseOutFunc(_arg1:MouseEvent):void{
txt.text = "";
}
private function musicGameAction(_arg1:MouseEvent=null){
Global._game_stored_data.data.musicVolumeFlag = ((Global._game_stored_data.data.musicVolumeFlag == 1)) ? 0 : 1;
musicGameBtn.gotoAndStop(((Global._game_stored_data.data.musicVolumeFlag == 1)) ? 2 : 1);
}
}
}//package classes.gameInterface
Section 61
//GamePreloader (classes.gamezhero.GamePreloader)
package classes.gamezhero {
import flash.events.*;
import flash.display.*;
import classes.*;
import flash.net.*;
import flash.ui.*;
public class GamePreloader extends MovieClip {
public var bg:MovieClip;
private var completeFlag:Boolean;// = false
private var GOTO:uint;
public var intro:MovieClip;
private var PAR:MovieClip;
private var GAME_NAME:String;
public function GamePreloader(_arg1:MovieClip, _arg2:uint, _arg3:String="gamezhero"):void{
var _local4:ContextMenu;
var _local5:ContextMenuBuiltInItems;
var _local6:ContextMenuItem;
var _local7:ContextMenuItem;
var _local8:ContextMenuItem;
completeFlag = false;
super();
PAR = _arg1;
GOTO = _arg2;
GAME_NAME = _arg3;
PAR.addChild(this);
stage.addEventListener(Event.RESIZE, resizeStage);
this.addEventListener(Event.ENTER_FRAME, iniPreloader);
resizeStage(null);
_local4 = new ContextMenu();
_local4.hideBuiltInItems();
_local5 = _local4.builtInItems;
_local5.quality = true;
_local6 = new ContextMenuItem("Free Online Games @ Gamezhero.com");
_local6.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, gotoGamezhero2);
_local4.customItems.push(_local6);
_local7 = new ContextMenuItem("Send To Friends This Game");
_local7.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, sendToFriends);
_local4.customItems.push(_local7);
_local8 = new ContextMenuItem("Put This Game On Your Site Or Blog");
_local8.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, putThisGame);
_local4.customItems.push(_local8);
PAR.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
PAR.loaderInfo.addEventListener(Event.COMPLETE, comp);
this.parent.contextMenu = _local4;
this.addEventListener(MouseEvent.MOUSE_DOWN, gotoGamezhero);
this.useHandCursor = true;
this.buttonMode = true;
}
public function sendToFriends(_arg1:ContextMenuEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["send_to_friends_context"]);
navigateToURL(_local2, "_blank");
}
public function comp(_arg1:Event=null):void{
completeFlag = true;
}
public function action(_arg1:Event=null):void{
this.removeEventListener(Event.ENTER_FRAME, iniPreloader);
stage.removeEventListener(Event.RESIZE, resizeStage);
PAR.loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
PAR.loaderInfo.removeEventListener(Event.COMPLETE, comp);
PAR.nextStep();
PAR.removeChild(this);
}
public function ioErrorHandler(_arg1:Event):void{
}
public function gotoGamezhero2(_arg1:ContextMenuEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["play_more_games_context"]);
navigateToURL(_local2, "_blank");
}
public function gotoGamezhero(_arg1:MouseEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["preloader"]);
navigateToURL(_local2, "_blank");
}
public function resizeStage(_arg1:Event):void{
this["bg"].width = Math.round(stage.stageWidth);
this["bg"].height = Math.round(stage.stageHeight);
this["intro"].x = Math.round((stage.stageWidth / 2));
this["intro"].y = Math.round((stage.stageHeight / 2));
}
public function putThisGame(_arg1:ContextMenuEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["put_this_game_context"]);
navigateToURL(_local2, "_blank");
}
public function iniPreloader(_arg1:Event):void{
var _local2:Number;
_local2 = (-128 + (132 * (PAR.loaderInfo.bytesLoaded / PAR.loaderInfo.bytesTotal)));
if (this["intro"] != null){
if (((!((this["intro"]["pr"] == null))) && (!((this["intro"]["pr"]["begun"] == null))))){
this["intro"]["pr"]["begun"].x = (this["intro"]["pr"]["begun"].x - ((this["intro"]["pr"]["begun"].x - _local2) / 5));
};
if (PAR.loaderInfo.bytesLoaded != PAR.loaderInfo.bytesTotal){
if (this["intro"].currentLabel == "stopFrame"){
this["intro"].stop();
};
} else {
if (this["intro"].currentLabel == "stopFrame"){
this["intro"].play();
};
if (this["intro"].currentFrame == this["intro"].totalFrames){
this["intro"].stop();
action();
};
if (Global.DEBUG){
};
};
};
}
}
}//package classes.gamezhero
Section 62
//Music (classes.media.Music)
package classes.media {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class Music {
public var musicInArr:Array;
private var musicArch:Dictionary;
public var musicVolume:Number;// = 0.5
private var musicArchByID:Object;
public var musicOutArr:Array;
public var timerSub:Timer;
private var activeMusic:String;// = ""
public function Music(){
musicArch = new Dictionary();
musicArchByID = new Object();
activeMusic = "";
musicVolume = 0.5;
musicOutArr = new Array();
musicInArr = new Array();
timerSub = new Timer(50, 0);
super();
}
public function stopMusics():void{
var _local1:*;
var _local2:*;
for (_local1 in musicArchByID) {
musicOut(_local1);
};
for (_local2 in musicArch) {
};
(activeMusic = "");
}
public function playMusic(_arg1:String, _arg2:String, _arg3:Number=0):void{
var soundFactory:Sound;
var sndClass:Class;
var id = _arg1;
var sName = _arg2;
var step = _arg3;
if (activeMusic != id){
musicOut(activeMusic);
activeMusic = id;
try {
sndClass = (getDefinitionByName(sName) as Class);
} catch(e:ReferenceError) {
return;
};
soundFactory = (new (sndClass) as Sound);
iniMusic(id, soundFactory, step);
musicIn(activeMusic);
};
}
private function completeHandler(_arg1:Event):void{
var _local2:*;
var _local3:String;
var _local4:Sound;
_local2 = _arg1.target;
if (musicArch[_local2].loopFlag == "infinity"){
_local3 = musicArch[_local2].id;
_local4 = musicArch[_local2].sound;
iniMusic(_local3, _local4);
};
delete musicArch[_local2];
}
public function setMusicVolume(_arg1:Number):void{
var _local2:*;
var _local3:SoundTransform;
musicVolume = _arg1;
for (_local2 in musicArch) {
_local3 = _local2.soundTransform;
_local3.volume = musicVolume;
_local2.soundTransform = _local3;
};
}
public function iniMusic(_arg1:String, _arg2:Sound, _arg3:Number=0):void{
var _local4:Number;
var _local5:SoundChannel;
var _local6:SoundTransform;
_local4 = 1000;
_local5 = _arg2.play(0, _local4);
_local6 = _local5.soundTransform;
_local6.pan = 0;
_local6.volume = ((_arg3)>musicVolume) ? musicVolume : _arg3;
_local5.soundTransform = _local6;
_local5.addEventListener(Event.SOUND_COMPLETE, completeHandler);
musicArch[_local5] = {id:_arg1, sound:_arg2};
musicArchByID[_arg1] = _local5;
}
public function musicOut(_arg1:String):void{
if (musicArchByID[_arg1] != undefined){
musicOutArr.push(_arg1);
timerSub.addEventListener("timer", updateMusicValue);
timerSub.start();
};
}
public function musicIn(_arg1:String):void{
if (musicArchByID[_arg1] != undefined){
musicInArr.push(_arg1);
timerSub.addEventListener("timer", updateMusicValue);
timerSub.start();
};
}
private function updateMusicValue(_arg1:TimerEvent=null):void{
var _local2:Number;
var _local3:SoundTransform;
var _local4:SoundChannel;
_local2 = 0;
while (_local2 < musicInArr.length) {
_local4 = musicArchByID[musicInArr[_local2]];
_local3 = _local4.soundTransform;
_local3.volume = (_local3.volume + 0.025);
_local3.volume = ((_local3.volume)>=musicVolume) ? musicVolume : _local3.volume;
_local4.soundTransform = _local3;
if (_local3.volume == musicVolume){
musicInArr.splice(_local2, 1);
_local2--;
};
_local2++;
};
_local2 = 0;
while (_local2 < musicOutArr.length) {
_local4 = musicArchByID[musicOutArr[_local2]];
_local3 = _local4.soundTransform;
_local3.volume = (_local3.volume - 0.025);
_local3.volume = ((_local3.volume)<=0) ? 0 : _local3.volume;
_local4.soundTransform = _local3;
if (_local3.volume == 0){
_local4.stop();
musicOutArr.splice(_local2, 1);
_local2--;
};
_local2++;
};
if ((((musicInArr.length == 0)) && ((musicOutArr.length == 0)))){
timerSub.removeEventListener("timer", updateMusicValue);
timerSub.stop();
};
}
}
}//package classes.media
Section 63
//SoundFX (classes.media.SoundFX)
package classes.media {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class SoundFX {
private var soundArch:Dictionary;
public var soundVolume:Number;// = 0.5
private var soundArchByID:Object;
public function SoundFX(){
soundArch = new Dictionary();
soundArchByID = new Object();
soundVolume = 0.5;
super();
}
public function stopSounds():void{
var _local1:*;
for (_local1 in soundArch) {
_local1.stop();
_local1.addEventListener(Event.SOUND_COMPLETE, completeHandler);
delete soundArch[_local1];
};
soundArchByID = new Object();
soundArch = new Dictionary();
}
public function iniSound(_arg1, _arg2:Sound, _arg3:Number, _arg4, _arg5:Number):void{
var _local6:Number;
var _local7:SoundChannel;
var _local8:SoundTransform;
_local6 = ((_arg4)=="infinity") ? 1000 : _arg4;
_local7 = _arg2.play(0, _local6);
_local8 = _local7.soundTransform;
_local8.pan = _arg3;
_local8.volume = (soundVolume * _arg5);
_local7.soundTransform = _local8;
_local7.addEventListener(Event.SOUND_COMPLETE, completeHandler);
soundArch[_local7] = {id:_arg1, sound:_arg2, loopFlag:_arg4, pan:_arg3, kof:_arg5};
if (_arg1 != null){
soundArchByID[_arg1] = _local7;
};
}
public function setPanByID(_arg1:String, _arg2:Number):void{
var _local3:*;
var _local4:SoundTransform;
_local3 = soundArchByID[_arg1];
if (_local3 != undefined){
_local4 = _local3.soundTransform;
soundArch[_local3].pan = _arg2;
_local4.pan = _arg2;
_local3.soundTransform = _local4;
};
}
private function completeHandler(_arg1:Event):void{
var _local2:*;
var _local3:Sound;
var _local4:Sound;
var _local5:*;
var _local6:Number;
var _local7:Number;
_local2 = _arg1.target;
if (soundArch[_local2].loopFlag == "infinity"){
_local3 = soundArch[_local2].id;
_local4 = soundArch[_local2].sound;
_local5 = soundArch[_local2].loopFlag;
_local6 = soundArch[_local2].pan;
_local7 = soundArch[_local2].kof;
iniSound(_local3, _local4, _local5, _local6, _local7);
};
delete soundArch[_local2];
}
public function setSoundVolume(_arg1:Number):void{
var _local2:*;
var _local3:SoundTransform;
soundVolume = _arg1;
for (_local2 in soundArch) {
_local3 = _local2.soundTransform;
_local3.volume = (soundVolume * soundArch[_local2].kof);
_local2.soundTransform = _local3;
};
}
public function setVolumeKofByID(_arg1:String, _arg2:Number):void{
var _local3:*;
var _local4:SoundTransform;
_local3 = soundArchByID[_arg1];
if (_local3 != undefined){
soundArch[_local3].kof = _arg2;
_local4 = _local3.soundTransform;
_local4.volume = (soundVolume * soundArch[_local3].kof);
_local3.soundTransform = _local4;
};
}
public function playSound(_arg1, _arg2:String, _arg3=0, _arg4:Number=0, _arg5:Number=1){
var sndClass:Class;
var soundFactory:Sound;
var id = _arg1;
var sName = _arg2;
var loopFlag = _arg3;
var pan = _arg4;
var kof = _arg5;
try {
sndClass = (getDefinitionByName(sName) as Class);
soundFactory = (new (sndClass) as Sound);
} catch(e:ReferenceError) {
return;
};
iniSound(id, soundFactory, pan, loopFlag, kof);
}
public function removeSoundByID(_arg1:String):void{
var _local2:*;
_local2 = soundArchByID[_arg1];
if (_local2 != undefined){
_local2.stop();
_local2.addEventListener(Event.SOUND_COMPLETE, completeHandler);
delete soundArch[_local2];
};
}
}
}//package classes.media
Section 64
//ClassLoader (classes.utils.ClassLoader)
package classes.utils {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class ClassLoader extends EventDispatcher {
private var loader:Loader;
private var request:URLRequest;
private var swfLib:String;
private var loadedClass:Class;
public static var CLASS_LOADED:String = "classLoaded";
public static var LOAD_ERROR:String = "loadError";
public function ClassLoader(){
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
public function getClass(_arg1:String):Class{
var className = _arg1;
try {
return ((loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class));
} catch(e:Error) {
};
return (null);
}
private function securityErrorHandler(_arg1:Event):void{
dispatchEvent(new Event(ClassLoader.LOAD_ERROR));
}
private function completeHandler(_arg1:Event):void{
dispatchEvent(new Event(ClassLoader.CLASS_LOADED));
}
private function ioErrorHandler(_arg1:Event):void{
dispatchEvent(new Event(ClassLoader.LOAD_ERROR));
}
public function load(_arg1:String):void{
var _local2:LoaderContext;
swfLib = _arg1;
request = new URLRequest(swfLib);
_local2 = new LoaderContext();
_local2.applicationDomain = new ApplicationDomain();
loader.load(request, _local2);
}
}
}//package classes.utils
Section 65
//IntUtil (classes.utils.IntUtil)
package classes.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package classes.utils
Section 66
//Global (classes.Global)
package classes {
import classes.media.*;
import flash.utils.*;
import flash.net.*;
public class Global {
public static const DEBUG:Boolean = true;
public static var _urls:Array = new Array();
public static var _sound_volume_game:Number = 0.3;
public static var sound_interface:SoundFX;
public static var _game_width_2:Number = (_game_width / 2);
public static var music_game:Music;
public static var _music_volume_interface:Number = 0.3;
public static var _game_height_2:Number = (_game_height / 2);
public static var _score:Number;
public static var _game_height:Number = 400;
public static var _music_volume_game:Number = 0.5;
public static var music_interface:Music;
public static var _sound_volume_interface:Number = 0.6;
public static var _game_width:Number = 550;
public static var sound_game:SoundFX;
public static var _language:String;
public static var _game_stored_data:SharedObject = SharedObject.getLocal("american_football-gamezhero.com");
public static function clone(_arg1:Object){
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeObject(_arg1);
_local2.position = 0;
return (_local2.readObject());
}
public static function getSckore():Number{
return (_score);
}
public static function setShowIntroBeforeGame(_arg1:Boolean):void{
Global._game_stored_data.data.show_intro_before_game = (_arg1) ? 1 : 0;
}
public static function addSckore(_arg1:Number):void{
_score = (_score + _arg1);
if (_score < 0){
_score = 0;
};
}
public static function getShowIntroBeforeGame():Number{
return (Global._game_stored_data.data.show_intro_before_game);
}
public static function setSckore(_arg1:Number):void{
_score = _arg1;
}
public static function getURL(_arg1:String):void{
var requestURL:URLRequest;
var url = _arg1;
try {
requestURL = new URLRequest(url);
navigateToURL(requestURL, "_blank");
} catch(e:Error) {
};
}
_urls["send_to_friends"] = "http://www.gamezhero.com/sendtofriends/lasttouchdown-freeonlinegames.html?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=send_to_friends";
_urls["play_more_games"] = "http://www.gamezhero.com/?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=more_free_games";
_urls["zorro_logo"] = "http://www.gamezhero.com/?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=zorro_logo";
_urls["zorro_logo_pause"] = "http://www.gamezhero.com/?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=zorro_logo_pause";
_urls["put_this_game"] = "http://www.gamezhero.com/freewebsitegames/lasttouchdown-freeonlinegames.html?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=free_web_site_games";
_urls["view_top_score"] = "http://www.gamezhero.com/topscore/lasttouchdown/?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=top_score";
_urls["score"] = "http://files.gamezhero.com/online/lasttouchdown/score/score.swf";
_urls["error"] = "http://www.gamezhero.com/sendtofriends/lasttouchdown-freeonlinegames.html?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=error";
_urls["preloader"] = "http://www.gamezhero.com/?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=preloader";
_urls["play_more_games_context"] = "http://www.gamezhero.com/?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=context_menu";
_urls["put_this_game_context"] = "http://www.gamezhero.com/freegamesforwebsite.html?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=free_games_for_website_context_menu";
_urls["send_to_friends_context"] = "http://www.gamezhero.com/sendtofriends/lasttouchdown-freeonlinegames.html?utm_campaign=last_touchdown&utm_source=last_touchdown&utm_medium=send_to_friends_context_menu";
}
}//package classes
Section 67
//Vorota (classes.Vorota)
package classes {
import flash.events.*;
import flash.display.*;
public class Vorota extends MovieClip {
public var ACTION_FRAME;
public var GOAL:MovieClip;
public var ACTION_GOAL:MovieClip;
public var CLOSE_FLAG:Boolean;
public var ACTION_FUNCTION:Function;
public function Vorota(_arg1:MovieClip, _arg2:Boolean=true, _arg3:MovieClip=null, _arg4=1, _arg5:Function=null):void{
addFrameScript(0, frame1, 8, frame9);
GOAL = _arg1;
CLOSE_FLAG = _arg2;
ACTION_GOAL = _arg3;
ACTION_FRAME = _arg4;
ACTION_FUNCTION = _arg5;
if (!_arg2){
Global.sound_interface.playSound(null, "s_close_vorota", 0, 0);
};
GOAL.addChild(this);
ini();
this.addEventListener(Event.ENTER_FRAME, update);
}
private function ini():void{
if (CLOSE_FLAG == true){
this.gotoAndStop("close");
} else {
this.gotoAndStop("open");
};
}
private function action():void{
this.removeEventListener(Event.ENTER_FRAME, update);
if (ACTION_GOAL != null){
if (ACTION_FUNCTION != null){
ACTION_FUNCTION.call(null);
};
ACTION_GOAL.gotoAndStop(ACTION_FRAME);
};
GOAL.removeChild(this);
}
function frame1(){
stop();
}
function frame9(){
stop();
}
private function update(_arg1:Event):void{
this.gotoAndStop((this.currentFrame + 1));
if (CLOSE_FLAG == true){
if (this.currentLabel == "open"){
action();
};
} else {
if (this.currentLabel == "close2"){
action();
};
};
}
}
}//package classes
Section 68
//AbstractController (com.mvc.AbstractController)
package com.mvc {
public class AbstractController implements Controller {
private var view:View;
private var model:Model;
public function AbstractController(_arg1:Model){
setModel(_arg1);
}
public function getModel():Model{
return (model);
}
public function setModel(_arg1:Model):void{
model = _arg1;
}
public function getView():View{
return (view);
}
public function setView(_arg1:View):void{
view = _arg1;
}
}
}//package com.mvc
Section 69
//AbstractView (com.mvc.AbstractView)
package com.mvc {
import com.*;
import flash.display.*;
public class AbstractView implements Observer, View {
private var model:Model;
private var controller:Controller;
public function AbstractView(_arg1:Model=null, _arg2:Controller=null){
setModel(_arg1);
if (_arg2 != null){
setController(_arg2);
};
}
public function defaultController(_arg1:Model):Controller{
return (null);
}
public function remove():void{
model = null;
controller = null;
}
public function getStage():MovieClip{
return (null);
}
public function update(_arg1:Observable, _arg2:Object):void{
}
public function setModel(_arg1:Model):void{
model = _arg1;
}
public function getController():Controller{
if (controller === null){
setController(defaultController(getModel()));
};
return (controller);
}
public function getModel():Model{
return (model);
}
public function setController(_arg1:Controller):void{
controller = _arg1;
getController().setView(this);
}
}
}//package com.mvc
Section 70
//Controller (com.mvc.Controller)
package com.mvc {
public interface Controller {
function getModel():Model;
function setView(_arg1:View):void;
function getView():View;
function setModel(_arg1:Model):void;
}
}//package com.mvc
Section 71
//Model (com.mvc.Model)
package com.mvc {
import com.*;
public class Model extends Observable {
public function execute(_arg1:Object):void{
}
}
}//package com.mvc
Section 72
//ModelList (com.mvc.ModelList)
package com.mvc {
import com.*;
public class ModelList extends Model implements Observer {
private var m_arModels:Array;
public function ModelList(){
m_arModels = new Array();
super();
}
public function remove(_arg1:Model):void{
var _local2:Number;
_local2 = m_arModels.indexOf(_arg1);
if (_local2 >= 0){
m_arModels.splice(_local2, 1);
};
}
public function add(_arg1:Model):void{
m_arModels.push(_arg1);
_arg1.addObserver(this);
}
override public function execute(_arg1:Object):void{
var _local2:Model;
for each (_local2 in m_arModels) {
_local2.execute(_arg1);
};
super.execute(_arg1);
}
public function update(_arg1:Observable, _arg2:Object):void{
setChanged();
notifyObservers(_arg2);
}
}
}//package com.mvc
Section 73
//View (com.mvc.View)
package com.mvc {
import flash.display.*;
public interface View {
function getController():Controller;
function getModel():Model;
function setModel(_arg1:Model):void;
function getStage():MovieClip;
function defaultController(_arg1:Model):Controller;
function setController(_arg1:Controller):void;
}
}//package com.mvc
Section 74
//IUpdatableMovieClip (com.IUpdatableMovieClip)
package com {
public interface IUpdatableMovieClip {
function remove():void;
function update():void;
}
}//package com
Section 75
//Observable (com.Observable)
package com {
public class Observable {
private var changed:Boolean;// = false
public var observers:Array;
public function Observable(){
changed = false;
super();
observers = new Array();
}
private function clearChanged():void{
changed = false;
}
public function clearObservers():void{
observers = new Array();
}
protected function setChanged():void{
changed = true;
}
public function countObservers():Number{
return (observers.length);
}
public function addObserver(_arg1:Observer):Boolean{
var _local2:Number;
if (_arg1 == null){
return (false);
};
_local2 = 0;
while (_local2 < observers.length) {
if (observers[_local2] == _arg1){
return (false);
};
_local2++;
};
observers.push(_arg1);
return (true);
}
public function removeObserver(_arg1:Observer):Boolean{
var _local2:Number;
var _local3:Number;
_local2 = observers.length;
_local3 = 0;
while (_local3 < _local2) {
if (observers[_local3] == _arg1){
observers.splice(_local3, 1);
return (true);
};
_local3++;
};
return (false);
}
public function notifyObservers(_arg1:Object):void{
var _local2:Array;
var _local3:Number;
if (!changed){
return;
};
_local2 = observers.slice(0);
clearChanged();
_local3 = (_local2.length - 1);
while (_local3 >= 0) {
_local2[_local3].update(this, _arg1);
_local3--;
};
}
public function hasChanged():Boolean{
return (changed);
}
}
}//package com
Section 76
//Observer (com.Observer)
package com {
public interface Observer {
function update(_arg1:Observable, _arg2:Object):void;
}
}//package com
Section 77
//Observer_Link (com.Observer_Link)
package com {
public class Observer_Link extends Observable implements Observer {
public function update(_arg1:Observable, _arg2:Object):void{
setChanged();
notifyObservers(_arg2);
}
}
}//package com
Section 78
//Singleton (com.Singleton)
package com {
public class Singleton {
private static var _instance:Singleton;
public static function getInstance():Singleton{
if (Singleton._instance == null){
Singleton._instance = new (Singleton);
};
return (Singleton._instance);
}
}
}//package com
Section 79
//TElastic (com.TElastic)
package com {
public class TElastic extends TUpdatableMC {
var m_nX_To:Number;// = 0
var m_nHeight_To:Number;// = 0
var m_nY_From:Number;// = 0
var m_nHeight_From:Number;// = 0
var m_nY_To:Number;// = 0
var m_nX_From:Number;// = 0
var m_bElastic:Boolean;// = false
var m_nWidth_From:Number;// = 0
var m_nWidth_To:Number;// = 0
public function TElastic(){
m_nWidth_To = 0;
m_nWidth_From = 0;
m_nHeight_To = 0;
m_nHeight_From = 0;
m_nX_To = 0;
m_nX_From = 0;
m_nY_To = 0;
m_nY_From = 0;
m_bElastic = false;
super();
m_nWidth_To = (m_nWidth_From = width);
m_nHeight_To = (m_nHeight_From = height);
m_nX_To = (m_nX_From = x);
m_nY_To = (m_nY_From = y);
}
public function onFinishedResizeheight():void{
}
private function speedBy(_arg1:Number):Number{
if (_arg1 > 0){
_arg1 = ((2 * _arg1) - 1);
_arg1 = (6 * ((-(_arg1) * _arg1) + 1.07));
return (_arg1);
};
_arg1 = ((2 * _arg1) + 1);
_arg1 = (6 * ((_arg1 * _arg1) - 1.07));
return (_arg1);
}
public function getRealWidth():Number{
return (width);
}
public function setElastic(_arg1:Boolean=true):void{
m_bElastic = _arg1;
}
public function onFinishedResize_X():void{
}
public function setHeight(_arg1:Number, _arg2:Boolean=true):void{
if (!_arg2){
height = _arg1;
m_nHeight_From = width;
} else {
if (m_nHeight_To != _arg1){
m_nHeight_To = _arg1;
m_nHeight_From = height;
};
};
}
public function onFinishedResize_Y():void{
}
public function setX(_arg1:Number, _arg2:Boolean=true):void{
if (!_arg2){
x = _arg1;
m_nX_From = _arg1;
} else {
if (m_nX_To != _arg1){
m_nX_To = _arg1;
m_nX_From = x;
};
};
}
public function setRealX(_arg1:Number):void{
x = _arg1;
}
public function setY(_arg1:Number, _arg2:Boolean=true):void{
if (!_arg2){
y = _arg1;
m_nY_From = _arg1;
} else {
if (m_nY_To != _arg1){
m_nY_To = _arg1;
m_nY_From = y;
};
};
}
public function collapsRight():void{
setX((x + width));
setWidth(0);
}
public function setRealY(_arg1:Number):void{
y = _arg1;
}
public function getRealHeight():Number{
return (height);
}
public function onFinishedResizewidth():void{
}
public function setRealHeight(_arg1:Number):void{
height = _arg1;
}
public function setRealWidth(_arg1:Number):void{
width = _arg1;
}
public function setWidth(_arg1:Number, _arg2:Boolean=true):void{
if (!_arg2){
width = _arg1;
m_nWidth_From = width;
} else {
if (m_nWidth_To != _arg1){
m_nWidth_To = _arg1;
m_nWidth_From = width;
};
};
}
public function checkIsResize():void{
}
public function getRealY():Number{
return (y);
}
override public function update():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
super.update();
if (m_bElastic){
_local2 = getRealWidth();
_local3 = getRealHeight();
_local4 = getRealX();
_local5 = getRealY();
if (m_nWidth_To != _local2){
_local1 = ((m_nWidth_To - _local2) / Math.abs((m_nWidth_To - m_nWidth_From)));
_local6 = speedBy(_local1);
_local7 = (_local2 + _local6);
if (((((((_local7 - m_nWidth_To) > 0)) && (((_local2 - m_nWidth_To) < 0)))) || (((((_local7 - m_nWidth_To) < 0)) && (((_local2 - m_nWidth_To) > 0)))))){
setRealWidth(m_nWidth_To);
onFinishedResizewidth();
checkIsResize();
} else {
setRealWidth(_local7);
};
} else {
m_nWidth_From = m_nWidth_To;
};
if (m_nHeight_To != _local3){
_local1 = ((m_nHeight_To - _local3) / Math.abs((m_nHeight_To - m_nHeight_From)));
_local8 = speedBy(_local1);
_local9 = (_local3 + _local8);
if (((((((_local9 - m_nHeight_To) > 0)) && (((_local3 - m_nHeight_To) < 0)))) || (((((_local9 - m_nHeight_To) < 0)) && (((_local3 - m_nHeight_To) > 0)))))){
setRealHeight(m_nHeight_To);
onFinishedResizeheight();
checkIsResize();
} else {
setRealHeight(_local9);
};
} else {
m_nHeight_From = m_nHeight_To;
};
if (m_nX_To != _local4){
_local1 = ((m_nX_To - _local4) / Math.abs((m_nX_From - m_nX_To)));
_local10 = speedBy(_local1);
_local11 = (_local4 + _local10);
if (((((((_local11 - m_nX_To) > 0)) && (((_local4 - m_nX_To) < 0)))) || (((((_local11 - m_nX_To) < 0)) && (((_local4 - m_nX_To) > 0)))))){
setRealX(m_nX_To);
onFinishedResize_X();
checkIsResize();
} else {
setRealX(_local11);
};
} else {
m_nX_From = m_nX_To;
};
if (m_nY_To != _local5){
_local1 = ((m_nY_To - _local5) / Math.abs((m_nY_From - m_nY_To)));
_local12 = speedBy(_local1);
_local13 = (_local5 + _local12);
if (((((((_local13 - m_nY_To) > 0)) && (((_local5 - m_nY_To) < 0)))) || (((((_local13 - m_nY_To) < 0)) && (((_local5 - m_nY_To) > 0)))))){
setRealX(m_nY_To);
onFinishedResize_Y();
checkIsResize();
} else {
setRealY((_local5 + _local12));
};
if (Math.abs((m_nY_To - getRealY())) < 1){
setRealY(m_nY_To);
};
} else {
m_nY_From = m_nY_To;
};
};
}
public function getRealX():Number{
return (x);
}
public function fullScreen():void{
setX(0);
setY(0);
setWidth(stage.width);
setHeight(400);
}
}
}//package com
Section 80
//TElementWithText (com.TElementWithText)
package com {
import flash.display.*;
import main.*;
public class TElementWithText extends MovieClip {
public function TElementWithText(){
stop();
setLang(Language_Settings.getInstance().getCurrentLang());
}
public function init():void{
}
public function setLang(_arg1:String):void{
gotoAndStop(_arg1);
}
}
}//package com
Section 81
//TLang (com.TLang)
package com {
public class TLang {
private var m_strCurLang:String;
public var m_arTextForLang:Array;
public var m_arTextForAllLang:Array;
public static const DE:String = "DEU";
public static const RU:String = "RUS";
public static const PT:String = "PRT";
public static const COUNTRY_GERMANY:uint = 4;
public static const PL:String = "POL";
public static const FR:String = "FRA";
public static const COUNTRY_FRENCH:uint = 5;
public static const UA:String = "UKR";
public static const COUNTRY_BRAZIL:uint = 7;
public static const COUNTRY_AUSTRALIA:uint = 10;
public static const COUNTRY_UKRAINE:uint = 9;
public static const COUNTRY_USA:uint = 0;
public static const US:String = "ENG";
public static const COUNTRY_SPAIN:uint = 1;
public static const COUNTRY_RUSSIA:uint = 3;
public static const COUNTRY_MEXICO:uint = 8;
public static const COUNTRY_PORTUGAL:uint = 6;
public static const IT:String = "ITA";
public static const ES:String = "ESP";
private static const COUNTRY_TO_LANG:Array = new Array({country:COUNTRY_USA, lang:US}, {country:COUNTRY_SPAIN, lang:ES}, {country:COUNTRY_ITALY, lang:IT}, {country:COUNTRY_RUSSIA, lang:RU}, {country:COUNTRY_GERMANY, lang:DE}, {country:COUNTRY_FRENCH, lang:FR}, {country:COUNTRY_PORTUGAL, lang:PT}, {country:COUNTRY_BRAZIL, lang:PT}, {country:COUNTRY_MEXICO, lang:ES}, {country:COUNTRY_UKRAINE, lang:UA}, {country:COUNTRY_AUSTRALIA, lang:US}, {country:COUNTRY_POLAND, lang:PL});
public static const COUNTRY_POLAND:uint = 11;
public static const COUNTRY_ITALY:uint = 2;
protected static var _instance:TLang;
public function TLang(){
init();
}
public function getText(_arg1:uint, _arg2:String=null):String{
var _local3:Object;
if (_arg2 == null){
_arg2 = getCurrentLang();
};
for each (_local3 in m_arTextForLang) {
if ((((_local3.lang == _arg2)) && ((_local3.id == _arg1)))){
return (_local3.text);
};
};
for each (_local3 in m_arTextForAllLang) {
if (_local3.id == _arg1){
return (_local3.text);
};
};
return (null);
}
public function setCurrentLang(_arg1:String):void{
m_strCurLang = _arg1;
}
protected function init():void{
m_arTextForLang = new Array();
m_arTextForAllLang = new Array();
addTextForAllLang(COUNTRY_USA, "English");
addTextForAllLang(COUNTRY_SPAIN, "Espanol");
addTextForAllLang(COUNTRY_ITALY, "Italiana");
addTextForAllLang(COUNTRY_RUSSIA, "Русский");
addTextForAllLang(COUNTRY_GERMANY, "Deutsche");
addTextForAllLang(COUNTRY_FRENCH, "Francais");
addTextForAllLang(COUNTRY_PORTUGAL, "Portuguesa");
addTextForAllLang(COUNTRY_BRAZIL, "Portuguesa");
addTextForAllLang(COUNTRY_MEXICO, "Espanol");
addTextForAllLang(COUNTRY_UKRAINE, "Українська");
addTextForAllLang(COUNTRY_AUSTRALIA, "English");
addTextForAllLang(COUNTRY_POLAND, "Polski");
}
protected function addTextForAllLang(_arg1:uint, _arg2:String):void{
m_arTextForAllLang.push({id:_arg1, text:_arg2});
}
protected function addText(_arg1:String, _arg2:uint, _arg3:String):void{
if (getText(_arg2, _arg1) == null){
if (_arg1 != null){
m_arTextForLang.push({lang:_arg1, id:_arg2, text:_arg3});
} else {
addTextForAllLang(_arg2, _arg3);
};
//unresolved jump
};
}
public function getCurrentLang():String{
return (m_strCurLang);
}
public static function getLangByCountry(_arg1:uint):String{
var _local2:Object;
for each (_local2 in COUNTRY_TO_LANG) {
if (_local2.country == _arg1){
return (_local2.lang);
};
};
return (null);
}
public static function getInstance():TLang{
if (TLang._instance == null){
TLang._instance = new (TLang);
};
return (TLang._instance);
}
}
}//package com
Section 82
//TSettings (com.TSettings)
package com {
public class TSettings {
public static function getObj(_arg1:Array, _arg2:Number):Object{
var _local3:Object;
for each (_local3 in _arg1) {
if (_local3.id == _arg2){
return (_local3);
};
};
return (null);
}
}
}//package com
Section 83
//TUpdatableMC (com.TUpdatableMC)
package com {
import flash.display.*;
public class TUpdatableMC extends MovieClip implements IUpdatableMovieClip {
var m_arChildToUpdate:Array;
public function TUpdatableMC(){
m_arChildToUpdate = new Array();
super();
}
public function addChildToUpdate(_arg1:IUpdatableMovieClip):void{
var _local2:IUpdatableMovieClip;
for each (_local2 in m_arChildToUpdate) {
if (_local2 == _arg1){
return;
};
};
m_arChildToUpdate.push(_arg1);
}
public function remove():void{
var _local1:IUpdatableMovieClip;
for each (_local1 in m_arChildToUpdate) {
_local1.remove();
};
m_arChildToUpdate = null;
}
public function update():void{
var _local1:DisplayObject;
var _local2:Number;
var _local3:IUpdatableMovieClip;
_local2 = numChildren;
while (--_local2 >= 0) {
_local1 = getChildAt(_local2);
if ((_local1 is IUpdatableMovieClip)){
(_local1 as IUpdatableMovieClip).update();
};
};
for each (_local3 in m_arChildToUpdate) {
_local3.update();
};
}
}
}//package com
Section 84
//Checkit_Simple (game.animation.Checkit_Simple)
package game.animation {
import game.*;
import flash.events.*;
public class Checkit_Simple extends View_Animation_Framed {
public function Checkit_Simple(){
setStateInfo(View_Settings.CHECKIT_STATE);
this.addEventListener(MouseEvent.CLICK, listeClick);
}
public function set selected(_arg1:Boolean):void{
setState((_arg1) ? View_Settings.STATE_ON : View_Settings.STATE_OFF);
}
private function listeClick(_arg1:MouseEvent):void{
var _local2:ICheckitParent;
selected = !(selected);
_local2 = (parent as ICheckitParent);
if (_local2 != null){
_local2.onCheckitChange(this, selected);
};
}
public function get selected():Boolean{
return ((getState() == View_Settings.STATE_ON));
}
}
}//package game.animation
Section 85
//IAnimation_Listener (game.animation.IAnimation_Listener)
package game.animation {
public interface IAnimation_Listener {
function onChildAnimationNotify(_arg1:View_Animation_Abstract, _arg2:Object);
}
}//package game.animation
Section 86
//ICheckitParent (game.animation.ICheckitParent)
package game.animation {
public interface ICheckitParent {
function onCheckitChange(_arg1:Checkit_Simple, _arg2:Boolean):void;
}
}//package game.animation
Section 87
//TView_With_Btns (game.animation.TView_With_Btns)
package game.animation {
import game.*;
import flash.display.*;
import com.mvc.*;
public class TView_With_Btns extends TView_Updatable {
public function TView_With_Btns(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2, _arg3);
}
public function onBtnChangeState(_arg1:View_Child, _arg2:Number):void{
}
}
}//package game.animation
Section 88
//View_Animation_Abstract (game.animation.View_Animation_Abstract)
package game.animation {
import game.*;
import flash.display.*;
public class View_Animation_Abstract extends View_Child {
private var m_arStateInfo_Def:Array;
protected var m_nCache_IsLoop_For:Number;
public var m_arListeners:Array;
private var m_bAnimation:Boolean;
private var m_bFirstUpdate:Boolean;// = true
private var m_iGotoFrame:int;
private var m_nState:Number;
private var m_arStateInfo:Array;
private var m_nPredState:Number;
public var m_bSyncState:Boolean;
protected var m_nCache_IsLoop:Number;
public static const NOTIFY_UNDEF:Number = -1;
public static const NOTIFY_AUTOCHANGE_STATE:Number = 0;
public static const NEED_ANIM_OFF:Number = 1;
public static const NEED_ANIM_ON:Number = 0;
public static const NOTIFY_FINISH_ANIM:Number = 1;
public function View_Animation_Abstract(){
var _local1:Number;
m_bFirstUpdate = true;
m_arStateInfo = new Array();
super();
stop();
m_arListeners = new Array();
setStateInfo_Def(View_Settings.ANIMATION_ABSTRACT_STATE);
_local1 = getStateFromParent();
setState(_local1);
}
protected function getLabelByID(_arg1:Number):String{
if (_arg1 < m_arStateInfo_Def.length){
return (m_arStateInfo_Def[_arg1].label_name);
};
return (m_arStateInfo[(_arg1 - m_arStateInfo_Def.length)].label_name);
}
private function getStateCount_Def():Number{
return (m_arStateInfo_Def.length);
}
private function getIsLoopByState_Def(_arg1:Number):Boolean{
var _local2:Boolean;
var _local3:Object;
for each (_local3 in m_arStateInfo_Def) {
if (_local3.id == _arg1){
_local2 = _local3.is_loop;
return (_local2);
};
};
return (false);
}
protected function getIsNeedAnimationOnNextStateByState(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in m_arStateInfo) {
if (_local2.id == _arg1){
return ((_local2.is_anim_next_state) ? NEED_ANIM_ON : NEED_ANIM_OFF);
};
};
return (getIsNeedAnimationOnNextStateByState_Def(_arg1));
}
public function getStateFromParent():int{
var _local1:TView_Updatable;
_local1 = getParenView();
if (_local1 == null){
return (Model_Settings.STATE_UNDEF);
};
return (_local1.getStateForChild(this));
}
public function getPredState():Number{
return (m_nPredState);
}
protected function getIsNeedAnimationByState(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in m_arStateInfo) {
if (_local2.id == _arg1){
return ((_local2.is_anim) ? NEED_ANIM_ON : NEED_ANIM_OFF);
};
};
return (getIsNeedAnimationOnNextStateByState_Def(_arg1));
}
protected function onAnimation():void{
var _local1:Number;
var _local2:Number;
var _local3:Boolean;
if (isFinishAnimation()){
onFinishAnim();
if (getIsLoopByState(m_nState)){
onAnimation_Start();
} else {
setAnimation(false);
};
if (View_Settings.STATE_CLOSE == m_nState){
visible = false;
} else {
_local1 = getNextStateByState(m_nState);
if (!isNaN(_local1)){
_local2 = getIsNeedAnimationOnNextStateByState(m_nState);
_local3 = ((!(isNaN(_local2))) && ((_local2 == NEED_ANIM_ON)));
setState(_local1, true);
onAutoChangeState(_local1);
};
};
} else {
onAnimation_Next();
};
}
protected function getAnimation_Mirror():MovieClip{
if (getState() == View_Settings.STATE_CLOSE){
return (getAnimation(View_Settings.STATE_OPEN));
};
if (getState() == View_Settings.STATE_OPEN){
return (getAnimation(View_Settings.STATE_CLOSE));
};
return (null);
}
public function onFinishAnim():void{
notifyObservers(NOTIFY_FINISH_ANIM);
}
override public function remove():void{
super.remove();
clearObservers();
}
public function clearObservers():void{
m_arListeners = new Array();
}
private function getLabelByState_Def(_arg1:Number):String{
var _local2:Object;
for each (_local2 in m_arStateInfo_Def) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (null);
}
public function addObserver(_arg1:IAnimation_Listener):Boolean{
if (_arg1 == null){
return (false);
};
if (m_arListeners.indexOf(_arg1) > 0){
return (false);
};
m_arListeners.push(_arg1);
return (true);
}
public function setStateInfo(_arg1:Array):void{
m_arStateInfo = _arg1;
}
protected function onAnimation_FirstUpdate():Boolean{
return (true);
}
protected function onAnimation_Next():void{
}
protected function getNextStateByState(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in m_arStateInfo) {
if (_local2.id == _arg1){
return (_local2.next_state);
};
};
return (getNextStateByState_Def(_arg1));
}
override public function update():void{
checkFirstUpdate();
if (m_bAnimation){
onAnimation();
};
super.update();
}
public function getLabelStartCountdown(_arg1:int):int{
return (Model_Settings.INT_UNDEF);
}
protected function getAnimation(_arg1:Number=NaN):MovieClip{
return (null);
}
private function getIsNeedAnimationOnNextStateByState_Def(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in m_arStateInfo_Def) {
if (_local2.id == _arg1){
return ((_local2.is_anim_next_state) ? NEED_ANIM_ON : NEED_ANIM_OFF);
};
};
return (Number.NaN);
}
private function getNextStateByState_Def(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in m_arStateInfo_Def) {
if (_local2.id == _arg1){
return (_local2.next_state);
};
};
return (Number.NaN);
}
public function getState():Number{
return (m_nState);
}
protected function getStateCount():Number{
return ((m_arStateInfo.length + m_arStateInfo_Def.length));
}
public function show(_arg1:Boolean=true):void{
setState((_arg1) ? View_Settings.STATE_OPEN : View_Settings.STATE_CLOSE);
}
public function gotoRandomFrame(_arg1:Boolean=true):void{
var _local2:int;
_local2 = ((totalFrames * Math.random()) + 1);
gotoFrame(_local2, _arg1);
}
public function notifyObservers(_arg1:Object):void{
var _local2:Array;
var _local3:IAnimation_Listener;
_local2 = m_arListeners.slice(0);
for each (_local3 in m_arListeners) {
_local3.onChildAnimationNotify(this, _arg1);
};
}
protected function getGotoFrame():int{
return (m_iGotoFrame);
}
protected function saveState(_arg1:int):void{
}
private function getLabelByID_Def(_arg1:Number):String{
return (m_arStateInfo_Def[_arg1].label_name);
}
protected function setAnimation(_arg1:Boolean):void{
m_bAnimation = _arg1;
}
public function setStateInfo_Def(_arg1:Array):void{
m_arStateInfo_Def = _arg1;
}
public function isShow():Boolean{
return (!((getState() == View_Settings.STATE_CLOSE)));
}
public function setState(_arg1:Number, _arg2:Boolean=true):void{
if ((((m_nState == _arg1)) || (isNaN(_arg1)))){
return;
};
m_nPredState = m_nState;
m_nState = _arg1;
if (!getIsNeedAnimationByState(_arg1)){
setAnimation(false);
} else {
setAnimation(_arg2);
};
m_bFirstUpdate = true;
if (m_nState == View_Settings.STATE_OPEN){
visible = true;
};
m_iGotoFrame = Model_Settings.INT_UNDEF;
onAnimation_Start();
onChangeState(_arg1);
}
protected function loadState(_arg1:int):void{
}
protected function onChangeState(_arg1:Number):void{
if (m_bSyncState){
saveState(getState());
};
}
protected function getLabelByState(_arg1:Number):String{
var _local2:Object;
for each (_local2 in m_arStateInfo) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (getLabelByState_Def(_arg1));
}
protected function checkFirstUpdate():void{
if (m_bFirstUpdate){
if (onAnimation_FirstUpdate()){
if (m_bSyncState){
loadState(getState());
};
m_bFirstUpdate = false;
};
};
}
private function getIsNeedAnimationByState_Def(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in m_arStateInfo_Def) {
if (_local2.id == _arg1){
return ((_local2.is_anim) ? NEED_ANIM_ON : NEED_ANIM_OFF);
};
};
return (Number.NaN);
}
protected function isAnimation():Boolean{
return (m_bAnimation);
}
public function setStateToParent(_arg1:int):void{
var _local2:TView_Updatable;
_local2 = getParenView();
if (_local2 == null){
return;
};
_local2.setStateForChild(this, _arg1);
}
public function onAutoChangeState(_arg1:Number):void{
if (_arg1 != m_nState){
notifyObservers(NOTIFY_AUTOCHANGE_STATE);
};
}
protected function isFinishAnimation():Boolean{
return (true);
}
public function isGotoFrame():Boolean{
return (((!((m_iGotoFrame == Model_Settings.INT_UNDEF))) && ((m_nState == Model_Settings.INT_UNDEF))));
}
public function gotoFrame(_arg1:int, _arg2:Boolean=true):void{
setAnimation(_arg2);
m_bFirstUpdate = true;
m_iGotoFrame = _arg1;
m_nState = Model_Settings.INT_UNDEF;
onAnimation_Start();
onChangeState(m_nState);
}
protected function onAnimation_Start():void{
}
protected function getIsLoopByState(_arg1:Number):Boolean{
var _local2:Boolean;
var _local3:Object;
if ((((_arg1 == m_nCache_IsLoop_For)) && (!(isNaN(m_nCache_IsLoop))))){
m_nCache_IsLoop_For = _arg1;
return ((m_nCache_IsLoop == 1));
};
if (_arg1 == Model_Settings.INT_UNDEF){
return (true);
};
for each (_local3 in m_arStateInfo) {
if (_local3.id == _arg1){
_local2 = _local3.is_loop;
m_nCache_IsLoop = (_local2) ? 1 : 0;
return (_local2);
};
};
_local2 = getIsLoopByState_Def(_arg1);
m_nCache_IsLoop = (_local2) ? 1 : 0;
return (_local2);
}
}
}//package game.animation
Section 89
//View_Animation_Btn (game.animation.View_Animation_Btn)
package game.animation {
import game.*;
import flash.events.*;
import flash.display.*;
public class View_Animation_Btn extends View_Animation_Value {
private var m_arStateInfo_Btn:Array;
private var m_nCache_IsLoop_Btn_For:Number;
private var m_nCache_IsLoop_Btn:Number;
private var m_bMouseEnableTitle:Boolean;// = false
public function View_Animation_Btn(){
m_arStateInfo_Btn = new Array();
m_bMouseEnableTitle = false;
super();
setStateInfo_Btn(View_Settings.ANIMATION_BTN_STATE);
}
override protected function getLabelByID(_arg1:Number):String{
if (_arg1 < super.getStateCount()){
return (super.getLabelByID(_arg1));
};
return (m_arStateInfo_Btn[(_arg1 - super.getStateCount())].label_name);
}
override protected function getIsNeedAnimationOnNextStateByState(_arg1:Number):Number{
var _local2:Number;
_local2 = getIsNeedAnimationOnNextStateByState_Btn(_arg1);
if (!isNaN(_local2)){
return (_local2);
};
return (super.getIsNeedAnimationOnNextStateByState(_arg1));
}
private function getIsLoopByState_Btn(_arg1:Number):Boolean{
var _local2:Boolean;
var _local3:Object;
if ((((_arg1 == m_nCache_IsLoop_Btn_For)) && (!(isNaN(m_nCache_IsLoop_Btn))))){
m_nCache_IsLoop_Btn_For = _arg1;
return ((m_nCache_IsLoop_Btn == 1));
};
for each (_local3 in m_arStateInfo_Btn) {
if (_local3.id == _arg1){
_local2 = _local3.is_loop;
m_nCache_IsLoop_Btn = (_local2) ? 1 : 0;
return (_local2);
};
};
m_nCache_IsLoop_Btn = (_local2) ? 1 : 0;
return (false);
}
override protected function getNextStateByState(_arg1:Number):Number{
var _local2:Number;
_local2 = getNextStateByState_Btn(_arg1);
if (!isNaN(_local2)){
return (_local2);
};
return (super.getNextStateByState(_arg1));
}
override protected function onAnimation_FirstUpdate_Work():void{
var _local1:SimpleButton;
var _local2:MovieClip;
_local1 = getBtn();
initBtnsListeners(_local1);
if (!m_bMouseEnableTitle){
_local2 = (getChildByName("title") as MovieClip);
if (_local2 != null){
_local2.mouseEnabled = false;
};
};
super.onAnimation_FirstUpdate_Work();
}
private function getLabelByState_Btn(_arg1:Number):String{
var _local2:Object;
for each (_local2 in m_arStateInfo_Btn) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (null);
}
private function getIsNeedAnimationOnNextStateByState_Btn(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in m_arStateInfo_Btn) {
if (_local2.id == _arg1){
return ((_local2.is_anim_next_state) ? NEED_ANIM_ON : NEED_ANIM_OFF);
};
};
return (Number.NaN);
}
override protected function getStateCount():Number{
return ((super.getStateCount() + m_arStateInfo_Btn.length));
}
private function getNextStateByState_Btn(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in m_arStateInfo_Btn) {
if (_local2.id == _arg1){
return (_local2.next_state);
};
};
return (Number.NaN);
}
private function listenBtnRollOver(_arg1:MouseEvent):void{
var _local2:TView_With_Btns;
_local2 = (getParenView() as TView_With_Btns);
if (_local2 != null){
_local2.onBtnChangeState(this, View_Settings.STATE_ANIM_BTN_OVER);
//unresolved jump
};
}
protected function initBtnsListeners(_arg1:SimpleButton):void{
if (_arg1 != null){
_arg1.addEventListener(MouseEvent.CLICK, listenBtnClick, false, 0, true);
_arg1.addEventListener(MouseEvent.ROLL_OUT, listenBtnRollOver, false, 0, true);
};
}
protected function getBtn():SimpleButton{
var _local1:MovieClip;
_local1 = getObj();
if (_local1 != null){
return ((_local1.getChildByName("btn") as SimpleButton));
};
return (null);
}
override protected function getLabelByState(_arg1:Number):String{
var _local2:String;
_local2 = getLabelByState_Btn(_arg1);
if (_local2 != null){
return (_local2);
};
return (super.getLabelByState(_arg1));
}
private function listenBtnClick(_arg1:MouseEvent):void{
var _local2:TView_With_Btns;
_local2 = (getParenView() as TView_With_Btns);
if (_local2 != null){
_local2.onBtnChangeState(this, View_Settings.STATE_ANIM_BTN_UP);
//unresolved jump
};
}
public function setStateInfo_Btn(_arg1:Array):void{
m_arStateInfo_Btn = _arg1;
}
override protected function getIsLoopByState(_arg1:Number):Boolean{
var _local2:Boolean;
_local2 = getIsLoopByState_Btn(_arg1);
if (_local2){
return (_local2);
};
return (super.getIsLoopByState(_arg1));
}
}
}//package game.animation
Section 90
//View_Animation_Framed (game.animation.View_Animation_Framed)
package game.animation {
import game.*;
import flash.display.*;
public class View_Animation_Framed extends View_Animation_Abstract {
public var anim_mc:MovieClip;
public var bg_mc:MovieClip;
override protected function onChangeState(_arg1:Number):void{
var _local2:String;
if (isGotoFrame()){
gotoAndStop(getGotoFrame());
} else {
_local2 = getLabelByState(_arg1);
if (_local2 != null){
gotoAndStop(_local2);
};
};
}
override public function onFinishAnim():void{
super.onFinishAnim();
}
override protected function onAnimation_FirstUpdate():Boolean{
var _local1:MovieClip;
_local1 = getAnimation();
if (_local1 != null){
_local1.stop();
if (!isAnimation()){
_local1.gotoAndStop(_local1.totalFrames);
} else {
_local1.gotoAndStop(1);
};
onAnimation_FirstUpdate_Work();
return (true);
//unresolved jump
};
return (false);
}
override protected function onAnimation_Next():void{
var _local1:MovieClip;
_local1 = getAnimation();
if (_local1 != null){
_local1.nextFrame();
};
}
override protected function isFinishAnimation():Boolean{
var _local1:MovieClip;
_local1 = getAnimation();
if (_local1 == null){
return (false);
};
return ((_local1.currentFrame >= _local1.totalFrames));
}
override protected function getAnimation(_arg1:Number=NaN):MovieClip{
var _local2:MovieClip;
var _local3:String;
_local2 = (this.getChildByName("anim_mc") as MovieClip);
if (_local2 == null){
if (((isNaN(_arg1)) || ((_arg1 == Model_Settings.INT_UNDEF)))){
_arg1 = getState();
};
_local3 = getLabelByState(_arg1);
if (_local3 != null){
_local2 = (this.getChildByName(_local3) as MovieClip);
return (_local2);
};
return (null);
};
return (_local2);
}
protected function onAnimation_FirstUpdate_Work():void{
}
override protected function onAnimation_Start():void{
var _local1:MovieClip;
_local1 = getAnimation();
if (_local1 != null){
_local1.gotoAndStop(1);
};
}
}
}//package game.animation
Section 91
//View_Animation_Layered (game.animation.View_Animation_Layered)
package game.animation {
import game.*;
import flash.display.*;
public class View_Animation_Layered extends View_Animation_Abstract {
private var m_mcLastAnimation:MovieClip;// = null
public function View_Animation_Layered(){
m_mcLastAnimation = null;
super();
}
override public function setStateInfo_Def(_arg1:Array):void{
super.setStateInfo_Def(_arg1);
initAllLavels();
}
override protected function onChangeState(_arg1:Number):void{
var _local2:Number;
super.onChangeState(_arg1);
_local2 = getPredState();
showState(_local2, false);
if (_arg1 != Model_Settings.STATE_UNDEF){
showState(_arg1, true);
};
checkFirstUpdate();
}
override public function setState(_arg1:Number, _arg2:Boolean=true):void{
m_mcLastAnimation = getAnimation(_arg1);
super.setState(_arg1, _arg2);
}
public function initAllLavels():void{
var _local1:Number;
var _local2:String;
var _local3:MovieClip;
_local1 = getStateCount();
while (--_local1 >= 0) {
_local2 = getLabelByID(_local1);
if (_local2 == null){
} else {
_local3 = (getChildByName(_local2) as MovieClip);
if (_local3 == null){
} else {
_local3.stop();
_local3.visible = false;
};
};
};
}
override public function onFinishAnim():void{
super.onFinishAnim();
}
override public function remove():void{
super.remove();
m_mcLastAnimation = null;
}
override public function setStateInfo(_arg1:Array):void{
super.setStateInfo(_arg1);
initAllLavels();
}
override protected function onAnimation_FirstUpdate():Boolean{
var _local1:MovieClip;
_local1 = getAnimation();
if (_local1 != null){
_local1.stop();
if (!isAnimation()){
_local1.gotoAndStop(_local1.totalFrames);
} else {
_local1.gotoAndStop(1);
};
onAnimation_FirstUpdate_Work();
return (true);
//unresolved jump
};
return (false);
}
private function showState(_arg1:Number, _arg2:Boolean=true):void{
var _local3:MovieClip;
_local3 = getAnimation(_arg1);
if (_local3 != null){
if (_arg2){
if (!isAnimation()){
_local3.gotoAndStop(_local3.totalFrames);
setAnimation(false);
};
};
_local3.visible = _arg2;
};
}
override protected function onAnimation_Next():void{
var _local1:MovieClip;
_local1 = getAnimation();
if (_local1 != null){
_local1.nextFrame();
};
}
override protected function isFinishAnimation():Boolean{
var _local1:MovieClip;
_local1 = getAnimation();
if (_local1 == null){
return (false);
};
return ((_local1.currentFrame >= _local1.totalFrames));
}
override protected function getAnimation(_arg1:Number=NaN):MovieClip{
var _local2:String;
var _local3:MovieClip;
if (((((isNaN(_arg1)) || ((_arg1 == getState())))) && (!((m_mcLastAnimation == null))))){
return (m_mcLastAnimation);
};
_local2 = getLabelByState(_arg1);
if (_local2 == null){
return (null);
};
_local3 = (getChildByName(_local2) as MovieClip);
return (_local3);
}
protected function onAnimation_FirstUpdate_Work():void{
}
override protected function onAnimation_Start():void{
var _local1:MovieClip;
_local1 = getAnimation();
if (_local1 != null){
_local1.gotoAndStop(1);
};
}
}
}//package game.animation
Section 92
//View_Animation_SimpleTextField (game.animation.View_Animation_SimpleTextField)
package game.animation {
import flash.display.*;
import flash.text.*;
public class View_Animation_SimpleTextField extends View_Animation_Value {
protected function getTextField():TextField{
var _local1:MovieClip;
_local1 = getObj();
if (_local1 == null){
return (null);
};
return ((_local1.getChildByName("text_txt") as TextField));
}
override protected function onUpdate_Value_Str():void{
var _local1:TextField;
super.onUpdate_Value_Str();
_local1 = getTextField();
if (_local1 != null){
_local1.text = getValueStr();
};
}
override protected function onUpdate_Value_Num():void{
var _local1:TextField;
super.onUpdate_Value_Num();
_local1 = getTextField();
if (_local1 != null){
_local1.text = getValueNum().toString();
};
}
}
}//package game.animation
Section 93
//View_Animation_TimeLine (game.animation.View_Animation_TimeLine)
package game.animation {
import game.*;
public class View_Animation_TimeLine extends View_Animation_Abstract {
public var m_btnOk:View_Animation_Btn;
private var m_iLastFrame:int;// = 2147483647
private var m_iLastLoop:int;// = 2147483647
private var m_strFinishLabel:String;
public function View_Animation_TimeLine(){
m_iLastLoop = Model_Settings.INT_UNDEF;
m_iLastFrame = Model_Settings.INT_UNDEF;
super();
setStateInfo_Def(View_Settings.ANIMATION_TIMELINE_STATE);
}
private function gotoLastLoop():Boolean{
if (m_iLastLoop == Model_Settings.INT_UNDEF){
return (false);
};
gotoAndStop(m_iLastLoop);
return (true);
}
override protected function onChangeState(_arg1:Number):void{
super.onChangeState(_arg1);
if (!isAnimation()){
gotoLastAnimationFrame(_arg1);
};
m_strFinishLabel = getLabelByState(_arg1);
checkFirstUpdate();
}
override public function setState(_arg1:Number, _arg2:Boolean=true):void{
cleanLoop();
super.setState(_arg1, _arg2);
}
override public function onFinishAnim():void{
super.onFinishAnim();
}
override protected function onAnimation_Next():void{
super.onAnimation_Next();
if (currentFrame < totalFrames){
nextFrame();
} else {
gotoAndStop(0);
};
}
private function cleanLoop():void{
m_iLastLoop = Model_Settings.INT_UNDEF;
}
override protected function isFinishAnimation():Boolean{
super.isFinishAnimation();
if ((((this.currentLabel == m_strFinishLabel)) || ((m_strFinishLabel == null)))){
return (true);
};
return (false);
}
private function gotoLastAnimationFrame(_arg1:Number):Boolean{
var _local2:String;
if ((((_arg1 == Model_Settings.INT_UNDEF)) || (isNaN(_arg1)))){
_arg1 = getState();
};
_local2 = getLabelByState(_arg1);
if (_local2 == null){
return (false);
};
gotoAndStop(_local2);
return (true);
}
override protected function onAnimation_Start():void{
super.onAnimation_Start();
gotoLastLoop();
}
}
}//package game.animation
Section 94
//View_Animation_Value (game.animation.View_Animation_Value)
package game.animation {
import flash.display.*;
public class View_Animation_Value extends View_Animation_Layered {
private var m_nPredValue:Number;
private var m_strValueSaved:String;
private var m_bUpdate_Value_Num:Boolean;// = false
private var m_strPredValue:String;
private var m_bUpdate_Value_Str:Boolean;// = false
private var m_strValue:String;
private var m_nValue:Number;
public function View_Animation_Value(){
m_bUpdate_Value_Num = false;
m_bUpdate_Value_Str = false;
super();
}
protected function onUpdate_Value_Str():void{
m_bUpdate_Value_Str = false;
}
protected function getObjByAnimation(_arg1:MovieClip):MovieClip{
if (_arg1 == null){
return (null);
};
return ((_arg1.getChildByName("obj_mc") as MovieClip));
}
public function getValueStr():String{
return (m_strValue);
}
override public function update():void{
super.update();
if (m_bUpdate_Value_Num){
onUpdate_Value_Num();
};
if (m_bUpdate_Value_Str){
onUpdate_Value_Str();
};
}
public function setValueNum(_arg1:Number):void{
if (m_nValue == _arg1){
return;
};
m_nPredValue = m_nValue;
m_nValue = _arg1;
m_bUpdate_Value_Num = true;
}
override protected function saveState(_arg1:int):void{
super.saveState(_arg1);
m_strValueSaved = getValueStr();
}
override protected function loadState(_arg1:int):void{
super.loadState(_arg1);
setValueStr(m_strValueSaved, true);
}
protected function getObjBGByAnimation(_arg1:MovieClip):MovieClip{
if (_arg1 == null){
return (null);
};
return ((_arg1.getChildByName("bg_mc") as MovieClip));
}
protected function onUpdate_Value_Num():void{
m_bUpdate_Value_Num = false;
}
public function setValueStr(_arg1:String, _arg2:Boolean=false):void{
if ((((m_strValue == _arg1)) && (!(_arg2)))){
return;
};
m_strPredValue = m_strValue;
m_strValue = _arg1;
m_bUpdate_Value_Str = true;
}
protected function getObj_BG(_arg1:Number=NaN):MovieClip{
var _local2:MovieClip;
_local2 = getAnimation(_arg1);
return (getObjBGByAnimation(_local2));
}
protected function getObj(_arg1:Number=NaN):MovieClip{
var _local2:MovieClip;
_local2 = getAnimation(_arg1);
return (getObjByAnimation(_local2));
}
public function getValueNum():Number{
return (m_nValue);
}
}
}//package game.animation
Section 95
//View_Child (game.animation.View_Child)
package game.animation {
import game.*;
import com.*;
public class View_Child extends TUpdatableMC {
private var m_vParent:TView_Updatable;
public function isChild(_arg1:View_Child):Boolean{
var _local2:int;
if ((((_arg1 == this)) || ((_arg1.parent == this)))){
return (true);
};
_local2 = numChildren;
while (--_local2 >= 0) {
_arg1 = (getChildAt(_local2) as View_Child);
if (_arg1 != null){
if (_arg1.isChild(_arg1)){
return (true);
};
};
};
return (false);
}
public function getParenView():TView_Updatable{
return (m_vParent);
}
override public function remove():void{
super.remove();
m_vParent = null;
}
public function setParenView(_arg1:TView_Updatable):void{
var _local2:View_Child;
var _local3:int;
m_vParent = _arg1;
_local3 = numChildren;
while (--_local3 >= 0) {
_local2 = (getChildAt(_local3) as View_Child);
if (_local2 != null){
_local2.setParenView(_arg1);
};
};
}
}
}//package game.animation
Section 96
//Model_Settings_Levels (game.levels_design.Model_Settings_Levels)
package game.levels_design {
import game.*;
import com.*;
public class Model_Settings_Levels extends Singleton {
public static const STRETCH_LEVEL_LEN:Boolean = true;
public static const LEVEL_FINISH:Number = 4;
public static const WAKEUP_COUNTDOWN:Array = new Array({id:0, countdown_time:(1000 * 12)}, {id:1, countdown_time:(1000 * 10)}, {id:2, countdown_time:(1000 * 8)}, {id:3, countdown_time:(1000 * 6)}, {id:4, countdown_time:(1000 * 4)});
public static const LEVEL_COUNT:Number = 5;
public static const DESIGN_ACTION:Number = 4;
public static const DESIGN_SUBTYPE:Number = 2;
public static const DESIGN_TYPE:Number = 1;
public static const OBSTACLES_OUTSIDE_IN_START:Boolean = true;
public static const LEVEL_START:Number = 0;
public static const ADD_LEN_TO_LEVEL:Number = 400;
public static const LEVELS:Array = new Array({id:0, name:"street", hint_count:3, obstacles:new Array({pos:0, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:1000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:1500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:2000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:3000, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(5 * 1000), need_action_rand_count:3}, {pos:3500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:4000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:4500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:5000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:6000, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(4.4 * 1000), need_action_rand_count:3}, {pos:6500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:7000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:7500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:8500, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(4 * 1000), need_action_rand_count:3}, {pos:9000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:9500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:10000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:11000, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(3.4 * 1000), need_action_rand_count:3}, {pos:11500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:12000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:12500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:13500, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(3 * 1000), need_action_rand_count:3})}, {id:1, name:"supermarket", hint_count:3, obstacles:new Array({pos:0, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:450, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:900, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:1350, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:1800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:2250, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:3150, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_MANAGER, wait_action:(5 * 1000), need_action_rand_count:4}, {pos:3600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:4150, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:4600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:5050, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:5500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:5950, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:6800, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(4.2 * 1000), need_action_rand_count:4}, {pos:7250, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:7700, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:8150, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:8500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:9400, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_MANAGER, wait_action:(3.85 * 1000), need_action_rand_count:4}, {pos:9850, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:10300, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:10750, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:11200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:11650, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:12550, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_MANAGER, wait_action:(3.5 * 1000), need_action_rand_count:4}, {pos:12950, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:13400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:13950, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:14400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:15300, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(3.15 * 1000), need_action_rand_count:4}, {pos:15850, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:16300, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:16750, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:17650, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_MANAGER, wait_action:(2.8 * 1000), need_action_rand_count:4})}, {id:2, name:"underground", hint_count:3, obstacles:new Array({pos:0, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:1200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:1600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:2000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:2400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:3400, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ALIEN, wait_action:(4.59 * 1000), need_action_rand_count:5}, {pos:3800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:4200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:4600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:5000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:5400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:5800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:6600, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ALIEN, wait_action:(4.27 * 1000), need_action_rand_count:5}, {pos:7000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:7400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:7800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:8200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:8600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:9400, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ALIEN, wait_action:(4.06 * 1000), need_action_rand_count:5}, {pos:9800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:10200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:10600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:11000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:11400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:11800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:12600, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ALIEN, wait_action:(3.64 * 1000), need_action_rand_count:5}, {pos:0x3200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:13200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:13600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:14000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:14400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:15200, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ALIEN, wait_action:(3.23 * 1000), need_action_rand_count:5}, {pos:15600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:16000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:16400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:16800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:17200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:18000, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ALIEN, wait_action:(3 * 1000), need_action_rand_count:5}, {pos:18400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:18800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:0x4B00, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:19600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:20000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:20300, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:20600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:20900, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:21200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:21500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_BOTTOM}, {pos:21800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:22600, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ALIEN, wait_action:(2.6 * 1000), need_action_rand_count:5})}, {id:3, name:"park", hint_count:3, obstacles:new Array({pos:0, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:300, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:600, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:900, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:1200, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:1500, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:1800, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:2100, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:2400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:2700, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:3500, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_OLDMOTHER, wait_action:(4.86 * 1000), need_action_rand_count:5}, {pos:4000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:4350, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:4850, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:5150, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:5450, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:5750, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:6500, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(4.41 * 1000), need_action_rand_count:5}, {pos:7000, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:7350, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:7650, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:7950, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:8250, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:8550, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:8850, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:9600, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_OLDMOTHER, wait_action:(4.17 * 1000), need_action_rand_count:5}, {pos:10100, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:10450, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:10750, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:11150, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:11450, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:11750, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:12050, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:12350, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:12650, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:12950, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:13650, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(4.02 * 1000), need_action_rand_count:5}, {pos:14100, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:14450, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:14750, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:15350, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_OLDMOTHER, wait_action:(3.68 * 1000), need_action_rand_count:5}, {pos:16050, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:16350, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:16650, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:16950, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:17250, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:17900, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(3.43 * 1000), need_action_rand_count:5}, {pos:18400, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:18750, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:19050, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:19350, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:20000, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_OLDMOTHER, wait_action:(3.09 * 1000), need_action_rand_count:5}, {pos:20650, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:20950, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:21250, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:21550, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:21850, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:22550, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_HOOLIGAN, wait_action:(3.04 * 1000), need_action_rand_count:5}, {pos:23100, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:23450, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:23750, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:24050, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:24350, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:24650, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_TOP}, {pos:24950, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_GROUND}, {pos:25300, type:Model_Settings.OBSTACLE_SIMPLE, subtype:Model_Settings.OBSTACLE_S_MID}, {pos:26200, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_OLDMOTHER, wait_action:(2.7 * 1000), need_action_rand_count:5})}, {id:4, name:"stadium", hint_count:3, only_one_life_for_complex_obstacles:true, obstacles:new Array({pos:800, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER, wait_action:(4.46 * 1000), need_action_rand_count:6}, {pos:1600, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER_WHITE, wait_action:(4.25 * 1000), need_action_rand_count:6}, {pos:2400, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER_WHITE, wait_action:(4.03 * 1000), need_action_rand_count:6}, {pos:3200, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER, wait_action:(3.81 * 1000), need_action_rand_count:6}, {pos:4200, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER_WHITE, wait_action:(3.59 * 1000), need_action_rand_count:6}, {pos:5000, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER, wait_action:(4.4 * 1000), need_action_rand_count:6}, {pos:5700, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER, wait_action:(3.37 * 1000), need_action_rand_count:6}, {pos:6600, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER_WHITE, wait_action:(3.15 * 1000), need_action_rand_count:6}, {pos:7500, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER_WHITE, wait_action:(3.04 * 1000), need_action_rand_count:6}, {pos:8500, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_ENEMY_PLAYER_WHITE, wait_action:(2.72 * 1000), need_action_rand_count:6}, {pos:9500, type:Model_Settings.OBSTACLE_COMPLEX, subtype:Model_Settings.OBSTACLE_C_MEGA_PLAYER, wait_action:(2.25 * 1000), need_action_rand_count:6})});
public static const DESIGN_POS:Number = 0;
public static const DESIGN_WAIT_ACTION:Number = 3;
public function findMaxPos(_arg1:Array):Number{
var _local2:Number;
var _local3:Number;
var _local4:Object;
_local2 = 0;
for each (_local4 in _arg1) {
if (_local4 == null){
} else {
_local3 = _local4[DESIGN_POS];
if (_local2 < _local3){
_local2 = _local3;
};
};
};
return (_local2);
}
public static function getLevelLen(_arg1:Number):Number{
return (getLevelLen_byLevel(getLevel(_arg1)));
}
public static function getHintCount_byLevel(_arg1:Object):int{
if (_arg1 == null){
return (Model_Settings.INT_UNDEF);
};
return (_arg1.hint_count);
}
public static function getLevelName_byLevel(_arg1:Object):String{
if (_arg1 == null){
return (null);
};
return (_arg1.name);
}
public static function getLevelCount():Number{
return (LEVELS.length);
}
public static function getLevelLen_byLevel(_arg1:Object):Number{
var _local2:Array;
var _local3:Number;
var _local4:Object;
_local2 = getObstacles_byLevel(_arg1);
if (_local2 == null){
return (0);
};
for each (_local4 in _local2) {
if ((((_local4.pos > _local3)) || (isNaN(_local3)))){
_local3 = _local4.pos;
};
};
return (_local3);
}
public static function isOnly_one_life_for_complex_obstacles(_arg1:Object):Boolean{
return (_arg1.only_one_life_for_complex_obstacles);
}
public static function getLevel(_arg1:Number):Object{
var _local2:Object;
for each (_local2 in LEVELS) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function getWakeupCountdownTime(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in WAKEUP_COUNTDOWN) {
if (_local2.id == _arg1){
return (_local2.countdown_time);
};
};
return (Number.NaN);
}
public static function getLevelName(_arg1:Number):Object{
var _local2:Object;
_local2 = getLevel(_arg1);
return (getLevelName_byLevel(_local2));
}
public static function getObstacles(_arg1:Number):Array{
var _local2:Object;
_local2 = getLevel(_arg1);
if (_local2 == null){
return (null);
};
return (_local2.obstacles);
}
public static function getObstacles_byLevel(_arg1:Object):Array{
if (_arg1 == null){
return (null);
};
return (_arg1.obstacles);
}
}
}//package game.levels_design
Section 97
//View_Settings_Levels (game.levels_design.View_Settings_Levels)
package game.levels_design {
import game.*;
public class View_Settings_Levels {
public static const DEPTH_OBSTACLES:Number = 0.95;
public static const DEPTH_HERO:Number = 0.9;
public static const GROUND_TYPE_STATIC:Number = 0;
public static const DEPTH_OBSTACLES_FOREGROUND:Number = 0.85;
public static const GROUND_INFO:Array = new Array({id:0, obj_name:"level_street", ground:new Array(new CGroundView(0, GROUND_TYPE_FIXED_RANDOM_STATE, 0.7, "ground_00_00"), new CGroundView(1, GROUND_TYPE_RANDOM_STATE, 1, "ground_00_01"), new CGroundView(2, GROUND_TYPE_RANDOM, 1.3, "ground_00_02", new Array({obj_name:"level_01_car1", density:10}, {obj_name:"level_01_car2", density:10}), 1, -2), new CGroundView(3, GROUND_TYPE_STATIC, 1.6, "ground_00_03"), new CGroundView(4, GROUND_TYPE_STATIC, 1.9, "ground_00_04"), new CGroundView(5, GROUND_TYPE_RANDOM_STATE, 2.2, "ground_00_05"), new CGroundView(6, GROUND_TYPE_STATIC, 2.5, "ground_00_06"), new CGroundView(7, GROUND_TYPE_BG, 7, "ground_00_bg"))}, {id:1, obj_name:"level_supermarket", ground:new Array(new CGroundView(0, GROUND_TYPE_FIXED_RANDOM_STATE, 0.7, "ground_01_00"), new CGroundView(1, GROUND_TYPE_STATIC, 1, "ground_01_01"), new CGroundView(2, GROUND_TYPE_RANDOM_STATE, 1.1, "ground_01_02"), new CGroundView(3, GROUND_TYPE_STATIC, 1.2, "ground_01_03"), new CGroundView(4, GROUND_TYPE_STATIC, 1.3, "ground_01_04"), new CGroundView(6, GROUND_TYPE_BG, 7, "ground_01_bg"))}, {id:2, obj_name:"level_underground", ground:new Array(new CGroundView(0, GROUND_TYPE_FIXED_RANDOM_STATE, 0.7, "ground_00"), new CGroundView(1, GROUND_TYPE_STATIC, 0.75, "ground_01"), new CGroundView(2, GROUND_TYPE_BG, 0.95, "ground_02"), new CGroundView(3, GROUND_TYPE_RANDOM_STATE, 1, "ground_03"), new CGroundView(4, GROUND_TYPE_RANDOM_STATE, 1.3, "ground_04"), new CGroundView(5, GROUND_TYPE_RANDOM_STATE, 1.6, "ground_05"), new CGroundView(6, GROUND_TYPE_RANDOM_STATE, 1.9, "ground_06"), new CGroundView(8, GROUND_TYPE_BG, 7, "ground_bg"))}, {id:3, obj_name:"level_park", ground:new Array(new CGroundView(0, GROUND_TYPE_FIXED_RANDOM_STATE, 0.7, "ground_00"), new CGroundView(1, GROUND_TYPE_RANDOM_STATE, 1, "ground_01"), new CGroundView(2, GROUND_TYPE_RANDOM_STATE, 1.3, "ground_02"), new CGroundView(3, GROUND_TYPE_RANDOM_STATE, 1.6, "ground_03"), new CGroundView(4, GROUND_TYPE_STATIC, 1.9, "ground_04"), new CGroundView(5, GROUND_TYPE_STATIC, 2.2, "ground_05"), new CGroundView(7, GROUND_TYPE_BG, 7, "ground_bg"))}, {id:4, obj_name:"level_stadium", ground:new Array(new CGroundView(0, GROUND_TYPE_FIXED_RANDOM_STATE, 0.7, "ground_00"), new CGroundView(1, GROUND_TYPE_STATIC, 1, "ground_01"), new CGroundView(2, GROUND_TYPE_RANDOM_STATE, 1.3, "ground_02"), new CGroundView(3, GROUND_TYPE_STATIC, 1.6, "ground_03"), new CGroundView(4, GROUND_TYPE_STATIC, 1.9, "ground_04"), new CGroundView(5, GROUND_TYPE_RANDOM_STATE, 2.2, "ground_05"), new CGroundView(7, GROUND_TYPE_BG, 7, "ground_bg"))});
public static const GROUND_TYPE_RANDOM_STATE:Number = 3;
public static const GROUND_TYPE_FIXED_RANDOM_STATE:Number = 4;
public static const GROUND_TYPE_RANDOM:Number = 1;
public static const GROUND_TYPE_BG:Number = 2;
public static const OBSTACLES_INFO:Array = new Array({id_level:0, obstacles_simple:new Array({id:Model_Settings.OBSTACLE_S_TOP, obj_name:"View_Obstacle_Top_00"}, {id:Model_Settings.OBSTACLE_S_MID, obj_name:"View_Obstacle_Mid_00", foreground:true}, {id:Model_Settings.OBSTACLE_S_BOTTOM, obj_name:"View_Obstacle_Bottom_00", foreground:true}, {id:Model_Settings.OBSTACLE_S_GROUND, obj_name:"View_Obstacle_Ground_00"})}, {id_level:1, obstacles_simple:new Array({id:Model_Settings.OBSTACLE_S_TOP, obj_name:"View_Obstacle_Top_01"}, {id:Model_Settings.OBSTACLE_S_MID, obj_name:"View_Obstacle_Mid_01"}, {id:Model_Settings.OBSTACLE_S_BOTTOM, obj_name:"View_Obstacle_Bottom_01", foreground:true}, {id:Model_Settings.OBSTACLE_S_GROUND, obj_name:"View_Obstacle_Ground_01"})}, {id_level:2, obstacles_simple:new Array({id:Model_Settings.OBSTACLE_S_TOP, obj_name:"View_Obstacle_Top_02"}, {id:Model_Settings.OBSTACLE_S_MID, obj_name:"View_Obstacle_Mid_02"}, {id:Model_Settings.OBSTACLE_S_BOTTOM, obj_name:"View_Obstacle_Bottom_02"}, {id:Model_Settings.OBSTACLE_S_GROUND, obj_name:"View_Obstacle_Ground_02"})}, {id_level:3, obstacles_simple:new Array({id:Model_Settings.OBSTACLE_S_TOP, obj_name:"View_Obstacle_Top_03"}, {id:Model_Settings.OBSTACLE_S_MID, obj_name:"View_Obstacle_Mid_03"}, {id:Model_Settings.OBSTACLE_S_BOTTOM, obj_name:"View_Obstacle_Bottom_03"}, {id:Model_Settings.OBSTACLE_S_GROUND, obj_name:"View_Obstacle_Ground_03"})}, {id_level:4, obstacles_simple:new Array({id:Model_Settings.OBSTACLE_S_TOP, obj_name:"View_Obstacle_Top_04"}, {id:Model_Settings.OBSTACLE_S_MID, obj_name:"View_Obstacle_Mid_04"}, {id:Model_Settings.OBSTACLE_S_BOTTOM, obj_name:"View_Obstacle_Bottom_04"}, {id:Model_Settings.OBSTACLE_S_GROUND, obj_name:"View_Obstacle_Ground_04"})});
public static const OBSTACLES_INFO_COMPLEX:Array = new Array({id:Model_Settings.OBSTACLE_C_HOOLIGAN, obj_name:"Enemy_Hooligan"}, {id:Model_Settings.OBSTACLE_C_OLDMOTHER, obj_name:"Enemy_Oldwooman", foreground:true}, {id:Model_Settings.OBSTACLE_C_MANAGER, obj_name:"Enemy_Manager"}, {id:Model_Settings.OBSTACLE_C_ALIEN, obj_name:"Enemy_Alien"}, {id:Model_Settings.OBSTACLE_C_ENEMY_PLAYER, obj_name:"Enemy_Player"}, {id:Model_Settings.OBSTACLE_C_ENEMY_PLAYER_WHITE, obj_name:"Enemy_Player_White"}, {id:Model_Settings.OBSTACLE_C_MEGA_PLAYER, obj_name:"Enemy_Mega_Player"});
public static function getGroundsCount_byLevel(_arg1:Number):Number{
var _local2:Array;
_local2 = (getGroundsAr_byLevel(_arg1) as Array);
if (_local2 == null){
return (0);
};
return (_local2.length);
}
public static function getGrounds_byLevel(_arg1:Number):Object{
var _local2:Object;
for each (_local2 in GROUND_INFO) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function getSimpleObstacleInfoByLevel(_arg1:Number):Array{
var _local2:Object;
for each (_local2 in OBSTACLES_INFO) {
if (_local2.id_level == _arg1){
return (_local2.obstacles_simple);
};
};
return (null);
}
public static function getGroundsAr_byLevel(_arg1:Number):Array{
var _local2:Object;
_local2 = getGrounds_byLevel(_arg1);
if (_local2 == null){
return (null);
};
return ((_local2.ground as Array));
}
public static function getObstacleForeground(_arg1:Array, _arg2:Number):Boolean{
var _local3:Object;
for each (_local3 in _arg1) {
if (_local3.id == _arg2){
return (_local3.foreground);
};
};
return (false);
}
public static function getLevelsCount():int{
return (GROUND_INFO.length);
}
public static function getGroundsName_byLevel(_arg1:Number):String{
var _local2:Object;
_local2 = getGrounds_byLevel(_arg1);
if (_local2 == null){
return (null);
};
return (_local2.obj_name);
}
public static function getObstacleName(_arg1:Array, _arg2:Number):String{
var _local3:Object;
for each (_local3 in _arg1) {
if (_local3.id == _arg2){
return (_local3.obj_name);
};
};
return (null);
}
public static function getComplexObstacleInfoByLevel(_arg1:Number):Array{
return (OBSTACLES_INFO_COMPLEX);
}
}
}//package game.levels_design
Section 98
//basic_object (game.objects.basic_object)
package game.objects {
import game.*;
import com.*;
import flash.display.*;
public dynamic class basic_object extends TUpdatableMC {
var m_nEffectFreq_From:Number;
var m_nEffectLen:Number;
var m_nEffectFreq_To:Number;
var m_view:View_Obj_Basic;
var m_nEffectFreq_Left:Number;
var m_strDeferredVisualization:String;
var m_bFirstUpdate:Boolean;
var m_bDeferredVisualization:Boolean;
var m_nEffectLeft:Number;
var m_strStateLabel:String;
var m_nAltState:Number;
var m_nPredTime:Number;
var m_nEffect:Number;
var m_nState:Number;
var m_nEffectFreq:Number;
var m_nEffect_FromTime:Number;
public function basic_object(_arg1:View_Obj_Basic=null){
m_view = _arg1;
stop();
}
public function setState_Countdown(_arg1:int, _arg2:int):void{
var _local3:int;
switch (_arg1){
case Model_Settings.HERO_FIGHT_00:
_local3 = View_Settings.HERO_FIGHT_COUNTDOWN_START_FIGHT_00;
break;
case Model_Settings.HERO_FIGHT_01:
_local3 = View_Settings.HERO_FIGHT_COUNTDOWN_START_FIGHT_01;
break;
default:
return;
};
if (_arg2 < _local3){
setState(_arg1);
};
}
public function getBody():MovieClip{
return (null);
}
public function onLastBodyFrame():void{
if (m_bDeferredVisualization){
startVisualization();
};
m_view.onLastBodyFrame(m_nState);
}
public function getLabelByState(_arg1:Number):String{
return ("");
}
public function setState(_arg1:Number):void{
var _local2:Object;
var _local3:Object;
var _local4:String;
var _local5:Number;
var _local6:MovieClip;
if (m_nState == _arg1){
return;
};
_local2 = getViewByState(m_nState);
_local3 = getViewByState(_arg1);
if (_local3 != null){
if (((!((_local3.label_name == null))) && ((_local3.label_name.length > 0)))){
if (((((((((!((_local3.need_finished_pred_state == null))) && (_local3.need_finished_pred_state))) && (!((_local2 == null))))) && (!((_local2.fixed_length == null))))) && (_local2.fixed_length))){
startVisualization(_local3.label_name, true);
} else {
startVisualization(_local3.label_name, false);
};
};
m_nState = _arg1;
_local6 = getBody();
if (_local6 != null){
_local6.stop();
};
};
}
public function setViewEffect(_arg1:Number):void{
var _local2:Object;
m_nEffect = _arg1;
if (_arg1 != View_Settings.VIEW_EFFECT_UNDEF){
_local2 = View_Settings.getEffectStyle(_arg1);
m_nEffectLen = _local2.duration;
m_nEffectLeft = m_nEffectLen;
switch (_arg1){
case View_Settings.VIEW_EFFECT_BLINK:
m_nEffectFreq_From = _local2.freq_from;
m_nEffectFreq_To = _local2.freq_to;
m_nEffectFreq_Left = m_nEffectFreq_From;
m_nEffect_FromTime = new Date().valueOf();
break;
};
};
}
public function effectBlink(_arg1:Boolean=true):void{
var _local2:Number;
if (_arg1){
_local2 = ((new Date().valueOf() - m_nEffect_FromTime) / m_nEffectLen);
m_nEffectFreq_Left = (m_nEffectFreq_From + (_local2 * (m_nEffectFreq_To - m_nEffectFreq_From)));
visible = !(visible);
} else {
visible = true;
};
}
public function setPosition(_arg1:int):void{
}
override public function update():void{
var _local1:MovieClip;
var _local2:Number;
var _local3:Number;
_local1 = getBody();
_local2 = new Date().valueOf();
_local3 = (_local2 - m_nPredTime);
if (_local1 != null){
if (m_bFirstUpdate){
m_bFirstUpdate = false;
_local1.gotoAndStop(1);
};
if (_local1.currentFrame >= _local1.totalFrames){
onLastBodyFrame();
_local1.gotoAndStop(1);
} else {
_local1.nextFrame();
};
};
switch (m_nEffect){
case View_Settings.VIEW_EFFECT_UNDEF:
break;
case View_Settings.VIEW_EFFECT_BLINK:
m_nEffectFreq_Left = (m_nEffectFreq_Left - _local3);
if (m_nEffectFreq_Left <= 0){
effectBlink();
};
m_nEffectLeft = (m_nEffectLeft - _local3);
if (m_nEffectLeft <= 0){
effectBlink(false);
setViewEffect(View_Settings.VIEW_EFFECT_UNDEF);
};
break;
};
m_nPredTime = new Date().valueOf();
super.update();
}
public function getState():Number{
return (m_nState);
}
public function getViewByState(_arg1:Number):Object{
return (null);
}
protected function startVisualization(_arg1:String=null, _arg2:Boolean=false):void{
var _local3:MovieClip;
if (_arg1 == null){
_arg1 = m_strDeferredVisualization;
};
m_bDeferredVisualization = _arg2;
if (!_arg2){
m_strStateLabel = _arg1;
gotoAndStop(_arg1);
_local3 = getBody();
if (_local3 != null){
_local3.stop();
};
m_bFirstUpdate = true;
} else {
m_strDeferredVisualization = _arg1;
};
}
public function setAltState(_arg1:Number):void{
var _local2:Object;
_local2 = View_Settings.getObjAltStateView(_arg1);
if (_local2 != null){
if (_local2.view_effect == undefined){
setViewEffect(View_Settings.VIEW_EFFECT_UNDEF);
} else {
setViewEffect(_local2.view_effect);
};
m_nAltState = _arg1;
};
}
}
}//package game.objects
Section 99
//hero_object (game.objects.hero_object)
package game.objects {
import game.*;
import flash.display.*;
public class hero_object extends basic_object {
public var body:MovieClip;
public function hero_object(_arg1:View_Obj_Basic=null){
super(_arg1);
}
override public function getBody():MovieClip{
return ((this.getChildByName("body") as MovieClip));
}
override public function getViewByState(_arg1:Number):Object{
var _local2:Object;
var _local3:int;
_local3 = View_Settings.HERO_STATE_TO_VIEW.length;
while (--_local3 >= 0) {
_local2 = View_Settings.HERO_STATE_TO_VIEW[_local3];
if (_local2 == null){
} else {
if (_local2.id == _arg1){
return (_local2);
};
};
};
return (null);
}
}
}//package game.objects
Section 100
//TView_InLevel (game.objects.TView_InLevel)
package game.objects {
import game.*;
import com.*;
import flash.display.*;
import flash.geom.*;
public class TView_InLevel {
public var m_vLevel:View_Level;
protected var m_nVirtualPos:int;
protected var m_nPos:int;
protected var m_nWorldPos:int;
public var m_mcParent:MovieClip;
var m_arChilds:Array;
public function TView_InLevel(_arg1:View_Level){
m_vLevel = _arg1;
m_vLevel.addSubView(this);
m_mcParent = _arg1.getContainer();
m_arChilds = new Array();
}
public function update():void{
var _local1:DisplayObject;
if (m_arChilds == null){
return;
};
for each (_local1 in m_arChilds) {
doMovieUpdate(_local1);
};
}
public function setVirtualPos(_arg1:int):void{
m_nVirtualPos = _arg1;
}
public function clear():void{
}
public function setPos(_arg1:int):void{
m_nPos = _arg1;
}
public function doMovieUpdate(_arg1:DisplayObject):Boolean{
if ((_arg1 is TUpdatableMC)){
(_arg1 as TUpdatableMC).update();
return (true);
};
return (false);
}
public function getParent():MovieClip{
return (m_mcParent);
}
public function getParentView():View_Level{
return (m_vLevel);
}
public function setWorldPos(_arg1:int):void{
m_nWorldPos = _arg1;
}
protected function getPos_onScreen(_arg1:int=0, _arg2:int=0):Point{
var _local3:Point;
_local3 = new Point(((m_nPos - m_nWorldPos) + _arg1), (0 + _arg2));
_local3 = View_Settings.worldToScreen(_local3);
return (_local3);
}
public function removeChild(_arg1:MovieClip):void{
var _local2:*;
_local2 = m_arChilds.indexOf(_arg1);
if (_local2 >= 0){
m_arChilds.splice(_local2, 1);
};
}
public function addChild(_arg1:MovieClip):void{
m_arChilds.push(_arg1);
}
}
}//package game.objects
Section 101
//View_Ground (game.objects.View_Ground)
package game.objects {
import game.animation.*;
import game.*;
import flash.display.*;
public class View_Ground implements IAnimation_Listener {
var m_nVirtualPos:Number;// = 0
var m_nDepth:Number;
var m_nWorldPos:Number;// = 0
var m_groundInfo:CGroundView;
protected var m_mcMainGround:MovieClip;
var m_bFirstUpdate:Boolean;// = true
var m_nID:Number;
var m_nSpeedCoef:Number;
var m_mcContainer:MovieClip;
public function View_Ground(_arg1:MovieClip=null){
m_bFirstUpdate = true;
m_nVirtualPos = 0;
m_nWorldPos = 0;
super();
m_mcContainer = _arg1;
}
public function onChildAnimationNotify(_arg1:View_Animation_Abstract, _arg2:Object){
switch (_arg2){
case View_Animation_Abstract.NOTIFY_FINISH_ANIM:
onFinishedAnimation(_arg1);
break;
};
}
public function update():void{
var _local1:View_Animation_Abstract;
var _local2:Boolean;
_local2 = false;
if (m_bFirstUpdate){
m_bFirstUpdate = false;
_local2 = true;
};
_local1 = (getGroundMC1() as View_Animation_Abstract);
if (_local1 != null){
if (_local2){
_local1.addObserver(this);
};
_local1.update();
};
_local1 = (getGroundMC2() as View_Animation_Abstract);
if (_local1 != null){
if (_local2){
_local1.addObserver(this);
};
_local1.update();
};
}
public function setVirtualPos(_arg1:int):void{
m_nVirtualPos = _arg1;
setPos((m_nWorldPos + m_nVirtualPos));
}
public function clear():void{
}
public function init(_arg1:CGroundView):Boolean{
m_groundInfo = _arg1;
if ((((_arg1 == null)) || ((m_mcContainer == null)))){
return (false);
};
m_nID = m_groundInfo.m_nID;
m_nDepth = m_groundInfo.m_nDepth;
m_mcMainGround = (m_mcContainer.getChildByName(m_groundInfo.m_strObjName) as MovieClip);
if (m_mcMainGround == null){
return (false);
};
return (true);
}
protected function onFinishedAnimation(_arg1:View_Animation_Abstract):void{
}
public function setPos(_arg1:int):void{
}
public function getAnimation(_arg1:int):View_Animation_Abstract{
switch (_arg1){
case 0:
return ((getGroundMC1() as View_Animation_Abstract));
case 1:
return ((getGroundMC2() as View_Animation_Abstract));
default:
return (null);
};
}
public function setWorldPos(_arg1:int):void{
m_nWorldPos = _arg1;
setPos((m_nWorldPos + m_nVirtualPos));
}
public function getGroundMC1():MovieClip{
return (m_mcMainGround);
}
public function getGroundMC2():MovieClip{
return (null);
}
}
}//package game.objects
Section 102
//View_Ground_BG (game.objects.View_Ground_BG)
package game.objects {
import flash.display.*;
public class View_Ground_BG extends View_Ground {
public function View_Ground_BG(_arg1:MovieClip=null){
super(_arg1);
}
}
}//package game.objects
Section 103
//View_Ground_Fixed_RandomState (game.objects.View_Ground_Fixed_RandomState)
package game.objects {
import game.animation.*;
import game.*;
import flash.display.*;
public class View_Ground_Fixed_RandomState extends View_Ground {
public function View_Ground_Fixed_RandomState(_arg1:MovieClip=null){
super(_arg1);
}
public function rollDice():void{
var _local1:View_Animation_Abstract;
_local1 = getAnimation(0);
if (_local1 != null){
_local1.gotoRandomFrame();
};
}
override public function init(_arg1:CGroundView):Boolean{
if (!super.init(_arg1)){
return (false);
};
rollDice();
return (true);
}
override protected function onFinishedAnimation(_arg1:View_Animation_Abstract):void{
super.onFinishedAnimation(_arg1);
rollDice();
}
}
}//package game.objects
Section 104
//View_Ground_Random (game.objects.View_Ground_Random)
package game.objects {
import game.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class View_Ground_Random extends View_Ground_Slide {
var m_arCreatedObjs:Array;
var m_arObjs:Array;
var m_arObjsWidth:Array;
var m_arObjsAccident:Array;
public function View_Ground_Random(_arg1:MovieClip=null){
super(_arg1);
m_arCreatedObjs = new Array();
}
public function clearCreateObjsForGround(_arg1:MovieClip):void{
var _local2:Number;
var _local3:Array;
var _local4:MovieClip;
_local2 = findCreateObjsForGround(_arg1);
if (_local2 < 0){
return;
};
_local3 = getCreateObjs(_local2);
if (_local3 == null){
return;
};
for each (_local4 in _local3) {
_local4.parent.removeChild(_local4);
};
m_arCreatedObjs.splice(_local2, 1);
}
public function putOnGroundRandomObjs(_arg1:MovieClip):Boolean{
var _local2:Number;
_local2 = ((m_groundInfo.m_nDensity + 0.1) * Math.random());
return (putOnGroundNRandomObjs(_local2, _arg1));
}
override public function init(_arg1:CGroundView):Boolean{
if (!super.init(_arg1)){
return (false);
};
setObjs(_arg1.m_arObjs);
return (true);
}
override public function onGroundOnScreen(_arg1:MovieClip):void{
super.onGroundOnScreen(_arg1);
clearCreateObjsForGround(_arg1);
putOnGroundRandomObjs(_arg1);
}
public function findCreateObjsForGround(_arg1:MovieClip):Number{
var _local2:Number;
var _local3:Object;
_local2 = m_arCreatedObjs.length;
while (--_local2 >= 0) {
_local3 = m_arCreatedObjs[_local2];
if (_local3.ground == _arg1){
return (_local2);
};
};
return (-1);
}
public function putOnGroundNRandomObjs(_arg1:Number, _arg2:MovieClip):Boolean{
var _local3:Array;
var _local4:Rectangle;
var _local5:MovieClip;
var _local6:int;
var _local7:int;
var _local8:int;
if ((((_arg2 == null)) || ((m_arObjs == null)))){
return (false);
};
_local3 = new Array();
while (--_arg1 > 0) {
_local5 = createObj(_arg2, getRandObjName());
_local4 = _local5.getBounds(_arg2);
_local7 = (0 - _local4.left);
_local8 = (getGroundWidth() - _local4.right);
_local6 = (_local7 + (Math.random() * (_local8 - _local7)));
_local5.x = _local6;
_local5.y = getGroundHeight();
_local3.push(_local5);
};
m_arCreatedObjs.push({ground:_arg2, ar:_local3});
return (true);
}
private function getRandObjName():String{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = Math.random();
_local2 = m_arObjsAccident.length;
_local3 = 0;
while (_local3 < _local2) {
if (m_arObjsAccident[_local3] > _local1){
return (m_arObjs[_local3].obj_name);
};
_local3++;
};
return (m_arObjs[(_local2 - 1)].obj_name);
}
override public function clear():void{
super.clear();
clearCreateObjsForGround(m_mcMainGround);
}
public function initAccident(_arg1:Array):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:Number;
var _local6:*;
m_arObjsAccident = new Array();
_local2 = 0;
_local3 = _arg1.length;
for each (_local4 in _arg1) {
_local2 = (_local2 + _local4.density);
};
_local5 = 0;
_local6 = 0;
while (_local6 < _local3) {
_local4 = _arg1[_local6];
_local5 = (_local5 + (_local4.density / _local2));
m_arObjsAccident.push(_local5);
_local6++;
};
}
public function createObj(_arg1:MovieClip, _arg2:String):MovieClip{
var _local3:MovieClip;
var _local4:Class;
_local4 = (getDefinitionByName(_arg2) as Class);
_local3 = new (_local4);
_arg1.addChild(_local3);
return (_local3);
}
override public function onGroundLeaveScreen(_arg1:MovieClip):void{
super.onGroundLeaveScreen(_arg1);
}
public function setObjs(_arg1:Array):void{
m_arObjs = _arg1;
initAccident(_arg1);
}
public function getCreateObjs(_arg1:Number):Array{
return (m_arCreatedObjs[_arg1].ar);
}
}
}//package game.objects
Section 105
//View_Ground_RandomState (game.objects.View_Ground_RandomState)
package game.objects {
import flash.display.*;
public class View_Ground_RandomState extends View_Ground_Slide {
public function View_Ground_RandomState(_arg1:MovieClip=null){
super(_arg1);
}
override public function onGroundOnScreen(_arg1:MovieClip):void{
super.onGroundOnScreen(_arg1);
}
override public function onGroundLeaveScreen(_arg1:MovieClip):void{
var _local2:Number;
var _local3:Number;
super.onGroundLeaveScreen(_arg1);
if (_arg1 == null){
return;
};
_local2 = _arg1.totalFrames;
_local3 = (Math.floor((_local2 * Math.random())) + 1);
_arg1.gotoAndStop(_local3);
}
}
}//package game.objects
Section 106
//View_Ground_Slide (game.objects.View_Ground_Slide)
package game.objects {
import game.*;
import flash.display.*;
import main.*;
import flash.utils.*;
public class View_Ground_Slide extends View_Ground {
var m_bSwapMainGround:Boolean;
protected var m_mcAltGround:MovieClip;
var m_bAltGround_Show:Boolean;
var m_bMainGround_Show:Boolean;
public function View_Ground_Slide(_arg1:MovieClip=null){
super(_arg1);
}
protected function getGroundHeight():int{
var _local1:MovieClip;
_local1 = getBGMc();
if (_local1 != null){
return (_local1.height);
};
return (m_mcMainGround.height);
}
override public function getGroundMC2():MovieClip{
return (m_mcAltGround);
}
override public function clear():void{
super.clear();
if (m_mcAltGround != null){
m_mcAltGround.parent.removeChild(m_mcAltGround);
m_bAltGround_Show = false;
};
}
override public function init(_arg1:CGroundView):Boolean{
if (!super.init(_arg1)){
return (false);
};
if (m_nDepth == 0){
m_nSpeedCoef = 0;
} else {
m_nSpeedCoef = ((View_Settings.SPEED_COEF * 1) / m_nDepth);
if (_arg1.m_iSpeed != int.MAX_VALUE){
m_nSpeedCoef = (m_nSpeedCoef + (_arg1.m_iSpeed / m_nDepth));
};
};
m_mcAltGround = duplicateGround(m_mcMainGround);
if (m_mcAltGround == null){
return (false);
};
m_mcAltGround.y = m_mcMainGround.y;
m_mcAltGround.stop();
m_mcMainGround.stop();
if (m_mcAltGround.text != null){
m_mcAltGround.text.text = "m_mcAltGround";
m_mcMainGround.text.text = "m_mcMainGround";
};
m_mcContainer.addChild(m_mcAltGround);
m_bSwapMainGround = false;
m_bMainGround_Show = false;
m_bAltGround_Show = false;
return (true);
}
protected function getBGMc():MovieClip{
if (m_mcMainGround == null){
return (null);
};
return ((m_mcMainGround.getChildByName("bg_mc") as MovieClip));
}
protected function duplicateGround(_arg1:MovieClip):MovieClip{
var _local2:MovieClip;
var _local3:String;
var _local4:Class;
_local3 = getQualifiedClassName(_arg1);
if (_local3 == null){
return (null);
};
_local4 = (getDefinitionByName(_local3) as Class);
_local2 = new (_local4);
_local2.width = _arg1.width;
_local2.height = _arg1.height;
_local2.transform = _arg1.transform;
_arg1.parent.addChild(_local2);
return (_local2);
}
override public function setPos(_arg1:int):void{
var _local2:Boolean;
var _local3:Boolean;
var _local4:Boolean;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
super.setPos(_arg1);
_local5 = getGroundWidth();
_local6 = Global_Settings.GAME_WIDTH;
_local7 = ((_arg1 * m_nSpeedCoef) % (2 * _local5));
if (_local7 < 0){
_local7 = (_local7 + (2 * _local5));
};
_local8 = (_local7 + _local6);
if ((((_local7 > _local5)) && ((_local8 < (2 * _local5))))){
_local2 = false;
} else {
_local2 = true;
};
if (_local8 < _local5){
_local3 = false;
} else {
_local3 = true;
};
if ((-(_local7) + _local5) < 0){
_local4 = true;
};
if (_local4){
m_mcMainGround.x = (-(_local7) + (2 * _local5));
if (!m_bSwapMainGround){
m_mcContainer.swapChildren(m_mcMainGround, m_mcAltGround);
m_bSwapMainGround = true;
};
} else {
m_mcMainGround.x = -(_local7);
if (m_bSwapMainGround){
m_mcContainer.swapChildren(m_mcMainGround, m_mcAltGround);
m_bSwapMainGround = false;
};
};
m_mcAltGround.x = (-(_local7) + _local5);
if (_local3){
if (!m_bAltGround_Show){
m_bAltGround_Show = true;
onGroundOnScreen(m_mcAltGround);
};
} else {
if (m_bAltGround_Show){
m_bAltGround_Show = false;
onGroundLeaveScreen(m_mcAltGround);
};
};
if (_local2){
if (!m_bMainGround_Show){
m_bMainGround_Show = true;
onGroundOnScreen(m_mcMainGround);
};
} else {
if (m_bMainGround_Show){
m_bMainGround_Show = false;
onGroundLeaveScreen(m_mcMainGround);
};
};
}
protected function getGroundWidth():int{
var _local1:MovieClip;
_local1 = getBGMc();
if (_local1 != null){
return (_local1.width);
};
return (m_mcMainGround.width);
}
public function onGroundOnScreen(_arg1:MovieClip):void{
}
public function onGroundLeaveScreen(_arg1:MovieClip):void{
}
}
}//package game.objects
Section 107
//View_Ground_Static (game.objects.View_Ground_Static)
package game.objects {
import flash.display.*;
public class View_Ground_Static extends View_Ground_Slide {
public function View_Ground_Static(_arg1:MovieClip=null){
super(_arg1);
}
}
}//package game.objects
Section 108
//View_Grounds (game.objects.View_Grounds)
package game.objects {
import game.*;
import flash.display.*;
import game.levels_design.*;
public class View_Grounds extends TView_InLevel {
var m_arGrounds:Array;
var m_mcContainer:MovieClip;
public function View_Grounds(_arg1:View_Level){
var _local2:int;
super(_arg1);
_local2 = _arg1.getLevelID();
initContainer(_local2);
initGrounds(_local2);
}
override public function update():void{
var _local1:View_Ground;
super.update();
for each (_local1 in m_arGrounds) {
_local1.update();
};
}
override public function setVirtualPos(_arg1:int):void{
var _local2:View_Ground;
super.setVirtualPos(_arg1);
for each (_local2 in m_arGrounds) {
_local2.setVirtualPos(_arg1);
};
}
override public function clear():void{
var _local1:View_Ground;
super.clear();
for each (_local1 in m_arGrounds) {
_local1.clear();
};
}
public function initContainer(_arg1:int):Boolean{
var _local2:String;
_local2 = View_Settings_Levels.getGroundsName_byLevel(_arg1);
if (_local2 == null){
return (false);
};
m_mcContainer = getParent();
return (!((m_mcContainer == null)));
}
public function initGrounds(_arg1:int):Boolean{
var _local2:Array;
var _local3:CGroundView;
_local2 = View_Settings_Levels.getGroundsAr_byLevel(_arg1);
m_arGrounds = new Array();
for each (_local3 in _local2) {
add(_local3);
};
return (true);
}
public function add(_arg1:CGroundView):View_Ground{
var _local2:View_Ground;
var _local3:MovieClip;
var _local4:MovieClip;
switch (_arg1.m_nType){
case View_Settings_Levels.GROUND_TYPE_STATIC:
_local2 = new View_Ground_Static(m_mcContainer);
break;
case View_Settings_Levels.GROUND_TYPE_RANDOM:
_local2 = new View_Ground_Random(m_mcContainer);
break;
case View_Settings_Levels.GROUND_TYPE_BG:
_local2 = new View_Ground_BG(m_mcContainer);
break;
case View_Settings_Levels.GROUND_TYPE_RANDOM_STATE:
_local2 = new View_Ground_RandomState(m_mcContainer);
break;
case View_Settings_Levels.GROUND_TYPE_FIXED_RANDOM_STATE:
_local2 = new View_Ground_Fixed_RandomState(m_mcContainer);
break;
default:
return (null);
};
if (!_local2.init(_arg1)){
return (null);
};
m_arGrounds.push(_local2);
_local3 = _local2.getGroundMC1();
_local4 = _local2.getGroundMC2();
getParentView().addObj(_arg1.m_nDepth, _local3);
if (_local4 != null){
getParentView().addObj((_arg1.m_nDepth - 0.001), _local4);
};
return (_local2);
}
override public function setWorldPos(_arg1:int):void{
var _local2:View_Ground;
super.setWorldPos(_arg1);
for each (_local2 in m_arGrounds) {
_local2.setWorldPos(_arg1);
};
}
}
}//package game.objects
Section 109
//View_Level (game.objects.View_Level)
package game.objects {
import game.*;
import flash.display.*;
public class View_Level implements IView {
var m_arSubView:Array;
private var m_mLevel:Model_Level;
var m_arObj:Array;
var m_vGame:View_Game;
private var m_mcContainer:MovieClip;
public function View_Level(_arg1:View_Game, _arg2:MovieClip){
m_mcContainer = _arg2;
m_vGame = _arg1;
}
public function sortDepth():void{
var n:int;
var nDepth:int;
var mcObj:MovieClip;
m_arObj.sort(compareOnDepth);
n = m_arObj.length;
nDepth = 0;
while ((n = (n - 1)), (n - 1) >= 0) {
mcObj = m_arObj[n].obj;
if (mcObj != null){
try {
m_mcContainer.setChildIndex(mcObj, nDepth);
} catch(e:RangeError) {
};
nDepth = (nDepth + 1);
};
};
}
public function getIDObj(_arg1:MovieClip):int{
var _local2:int;
_local2 = m_arObj.length;
while (--_local2 >= 0) {
if (m_arObj[_local2].obj == _arg1){
return (_local2);
};
};
return (-1);
}
public function clearObjs():void{
m_arObj = new Array();
}
public function getContainer():MovieClip{
return (m_mcContainer);
}
public function show(_arg1:Boolean=true):void{
if (_arg1){
setState(View_Settings.STATE_OPEN);
} else {
setState(View_Settings.STATE_CLOSE);
};
}
public function getLevel():Model_Level{
return (m_mLevel);
}
public function init():void{
clearObjs();
clearSubView();
}
public function setLevelModel(_arg1:Model_Level):void{
m_mLevel = _arg1;
}
public function update():void{
var _local1:TView_InLevel;
for each (_local1 in m_arSubView) {
_local1.update();
};
}
public function setVirtualPos(_arg1:int):void{
var _local2:TView_InLevel;
for each (_local2 in m_arSubView) {
_local2.setVirtualPos(_arg1);
};
}
public function addObj(_arg1:Number, _arg2:MovieClip):void{
if (getIDObj(_arg2) < 0){
m_arObj.push({depth:_arg1, obj:_arg2});
};
}
public function addSubView(_arg1:TView_InLevel):void{
m_arSubView.push(_arg1);
}
public function onLastBodyFrame(_arg1:Number):void{
m_vGame.onLastBodyFrame(_arg1);
}
public function setState(_arg1:Number):void{
switch (_arg1){
case View_Settings.STATE_OPEN:
m_mcContainer.visible = true;
break;
case View_Settings.STATE_CLOSE:
m_mcContainer.visible = false;
break;
};
}
public function setWorldPos(_arg1:int):void{
var _local2:TView_InLevel;
for each (_local2 in m_arSubView) {
_local2.setWorldPos(_arg1);
};
}
public function getLevelID():int{
if (m_mLevel == null){
return (-1);
};
return (m_mLevel.getID());
}
public function getMaxDepth():Number{
var _local1:Number;
var _local2:Object;
_local1 = 0;
for each (_local2 in m_arObj) {
if (_local2.depth > _local1){
_local1 = _local2.depth;
};
};
return (_local1);
}
public function clearSubView():void{
var _local1:TView_InLevel;
for each (_local1 in m_arSubView) {
_local1.clear();
};
m_arSubView = new Array();
}
function compareOnDepth(_arg1:Object, _arg2:Object):int{
var _local3:Number;
var _local4:Number;
_local3 = _arg1.depth;
_local4 = _arg2.depth;
if (_local3 > _local4){
return (1);
};
if (_local3 < _local4){
return (-1);
};
return (0);
}
}
}//package game.objects
Section 110
//View_Obj_Basic (game.objects.View_Obj_Basic)
package game.objects {
import flash.geom.*;
public class View_Obj_Basic extends TView_InLevel {
public function View_Obj_Basic(_arg1:View_Level){
super(_arg1);
}
protected function getObj():basic_object{
return (null);
}
override public function update():void{
var _local1:basic_object;
var _local2:Point;
_local1 = getObj();
if (_local1 == null){
return;
};
_local2 = getPos_onScreen();
if (((!((_local1.x == _local2.x))) || (!((_local1.y == _local2.y))))){
_local1.x = _local2.x;
_local1.y = _local2.y;
};
super.update();
}
override public function clear():void{
var _local1:basic_object;
_local1 = getObj();
_local1.parent.removeChild(_local1);
}
public function getState():Number{
var _local1:basic_object;
_local1 = getObj();
if (_local1 == null){
return (Number.NaN);
};
return (_local1.getState());
}
public function onLastBodyFrame(_arg1:Number):void{
m_vLevel.onLastBodyFrame(_arg1);
}
public function setState_Countdown(_arg1:int, _arg2:int):void{
var _local3:basic_object;
_local3 = getObj();
if (_local3 == null){
return;
};
_local3.setState_Countdown(_arg1, _arg2);
}
public function setState(_arg1:Number):void{
var _local2:basic_object;
_local2 = getObj();
if (_local2 == null){
return;
};
_local2.setState(_arg1);
}
public function setAltState(_arg1:Number):void{
var _local2:basic_object;
_local2 = getObj();
if (_local2 == null){
return;
};
_local2.setAltState(_arg1);
}
}
}//package game.objects
Section 111
//View_Obj_Hero (game.objects.View_Obj_Hero)
package game.objects {
import game.*;
import flash.geom.*;
import game.levels_design.*;
public class View_Obj_Hero extends View_Obj_Basic {
private var m_hero:hero_object;
public function View_Obj_Hero(_arg1:View_Level){
super(_arg1);
makeUp();
m_vLevel.addObj(View_Settings_Levels.DEPTH_HERO, m_hero);
}
override protected function getObj():basic_object{
return (m_hero);
}
protected function makeUp():void{
var _local1:Point;
m_hero = new hero_object(this);
_local1 = new Point(0, 0);
_local1 = View_Settings.worldToScreen(_local1);
m_hero.x = _local1.x;
m_hero.y = _local1.y;
addChild(m_hero);
getParent().addChild(m_hero);
}
}
}//package game.objects
Section 112
//View_Obstacle (game.objects.View_Obstacle)
package game.objects {
import game.animation.*;
import flash.display.*;
public class View_Obstacle extends View_Animation_Framed {
public function showHint(_arg1:Boolean):void{
var _local2:MovieClip;
_local2 = (getChildByName("hit_mc") as MovieClip);
if (_local2 != null){
_local2.visible = _arg1;
};
}
}
}//package game.objects
Section 113
//View_Obstacle_Complex (game.objects.View_Obstacle_Complex)
package game.objects {
import game.*;
public class View_Obstacle_Complex extends View_Obstacle {
public function View_Obstacle_Complex(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_OLDWOMAN);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 114
//View_Obstacle_Complex_Alien (game.objects.View_Obstacle_Complex_Alien)
package game.objects {
import game.*;
import flash.display.*;
public class View_Obstacle_Complex_Alien extends View_Obstacle_Complex {
public var loose:MovieClip;
public var win_:MovieClip;
public var wait:MovieClip;
public var hit:MovieClip;
public function View_Obstacle_Complex_Alien(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_ALIEN_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_ALIEN);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 115
//View_Obstacle_Complex_Enemy_Player (game.objects.View_Obstacle_Complex_Enemy_Player)
package game.objects {
import game.*;
import flash.display.*;
public class View_Obstacle_Complex_Enemy_Player extends View_Obstacle_Complex {
public var loose:MovieClip;
public var win:MovieClip;
public var wait:MovieClip;
public var hit:MovieClip;
public function View_Obstacle_Complex_Enemy_Player(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_ENEMY_PLAYER_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_ENEMY_PLAYER);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 116
//View_Obstacle_Complex_Enemy_Player_White (game.objects.View_Obstacle_Complex_Enemy_Player_White)
package game.objects {
import game.*;
import flash.display.*;
public class View_Obstacle_Complex_Enemy_Player_White extends View_Obstacle_Complex {
public var loose:MovieClip;
public var win:MovieClip;
public var wait:MovieClip;
public var hit:MovieClip;
public function View_Obstacle_Complex_Enemy_Player_White(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_ENEMY_PLAYER_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_ENEMY_PLAYER_WHITE);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 117
//View_Obstacle_Complex_Hoolegan (game.objects.View_Obstacle_Complex_Hoolegan)
package game.objects {
import game.*;
import flash.display.*;
public class View_Obstacle_Complex_Hoolegan extends View_Obstacle_Complex {
public var win:MovieClip;
public var lost:MovieClip;
public var wait:MovieClip;
public var hit:MovieClip;
public function View_Obstacle_Complex_Hoolegan(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_HOOLEGAN_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_HOOLIGAN);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 118
//View_Obstacle_Complex_Manager (game.objects.View_Obstacle_Complex_Manager)
package game.objects {
import game.*;
import flash.display.*;
public class View_Obstacle_Complex_Manager extends View_Obstacle_Complex {
public var win:MovieClip;
public var lost:MovieClip;
public var wait:MovieClip;
public var hit:MovieClip;
public function View_Obstacle_Complex_Manager(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_MANAGER_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_MANAGER);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 119
//View_Obstacle_Complex_Mega_Player (game.objects.View_Obstacle_Complex_Mega_Player)
package game.objects {
import game.*;
import flash.display.*;
public class View_Obstacle_Complex_Mega_Player extends View_Obstacle_Complex {
public var loose:MovieClip;
public var win:MovieClip;
public var wait:MovieClip;
public var hit:MovieClip;
public function View_Obstacle_Complex_Mega_Player(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_MEGA_PLAYER_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_MEGA_PLAYER);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 120
//View_Obstacle_Complex_My (game.objects.View_Obstacle_Complex_My)
package game.objects {
import game.*;
import flash.display.*;
public class View_Obstacle_Complex_My extends View_Obstacle_Complex {
public var win:MovieClip;
public var lost:MovieClip;
public var wait:MovieClip;
public function View_Obstacle_Complex_My(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_ALIEN_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_ALIEN);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 121
//View_Obstacle_Complex_Oldwoman (game.objects.View_Obstacle_Complex_Oldwoman)
package game.objects {
import game.*;
import flash.display.*;
public class View_Obstacle_Complex_Oldwoman extends View_Obstacle_Complex {
public var win:MovieClip;
public var lost:MovieClip;
public var wait:MovieClip;
public var hit:MovieClip;
public function View_Obstacle_Complex_Oldwoman(){
setStateInfo(View_Settings.COMPLEX_OBSTACLE_OLDWOMAN_STATE);
}
override public function getLabelStartCountdown(_arg1:int):int{
switch (_arg1){
case Model_Settings.OBSTACLE_STATE_HIT:
return (View_Settings.OBSTACLE_FIGHT_COUNTDOWN_START_OLDWOMAN);
case Model_Settings.OBSTACLE_STATE_LOST:
break;
};
return (super.getLabelStartCountdown(_arg1));
}
}
}//package game.objects
Section 122
//View_Obstacle_Simple (game.objects.View_Obstacle_Simple)
package game.objects {
import flash.display.*;
public class View_Obstacle_Simple extends View_Obstacle {
public var hit_mc:MovieClip;
}
}//package game.objects
Section 123
//View_Obstacles (game.objects.View_Obstacles)
package game.objects {
import game.*;
import flash.display.*;
import flash.geom.*;
import main.*;
import flash.utils.*;
import game.levels_design.*;
public class View_Obstacles extends TView_InLevel {
var m_arObstacles_Bounds:Array;
var m_arComplexObstaclesInfo:Array;
var m_mcContainer_Foreground:MovieClip;
var m_nObstaclesSize:Array;
var m_mcContainer:MovieClip;
var m_arSimpleObstaclesInfo:Array;
var m_arObstacles:Array;
var m_arObstaclesNotYetVisible:Array;
var m_rectMaxBounds:Rectangle;
var m_mObstacles:Model_Obstacles;
var m_arObstaclesVisible:Array;
var m_iHintCount:int;
public function View_Obstacles(_arg1:View_Level){
var _local2:int;
var _local3:Model_Level;
var _local4:Model_Obstacles;
super(_arg1);
m_mcContainer = new MovieClip();
m_mcContainer.name = "obstacles";
getParent().addChild(m_mcContainer);
getParentView().addObj(View_Settings_Levels.DEPTH_OBSTACLES, m_mcContainer);
m_vLevel.addObj(View_Settings_Levels.DEPTH_OBSTACLES, m_mcContainer);
createForegroundContrainer();
_local2 = _arg1.getLevelID();
_local3 = _arg1.getLevel();
if (_local3 != null){
m_iHintCount = _local3.getHintCount();
_local4 = _local3.getObstacles();
setLevel(_local2, _local4);
};
}
private function putModelAndView(_arg1:Array, _arg2:Model_Obstacle, _arg3:View_Obstacle=null):void{
_arg1.push({m:_arg2, v:_arg3, tokill:false, bounds:null});
}
private function initObstaclesBounds():void{
var _local1:int;
var _local2:Model_Obstacle;
var _local3:Boolean;
var _local4:Object;
var _local5:Rectangle;
m_rectMaxBounds = new Rectangle();
m_arObstacles_Bounds = new Array();
if (m_mObstacles == null){
return;
};
_local1 = m_mObstacles.getCount();
while (--_local1 >= 0) {
_local2 = m_mObstacles.getItem(_local1);
if (_local2 == null){
} else {
for each (_local4 in m_arObstacles_Bounds) {
if (_local4 == null){
} else {
if (_local4.m == _local2){
_local3 = true;
break;
};
};
};
if (!_local3){
_local5 = genObstacleBounds(_local2);
if (_local5 == null){
} else {
m_arObstacles_Bounds.push({m:_local2, bounds:_local5});
if (m_rectMaxBounds == null){
m_rectMaxBounds = new Rectangle(_local5.x, _local5.y, _local5.width, _local5.height);
} else {
if (_local5.left < m_rectMaxBounds.left){
m_rectMaxBounds.left = _local5.left;
};
if (_local5.right > m_rectMaxBounds.right){
m_rectMaxBounds.right = _local5.right;
};
if (_local5.top < m_rectMaxBounds.top){
m_rectMaxBounds.top = _local5.top;
};
if (_local5.bottom > m_rectMaxBounds.bottom){
m_rectMaxBounds.bottom = _local5.bottom;
};
};
};
};
};
};
}
public function init():void{
initVisible();
initNotYetVisible();
initObstaclesBounds();
}
private function genObstacleBounds(_arg1:Model_Obstacle):Rectangle{
var _local2:View_Obstacle;
var _local3:Rectangle;
_local2 = addObstacle(_arg1, true);
if (_local2 == null){
return (null);
};
m_mcContainer.addChild(_local2);
_local3 = _local2.getBounds(m_mcContainer);
m_mcContainer.removeChild(_local2);
return (_local3);
}
private function checkWhoAppearAndDisAppear(_arg1:int):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:Point;
var _local8:Point;
_local8 = new Point((0 - m_rectMaxBounds.width), 0);
_local8 = View_Settings.screenToWorld(_local8);
_local7 = new Point((View_Settings.APPEAR_WIDTH - m_rectMaxBounds.right), 0);
_local7 = View_Settings.screenToWorld(_local7);
_local2 = _local7.x;
_local2 = (_local2 - _local8.x);
_local6 = (_arg1 + _local8.x);
_local5 = (_local6 - _local2);
_local7 = new Point(Global_Settings.GAME_WIDTH, 0);
_local7 = View_Settings.screenToWorld(_local7);
_local3 = (_arg1 + _local7.x);
_local4 = (_local3 + _local2);
checkObstaclesOnPos(m_arObstaclesVisible, _local5, _local6, whenObstacleDisappear);
cleanAr(m_arObstaclesVisible);
checkObstaclesOnPos(m_arObstaclesNotYetVisible, _local3, _local4, whenObstacleAppear);
cleanAr(m_arObstaclesNotYetVisible);
}
public function setObstacleState_Countdown(_arg1:Model_Obstacle, _arg2:int, _arg3:int):void{
var _local4:View_Obstacle;
var _local5:int;
_local4 = findViewByModel(m_arObstaclesVisible, _arg1);
if (_local4 != null){
_local5 = _local4.getLabelStartCountdown(_arg2);
if (((!((_local5 == Model_Settings.INT_UNDEF))) && ((_arg3 <= _local5)))){
_local4.setState(_arg2);
};
};
}
private function getObstacleBounds(_arg1:Model_Obstacle):Rectangle{
var _local2:Object;
for each (_local2 in m_arObstacles_Bounds) {
if (_local2.m == _arg1){
return (_local2.bounds);
};
};
return (null);
}
private function locateObstacles(_arg1:int):void{
var _local2:int;
var _local3:View_Obstacle;
var _local4:Model_Obstacle;
var _local5:Object;
var _local6:Point;
for each (_local5 in m_arObstaclesVisible) {
_local3 = _local5.v;
_local4 = _local5.m;
_local2 = _local4.getPos();
_local6 = new Point((_local2 - _arg1), 0);
_local6 = View_Settings.worldToScreen(_local6);
_local3.x = _local6.x;
_local3.y = _local6.y;
};
}
public function setObstacleState(_arg1:Model_Obstacle, _arg2:Number):void{
var _local3:View_Obstacle;
_local3 = findViewByModel(m_arObstaclesVisible, _arg1);
if (_local3 != null){
_local3.setState(_arg2);
};
}
public function createForegroundContrainer():void{
m_mcContainer_Foreground = new MovieClip();
m_mcContainer_Foreground.name = "obstacles_foreground";
getParent().addChild(m_mcContainer_Foreground);
getParentView().addObj(View_Settings_Levels.DEPTH_OBSTACLES_FOREGROUND, m_mcContainer_Foreground);
m_vLevel.addObj(View_Settings_Levels.DEPTH_OBSTACLES_FOREGROUND, m_mcContainer_Foreground);
}
private function findViewByModel(_arg1:Array, _arg2:Model_Obstacle):View_Obstacle{
var _local3:Object;
for each (_local3 in _arg1) {
if (_arg2 == _local3.m){
return (_local3.v);
};
};
return (null);
}
private function whenObstacleDisappear(_arg1:Object):void{
_arg1.tokill = true;
removeObstacle(_arg1.v);
}
private function initVisible():void{
m_arObstaclesVisible = new Array();
}
private function checkObstaclesOnPos(_arg1:Array, _arg2:int, _arg3:int, _arg4:Function):void{
var _local5:Model_Obstacle;
var _local6:View_Obstacle;
var _local7:Object;
if (_arg4 == null){
return;
};
for each (_local7 in _arg1) {
_local5 = _local7.m;
_local6 = _local7.v;
if (((!((_local5 == null))) && (isObstacleIn(_local7, _arg2, _arg3)))){
_arg4(_local7);
};
};
}
override public function clear():void{
m_mcContainer_Foreground.parent.removeChild(m_mcContainer_Foreground);
m_mcContainer.parent.removeChild(m_mcContainer);
}
private function addObstacle(_arg1:Model_Obstacle, _arg2:Boolean=false):View_Obstacle{
var nType:int;
var nSubType:int;
var vObstacle:View_Obstacle;
var СlassObstacle:Class;
var strName:String;
var bForeground:Boolean;
var mObstacle = _arg1;
var bWeak = _arg2;
if (mObstacle == null){
return (null);
};
nType = mObstacle.getType();
nSubType = mObstacle.getSubType();
bForeground = false;
switch (nType){
case Model_Settings.OBSTACLE_SIMPLE:
strName = View_Settings_Levels.getObstacleName(m_arSimpleObstaclesInfo, nSubType);
bForeground = View_Settings_Levels.getObstacleForeground(m_arSimpleObstaclesInfo, nSubType);
if (strName == null){
return (null);
};
try {
СlassObstacle = (getDefinitionByName(strName) as Class);
} catch(e:ReferenceError) {
};
if (СlassObstacle == null){
return (null);
};
vObstacle = new (СlassObstacle);
if (!bWeak){
if ((((m_iHintCount == Model_Settings.INT_UNDEF)) || ((--m_iHintCount >= 0)))){
vObstacle.showHint(true);
} else {
vObstacle.showHint(false);
};
};
break;
case Model_Settings.OBSTACLE_COMPLEX:
strName = View_Settings_Levels.getObstacleName(m_arComplexObstaclesInfo, nSubType);
bForeground = View_Settings_Levels.getObstacleForeground(m_arComplexObstaclesInfo, nSubType);
if (strName == null){
return (null);
};
try {
СlassObstacle = (getDefinitionByName(strName) as Class);
} catch(e:ReferenceError) {
};
if (СlassObstacle == null){
return (null);
};
vObstacle = new (СlassObstacle);
break;
};
if (bForeground){
m_mcContainer_Foreground.addChild(vObstacle);
} else {
m_mcContainer.addChild(vObstacle);
};
if (!bWeak){
addChild(vObstacle);
};
return (vObstacle);
}
public function setLevel(_arg1:int, _arg2:Model_Obstacles):void{
m_mObstacles = _arg2;
m_arSimpleObstaclesInfo = View_Settings_Levels.getSimpleObstacleInfoByLevel(_arg1);
m_arComplexObstaclesInfo = View_Settings_Levels.getComplexObstacleInfoByLevel(_arg1);
init();
}
private function removeObstacle(_arg1:View_Obstacle):Boolean{
if (m_mcContainer_Foreground == _arg1.parent){
m_mcContainer_Foreground.removeChild(_arg1);
} else {
m_mcContainer.removeChild(_arg1);
};
removeChild(_arg1);
return (true);
}
private function cleanAr(_arg1:Array):void{
var _local2:int;
_local2 = _arg1.length;
while (--_local2 >= 0) {
if (_arg1[_local2].tokill){
_arg1.splice(_local2, 1);
};
};
}
private function isObstacleIn(_arg1:Object, _arg2:int, _arg3:int):Boolean{
var _local4:Model_Obstacle;
var _local5:View_Obstacle;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:Rectangle;
if (_arg1 == null){
return (false);
};
_local4 = _arg1.m;
_local5 = _arg1.v;
if (_local4 == null){
return (false);
};
_local8 = _local4.getPos();
if (_arg1.bounds != null){
_local6 = _arg1.bounds.left;
_local7 = _arg1.bounds.right;
} else {
_local9 = getObstacleBounds(_local4);
if (_local9 == null){
return (false);
};
_local6 = _local9.left;
_local7 = _local9.right;
_arg1.bounds = _local9;
};
if ((((_arg2 < (_local7 + _local8))) && ((_arg3 > (_local6 + _local8))))){
return (true);
};
return (false);
}
override public function setWorldPos(_arg1:int):void{
checkWhoAppearAndDisAppear(_arg1);
locateObstacles(_arg1);
super.setWorldPos(_arg1);
}
private function initNotYetVisible():void{
var _local1:Model_Obstacle;
var _local2:int;
m_arObstaclesNotYetVisible = new Array();
_local2 = m_mObstacles.getCount();
while (--_local2 >= 0) {
_local1 = m_mObstacles.getItem(_local2);
putModelAndView(m_arObstaclesNotYetVisible, _local1);
};
}
private function whenObstacleAppear(_arg1:Object):void{
var _local2:Model_Obstacle;
var _local3:View_Obstacle;
_arg1.tokill = true;
_local2 = _arg1.m;
_local3 = addObstacle(_local2);
_local3.setState(_local2.getState());
putModelAndView(m_arObstaclesVisible, _arg1.m, _local3);
}
}
}//package game.objects
Section 124
//Model_Basic_Object (game.objects_model.Model_Basic_Object)
package game.objects_model {
import game.*;
import com.*;
public class Model_Basic_Object extends Model_Game_Def implements Observer {
var m_nSpeed:Number;// = 10
var m_nLife_Energy:Number;
var m_nPos:Number;
var m_nStateTicks:Number;
var m_nAltState:Number;
var m_mLevel:Model_Level;
var m_nID:Number;
var m_nLifes:int;
var m_bChangePos:Boolean;
var m_nState:Number;
var m_nScore:int;
var m_nGameState_Pred:Number;
public function Model_Basic_Object(_arg1:Number=NaN){
m_nSpeed = Model_Settings.POINT_PER_TICKS_HERO_RUN;
super();
m_nID = _arg1;
m_bChangePos = false;
m_nLife_Energy = 100;
setScore(0);
}
public function onGameAddScore(_arg1:Number):void{
setScore((getScore() + _arg1));
}
public function setSpeed(_arg1:Number):void{
m_nSpeed = _arg1;
}
public function onFinishFinishLevel():void{
startNewLevel();
}
public function setStateForced(_arg1:Number):void{
setState(Number.NaN);
setState(_arg1);
}
public function onWin():void{
setState(Model_Settings.HERO_WIN);
setSpeed(Model_Settings.POINT_PER_TICKS_HERO_FINISH);
}
public function getSpeed():Number{
return (m_nSpeed);
}
public function setPos(_arg1:Number):void{
var _local2:InfoObj_Basic;
if (_arg1 != m_nPos){
m_nPos = _arg1;
setChanged();
_local2 = InfoObj_Basic(getInfoObj());
_local2.m_nPos = m_nPos;
notifyObservers(_local2);
};
}
public function onCollision(_arg1:Number, _arg2:Model_Obstacle):void{
}
override protected function makeInfoObj():InfoObj{
var _local1:InfoObj_Basic;
_local1 = new InfoObj_Basic(m_nID);
_local1.setID(m_nID);
_local1.m_mSender = this;
return (_local1);
}
public function isChangePos():Boolean{
return (m_bChangePos);
}
public function onLostAllLifeBy(_arg1:Model_Obstacle):void{
setState(Model_Settings.HERO_LOST_LIFE);
}
public function getPos():Number{
return (m_nPos);
}
public function onLostAllEnergyNotAllLifeBy(_arg1:Model_Obstacle):void{
switch (_arg1.getType()){
case Model_Settings.OBSTACLE_SIMPLE:
setState(Model_Settings.HERO_LOST_LIFE);
break;
case Model_Settings.OBSTACLE_COMPLEX:
setState(Model_Settings.HERO_FIGHT_DOWN);
break;
};
}
public function setLife_Energy(_arg1:Number):void{
var _local2:InfoObj_Basic;
m_nLife_Energy = _arg1;
_local2 = InfoObj_Basic(getInfoObj());
_local2.m_nLife_Energy = _arg1;
setChanged();
notifyObservers(_local2);
}
private function onSetLevel_fromView(_arg1:int):void{
startNewLevel();
}
public function onDamage(_arg1:Model_Obstacle):void{
if (isActiveForDamage()){
switch (_arg1.getType()){
case Model_Settings.OBSTACLE_SIMPLE:
case Model_Settings.OBSTACLE_COMPLEX:
setLife_Energy((m_nLife_Energy - _arg1.getDamage()));
if (m_nLife_Energy < 0){
setState(Model_Settings.HERO_HIT);
onLostAllEnergyBy(_arg1);
} else {
if (Model_Settings.HERO_BLINK_ON_HIT){
setAltState(Model_Settings.OBJ_ALTSTATE_HIT_OBSTACLE);
} else {
setState(Model_Settings.HERO_HIT);
};
};
break;
};
};
}
public function isActiveForDamage():Boolean{
return (true);
}
public function setLifes(_arg1:int):void{
var _local2:InfoObj_Basic;
m_nLifes = _arg1;
_local2 = InfoObj_Basic(getInfoObj());
_local2.m_nLifes = _arg1;
setChanged();
notifyObservers(_local2);
}
protected function onTimeTick():void{
updateState();
if (isChangePos()){
resetChangesPos();
};
}
public function setState_Countdown(_arg1:Number, _arg2:int, _arg3:Model_Obstacle=null):void{
var _local4:InfoObj_Basic;
_local4 = (getInfoObj() as InfoObj_Hero);
_local4.m_nState = _arg1;
_local4.m_mObstacle = _arg3;
_local4.m_iCountdown = _arg2;
setChanged();
notifyObservers(_local4);
}
public function resetChangesPos():void{
m_bChangePos = false;
}
public function onStart():void{
setLife_Energy(Model_Settings.HERO_ENEDGY);
setLifes(Model_Settings.HERO_LIFES);
startNewLevel();
setScore(0);
}
public function startNewLevel():void{
setStateForced(Model_Settings.HERO_RUN);
setSpeed(Model_Settings.POINT_PER_TICKS_HERO_RUN);
setToStart();
}
public function setLevel(_arg1:Model_Level):void{
m_mLevel = _arg1;
}
public function onLostAllEnergyBy(_arg1:Model_Obstacle):void{
setLifes((m_nLifes - 1));
if (m_nLifes <= 0){
onLostAllLifeBy(_arg1);
} else {
onLostAllEnergyNotAllLifeBy(_arg1);
};
}
public function getLevel():Model_Level{
return (m_mLevel);
}
public function setState(_arg1:Number, _arg2:Model_Obstacle=null):Number{
var _local3:InfoObj_Basic;
if (m_nState != _arg1){
m_nStateTicks = 0;
setChanged();
_local3 = (getInfoObj() as InfoObj_Basic);
_local3.m_nState = _arg1;
_local3.m_nStateTicks = m_nStateTicks;
_local3.m_mObstacle = _arg2;
_local3.m_mSender = this;
notifyObservers(_local3);
};
m_nState = _arg1;
return (_arg1);
}
public function setScore(_arg1:int):void{
var _local2:InfoObj_Basic;
m_nScore = _arg1;
_local2 = InfoObj_Basic(getInfoObj());
_local2.m_nScore = _arg1;
setChanged();
notifyObservers(_local2);
}
protected function updateState():void{
setStateTicks((m_nStateTicks + 1));
}
public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_GameState;
var _local4:InfoObj_Collision;
if (_arg2 == null){
return;
};
if ((_arg2 is InfoObj_GameState)){
_local3 = (_arg2 as InfoObj_GameState);
if (_local3.m_nSetState != Model_Settings.GAME_STATE_UNDEF){
onSetGameState(_local3.m_nSetState);
};
if (_local3.m_levelActive != null){
setLevel(_local3.m_levelActive);
};
if (_local3.m_nIDObj == m_nID){
if (((!(isNaN(_local3.m_nSetScore))) && (!((_local3.m_nSetScore == Model_Settings.INT_UNDEF))))){
onGameSetScore(_local3.m_nSetScore);
};
if (((!(isNaN(_local3.m_nAddScore))) && (!((_local3.m_nAddScore == Model_Settings.INT_UNDEF))))){
onGameAddScore(_local3.m_nAddScore);
};
};
if (((!(isNaN(_local3.m_nTimeTick))) && (!(_local3.m_bHoldOn)))){
onTimeTick();
};
} else {
if ((_arg2 is InfoObj_Collision)){
_local4 = (_arg2 as InfoObj_Collision);
if (_local4.m_obstacleWith != null){
if (!_local4.m_bMonitor){
onCollision(_local4.m_nDist, _local4.m_obstacleWith);
} else {
monitorCollision(_local4.m_nDist, _local4.m_obstacleWith);
};
};
};
};
}
protected function oneStep():void{
m_bChangePos = true;
setPos((m_nPos + m_nSpeed));
}
public function getState():Number{
return (m_nState);
}
public function getAltState():Number{
return (m_nAltState);
}
public function onSetGameState(_arg1:Number):void{
onFinishedGameState(m_nGameState_Pred, _arg1);
m_nGameState_Pred = _arg1;
switch (_arg1){
case Model_Settings.GAME_STATE_START:
onStart();
break;
case Model_Settings.GAME_STATE_RUN:
break;
case Model_Settings.GAME_STATE_WAKE_UP:
break;
case Model_Settings.GAME_STATE_GAME_OVER:
break;
case Model_Settings.GAME_STATE_WIN:
onWin();
break;
case Model_Settings.GAME_STATE_FINISH_LEVEL:
onFinishLevel();
break;
};
}
public function onFinishLevel():void{
setState(Model_Settings.HERO_FINISH_LEVEL);
setSpeed(Model_Settings.POINT_PER_TICKS_HERO_FINISH);
}
public function getStateTicks():Number{
return (m_nStateTicks);
}
public function getScore():int{
return (m_nScore);
}
public function onWakeUp():void{
setLife_Energy(100);
}
public function setToStart():void{
setPos(0);
}
public function onFinishedGameState(_arg1:Number, _arg2:Number):void{
switch (_arg1){
case Model_Settings.GAME_STATE_START:
break;
case Model_Settings.GAME_STATE_RUN:
break;
case Model_Settings.GAME_STATE_WAKE_UP:
if (_arg2 != Model_Settings.GAME_STATE_GAME_OVER){
setLife_Energy(100);
setState(Model_Settings.HERO_RUN);
} else {
setState(Model_Settings.HERO_LOSE);
};
break;
case Model_Settings.GAME_STATE_LEVELS_MAP:
if (_arg2 != Model_Settings.GAME_STATE_WIN){
onFinishFinishLevel();
};
break;
};
}
public function onGameSetScore(_arg1:Number):void{
setScore(_arg1);
}
public function setAltState(_arg1:Number):void{
var _local2:InfoObj_Basic;
m_nAltState = _arg1;
setChanged();
_local2 = InfoObj_Basic(getInfoObj());
_local2.m_nAltState = _arg1;
notifyObserversIsNotDef(_local2);
}
public function isReadyFor(_arg1:Model_Obstacle):Boolean{
if (_arg1 == null){
return (true);
};
return (_arg1.isByPass(getState()));
}
public function monitorCollision(_arg1:Number, _arg2:Model_Obstacle):void{
}
override public function execute_game(_arg1:Controller_Commands):void{
if (_arg1.m_bActionTick){
if (isChangePos()){
};
};
if (((_arg1.m_bAction1) && (_arg1.m_bKeyPress))){
onSetLevel_fromView(0);
};
if (((_arg1.m_bAction2) && (_arg1.m_bKeyPress))){
onSetLevel_fromView(1);
};
if (((_arg1.m_bAction3) && (_arg1.m_bKeyPress))){
onSetLevel_fromView(2);
};
if (((_arg1.m_bAction4) && (_arg1.m_bKeyPress))){
onSetLevel_fromView(3);
};
if (((_arg1.m_bAction5) && (_arg1.m_bKeyPress))){
onSetLevel_fromView(4);
};
notifyDef();
}
public function setStateTicks(_arg1:Number):void{
m_nStateTicks = _arg1;
}
}
}//package game.objects_model
Section 125
//Model_Hero_Object (game.objects_model.Model_Hero_Object)
package game.objects_model {
import game.*;
import com.*;
import classes.*;
public class Model_Hero_Object extends Model_Basic_Object {
var m_bActionRight_Down:Boolean;// = false
var m_bActionLeft_Down:Boolean;// = false
var m_arNeedActions:Array;// = null
var m_nCompliteActions:Number;
var m_bActionDown_Down:Boolean;// = false
var m_bActionUp_Down:Boolean;// = false
var m_obstacleFightWith:Model_Obstacle_Complex;
public function Model_Hero_Object(_arg1:Number=0){
m_arNeedActions = null;
m_bActionUp_Down = false;
m_bActionDown_Down = false;
m_bActionLeft_Down = false;
m_bActionRight_Down = false;
super(_arg1);
m_nLifes = Model_Settings.HERO_LIFES;
}
public function isFight():Boolean{
return ((getState() == Model_Settings.HERO_PREPARE_TO_FIGHT));
}
override protected function onTimeTick():void{
super.onTimeTick();
switch (m_nState){
case Model_Settings.HERO_FIGHT_DOWN:
case Model_Settings.HERO_LOST_LIFE:
case Model_Settings.HERO_LOST_LIFE_WAKE_UP:
case Model_Settings.HERO_LOSE:
break;
case Model_Settings.HERO_PREPARE_TO_FIGHT:
break;
case Model_Settings.HERO_FIGHT:
default:
oneStep();
break;
};
}
private function fight(_arg1:Model_Obstacle):void{
var _local2:Model_Obstacle_Complex;
var _local3:int;
_local2 = (_arg1 as Model_Obstacle_Complex);
if (_local2.isLostPreFight()){
_local3 = Model_Settings.getHeroStateOnWinWithObstacle(_local2.getSubType());
setState(_local3, _arg1);
_local2.kill();
} else {
looseFight(_local2);
};
}
override public function onLostAllLifeBy(_arg1:Model_Obstacle):void{
super.onLostAllLifeBy(_arg1);
switch (_arg1.getType()){
case Model_Settings.OBSTACLE_SIMPLE:
break;
case Model_Settings.OBSTACLE_COMPLEX:
break;
};
}
private function looseFight(_arg1:Model_Obstacle):void{
var _local2:Model_Obstacle_Complex;
onDamage(_arg1);
_local2 = (_arg1 as Model_Obstacle_Complex);
_local2.win();
}
override public function onCollision(_arg1:Number, _arg2:Model_Obstacle):void{
var _local3:Number;
var _local4:Model_Obstacle_Complex;
super.onCollision(_arg1, _arg2);
if (_arg2.getFinished()){
return;
};
_local3 = _arg2.getType();
switch (_local3){
case Model_Settings.OBSTACLE_SIMPLE:
if (!isReadyFor(_arg2)){
onDamage(_arg2);
_arg2.setFinished();
_arg2.win();
};
break;
case Model_Settings.OBSTACLE_COMPLEX:
_local4 = (_arg2 as Model_Obstacle_Complex);
if (_local4.isFight()){
fight(_local4);
} else {
prepareToFight(_arg2);
};
break;
};
}
public function long_jump():Boolean{
if (getState() == Model_Settings.HERO_RUN){
setState(Model_Settings.HERO_LONG_JUMP);
return (true);
};
return (false);
}
private function notifyAboutAction(_arg1:Number, _arg2:Boolean):void{
var _local3:InfoObj_Hero;
_local3 = (getInfoObj() as InfoObj_Hero);
if (_arg2){
_local3.m_nStartAction = _arg1;
} else {
_local3.m_nStopAction = _arg1;
};
setChanged();
notifyObservers(_local3);
}
override public function onLostAllEnergyNotAllLifeBy(_arg1:Model_Obstacle):void{
super.onLostAllEnergyNotAllLifeBy(_arg1);
}
override public function onDamage(_arg1:Model_Obstacle):void{
switch (getState()){
case Model_Settings.HERO_PREPARE_TO_FIGHT:
case Model_Settings.HERO_FIGHT:
setState(Model_Settings.HERO_FIGHT_DOWN);
break;
default:
break;
};
super.onDamage(_arg1);
}
public function jump():Boolean{
if (getState() == Model_Settings.HERO_RUN){
setState(Model_Settings.HERO_JUMP);
return (true);
};
return (false);
}
private function winPreFight(_arg1:Model_Obstacle):void{
var _local2:Model_Obstacle_Complex;
var _local3:Number;
setState(Model_Settings.HERO_WIN_FIGHT, _arg1);
_local2 = (_arg1 as Model_Obstacle_Complex);
_local3 = _local2.getDistanceTo(getPos());
_local2.lostPreFight(_local3);
}
override public function setState(_arg1:Number, _arg2:Model_Obstacle=null):Number{
var _local3:InfoObj_Hero;
_local3 = (getInfoObj() as InfoObj_Hero);
switch (_arg1){
case Model_Settings.HERO_PREPARE_TO_FIGHT:
if (_local3.m_mObstacle == null){
_local3.m_mObstacle = m_obstacleFightWith;
};
break;
case Model_Settings.HERO_WIN_FIGHT:
_local3.m_mObstacle = _arg2;
break;
};
super.setState(_arg1, _arg2);
notifyObservers(_local3);
return (m_nState);
}
override public function setScore(_arg1:int):void{
super.setScore(_arg1);
Global.setSckore(_arg1);
}
public function prepareToFight(_arg1:Model_Obstacle):Boolean{
var _local2:Model_Obstacle_Complex;
var _local3:Number;
if ((((((_arg1 is Model_Obstacle_Complex)) && (!((getState() == Model_Settings.HERO_PREPARE_TO_FIGHT))))) && (!((getState() == Model_Settings.HERO_FIGHT))))){
m_obstacleFightWith = (_arg1 as Model_Obstacle_Complex);
_local2 = (_arg1 as Model_Obstacle_Complex);
_local3 = _arg1.getDistanceTo(getPos());
_local2.fight(_local3);
m_arNeedActions = m_obstacleFightWith.getNeedActions();
m_nCompliteActions = 0;
setState(Model_Settings.HERO_PREPARE_TO_FIGHT, m_obstacleFightWith);
return (true);
};
return (false);
}
override protected function updateState():void{
super.updateState();
}
public function checkAction(_arg1:Number):Boolean{
var _local2:InfoObj_Hero;
if (m_arNeedActions == null){
return (true);
};
if (m_arNeedActions.length == m_nCompliteActions){
return (true);
};
_local2 = (getInfoObj() as InfoObj_Hero);
setChanged();
if (m_arNeedActions[m_nCompliteActions] == _arg1){
_local2.m_nComboAction_Right = m_nCompliteActions;
m_nCompliteActions++;
notifyObservers(_local2);
return ((m_arNeedActions.length == m_nCompliteActions));
};
m_nCompliteActions = 0;
_local2.m_nComboAction_Wrong = _arg1;
_local2.m_nComboAction_Right = m_nCompliteActions;
notifyObservers(_local2);
return (false);
}
public function onFinishState(_arg1:Number):void{
var _local2:Model_Level;
switch (_arg1){
case Model_Settings.HERO_TACKLE:
case Model_Settings.HERO_JUMP:
case Model_Settings.HERO_LONG_JUMP:
case Model_Settings.HERO_HIT:
if (!isFight()){
setState(Model_Settings.HERO_RUN);
};
break;
case Model_Settings.HERO_FIGHT_00:
case Model_Settings.HERO_FIGHT_01:
setState(Model_Settings.HERO_RUN);
break;
case Model_Settings.HERO_LOST_LIFE:
if (m_nLifes > 0){
setState(Model_Settings.HERO_LOST_LIFE_WAKE_UP);
} else {
setState(Model_Settings.HERO_LOSE);
};
break;
case Model_Settings.HERO_FIGHT_DOWN:
_local2 = getLevel();
if ((((m_nLifes <= 0)) || (((!((_local2 == null))) && (_local2.isOnly_one_life_for_complex_obstacles()))))){
setState(Model_Settings.HERO_LOSE);
} else {
setState(Model_Settings.HERO_LOST_LIFE_WAKE_UP);
};
break;
case Model_Settings.HERO_LOST_LIFE_WAKE_UP:
break;
};
}
override public function execute_game(_arg1:Controller_Commands):void{
var _local2:Boolean;
_local2 = false;
if (!isNaN(_arg1.m_nStateFinished)){
onFinishState(_arg1.m_nStateFinished);
};
if (isChangePos()){
};
if (_arg1.m_bKeyDown){
if (_arg1.m_bActionDown){
notifyAboutAction(Model_Settings.ACTION_DOWN, true);
if (isFight()){
if (_arg1.m_bKeyPress){
_local2 = checkAction(Model_Settings.ACTION_DOWN);
};
} else {
if (!m_bActionDown_Down){
if (tackle()){
m_bActionDown_Down = true;
};
};
};
} else {
if (_arg1.m_bActionUp){
notifyAboutAction(Model_Settings.ACTION_UP, true);
if (isFight()){
if (_arg1.m_bKeyPress){
_local2 = checkAction(Model_Settings.ACTION_UP);
};
} else {
if (!m_bActionUp_Down){
if (jump()){
m_bActionUp_Down = true;
};
};
};
} else {
if (_arg1.m_bActionLeft){
notifyAboutAction(Model_Settings.ACTION_LEFT, true);
if (isFight()){
if (_arg1.m_bKeyPress){
_local2 = checkAction(Model_Settings.ACTION_LEFT);
};
};
} else {
if (_arg1.m_bActionRight){
notifyAboutAction(Model_Settings.ACTION_RIGHT, true);
if (isFight()){
if (_arg1.m_bKeyPress){
_local2 = checkAction(Model_Settings.ACTION_RIGHT);
};
} else {
if (!m_bActionRight_Down){
if (long_jump()){
m_bActionRight_Down = true;
};
};
};
};
};
};
};
} else {
if (!_arg1.m_bKeyDown){
if (_arg1.m_bActionDown){
notifyAboutAction(Model_Settings.ACTION_DOWN, false);
m_bActionDown_Down = false;
} else {
if (_arg1.m_bActionUp){
notifyAboutAction(Model_Settings.ACTION_UP, false);
m_bActionUp_Down = false;
} else {
if (_arg1.m_bActionLeft){
notifyAboutAction(Model_Settings.ACTION_LEFT, false);
m_bActionLeft_Down = false;
} else {
if (_arg1.m_bActionRight){
notifyAboutAction(Model_Settings.ACTION_RIGHT, false);
m_bActionRight_Down = false;
};
};
};
};
};
};
if (_local2){
winPreFight(m_obstacleFightWith);
};
super.execute_game(_arg1);
}
override protected function makeInfoObj():InfoObj{
var _local1:InfoObj_Basic;
_local1 = new InfoObj_Hero();
_local1.setID(m_nID);
_local1.m_mSender = this;
return (_local1);
}
override public function isActiveForDamage():Boolean{
return (((!((getState() == Model_Settings.HERO_LOST_LIFE))) && (!((getAltState() == Model_Settings.OBJ_ALTSTATE_HIT_OBSTACLE)))));
}
private function makeFightWith(_arg1:Model_Obstacle):void{
var _local2:Model_Obstacle_Complex;
_local2 = (_arg1 as Model_Obstacle_Complex);
setState(Model_Settings.HERO_FIGHT_00, _arg1);
}
override public function update(_arg1:Observable, _arg2:Object):void{
super.update(_arg1, _arg2);
}
public function tackle():Boolean{
if (getState() == Model_Settings.HERO_RUN){
setState(Model_Settings.HERO_TACKLE);
return (true);
};
return (false);
}
override public function setToStart():void{
super.setToStart();
setState(Model_Settings.HERO_RUN);
}
override public function monitorCollision(_arg1:Number, _arg2:Model_Obstacle):void{
var _local3:Number;
var _local4:Model_Obstacle_Complex;
var _local5:int;
var _local6:int;
super.monitorCollision(_arg1, _arg2);
if (_arg2.getFinished()){
return;
};
_local3 = _arg2.getType();
switch (_local3){
case Model_Settings.OBSTACLE_SIMPLE:
if (!isReadyFor(_arg2)){
};
break;
case Model_Settings.OBSTACLE_COMPLEX:
_local4 = (_arg2 as Model_Obstacle_Complex);
_local5 = ((_arg1 - _local4.getCollisionRadius()) / Model_Settings.POINT_PER_TICKS_WORLD);
if (_local4.isFight()){
if (_local4.isLostPreFight()){
_local4.setState_CountDown(Model_Settings.OBSTACLE_STATE_LOST, _local5);
_local6 = Model_Settings.getHeroStateOnWinWithObstacle(_local4.getSubType());
setState_Countdown(_local6, _local5, _arg2);
} else {
_local4.setState_CountDown(Model_Settings.OBSTACLE_STATE_HIT, _local5);
setState_Countdown(Model_Settings.HERO_FIGHT_DOWN, _local5, _arg2);
};
};
break;
};
}
override public function onSetGameState(_arg1:Number):void{
super.onSetGameState(_arg1);
switch (_arg1){
case Model_Settings.GAME_STATE_RUN:
break;
case Model_Settings.GAME_STATE_WAKE_UP:
break;
case Model_Settings.GAME_STATE_GAME_OVER:
break;
case Model_Settings.GAME_STATE_WIN:
break;
};
}
}
}//package game.objects_model
Section 126
//Controller_Interface (game.ui.Controller_Interface)
package game.ui {
import game.*;
import com.mvc.*;
public class Controller_Interface extends AbstractController {
public function Controller_Interface(_arg1:Model){
super(_arg1);
}
public function listenHoldOn(_arg1:Boolean, _arg2:int):void{
var _local3:Controller_Commands;
_local3 = new Controller_Commands();
_local3.m_iHoldOn = (_arg1) ? Model_Settings.STATE_ON : Model_Settings.STATE_OFF;
_local3.m_iHoldOn_Times = _arg2;
getModel().execute(_local3);
}
public function listenAcceptWith(_arg1:Number):void{
var _local2:Controller_Commands;
_local2 = new Controller_Commands();
_local2.m_nAcceptWithState = _arg1;
getModel().execute(_local2);
}
}
}//package game.ui
Section 127
//Elastic_ProgressBar (game.ui.Elastic_ProgressBar)
package game.ui {
import com.*;
public class Elastic_ProgressBar extends TElastic {
var m_nValue:Number;
var m_nMaxSize:Number;
public function Elastic_ProgressBar(){
setElastic();
}
public function setProgress(_arg1:Number, _arg2:Boolean=true):void{
var _local3:Number;
_local3 = ((m_nMaxSize * _arg1) / 100);
_local3 = (Math.round((_local3 / 10)) * 10);
setWidth(_local3, _arg2);
m_nValue = _arg1;
}
public function setMaxSize(_arg1:Number):void{
m_nMaxSize = _arg1;
}
}
}//package game.ui
Section 128
//View_Action_BlowUp (game.ui.View_Action_BlowUp)
package game.ui {
import flash.display.*;
public class View_Action_BlowUp extends MovieClip {
public function setState(_arg1:Boolean=true):void{
if (_arg1){
gotoAndPlay("play");
} else {
gotoAndStop("stop");
};
}
}
}//package game.ui
Section 129
//View_Action_Checkit (game.ui.View_Action_Checkit)
package game.ui {
import game.animation.*;
import game.*;
import flash.display.*;
public class View_Action_Checkit extends View_Animation_Framed {
public var up_on:MovieClip;
var m_bItemState:Boolean;// = false
var m_nAction:Number;// = -1
public var down_on:MovieClip;
public var right_on:MovieClip;
public var left_on:MovieClip;
public function View_Action_Checkit(){
m_nAction = Model_Settings.ACTION_UNDEF;
m_bItemState = false;
super();
addFrameScript(0, frame1);
setStateInfo(View_Interface_Settings.NEED_ACTION_TO_VIEW);
}
function frame1(){
stop();
}
override public function onFinishAnim():void{
super.onFinishAnim();
}
public function setItemState(_arg1:Boolean):void{
m_bItemState = _arg1;
updateItem();
}
override protected function setAnimation(_arg1:Boolean):void{
super.setAnimation(_arg1);
}
override public function setState(_arg1:Number, _arg2:Boolean=true):void{
super.setState(_arg1, _arg2);
}
public function setAction(_arg1:Number):void{
m_nAction = _arg1;
updateItem();
}
public function updateItem():void{
var _local1:Number;
_local1 = ((2 * m_nAction) + (m_bItemState) ? 1 : 0);
setState(_local1);
}
override protected function onAnimation_Start():void{
super.onAnimation_Start();
}
}
}//package game.ui
Section 130
//View_Countdown (game.ui.View_Countdown)
package game.ui {
import game.animation.*;
public class View_Countdown extends View_Animation_Framed {
public function View_Countdown(){
setStateInfo(View_Interface_Settings.COUNTDOWN_STATE);
}
}
}//package game.ui
Section 131
//View_Enemy_Faces (game.ui.View_Enemy_Faces)
package game.ui {
import game.animation.*;
import flash.display.*;
public class View_Enemy_Faces extends View_Animation_Framed {
public var enemy_player_white:MovieClip;
public var alien:MovieClip;
public var grandmother:MovieClip;
public var hooligan:MovieClip;
public var mega_player:MovieClip;
public var enemy_player:MovieClip;
public var manager:MovieClip;
public function View_Enemy_Faces(){
addFrameScript(0, frame1);
setStateInfo(View_Interface_Settings.ENEMY_FACES_STATE);
}
function frame1(){
stop();
}
}
}//package game.ui
Section 132
//View_Finish_Level (game.ui.View_Finish_Level)
package game.ui {
import game.animation.*;
public class View_Finish_Level extends View_Animation_Btn {
}
}//package game.ui
Section 133
//View_Game_Over (game.ui.View_Game_Over)
package game.ui {
import game.animation.*;
public class View_Game_Over extends View_Animation_Framed {
public function View_Game_Over(){
setStateInfo(View_Interface_Settings.GAMEOVER_STATE);
}
override public function update():void{
super.update();
}
}
}//package game.ui
Section 134
//View_Interface (game.ui.View_Interface)
package game.ui {
import game.animation.*;
import game.*;
import com.*;
import flash.display.*;
import com.mvc.*;
import classes.*;
import game.levels_design.*;
public class View_Interface extends TView_With_Btns {
var m_mcLogo:View_logo;
var m_mcLife_Energy:View_Life_Energy;
var m_mcLevelInfo:View_Level_Info;
var m_mcLevelsMap:View_Levels_Map;
var m_mcLifes:View_Lifes;
var m_nGameState:Number;
var m_mcSleep_Aura:View_Sleep_Aura;
var m_mcGame_over:View_Game_Over;
var m_nLifes:int;
var m_mcPB_WakeUp:View_ProgressBar_Boxed;
var m_mcIndicator:View_Position_Indicator;
var m_mcScore:View_Score;
var m_mcActionsCombo:View_Panel_For_Combo;
var m_mcLose:View_Lose;
var m_mcCountdown:View_Countdown;
var m_mcFinishLevel:View_Finish_Level;
public function View_Interface(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2, _arg3);
makeUp(_arg3);
}
public function onFight_PrepareToFight(_arg1:Model_Obstacle_Complex=null):void{
m_mcActionsCombo.show();
if (_arg1 != null){
m_mcActionsCombo.setCombos(_arg1.getNeedActions());
m_mcActionsCombo.setEnemyFace(_arg1.getSubType());
} else {
m_mcActionsCombo.setEnemyFace(Model_Settings.OBSTACLE_C_UNDEF);
};
}
public function setLife_Energy(_arg1:Number):void{
m_mcLife_Energy.setValue((_arg1 / 100));
}
override public function onBtnChangeState(_arg1:View_Child, _arg2:Number):void{
super.onBtnChangeState(_arg1, _arg2);
if (((!((m_mcLevelsMap == null))) && (m_mcLevelsMap.isChild(_arg1)))){
onBtnLevelMap(_arg2);
};
}
public function setGameState(_arg1:Number, _arg2:InfoObj=null):void{
var _local3:InfoObj_GameState;
finishGameState(m_nGameState);
switch (_arg1){
case Model_Settings.GAME_STATE_START:
break;
case Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART:
case Model_Settings.GAME_STATE_LEVELS_MAP:
showLogo(false);
break;
case Model_Settings.GAME_STATE_RUN:
showLogo(true);
break;
case Model_Settings.GAME_STATE_PREPARE_TO_FIGHT:
_local3 = (_arg2 as InfoObj_GameState);
if (_local3 != null){
_local3 = (_arg2 as InfoObj_GameState);
onFight_PrepareToFight((_local3.m_obstacleFightWith as Model_Obstacle_Complex));
} else {
onFight_PrepareToFight();
};
break;
case Model_Settings.GAME_STATE_READY_TO_FIGHT:
onFight_ReadyToFight();
break;
case Model_Settings.GAME_STATE_WAKE_UP:
m_mcLose.show();
m_mcLose.startWakeUp();
showLogo(false);
break;
case Model_Settings.GAME_STATE_GAME_OVER:
showLogo(false);
break;
case Model_Settings.GAME_STATE_FINISH_LEVEL:
setFinishLevel(true);
break;
case Model_Settings.GAME_STATE_WIN:
winGame();
showLogo(false);
break;
};
m_nGameState = _arg1;
}
public function holdOnGame(_arg1:Boolean, _arg2:int=2147483647):void{
Controller_Interface(getController()).listenHoldOn(_arg1, _arg2);
}
public function mapLevel(_arg1:Model_Level):void{
createLevelsMap(true);
if (_arg1.getID() == Model_Settings_Levels.LEVEL_START){
showLevelsMap(true, false);
} else {
showLevelsMap(true);
};
if (m_mcLevelsMap != null){
m_mcLevelsMap.setLevel(_arg1);
};
}
public function onFight_ReadyToFight():void{
}
public function makeUp(_arg1:MovieClip):void{
if (_arg1.lifes_mc != null){
m_mcLifes = _arg1.lifes_mc;
addChild(m_mcLifes);
};
if (_arg1.life_energy_mc != null){
m_mcLife_Energy = _arg1.life_energy_mc;
addChild(m_mcLife_Energy);
};
if (_arg1.levelInfo_mc != null){
m_mcLevelInfo = _arg1.levelInfo_mc;
m_mcLevelInfo.show(false);
addChild(m_mcLevelInfo);
};
if (_arg1.panel_for_combo_mc != null){
m_mcActionsCombo = _arg1.panel_for_combo_mc;
m_mcActionsCombo.init();
m_mcActionsCombo.visible = false;
m_mcActionsCombo.show(false);
addChild(m_mcActionsCombo);
};
if (_arg1.sleep_aura_mc != null){
m_mcSleep_Aura = _arg1.sleep_aura_mc;
m_mcSleep_Aura.setState(View_Interface_Settings.SLEEP_AURA_HIDE);
m_mcSleep_Aura.visible = false;
addChild(m_mcSleep_Aura);
};
if (_arg1.wakeup_progressbar_mc != null){
m_mcPB_WakeUp = _arg1.wakeup_progressbar_mc;
m_mcPB_WakeUp.visible = false;
m_mcPB_WakeUp.init();
m_mcPB_WakeUp.hideAll();
m_mcPB_WakeUp.close();
addChild(m_mcPB_WakeUp);
};
if (_arg1.lose_mc != null){
m_mcLose = _arg1.lose_mc;
addChild(m_mcLose);
};
m_mcCountdown = _arg1.countdown_mc;
if (m_mcCountdown != null){
m_mcCountdown.visible = false;
addChild(m_mcCountdown);
};
m_mcGame_over = _arg1.game_over_mc;
if (m_mcGame_over != null){
m_mcGame_over.visible = false;
addChild(m_mcGame_over);
};
m_mcScore = _arg1.score_mc;
if (m_mcScore != null){
m_mcScore.show(false);
addChild(m_mcScore);
};
m_mcFinishLevel = _arg1.finished_level_box_mc;
if (m_mcFinishLevel != null){
m_mcFinishLevel.visible = false;
addChild(m_mcFinishLevel);
};
m_mcLogo = (_arg1.getChildByName("logo_mc") as View_logo);
if (m_mcLogo != null){
m_mcLogo.show(false);
addChild(m_mcLogo);
};
m_mcIndicator = (_arg1.getChildByName("indicator_mc") as View_Position_Indicator);
if (m_mcIndicator != null){
m_mcIndicator.show(true);
m_mcIndicator.setProgess(0);
};
}
public function setPos(_arg1:Number, _arg2:Number):void{
m_mcIndicator.setProgess((_arg1 / _arg2));
}
public function setLifes(_arg1:int):void{
m_nLifes = _arg1;
m_mcLifes.setValue(_arg1);
}
override public function defaultController(_arg1:Model):Controller{
return (new Controller_Interface(_arg1));
}
public function onShowVorota_For_LevelsMap():void{
var _local1:MovieClip;
var _local2:Vorota;
showLevelsMap_nonVorota(true);
_local1 = getContainer();
_local2 = new Vorota(_local1, true);
}
public function showLevelsMap_nonVorota(_arg1:Boolean=true):void{
if (m_mcLevelsMap != null){
if (_arg1){
m_mcLevelsMap.visible = true;
} else {
createLevelsMap(false);
};
};
holdOnGame(_arg1);
}
public function onStart():void{
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_GameState;
var _local4:InfoObj_Basic;
var _local5:InfoObj_Hero;
var _local6:InfoObj_WakeUp;
var _local7:InfoObj_Collision;
if (_arg2 == null){
return;
};
if ((_arg2 is InfoObj_GameState)){
_local3 = (_arg2 as InfoObj_GameState);
if (((!(isNaN(_local3.m_nPos))) && (!((_local3.m_nPos == Model_Settings.INT_UNDEF))))){
setPos(_local3.m_nPos, _local3.m_nPosMax);
};
if (_local3.m_nVirtualPos != Model_Settings.INT_UNDEF){
setVirtualPos(_local3.m_nVirtualPos, _local3.m_nVirtualPosFrom, _local3.m_nVirtualPosTo);
};
if (_local3.m_levelActive != null){
setLevel(_local3.m_levelActive);
};
if (_local3.m_mapLevel != null){
mapLevel(_local3.m_mapLevel);
};
if (((!(isNaN(_local3.m_nSetState))) && (!((Model_Settings.GAME_STATE_UNDEF == _local3.m_nSetState))))){
setGameState(_local3.m_nSetState, _local3);
};
if (((!(isNaN(_local3.m_nAcceptWithState))) && (!((_local3.m_nAcceptWithState == Model_Settings.INT_UNDEF))))){
};
} else {
if ((_arg2 is InfoObj_Basic)){
_local4 = (_arg2 as InfoObj_Basic);
if (!isNaN(_local4.m_nLife_Energy)){
setLife_Energy(_local4.m_nLife_Energy);
};
if (_local4.m_nLifes != Model_Settings.INT_UNDEF){
setLifes(_local4.m_nLifes);
};
if (((!(isNaN(_local4.m_nScore))) && (!((_local4.m_nScore == Model_Settings.INT_UNDEF))))){
setScore(_local4.m_nScore);
};
};
};
if ((_arg2 is InfoObj_Hero)){
_local5 = (_arg2 as InfoObj_Hero);
if (!isNaN(_local5.m_nStartAction)){
m_mcActionsCombo.setActionState(_local5.m_nStartAction, true);
};
if (!isNaN(_local5.m_nStopAction)){
m_mcActionsCombo.setActionState(_local5.m_nStopAction, false);
};
if (!isNaN(_local5.m_nComboAction_Right)){
m_mcActionsCombo.setItemState(_local5.m_nComboAction_Right, true);
};
if (!isNaN(_local5.m_nComboAction_Wrong)){
m_mcActionsCombo.clearState();
};
};
if ((_arg2 is InfoObj_WakeUp)){
_local6 = (_arg2 as InfoObj_WakeUp);
if (!isNaN(_local6.m_nWakeUp)){
m_mcLose.setWakeUpValue(_local6.m_nWakeUp);
};
if (((!(isNaN(_arg2.m_nCountdownFull))) && (!(isNaN(_arg2.m_nCountdownLeft))))){
m_mcLose.setCountdown(_arg2.m_nCountdownFull, _arg2.m_nCountdownLeft);
};
};
if ((_arg2 is InfoObj_Collision)){
_local7 = (_arg2 as InfoObj_Collision);
if (_local7.m_nDist != Model_Settings.INT_UNDEF){
onMonitorDistanceToCollision(_local7.m_bMonitor, _local7.m_nDist, _local7.m_obstacleWith);
};
};
super.update(_arg1, _arg2);
}
public function setCombo(_arg1:Array):void{
m_mcActionsCombo.setCombos(_arg1);
}
private function onMonitorDistanceToCollision(_arg1:Boolean, _arg2:int, _arg3:Model_Obstacle):void{
if (m_mcActionsCombo != null){
m_mcActionsCombo.setSensor(!(_arg1), _arg2, _arg3);
};
}
public function setScore(_arg1:int):void{
m_mcScore.setValueNum(_arg1);
}
public function createLevelsMap(_arg1:Boolean=true):void{
if (_arg1){
m_mcLevelsMap = new View_Levels_Map();
addChild(m_mcLevelsMap);
m_mcLevelsMap.visible = false;
} else {
removeChild(m_mcLevelsMap);
m_mcLevelsMap = null;
getContainer().stage.focus = getContainer();
};
}
public function setLevel(_arg1:Model_Level):void{
m_mcLevelInfo.setLevel(_arg1);
}
private function onBtnLevelMap(_arg1:int):void{
switch (_arg1){
case View_Settings.STATE_ANIM_BTN_UP:
if (m_nGameState == Model_Settings.GAME_STATE_LEVELS_MAP){
Controller_Interface(getController()).listenAcceptWith(Model_Settings.GAME_STATE_LEVELS_MAP);
} else {
Controller_Interface(getController()).listenAcceptWith(Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART);
};
break;
};
}
override public function onFinishState(_arg1:View_Child, _arg2:Number):void{
super.onFinishState(_arg1, _arg2);
switch (_arg1){
case m_mcLose:
if (_arg2 == View_Interface_Settings.LOSE_START){
Controller_Interface(getController()).listenAcceptWith(Model_Settings.GAME_STATE_WAKE_UP);
};
break;
};
}
public function setVirtualPos(_arg1:int, _arg2:int, _arg3:int):void{
if (m_mcActionsCombo != null){
m_mcActionsCombo.setProgress(((_arg1 - _arg2) / (_arg3 - _arg2)));
};
}
public function finishGameState(_arg1:Number):void{
switch (_arg1){
case Model_Settings.GAME_STATE_WAKE_UP:
m_mcLose.startWakeUp(false);
break;
case Model_Settings.GAME_STATE_PREPARE_TO_FIGHT:
m_mcActionsCombo.show(false);
break;
case Model_Settings.GAME_STATE_READY_TO_FIGHT:
break;
case Model_Settings.GAME_STATE_GAME_OVER:
break;
case Model_Settings.GAME_STATE_FINISH_LEVEL:
setFinishLevel(false);
break;
case Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART:
case Model_Settings.GAME_STATE_LEVELS_MAP:
m_mcLevelInfo.show(true);
m_mcScore.show(true);
showLevelsMap(false);
break;
};
}
public function setCountdown(_arg1:Number, _arg2:Number):void{
var _local3:Number;
_local3 = Math.round(((10 * _arg2) / _arg1));
if (_local3 > 9){
_local3 = 9;
};
if (_local3 < 0){
_local3 = 0;
};
if (!m_mcCountdown.visible){
m_mcCountdown.show();
};
m_mcCountdown.setState(_local3);
}
public function onFight():void{
}
private function onBtnFinishLevel(_arg1:Number):void{
switch (_arg1){
case View_Settings.STATE_ANIM_BTN_UP:
Controller_Interface(getController()).listenAcceptWith(Model_Settings.GAME_STATE_FINISH_LEVEL);
break;
};
}
public function showLogo(_arg1:Boolean):void{
if (m_mcLogo != null){
m_mcLogo.show(_arg1);
};
}
private function showLevelsMap(_arg1:Boolean=true, _arg2:Boolean=true):void{
var _local3:Vorota;
var _local4:MovieClip;
if (_arg1){
};
if (_arg2){
_local4 = getContainer();
if (_arg1){
_local3 = new Vorota(_local4, false, _local4, null, onShowVorota_For_LevelsMap);
} else {
_local3 = new Vorota(_local4, false, _local4, null, onHideVorota_For_LevelsMap);
};
} else {
showLevelsMap_nonVorota(_arg1);
};
}
public function onHideVorota_For_LevelsMap():void{
var _local1:MovieClip;
var _local2:Vorota;
showLevelsMap_nonVorota(false);
_local1 = getContainer();
_local2 = new Vorota(_local1, true);
}
public function winGame():void{
}
public function setFinishLevel(_arg1:Boolean=true):void{
}
}
}//package game.ui
Section 135
//View_Interface_Settings (game.ui.View_Interface_Settings)
package game.ui {
import game.*;
import com.*;
public class View_Interface_Settings extends TSettings {
public static const LOSE_FINISH:int = 1;
public static const PROGRESSBAR_SHOW:Number = 1;
public static const COMBO_STATE:Array = new Array({id:View_Settings.STATE_CLOSE, label_name:"close_panel", next_state:Number.NaN, is_loop:false}, {id:View_Settings.STATE_OPEN, label_name:"open_panel", next_state:Number.NaN, is_loop:false});
public static const SLEEP_AURA_HIDE:Number = -1;
public static const LOSE_START:int = 0;
public static const PROGRESSBAR_OPEN_SPEED:Number = 0.5;
public static const ENEMY_FACES_STATE:Array = new Array({id:Model_Settings.OBSTACLE_C_UNDEF, label_name:"none", next_state:Number.NaN, is_loop:true, is_anim_next_state:false}, {id:Model_Settings.OBSTACLE_C_HOOLIGAN, label_name:"hooligan", next_state:Number.NaN, is_loop:true, is_anim_next_state:false}, {id:Model_Settings.OBSTACLE_C_OLDMOTHER, label_name:"grandmother", next_state:Number.NaN, is_loop:true, is_anim_next_state:false}, {id:Model_Settings.OBSTACLE_C_MANAGER, label_name:"manager", next_state:Number.NaN, is_loop:true, is_anim_next_state:false}, {id:Model_Settings.OBSTACLE_C_ALIEN, label_name:"alien", next_state:Number.NaN, is_loop:true, is_anim_next_state:false}, {id:Model_Settings.OBSTACLE_C_ENEMY_PLAYER, label_name:"enemy_player", next_state:Number.NaN, is_loop:true, is_anim_next_state:false}, {id:Model_Settings.OBSTACLE_C_ENEMY_PLAYER_WHITE, label_name:"enemy_player_white", next_state:Number.NaN, is_loop:true, is_anim_next_state:false}, {id:Model_Settings.OBSTACLE_C_MEGA_PLAYER, label_name:"mega_player", next_state:Number.NaN, is_loop:true, is_anim_next_state:false});
public static const SLEEP_AURA_ON:Number = 1;
public static const PROGRESSBAR_ELEMENT_UNDEF:Number = -1;
public static const GAMEOVER_STATE:Array = new Array({id:View_Settings.STATE_CLOSE, label_name:"close", next_state:Number.NaN, is_loop:false}, {id:View_Settings.STATE_OPEN, label_name:"open", next_state:Number.NaN, is_loop:false});
public static const PROGRESSBAR_HIDE:Number = 2;
public static const PROGRESSBAR_ELEMENT_HIDE:Number = 3;
public static const COUNTDOWN_STATE:Array = new Array({id:0, label_name:"count_0", next_state:Number.NaN, is_loop:false}, {id:1, label_name:"count_1", next_state:Number.NaN, is_loop:false}, {id:2, label_name:"count_2", next_state:Number.NaN, is_loop:false}, {id:3, label_name:"count_3", next_state:Number.NaN, is_loop:false}, {id:4, label_name:"count_4", next_state:Number.NaN, is_loop:false}, {id:5, label_name:"count_5", next_state:Number.NaN, is_loop:false}, {id:6, label_name:"count_6", next_state:Number.NaN, is_loop:false}, {id:7, label_name:"count_7", next_state:Number.NaN, is_loop:false}, {id:8, label_name:"count_8", next_state:Number.NaN, is_loop:false}, {id:9, label_name:"count_9", next_state:Number.NaN, is_loop:false}, {id:View_Settings.STATE_CLOSE, label_name:"close", next_state:Number.NaN, is_loop:false});
public static const SENSOR_STATE:Array = new Array({id:0, label_name:"sensor_0", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:1, label_name:"sensor_1", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:2, label_name:"sensor_2", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:3, label_name:"sensor_3", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:4, label_name:"sensor_4", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:5, label_name:"sensor_5", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:6, label_name:"sensor_6", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:7, label_name:"sensor_7", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:8, label_name:"sensor_8", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:9, label_name:"sensor_9", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:10, label_name:"sensor_10", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:11, label_name:"sensor_11", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:12, label_name:"sensor_12", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:13, label_name:"sensor_13", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:14, label_name:"sensor_14", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:15, label_name:"sensor_15", next_state:Number.NaN, is_loop:false, is_anim_next_state:false});
public static const LOSE_STATE:Array = new Array({id:LOSE_START, label_name:"fade_in", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:LOSE_FINISH, label_name:"fade_out", next_state:Number.NaN, is_anim_next_state:false, is_loop:false});
public static const PROGRESSBAR_ELEMENT_OFF:Number = 0;
public static const PROGRESSBAR_ELEMENT_LABEL:Array = new Array({id:PROGRESSBAR_ELEMENT_SHOW, label_name:"show_mc", next_state:PROGRESSBAR_ELEMENT_OFF, is_anim_next_state:false, is_loop:false}, {id:PROGRESSBAR_ELEMENT_HIDE, label_name:"hide_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PROGRESSBAR_ELEMENT_OFF, label_name:"off_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PROGRESSBAR_ELEMENT_ON, label_name:"on_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false});
public static const PROGRESSBAR_UNDEF:Number = 0;
public static const PROGRESSBAR_ELEMENT_ON:Number = 1;
public static const LEVELS_MAP_STATE:Array = new Array({id:0, label_name:"level_0", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:1, label_name:"level_1", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:2, label_name:"level_2", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:3, label_name:"level_3", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:4, label_name:"level_4", next_state:Number.NaN, is_anim_next_state:false, is_loop:false});
public static const ACTIONS_CHECKIT_COUNT:Number = 6;
public static const PROGRESSBAR_ELEMENTS:Array = new Array("progressbar_el_00_mc", "progressbar_el_01_mc", "progressbar_el_02_mc", "progressbar_el_03_mc", "progressbar_el_04_mc", "progressbar_el_05_mc", "progressbar_el_06_mc", "progressbar_el_07_mc", "progressbar_el_08_mc", "progressbar_el_09_mc");
public static const PROGRESSBAR_ELEMENT_SHOW:Number = 2;
public static const SLEEP_AURA_OFF:Number = 0;
public static var SLEEP_AURA_LABEL:Array = new Array({id:SLEEP_AURA_HIDE, visible:false}, {id:SLEEP_AURA_OFF, visible:true, label_name:"off"}, {id:SLEEP_AURA_ON, visible:true, label_name:"on"});
public static var ELEMENT_STATE_BY_PROGRESSBAR_STATE:Array = new Array({pb:PROGRESSBAR_SHOW, pb_element:PROGRESSBAR_ELEMENT_SHOW}, {pb:PROGRESSBAR_HIDE, pb_element:PROGRESSBAR_ELEMENT_HIDE});
public static var NEED_ACTION_TO_VIEW:Array = new Array({id:(2 * Model_Settings.ACTION_UNDEF), state:false, label_name:"undef", next_state:Number.NaN, is_anim_next_state:true, is_loop:true}, {id:((2 * Model_Settings.ACTION_UNDEF) + 1), state:true, label_name:"undef", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:(2 * Model_Settings.ACTION_RIGHT), state:false, label_name:"right_off", next_state:Number.NaN, is_anim_next_state:true, is_loop:true}, {id:((2 * Model_Settings.ACTION_RIGHT) + 1), state:true, label_name:"right_on", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:(2 * Model_Settings.ACTION_UP), state:false, label_name:"up_off", next_state:Number.NaN, is_anim_next_state:true, is_loop:true}, {id:((2 * Model_Settings.ACTION_UP) + 1), state:true, label_name:"up_on", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:(2 * Model_Settings.ACTION_LEFT), state:false, label_name:"left_off", next_state:Number.NaN, is_anim_next_state:true, is_loop:true}, {id:((2 * Model_Settings.ACTION_LEFT) + 1), state:true, label_name:"left_on", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:(2 * Model_Settings.ACTION_DOWN), state:false, label_name:"down_off", next_state:Number.NaN, is_anim_next_state:true, is_loop:true}, {id:((2 * Model_Settings.ACTION_DOWN) + 1), state:true, label_name:"down_on", next_state:Number.NaN, is_anim_next_state:true, is_loop:false});
public static var ACTION_TO_VIEW:Array = new Array({id:Model_Settings.ACTION_RIGHT, label_name:"action_right_mc"}, {id:Model_Settings.ACTION_UP, label_name:"action_up_mc"}, {id:Model_Settings.ACTION_LEFT, label_name:"action_left_mc"}, {id:Model_Settings.ACTION_DOWN, label_name:"action_down_mc"});
public static var ACTIONS_CHECKITS_NAME:Array = new Array("action_0_mc", "action_1_mc", "action_2_mc", "action_3_mc", "action_4_mc", "action_5_mc");
public static var LIFE_TO_LABEL:Array = new Array("0", "1", "2", "3", "4", "5");
public static function getNameByAction(_arg1:Number):String{
var _local2:Object;
for each (_local2 in ACTION_TO_VIEW) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (null);
}
public static function getSleepAuraVisible(_arg1:Number):Boolean{
var _local2:Object;
for each (_local2 in SLEEP_AURA_LABEL) {
if (_local2.id == _arg1){
return (_local2.visible);
};
};
return (false);
}
public static function getSleepAuraLabel(_arg1:Number):String{
var _local2:Object;
for each (_local2 in SLEEP_AURA_LABEL) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (null);
}
public static function getProgressBarElementChangeState(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in PROGRESSBAR_ELEMENT_LABEL) {
if (_local2.id == _arg1){
return (_local2.change_state_on_repeat);
};
};
return (Number.NaN);
}
public static function getElementStateByProgressBarState(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in ELEMENT_STATE_BY_PROGRESSBAR_STATE) {
if (_local2.pb == _arg1){
return (_local2.pb_element);
};
};
return (PROGRESSBAR_ELEMENT_UNDEF);
}
public static function getLableByNeedAction(_arg1:Number, _arg2:Boolean):String{
var _local3:Object;
if (_arg1 == Model_Settings.ACTION_UNDEF){
};
for each (_local3 in NEED_ACTION_TO_VIEW) {
if ((((_local3.id == _arg1)) && ((_local3.state == _arg2)))){
return (_local3.label_name);
};
};
return (null);
}
public static function getProgressBarElementLabel(_arg1:Number):String{
var _local2:Object;
for each (_local2 in PROGRESSBAR_ELEMENT_LABEL) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (null);
}
}
}//package game.ui
Section 136
//View_Level_Info (game.ui.View_Level_Info)
package game.ui {
import game.animation.*;
import game.*;
import flash.display.*;
public class View_Level_Info extends View_Animation_SimpleTextField {
public var open:MovieClip;
public var close:MovieClip;
public function View_Level_Info(){
m_bSyncState = true;
}
public function setLevel(_arg1:Model_Level):void{
if (_arg1 == null){
setLevelName("unknown!");
};
setLevelName(_arg1.getName());
}
public function setLevelName(_arg1:String):Boolean{
setValueStr(_arg1);
return (true);
}
}
}//package game.ui
Section 137
//View_Levels_Map (game.ui.View_Levels_Map)
package game.ui {
import game.animation.*;
import game.*;
import flash.events.*;
import flash.display.*;
import classes.*;
public class View_Levels_Map extends View_Animation_TimeLine {
public var level_0:MovieClip;
public var level_2:MovieClip;
public var level_3:MovieClip;
public var level_1:MovieClip;
public var level_4:MovieClip;
public var play_btn:SimpleButton;
public var play_title_mc:play_title;
public function View_Levels_Map(){
var _local1:SimpleButton;
super();
visible = false;
setStateInfo(View_Interface_Settings.LEVELS_MAP_STATE);
_local1 = (getChildByName("play_btn") as SimpleButton);
initBtnsListeners(_local1);
init();
}
protected function removeBtnsListeners(_arg1:SimpleButton):void{
if (_arg1 != null){
_arg1.removeEventListener(MouseEvent.CLICK, listenBtnClick, false);
_arg1.removeEventListener(MouseEvent.ROLL_OUT, listenBtnRollOver, false);
};
}
public function setLevel(_arg1:Model_Level):void{
setEffForState(getState(), false);
setState((_arg1.getID() - 1), false);
setState(_arg1.getID());
}
override public function onFinishAnim():void{
super.onFinishAnim();
setEffForState(getState(), true);
}
public function setEffForState(_arg1:Number, _arg2:Boolean=true):void{
var _local3:String;
var _local4:MovieClip;
_local3 = getLabelByState(_arg1);
if (_local3 == null){
return;
};
_local4 = (getChildByName(_local3) as MovieClip);
if (_local4 != null){
if (_arg2){
if (_local4.currentLabel != "on"){
_local4.gotoAndStop("on");
};
} else {
if (_local4.currentLabel != "off"){
_local4.gotoAndStop("off");
};
};
};
}
override public function show(_arg1:Boolean=true):void{
visible = _arg1;
init();
}
public function init():void{
var _local1:MovieClip;
_local1 = (getChildByName("play_title_mc") as MovieClip);
if (_local1 != null){
_local1.mouseEnabled = false;
};
}
private function listenBtnRollOver(_arg1:MouseEvent):void{
var _local2:TView_With_Btns;
Global.sound_interface.playSound(null, "s_over", 0, 0);
_local2 = (getParenView() as TView_With_Btns);
if (_local2 != null){
_local2.onBtnChangeState(this, View_Settings.STATE_ANIM_BTN_OVER);
//unresolved jump
};
}
protected function initBtnsListeners(_arg1:SimpleButton):void{
if (_arg1 != null){
_arg1.addEventListener(MouseEvent.CLICK, listenBtnClick, false, 0, true);
_arg1.addEventListener(MouseEvent.ROLL_OUT, listenBtnRollOver, false, 0, true);
};
}
private function listenBtnClick(_arg1:MouseEvent):void{
var _local2:TView_With_Btns;
var _local3:SimpleButton;
Global.sound_interface.playSound(null, "s_click", 0, 0);
_local2 = (getParenView() as TView_With_Btns);
if (_local2 != null){
_local3 = (_arg1.currentTarget as SimpleButton);
removeBtnsListeners(_local3);
_local2.onBtnChangeState(this, View_Settings.STATE_ANIM_BTN_UP);
//unresolved jump
};
}
}
}//package game.ui
Section 138
//View_Life_Energy (game.ui.View_Life_Energy)
package game.ui {
import com.*;
import flash.display.*;
public class View_Life_Energy extends TUpdatableMC {
var m_nCurrentFrame:Number;
var m_bAnimate:Boolean;// = false
var m_iProgressToFrame:int;
public var bg_mc:MovieClip;
var m_iProgressFromFrame:int;
public function View_Life_Energy(_arg1:MovieClip=null){
m_bAnimate = false;
super();
progressToFrame(1, false);
}
private function speedBy(_arg1:Number):Number{
if (_arg1 > 0){
_arg1 = ((2 * _arg1) - 1);
_arg1 = (6 * ((-(_arg1) * _arg1) + 1.07));
return (_arg1);
};
_arg1 = ((2 * _arg1) + 1);
_arg1 = (6 * ((_arg1 * _arg1) - 1.07));
return (_arg1);
}
public function makeUP():void{
}
public function setValue(_arg1:Number):void{
var _local2:int;
var _local3:int;
if (_arg1 < 0){
_arg1 = 0;
} else {
if (_arg1 > 1){
_arg1 = 1;
};
};
_local2 = totalFrames;
_local3 = ((_arg1 * (_local2 - 1)) + 1);
if (((((!((_local3 == currentFrame))) && ((_local3 > 0)))) && ((_local3 <= _local2)))){
progressToFrame(_local3);
};
}
private function stopAnimate():void{
m_bAnimate = false;
}
public function progressToFrame(_arg1:int, _arg2:Boolean=true):void{
m_iProgressToFrame = _arg1;
m_iProgressFromFrame = currentFrame;
m_nCurrentFrame = m_iProgressFromFrame;
m_bAnimate = _arg2;
if (_arg2){
} else {
gotoAndStop(_arg1);
};
}
override public function update():void{
var _local1:int;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:int;
super.update();
if (m_bAnimate){
_local1 = currentFrame;
if (_local1 == m_iProgressToFrame){
stopAnimate();
} else {
_local2 = ((m_iProgressToFrame - m_nCurrentFrame) / Math.abs((m_iProgressToFrame - m_iProgressFromFrame)));
_local3 = speedBy(_local2);
_local4 = (m_nCurrentFrame + _local3);
if (Math.abs((_local5 - m_iProgressToFrame)) < 1){
gotoAndStop(m_iProgressToFrame);
m_nCurrentFrame = m_iProgressToFrame;
} else {
_local5 = _local4;
gotoAndStop(_local5);
m_nCurrentFrame = _local4;
};
};
};
}
}
}//package game.ui
Section 139
//View_Lifes (game.ui.View_Lifes)
package game.ui {
import com.*;
import flash.display.*;
public class View_Lifes extends TUpdatableMC {
var m_arStars:Array;
public function View_Lifes(_arg1:MovieClip=null){
addFrameScript(0, frame1);
m_arStars = new Array();
}
public function setValue(_arg1:Number):void{
gotoAndStop((_arg1 + 1));
}
function frame1(){
stop();
}
public function setMaxLifes(_arg1:Number):void{
while (--_arg1 >= 0) {
m_arStars.push();
};
}
override public function update():void{
super.update();
}
}
}//package game.ui
Section 140
//View_logo (game.ui.View_logo)
package game.ui {
import flash.events.*;
import flash.display.*;
import classes.*;
public class View_logo extends MovieClip {
public var gamezheroBtn:MovieClip;
public function View_logo(){
if (gamezheroBtn != null){
gamezheroBtn.addEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2, false, 0, true);
gamezheroBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverZorro, false, 0, true);
gamezheroBtn.buttonMode = true;
gamezheroBtn.useHandCursor = true;
};
}
private function diactivateAllButtons():void{
gamezheroBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2, false);
gamezheroBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverZorro, false);
}
public function mouseOverZorro(_arg1:MouseEvent):void{
if (gamezheroBtn["blick"] != null){
gamezheroBtn["blick"].play();
};
if (gamezheroBtn["blick2"] != null){
gamezheroBtn["blick2"].play();
};
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
public function playMoreGames2(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
Global.getURL(Global._urls["zorro_logo"]);
}
public function show(_arg1:Boolean):void{
visible = _arg1;
}
}
}//package game.ui
Section 141
//View_Lose (game.ui.View_Lose)
package game.ui {
import game.animation.*;
public class View_Lose extends View_Animation_TimeLine {
var m_nLeft:Number;// = -1
var m_nFull:Number;// = -1
var m_nValue:Number;// = -1
public var progress_mc:View_Lose_Progress;
public function View_Lose(){
m_nFull = -1;
m_nLeft = -1;
m_nValue = -1;
super();
setStateInfo(View_Interface_Settings.LOSE_STATE);
}
public function setCountdown(_arg1:Number, _arg2:Number):void{
var _local3:View_Lose_Progress;
if ((((_arg1 == m_nFull)) && ((m_nLeft == _arg2)))){
return;
};
m_nFull = _arg1;
m_nLeft = _arg2;
_local3 = getProgress();
if (_local3 != null){
_local3.setCountdown(_arg1, _arg2);
};
}
override public function onFinishAnim():void{
super.onFinishAnim();
getParenView().onFinishState(this, getState());
}
public function startWakeUp(_arg1:Boolean=true):void{
setState((_arg1) ? View_Interface_Settings.LOSE_START : View_Interface_Settings.LOSE_FINISH);
}
private function getProgress():View_Lose_Progress{
return ((getChildByName("progress_mc") as View_Lose_Progress));
}
public function setWakeUpValue(_arg1:Number):void{
var _local2:View_Lose_Progress;
if (_arg1 == m_nValue){
return;
};
m_nValue = _arg1;
_local2 = getProgress();
if (_local2 != null){
_local2.setWakeUpValue(_arg1);
};
}
}
}//package game.ui
Section 142
//View_Lose_Progress (game.ui.View_Lose_Progress)
package game.ui {
import flash.display.*;
import flash.text.*;
public class View_Lose_Progress extends MovieClip {
private var m_iPredProgress:int;// = -1
public var timer_txt:TextField;
private var m_iPredValue:int;// = -1
public function View_Lose_Progress(){
m_iPredValue = -1;
m_iPredProgress = -1;
super();
stop();
}
public function setWakeUpValue(_arg1:Number):void{
var _local2:int;
_local2 = ((_arg1 * (totalFrames - 1)) + 1);
setProgress(_local2);
}
public function getTimer():TextField{
return ((getChildByName("timer_txt") as TextField));
}
public function setProgress(_arg1:int):void{
if (m_iPredProgress == _arg1){
return;
};
m_iPredProgress = _arg1;
gotoAndStop(_arg1);
}
public function setText(_arg1:int):void{
var _local2:TextField;
if (m_iPredValue == _arg1){
return;
};
m_iPredValue = _arg1;
_local2 = getTimer();
if (_local2 != null){
_local2.text = _arg1.toString();
};
}
public function setCountdown(_arg1:Number, _arg2:Number):void{
var _local3:int;
_local3 = ((9 * _arg2) / _arg1);
setText(_local3);
}
}
}//package game.ui
Section 143
//View_Panel_For_Combo (game.ui.View_Panel_For_Combo)
package game.ui {
import game.animation.*;
import game.*;
import flash.display.*;
public class View_Panel_For_Combo extends View_Animation_TimeLine {
var m_arCombo:Array;
var m_nEnemyFace:int;// = -1
var m_nNeedActionFrom:int;
var m_archiveSensor:Object;// = null
var m_actionCheckits_Temp:Array;
var m_mcContainer:MovieClip;
var m_actionCheckits:Array;
public var panel_mc:MovieClip;
var m_nSensor:int;// = -1
var m_vSensor:View_Sensor;
public function View_Panel_For_Combo(){
m_nEnemyFace = Model_Settings.STATE_UNDEF;
m_nSensor = Model_Settings.STATE_UNDEF;
m_archiveSensor = null;
m_bSyncState = true;
super();
setStateInfo(View_Interface_Settings.COMBO_STATE);
m_vSensor = getSensor();
}
private function initEnemyFaces(_arg1:int):void{
var _local2:View_Animation_Abstract;
_local2 = getEnemyFaces();
if (_local2 != null){
_local2.setState(_arg1);
};
}
public function clearState():void{
var _local1:View_Action_Checkit;
for each (_local1 in m_actionCheckits) {
_local1.setItemState(false);
};
}
public function setActionState(_arg1:Number, _arg2:Boolean):void{
var _local3:View_Action_BlowUp;
_local3 = getActionCheckit(_arg1);
if (_local3 != null){
_local3.setState(_arg2);
};
}
private function setCombo(_arg1:Number, _arg2:Number):Boolean{
var _local3:View_Action_Checkit;
_local3 = m_actionCheckits[(_arg1 + m_nNeedActionFrom)];
if (_local3 == null){
return (false);
};
_local3.setAction(_arg2);
return (true);
}
override protected function onAnimation_FirstUpdate():Boolean{
if (super.onAnimation_FirstUpdate()){
init();
return (true);
};
return (false);
}
public function setProgress(_arg1:Number):void{
if (m_vSensor == null){
m_vSensor = getSensor();
};
if (m_vSensor != null){
m_vSensor.setPos(_arg1);
};
}
private function getSensor():View_Sensor{
return ((getAnimByName("sensor_mc") as View_Sensor));
}
public function setSensor(_arg1:Boolean, _arg2:int, _arg3:Model_Obstacle):void{
if (_arg3.getType() == Model_Settings.OBSTACLE_COMPLEX){
if (_arg1){
initSensor(_arg2, _arg3);
} else {
monitorSensor(_arg2, _arg3);
};
};
}
override public function update():void{
super.update();
}
private function getContainer_Mirror():MovieClip{
var _local1:MovieClip;
_local1 = getAnimation_Mirror();
if (_local1 == null){
return (null);
};
_local1 = (_local1.getChildByName("panel_mc") as MovieClip);
return (_local1);
}
private function getAnimByName(_arg1:String):View_Animation_Abstract{
var _local2:MovieClip;
var _local3:View_Animation_Abstract;
_local2 = getContainer();
if (_local2 == null){
return (null);
};
return ((_local2.getChildByName(_arg1) as View_Animation_Abstract));
}
private function initSensor(_arg1:int=2147483647, _arg2:Model_Obstacle=null):void{
var _local3:View_Sensor;
_local3 = getSensor();
if (_local3 != null){
_local3.detectObstacle(_arg1, _arg2);
};
}
private function getEnemyFaces():View_Animation_Abstract{
return (getAnimByName("enemy_faces_mc"));
}
public function setItemState(_arg1:Number, _arg2:Boolean):Boolean{
var _local3:View_Action_Checkit;
_local3 = m_actionCheckits[(_arg1 + m_nNeedActionFrom)];
if (_local3 == null){
return (false);
};
_local3.setItemState(_arg2);
return (true);
}
public function init():void{
var _local1:View_Action_Checkit;
var _local2:MovieClip;
var _local3:int;
var _local4:int;
var _local5:View_Sensor;
var _local6:String;
m_actionCheckits = new Array();
_local2 = getContainer();
if (_local2 == null){
return;
};
_local3 = View_Interface_Settings.ACTIONS_CHECKITS_NAME.length;
_local4 = 0;
while (_local4 < _local3) {
_local6 = View_Interface_Settings.ACTIONS_CHECKITS_NAME[_local4];
_local1 = (_local2.getChildByName(_local6) as View_Action_Checkit);
if (_local1 != null){
m_actionCheckits.push(_local1);
_local1.stop();
addChildToUpdate(_local1);
};
_local4++;
};
initAction(Model_Settings.ACTION_RIGHT);
initAction(Model_Settings.ACTION_LEFT);
initAction(Model_Settings.ACTION_UP);
initAction(Model_Settings.ACTION_DOWN);
m_nNeedActionFrom = 0;
initCombos(m_arCombo);
initEnemyFaces(m_nEnemyFace);
_local5 = getSensor();
if (_local5 != null){
_local5.init();
};
}
override protected function saveState(_arg1:int):void{
var _local2:int;
var _local3:View_Action_Checkit;
var _local4:View_Sensor;
super.saveState(_arg1);
if (m_actionCheckits == null){
return;
};
_local2 = m_actionCheckits.length;
m_actionCheckits_Temp = new Array(_local2);
while (--_local2 >= 0) {
_local3 = m_actionCheckits[_local2];
if (_local3 != null){
_arg1 = _local3.getState();
} else {
_arg1 = Model_Settings.STATE_UNDEF;
};
m_actionCheckits_Temp[_local2] = _arg1;
};
_local4 = getSensor();
if (_local4 != null){
m_archiveSensor = _local4.saveStateToArchive();
};
}
override protected function loadState(_arg1:int):void{
var _local2:int;
var _local3:View_Action_Checkit;
var _local4:View_Sensor;
super.loadState(_arg1);
if (m_actionCheckits_Temp == null){
return;
};
_local2 = m_actionCheckits_Temp.length;
while (--_local2 >= 0) {
_local3 = m_actionCheckits[_local2];
_arg1 = m_actionCheckits_Temp[_local2];
if (((!((_local3 == null))) && (!((_arg1 == Model_Settings.STATE_UNDEF))))){
_local3.setState(_arg1, false);
};
};
_local4 = getSensor();
if (_local4 != null){
_local4.loadStateFromArchive(m_archiveSensor);
};
}
private function initAction(_arg1:Number):void{
var _local2:View_Action_BlowUp;
_local2 = getActionCheckit(_arg1);
_local2.setState(false);
}
private function getActionCheckit(_arg1:Number):View_Action_BlowUp{
var _local2:String;
var _local3:MovieClip;
var _local4:View_Action_BlowUp;
_local2 = View_Interface_Settings.getNameByAction(_arg1);
_local3 = getContainer();
if (_local3 == null){
return (null);
};
_local4 = (_local3.getChildByName(_local2) as View_Action_BlowUp);
return (_local4);
}
private function monitorSensor(_arg1:int, _arg2:Model_Obstacle):void{
var _local3:View_Sensor;
_local3 = getSensor();
if (_local3 != null){
_local3.monitorDist(_arg1, _arg2);
};
}
public function setEnemyFace(_arg1:Number):void{
m_nEnemyFace = _arg1;
initEnemyFaces(m_nEnemyFace);
}
public function setCombos(_arg1:Array):void{
m_arCombo = _arg1;
if (visible){
initCombos(m_arCombo);
};
}
private function getContainer():MovieClip{
var _local1:MovieClip;
_local1 = (getChildByName("panel_mc") as MovieClip);
return (_local1);
}
private function initCombos(_arg1:Array):void{
var _local2:int;
var _local3:int;
var _local4:int;
if (_arg1 == null){
return;
};
clearAllCombos();
m_nNeedActionFrom = Math.floor(((m_actionCheckits.length - _arg1.length) / 2));
_local2 = _arg1.length;
_local4 = 0;
while (_local4 < _local2) {
_local3 = _arg1[_local4];
setCombo(_local4, _local3);
setItemState(_local4, false);
_local4++;
};
}
private function clearAllCombos():void{
var _local1:View_Action_Checkit;
for each (_local1 in m_actionCheckits) {
_local1.setAction(Model_Settings.ACTION_UNDEF);
};
}
}
}//package game.ui
Section 144
//View_Position_Indicator (game.ui.View_Position_Indicator)
package game.ui {
import game.*;
import flash.display.*;
public class View_Position_Indicator extends MovieClip {
var m_iFrameCount:int;// = 2147483647
public function View_Position_Indicator(){
m_iFrameCount = Model_Settings.INT_UNDEF;
super();
m_iFrameCount = totalFrames;
}
public function setProgess(_arg1:Number):void{
var _local2:int;
_local2 = (((m_iFrameCount - 1) * _arg1) + 1);
if (((((!((currentFrame == _local2))) && ((_local2 > 0)))) && ((_local2 <= m_iFrameCount)))){
gotoAndStop(_local2);
};
}
public function show(_arg1:Boolean):void{
visible = _arg1;
}
}
}//package game.ui
Section 145
//View_ProgressBar_Boxed (game.ui.View_ProgressBar_Boxed)
package game.ui {
import com.*;
import flash.display.*;
public class View_ProgressBar_Boxed extends TUpdatableMC {
var m_nStateProgress:Number;// = 0
var m_nElementState:Number;// = 0
var m_arElements:Array;
var m_nStateTicks:Number;// = 0
var m_nState:Number;
var m_nStatePlayProgress:Boolean;// = false
public function View_ProgressBar_Boxed(){
m_nStatePlayProgress = false;
m_nStateTicks = 0;
m_nStateProgress = 0;
m_nElementState = 0;
super();
setState(View_Interface_Settings.PROGRESSBAR_UNDEF);
}
public function init(){
var _local1:String;
var _local2:MovieClip;
var _local3:Number;
m_arElements = new Array();
_local3 = 0;
while (_local3 < View_Interface_Settings.PROGRESSBAR_ELEMENTS.length) {
_local1 = View_Interface_Settings.PROGRESSBAR_ELEMENTS[_local3];
_local2 = (getChildByName(_local1) as View_ProgressBar_Element);
_local2.setStateInfo(View_Interface_Settings.PROGRESSBAR_ELEMENT_LABEL);
m_arElements.push(_local2);
_local3++;
};
hideAll();
}
public function close():void{
visible = false;
}
public function show(_arg1:Boolean=true):void{
if (_arg1){
visible = true;
setState(View_Interface_Settings.PROGRESSBAR_SHOW);
} else {
setState(View_Interface_Settings.PROGRESSBAR_HIDE);
};
}
public function setValue(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = 0;
_local3 = m_arElements.length;
_local4 = Math.floor((_arg1 * _local3));
while (_local2 < _local4) {
getElement(_local2).setState(View_Interface_Settings.PROGRESSBAR_ELEMENT_ON);
_local2++;
};
while (_local2 < _local3) {
getElement(_local2).setState(View_Interface_Settings.PROGRESSBAR_ELEMENT_OFF);
_local2++;
};
}
public function updateState():void{
var _local1:View_ProgressBar_Element;
if (!m_nStatePlayProgress){
return;
};
m_nStateTicks++;
m_nStateProgress = (m_nStateProgress + View_Interface_Settings.PROGRESSBAR_OPEN_SPEED);
if (m_nStateProgress >= m_arElements.length){
m_nStatePlayProgress = false;
onLastAnimationFrame();
} else {
_local1 = getElement(m_nStateProgress);
_local1.setState(m_nElementState);
};
}
public function setState(_arg1:Number):void{
if (m_nState == _arg1){
return;
};
m_nState = _arg1;
if (View_Interface_Settings.PROGRESSBAR_UNDEF == _arg1){
m_nStatePlayProgress = false;
} else {
m_nStatePlayProgress = true;
m_nStateTicks = 0;
m_nStateProgress = 0;
m_nElementState = View_Interface_Settings.getElementStateByProgressBarState(m_nState);
};
}
public function open():void{
visible = true;
}
public function onLastAnimationFrame():void{
switch (m_nState){
case View_Interface_Settings.PROGRESSBAR_HIDE:
visible = false;
break;
};
}
override public function update():void{
updateState();
super.update();
}
public function getElement(_arg1:Number):View_ProgressBar_Element{
_arg1 = Math.floor(_arg1);
return ((m_arElements[_arg1] as View_ProgressBar_Element));
}
public function hideAll():void{
var _local1:View_ProgressBar_Element;
for each (_local1 in m_arElements) {
_local1.setState(View_Interface_Settings.PROGRESSBAR_ELEMENT_HIDE, false);
};
}
}
}//package game.ui
Section 146
//View_ProgressBar_Element (game.ui.View_ProgressBar_Element)
package game.ui {
import game.animation.*;
public class View_ProgressBar_Element extends View_Animation_Layered {
}
}//package game.ui
Section 147
//View_Score (game.ui.View_Score)
package game.ui {
import game.animation.*;
import flash.display.*;
public class View_Score extends View_Animation_SimpleTextField {
public var open:MovieClip;
public var close:MovieClip;
}
}//package game.ui
Section 148
//View_Sensor (game.ui.View_Sensor)
package game.ui {
import game.animation.*;
import game.*;
import flash.text.*;
public class View_Sensor extends View_Animation_Framed {
public var m_iMinDist:int;// = 2147483647
public var m_iMaxDist:int;// = 2147483647
private var m_nOldValue:int;// = 2147483647
private var m_iOldState:int;// = 2147483647
private var m_nFrames:int;
private var m_tfState:TextField;
public var m_iStateCount:int;// = 2147483647
public var state_txt:TextField;
public function View_Sensor(){
m_iMaxDist = Model_Settings.INT_UNDEF;
m_iMinDist = Model_Settings.INT_UNDEF;
m_iStateCount = Model_Settings.INT_UNDEF;
m_nOldValue = Model_Settings.INT_UNDEF;
m_iOldState = Model_Settings.INT_UNDEF;
m_nFrames = totalFrames;
super();
setStateInfo(View_Interface_Settings.SENSOR_STATE);
m_iStateCount = View_Interface_Settings.SENSOR_STATE.length;
m_tfState = (getChildByName("state_txt") as TextField);
}
public function monitorDist(_arg1:int, _arg2:Model_Obstacle):void{
var _local3:int;
if ((((m_iMinDist == Model_Settings.INT_UNDEF)) || ((m_iMaxDist == Model_Settings.INT_UNDEF)))){
detectObstacle(_arg1, _arg2);
};
if (m_iStateCount == Model_Settings.INT_UNDEF){
_local3 = ((10 - ((10 * (_arg1 - m_iMinDist)) / (m_iMaxDist - m_iMinDist))) + 0.5);
} else {
_local3 = ((m_iStateCount - ((m_iStateCount * (_arg1 - m_iMinDist)) / (m_iMaxDist - m_iMinDist))) + 0.5);
};
setState(_local3);
}
public function detectObstacle(_arg1:int, _arg2:Model_Obstacle):void{
m_iMaxDist = _arg1;
if (_arg2 == null){
m_iMinDist = m_iMaxDist;
} else {
m_iMinDist = Model_Settings.getComplexObstacleCollisionDist(_arg2.getSubType());
};
}
public function setPos(_arg1:Number):void{
var _local2:int;
var _local3:int;
if (m_nOldValue == _arg1){
return;
};
_local2 = ((_arg1 * (m_nFrames - 1)) + 1);
if (_local2 != currentFrame){
gotoAndStop(_local2);
};
if (m_tfState != null){
_local3 = (9 - (_arg1 * 8));
if (m_iOldState != _local3){
m_tfState.text = _local3.toString();
m_iOldState = _local3;
};
};
m_nOldValue = _arg1;
}
public function init():void{
m_iMaxDist = Model_Settings.INT_UNDEF;
m_iMinDist = Model_Settings.INT_UNDEF;
setState(0);
}
public function saveStateToArchive():Object{
var _local1:Object;
_local1 = {m_iMaxDist:m_iMaxDist, m_iMinDist:m_iMinDist};
return (_local1);
}
public function loadStateFromArchive(_arg1:Object):void{
}
}
}//package game.ui
Section 149
//View_Sleep_Aura (game.ui.View_Sleep_Aura)
package game.ui {
import com.*;
import flash.display.*;
public class View_Sleep_Aura extends TUpdatableMC {
var m_nState:Number;
public function View_Sleep_Aura(){
setState(View_Interface_Settings.SLEEP_AURA_HIDE);
}
public function setState(_arg1:Number):void{
var _local2:String;
var _local3:Boolean;
var _local4:MovieClip;
_local2 = View_Interface_Settings.getSleepAuraLabel(_arg1);
_local3 = View_Interface_Settings.getSleepAuraVisible(_arg1);
if (((!((_local2 == null))) && ((_local2.length > 0)))){
gotoAndStop(_local2);
_local4 = (this.getChildByName("anim_mc") as MovieClip);
if (_local4 != null){
_local4.stop();
};
};
visible = _local3;
m_nState = _arg1;
}
public function onLastAnimationFrame():void{
if (m_nState == View_Interface_Settings.SLEEP_AURA_OFF){
visible = false;
setState(View_Interface_Settings.SLEEP_AURA_HIDE);
};
}
override public function update():void{
var _local1:MovieClip;
if (m_nState == View_Interface_Settings.SLEEP_AURA_HIDE){
return;
};
_local1 = (this.getChildByName("anim_mc") as MovieClip);
if (_local1 != null){
if (_local1.currentFrame >= _local1.totalFrames){
onLastAnimationFrame();
} else {
_local1.nextFrame();
};
};
super.update();
}
public function show(_arg1:Boolean=true):void{
if (_arg1){
visible = true;
setState(View_Interface_Settings.SLEEP_AURA_ON);
} else {
setState(View_Interface_Settings.SLEEP_AURA_OFF);
};
}
}
}//package game.ui
Section 150
//CGroundView (game.CGroundView)
package game {
public class CGroundView {
public var m_strObjName:String;
public var m_nDepth:Number;
public var m_iSpeed:int;
public var m_nDensity:Number;
public var m_nType:Number;
public var m_nID:Number;
public var m_arObjs:Array;
public function CGroundView(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String, _arg5:Array=null, _arg6:Number=NaN, _arg7:int=2147483647){
m_nType = _arg2;
m_nDepth = _arg3;
m_strObjName = _arg4;
m_arObjs = _arg5;
m_nDensity = _arg6;
m_iSpeed = _arg7;
}
}
}//package game
Section 151
//Controller_Commands (game.Controller_Commands)
package game {
public class Controller_Commands {
public var m_bAction1:Boolean;
public var m_bAction2:Boolean;
public var m_bActionLeft:Boolean;
public var m_bAction4:Boolean;
public var m_bAction3:Boolean;
public var m_bAction5:Boolean;
public var m_nAcceptWithState:Number;
public var m_bActionUp:Boolean;
public var m_bActionTick:Boolean;
public var m_bActionP:Boolean;
public var m_bActionR:Boolean;
public var m_bActionDown:Boolean;
public var m_nIDObjLeaveScreen:Number;// = NAN
public var m_nChangeSpeed:Number;
public var m_bActionSpace:Boolean;
public var m_bStartGame:Boolean;
public var m_nLeaveScreen:Number;// = 0
public var m_bKeyPress:Boolean;
public var m_bActionRight:Boolean;
public var m_iHoldOn_Times:int;// = 2147483647
public var m_nStateFinished:Number;
public var m_bKeyDown:Boolean;
public var m_iHoldOn:int;// = 2147483647
public function Controller_Commands(_arg1:Boolean=false, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:Boolean=false, _arg7:Boolean=false, _arg8:Boolean=false, _arg9:Number=NaN, _arg10:Boolean=false, _arg11:Boolean=false){
m_nIDObjLeaveScreen = Number.NaN;
m_nLeaveScreen = Model_Settings.LEAVE_SCREE_DEF;
m_iHoldOn = Model_Settings.INT_UNDEF;
m_iHoldOn_Times = Model_Settings.INT_UNDEF;
super();
m_bKeyDown = _arg1;
m_bActionUp = _arg2;
m_bActionDown = _arg3;
m_bActionLeft = _arg4;
m_bActionRight = _arg5;
m_bActionSpace = _arg7;
m_bActionTick = _arg6;
m_bStartGame = _arg8;
m_nStateFinished = _arg9;
m_bActionP = _arg10;
m_bActionR = _arg11;
}
public function getLeaveScreenTop():Boolean{
return (((m_nLeaveScreen & Model_Settings.LEAVE_SCREE_TOP) > 0));
}
public function setLeaveScreenBottom():void{
m_nLeaveScreen = (m_nLeaveScreen | Model_Settings.LEAVE_SCREE_BOTTOM);
}
public function getLeaveScreenRight():Boolean{
return (((m_nLeaveScreen & Model_Settings.LEAVE_SCREE_RIGHT) > 0));
}
public function initLeaveScreen(_arg1:Number):void{
m_nIDObjLeaveScreen = _arg1;
m_nLeaveScreen = Model_Settings.LEAVE_SCREE_DEF;
}
public function getLeaveScreenBottom():Boolean{
return (((m_nLeaveScreen & Model_Settings.LEAVE_SCREE_BOTTOM) > 0));
}
public function setLeaveScreenTop():void{
m_nLeaveScreen = (m_nLeaveScreen | Model_Settings.LEAVE_SCREE_TOP);
}
public function setLeaveScreenLeft():void{
m_nLeaveScreen = (m_nLeaveScreen | Model_Settings.LEAVE_SCREE_LEFT);
}
public function setLeaveScreenRight():void{
m_nLeaveScreen = (m_nLeaveScreen | Model_Settings.LEAVE_SCREE_RIGHT);
}
public function getLeaveScreenLeft():Boolean{
return (((m_nLeaveScreen & Model_Settings.LEAVE_SCREE_LEFT) > 0));
}
public function isLeaveScreen():Boolean{
return (!(isNaN(m_nIDObjLeaveScreen)));
}
}
}//package game
Section 152
//Controller_Game (game.Controller_Game)
package game {
import com.mvc.*;
public class Controller_Game extends AbstractController {
public function Controller_Game(_arg1:Model){
super(_arg1);
}
public function listenObjLeaveScreen(_arg1:Number, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean){
var _local6:Controller_Commands;
_local6 = new Controller_Commands();
_local6.initLeaveScreen(_arg1);
if (_arg2){
_local6.setLeaveScreenLeft();
};
if (_arg3){
_local6.setLeaveScreenRight();
};
if (_arg4){
_local6.setLeaveScreenTop();
};
if (_arg5){
_local6.setLeaveScreenBottom();
};
getModel().execute(_local6);
}
public function listenStateFinished(_arg1:Number){
var _local2:Controller_Commands;
_local2 = new Controller_Commands();
_local2.m_nStateFinished = _arg1;
getModel().execute(_local2);
}
}
}//package game
Section 153
//Controller_Keys (game.Controller_Keys)
package game {
import flash.events.*;
import com.mvc.*;
import main.*;
import flash.ui.*;
public class Controller_Keys extends AbstractController {
var m_bActionSpace:Boolean;
var m_nLastTimeSpaceDown:Number;
var m_bAction1:Boolean;
var m_bAction2:Boolean;
var m_bActionLeft:Boolean;
var m_bAction4:Boolean;
var m_bActionRight:Boolean;
var m_bAction3:Boolean;
var m_bAction5:Boolean;
var m_bActionUp:Boolean;
var m_bActionDown:Boolean;
var m_bActionP:Boolean;
var m_bActionR:Boolean;
public function Controller_Keys(_arg1:Model){
super(_arg1);
}
public function listenKeyUp(_arg1:KeyboardEvent):void{
var _local2:Controller_Commands;
_local2 = new Controller_Commands();
switch (_arg1.keyCode){
case Keyboard.UP:
_local2.m_bKeyDown = false;
_local2.m_bActionUp = true;
m_bActionUp = false;
getModel().execute(_local2);
break;
case Keyboard.DOWN:
_local2.m_bKeyDown = false;
_local2.m_bActionDown = true;
m_bActionDown = false;
getModel().execute(_local2);
break;
case Keyboard.LEFT:
_local2.m_bKeyDown = false;
_local2.m_bActionLeft = true;
m_bActionLeft = false;
getModel().execute(_local2);
break;
case Keyboard.RIGHT:
_local2.m_bKeyDown = false;
_local2.m_bActionRight = true;
m_bActionRight = false;
getModel().execute(_local2);
break;
case Keyboard.SPACE:
_local2.m_bKeyDown = false;
_local2.m_bActionSpace = true;
m_bActionSpace = false;
getModel().execute(_local2);
break;
case Keyboard.ESCAPE:
case 80:
_local2.m_bKeyDown = false;
_local2.m_bActionP = true;
m_bActionP = false;
getModel().execute(_local2);
break;
case "R":
_local2.m_bKeyDown = false;
_local2.m_bActionR = true;
m_bActionR = false;
getModel().execute(_local2);
break;
case 49:
_local2.m_bKeyDown = false;
_local2.m_bAction1 = true;
m_bAction1 = false;
getModel().execute(_local2);
break;
case 50:
_local2.m_bKeyDown = false;
_local2.m_bAction2 = true;
m_bAction2 = false;
getModel().execute(_local2);
break;
case 51:
_local2.m_bKeyDown = false;
_local2.m_bAction3 = true;
m_bAction3 = false;
getModel().execute(_local2);
break;
case 52:
_local2.m_bKeyDown = false;
_local2.m_bAction4 = true;
m_bAction4 = false;
getModel().execute(_local2);
break;
case 53:
_local2.m_bKeyDown = false;
_local2.m_bAction5 = true;
m_bAction5 = false;
getModel().execute(_local2);
break;
};
}
public function listenKeyDown(_arg1:KeyboardEvent):void{
var _local2:Controller_Commands;
_local2 = new Controller_Commands();
switch (_arg1.keyCode){
case Keyboard.UP:
_local2.m_bKeyDown = true;
_local2.m_bActionUp = true;
if (!m_bActionUp){
_local2.m_bKeyPress = true;
m_bActionUp = true;
};
getModel().execute(_local2);
break;
case Keyboard.DOWN:
_local2.m_bKeyDown = true;
_local2.m_bActionDown = true;
if (!m_bActionDown){
_local2.m_bKeyPress = true;
m_bActionDown = true;
};
getModel().execute(_local2);
break;
case Keyboard.LEFT:
_local2.m_bKeyDown = true;
_local2.m_bActionLeft = true;
if (!m_bActionLeft){
_local2.m_bKeyPress = true;
m_bActionLeft = true;
};
getModel().execute(_local2);
break;
case Keyboard.RIGHT:
_local2.m_bKeyDown = true;
_local2.m_bActionRight = true;
if (!m_bActionRight){
_local2.m_bKeyPress = true;
m_bActionRight = true;
};
getModel().execute(_local2);
break;
case Keyboard.SPACE:
_local2.m_bKeyDown = true;
_local2.m_bActionSpace = true;
if (!m_bActionSpace){
_local2.m_bKeyPress = true;
m_bActionSpace = true;
};
getModel().execute(_local2);
break;
case Keyboard.ESCAPE:
case 80:
_local2.m_bKeyDown = true;
_local2.m_bActionP = true;
if (!m_bActionP){
_local2.m_bKeyPress = true;
m_bActionP = true;
};
getModel().execute(_local2);
break;
};
if (Global_Settings.GOD_MODE){
switch (_arg1.charCode){
case "p":
case "P":
_local2.m_bKeyDown = true;
_local2.m_bActionP = true;
if (!m_bActionP){
_local2.m_bKeyPress = true;
m_bActionP = true;
};
getModel().execute(_local2);
break;
case "R":
_local2.m_bKeyDown = true;
_local2.m_bActionR = true;
if (!m_bActionR){
_local2.m_bKeyPress = true;
m_bActionR = true;
};
getModel().execute(_local2);
break;
};
};
}
}
}//package game
Section 154
//Controller_Pause (game.Controller_Pause)
package game {
import com.mvc.*;
public class Controller_Pause extends AbstractController {
public function Controller_Pause(_arg1:Model){
super(_arg1);
}
public function setPause(_arg1:Boolean):void{
var _local2:Controller_Pause_Commands;
_local2 = new Controller_Pause_Commands();
_local2.m_nSetPause = (_arg1) ? 1 : 0;
getModel().execute(_local2);
}
public function setGameState(_arg1:Number):void{
var _local2:Controller_Pause_Commands;
_local2 = new Controller_Pause_Commands();
_local2.m_nSetGameState = _arg1;
getModel().execute(_local2);
}
}
}//package game
Section 155
//Controller_Pause_Commands (game.Controller_Pause_Commands)
package game {
public class Controller_Pause_Commands {
public var m_nSetPause:Number;
public var m_nSetGameState:Number;
}
}//package game
Section 156
//Controller_Timer (game.Controller_Timer)
package game {
import flash.events.*;
import com.mvc.*;
public class Controller_Timer extends AbstractController {
public function Controller_Timer(_arg1:Model){
super(_arg1);
}
public function listenTimer(_arg1:TimerEvent):void{
var _local2:Controller_Commands;
_local2 = new Controller_Commands();
_local2.m_bActionTick = true;
getModel().execute(_local2);
_arg1.updateAfterEvent();
}
}
}//package game
Section 157
//GameSystem (game.GameSystem)
package game {
import flash.display.*;
import com.mvc.*;
import main.*;
import game.objects_model.*;
import game.ui.*;
public class GameSystem {
private var m_mcContainer:MovieClip;
private var m_gameModel:Model_Game;
private var m_debugView:View_Debug;
private var m_gameView:View_Game;
private var m_vSound:View_Sound;
private var m_keysView:View_Keys;
private var m_mWakeUp:Model_WakeUp;
private var m_vPause:View_Pause;
private var m_debugView_Hero:View_Debug;
private var m_vInterface:View_Interface;
private var m_timerView:View_Timer;
private var m_timerView_Refresh:View_Timer;
private var m_heroModel:Model_Hero_Object;
public function GameSystem(_arg1:MovieClip=null){
initModels();
initViews(_arg1);
}
public function removeViews():void{
m_gameModel.removeObserver(m_gameView);
m_gameModel.removeObserver(m_keysView);
m_gameModel.removeObserver(m_timerView);
m_gameModel.removeObserver(m_vInterface);
m_gameModel.removeObserver(m_vPause);
m_gameModel.removeObserver(m_vSound);
m_gameView = null;
m_keysView = null;
m_timerView = null;
m_vInterface = null;
m_vPause = null;
m_vSound = null;
}
public function updateModels():Boolean{
m_gameModel.init();
return (true);
}
public function getMainModel():Model{
return (m_gameModel);
}
public function initModels():Boolean{
m_gameModel = new Model_Game();
m_heroModel = new Model_Hero_Object();
m_mWakeUp = new Model_WakeUp();
m_gameModel.add(m_heroModel);
m_gameModel.add(m_mWakeUp);
m_gameModel.addObserver(m_mWakeUp);
m_gameModel.addObserver(m_heroModel);
return (true);
}
public function start():void{
m_gameModel.start();
}
public function finish():void{
removeViews();
}
public function setMetaModel(_arg1:ModelList):void{
_arg1.add(m_gameModel);
}
public function isViews():Boolean{
return (!((m_mcContainer == null)));
}
public function initViews(_arg1:MovieClip):Boolean{
var _local2:MovieClip;
m_mcContainer = _arg1;
if (_arg1 == null){
return (false);
};
m_gameView = new View_Game(m_gameModel, null, _arg1);
m_gameView.init();
m_keysView = new View_Keys(m_gameModel, null, _arg1);
m_timerView = new View_Timer(m_gameModel, null, _arg1, Global_Settings.GAME_DELAY);
m_vPause = new View_Pause(m_gameModel, null, _arg1);
m_vSound = new View_Sound(m_gameModel, null);
_local2 = (_arg1.getChildByName("ui_mc") as MovieClip);
m_vInterface = new View_Interface(m_gameModel, null, _local2);
if (Global_Settings.DEBUG){
m_debugView = new View_Debug(m_gameModel, null, _arg1);
m_gameModel.addObserver(m_debugView);
m_heroModel.addObserver(m_debugView_Hero);
};
m_gameModel.addObserver(m_gameView);
m_gameModel.addObserver(m_keysView);
m_gameModel.addObserver(m_timerView);
m_gameModel.addObserver(m_vInterface);
m_gameModel.addObserver(m_vPause);
m_gameModel.addObserver(m_vSound);
return (true);
}
}
}//package game
Section 158
//InfoObj (game.InfoObj)
package game {
public class InfoObj {
private var m_nType:Number;
public function InfoObj(){
setType(Model_Settings.INFO_OBJ_DEF);
}
public function getType():Number{
return (m_nType);
}
public function toString():String{
switch (m_nType){
case Model_Settings.INFO_OBJ_DEF:
return ("Type = defaul");
case Model_Settings.INFO_OBJ_BASIC:
return ("Type = basic");
case Model_Settings.INFO_OBJ_HERO:
return ("Type = hero");
case Model_Settings.INFO_OBJ_MSG:
return ("Type = msg");
default:
return (("Type = " + m_nType.toString()));
};
}
public function setType(_arg1:Number):void{
m_nType = _arg1;
}
}
}//package game
Section 159
//InfoObj_All (game.InfoObj_All)
package game {
public class InfoObj_All extends InfoObj {
public var m_nState:Number;
public function InfoObj_All(){
setType(Model_Settings.INFO_OBJ_ALL);
}
}
}//package game
Section 160
//InfoObj_Basic (game.InfoObj_Basic)
package game {
import game.objects_model.*;
public class InfoObj_Basic extends InfoObj {
public var m_mObstacle:Model_Obstacle;
public var m_nLife_Energy:Number;
public var m_nState:Number;
public var m_nPos:Number;
public var m_iCountdown:int;// = 2147483647
public var m_nScore:int;// = 2147483647
public var m_nStateTicks:Number;
public var m_nAltState:Number;
public var m_nLifes:int;// = 2147483647
private var m_nID:Number;
public var m_mSender:Model_Basic_Object;
public function InfoObj_Basic(_arg1:Number=NaN){
m_nLifes = Model_Settings.INT_UNDEF;
m_nScore = Model_Settings.INT_UNDEF;
m_iCountdown = Model_Settings.INT_UNDEF;
super();
setType(Model_Settings.INFO_OBJ_BASIC);
m_nID = _arg1;
}
override public function toString():String{
return ((((((((((((((((super.toString() + "\n") + "m_nID = ") + m_nID.toString()) + "\n") + "m_nPos = ") + m_nPos.toString()) + "\n") + "m_nState = ") + m_nState.toString()) + "\n") + "m_mObstacle = ") + ((m_mObstacle)==null) ? "[null]" : m_mObstacle.toString()) + "\n") + "score = ") + m_nScore));
}
public function getID():Number{
return (m_nID);
}
public function setID(_arg1:Number):void{
m_nID = _arg1;
}
}
}//package game
Section 161
//InfoObj_Collision (game.InfoObj_Collision)
package game {
public class InfoObj_Collision extends InfoObj {
public var m_nDist:Number;
public var m_bMonitor:Boolean;// = false
public var m_obstacleWith:Model_Obstacle;
public function InfoObj_Collision(_arg1:Model_Obstacle=null){
m_bMonitor = false;
super();
m_obstacleWith = _arg1;
setType(Model_Settings.INFO_COLLISION);
}
override public function toString():String{
return ((((((((((super.toString() + "\n") + "m_obstacleWith = ") + m_obstacleWith) + "\n") + "m_nDist = ") + m_nDist) + "\n") + "m_bMonitor = ") + m_bMonitor));
}
}
}//package game
Section 162
//InfoObj_GameState (game.InfoObj_GameState)
package game {
public class InfoObj_GameState extends InfoObj {
public var m_nVirtualPos:int;// = 2147483647
public var m_nTimeTick:Number;
public var m_nSetState:Number;
public var m_nAcceptWithState:Number;
public var m_nIDObj:Number;
public var m_bFinishLevels:Boolean;// = true
public var m_nSetScore:Number;// = 2147483647
public var m_obstacleFightWith:Model_Obstacle;// = null
public var m_levelActive:Model_Level;// = null
public var m_mapLevel:Model_Level;// = null
public var m_nVirtualPosFrom:int;// = 2147483647
public var m_nPos:Number;
public var m_nVirtualPosTo:int;// = 2147483647
public var m_nAddScore:Number;// = 2147483647
public var m_bHoldOn:Boolean;// = false
public var m_nPosMax:Number;
public var m_nPause:Number;
public function InfoObj_GameState(){
m_levelActive = null;
m_mapLevel = null;
m_bFinishLevels = true;
m_bHoldOn = false;
m_obstacleFightWith = null;
m_nVirtualPosFrom = Model_Settings.INT_UNDEF;
m_nVirtualPosTo = Model_Settings.INT_UNDEF;
m_nVirtualPos = Model_Settings.INT_UNDEF;
m_nAddScore = Model_Settings.INT_UNDEF;
m_nSetScore = Model_Settings.INT_UNDEF;
super();
setType(Model_Settings.INFO_OBJ_GAME_STATE);
m_bFinishLevels = true;
m_nSetState = Model_Settings.GAME_STATE_UNDEF;
}
override public function toString():String{
return ((((((((((((((((super.toString() + "\n") + "m_bFinishLevels=") + m_bFinishLevels) + "\n") + "m_nSetState=") + m_nSetState) + "\n") + "m_nTimeTick=") + m_nTimeTick) + "\n") + "m_obstacleFightWith=") + ((m_obstacleFightWith)==null) ? "[NULL]" : m_obstacleFightWith.toString()) + "\n") + "m_nPause=") + m_nPause));
}
}
}//package game
Section 163
//InfoObj_Hero (game.InfoObj_Hero)
package game {
public class InfoObj_Hero extends InfoObj_Basic {
public var m_nStartAction:Number;
public var m_nComboAction_Wrong:Number;
public var m_nStopAction:Number;
public var m_nComboAction_Right:Number;
public function InfoObj_Hero(_arg1:Number=NaN){
super(_arg1);
setType(Model_Settings.INFO_OBJ_HERO);
}
override public function toString():String{
return (((((((super.toString() + "\n") + "m_nStartAction = ") + m_nStartAction) + "\n") + "m_nStopAction = ") + m_nStopAction));
}
}
}//package game
Section 164
//InfoObj_Msg (game.InfoObj_Msg)
package game {
public class InfoObj_Msg extends InfoObj {
public var m_strMsg:String;
public function InfoObj_Msg(_arg1:String=""){
setType(Model_Settings.INFO_OBJ_MSG);
m_strMsg = _arg1;
}
override public function toString():String{
return ((((super.toString() + "\n") + "MSG: ") + m_strMsg));
}
}
}//package game
Section 165
//InfoObj_Obstacle (game.InfoObj_Obstacle)
package game {
public class InfoObj_Obstacle extends InfoObj {
public var m_mObstacle:Model_Obstacle;
public var m_nState:Number;
public var m_iCountdown:int;// = 2147483647
public function InfoObj_Obstacle(_arg1:Model_Obstacle=null){
m_iCountdown = Model_Settings.INT_UNDEF;
super();
m_mObstacle = _arg1;
}
}
}//package game
Section 166
//InfoObj_WakeUp (game.InfoObj_WakeUp)
package game {
public class InfoObj_WakeUp extends InfoObj {
public var m_nCountdownFull:Number;
public var m_nWakeUp:Number;
public var m_nCountdownLeft:Number;
override public function toString():String{
return ((((((((((super.toString() + "\n") + "m_nWakeUp=") + m_nWakeUp) + "\n") + "m_nCountdownLeft=") + m_nCountdownLeft) + "\n") + "m_nCountdownFull=") + m_nCountdownFull));
}
}
}//package game
Section 167
//IView (game.IView)
package game {
public interface IView {
function show(_arg1:Boolean=true):void;
function setState(_arg1:Number):void;
}
}//package game
Section 168
//Model_Game (game.Model_Game)
package game {
import com.*;
import com.mvc.*;
import main.*;
import game.objects_model.*;
import game.levels_design.*;
public class Model_Game extends ModelList {
var m_nVirtualPos:int;// = 0
var m_levels:Model_Levels;
var m_iHoldOn:int;// = 0
var m_nPos:Number;// = 0
var m_nearestObstacle:Model_Obstacle;// = null
var m_nHeroPos:Number;// = 0
var m_bPause:Boolean;// = false
var m_nState_countdown:int;// = 2147483647
var m_nState_countdown_timer:int;// = 2147483647
var m_nVirtualPosFrom:int;// = 0
var m_mVirtualForHero:Model_Basic_Object;// = null
var m_nState:Number;
var m_nTick:Number;
var m_nVirtualPosTo:int;// = 0
var m_nAddSpeed:Number;// = 0
var m_arHoldOnCountdowns:Array;
var m_bInvulnerable:Boolean;// = false
var m_mVirtualForObstacle:Model_Obstacle;// = null
var m_bVirtualPos:Boolean;// = false
public function Model_Game(){
m_nState_countdown = Model_Settings.INT_UNDEF;
m_nState_countdown_timer = Model_Settings.INT_UNDEF;
m_bPause = false;
m_nearestObstacle = null;
m_nPos = 0;
m_bVirtualPos = false;
m_nVirtualPos = 0;
m_nVirtualPosFrom = 0;
m_nVirtualPosTo = 0;
m_mVirtualForHero = null;
m_mVirtualForObstacle = null;
m_nHeroPos = 0;
m_bInvulnerable = Model_Settings.INVULNERABLE;
m_nAddSpeed = 0;
m_iHoldOn = 0;
m_arHoldOnCountdowns = new Array();
super();
m_nState = Model_Settings.GAME_STATE_DEF;
m_levels = new Model_Levels();
m_levels.addObserver(this);
}
public function setHoldOn(_arg1:Boolean, _arg2:int=2147483647):void{
m_iHoldOn = (m_iHoldOn + (_arg1) ? 1 : -1);
if (_arg2 != Model_Settings.INT_UNDEF){
m_arHoldOnCountdowns.push(_arg2);
};
}
public function addScore(_arg1:Number, _arg2:Number):void{
var _local3:InfoObj_GameState;
_local3 = new InfoObj_GameState();
_local3.m_nIDObj = _arg1;
_local3.m_nAddScore = _arg2;
setChanged();
notifyObservers(_local3);
}
private function onChangeHeroPos(_arg1:Number, _arg2:InfoObj):Boolean{
var _local3:Model_Obstacle;
var _local4:Number;
var _local5:InfoObj_Basic;
var _local6:Model_Basic_Object;
var _local7:Number;
m_nHeroPos = _arg1;
if (isInGame()){
_local3 = m_nearestObstacle;
if (m_nearestObstacle != null){
_local4 = Number.NaN;
_local5 = (_arg2 as InfoObj_Basic);
if (_local5 != null){
_local6 = _local5.m_mSender;
if (_local6 != null){
_local4 = _local6.getSpeed();
};
};
if (!checkCollisionWithObstacle(_arg1, _local3)){
onBypassObstacle(Model_Settings.ID_OBJ_HERO, m_nearestObstacle);
findNextObstacle(_arg1);
};
} else {
findNextObstacle(_arg1);
};
};
setPos((m_nPos + Model_Settings.POINT_PER_TICKS_WORLD));
if (isInGame()){
_local7 = (((_arg1 % Model_Settings.ONE_SCORE_BY_STEP))<Model_Settings.POINT_PER_TICKS_HERO_RUN) ? 1 : 0;
addScore(Model_Settings.ID_OBJ_HERO, _local7);
};
if ((((_arg1 >= m_levels.getActiveLevelLen())) && (isInGame()))){
finishedLevel(_arg2);
return (true);
};
return (false);
}
public function clearState_timer():void{
m_nState_countdown_timer = Model_Settings.INT_UNDEF;
m_nState_countdown = Model_Settings.INT_UNDEF;
}
public function setPos(_arg1:Number):void{
var _local2:InfoObj_GameState;
m_nPos = _arg1;
_local2 = new InfoObj_GameState();
_local2.m_nPos = _arg1;
_local2.m_nPosMax = m_levels.getActiveLevelLen();
setChanged();
notifyObservers(_local2);
}
public function onCollision(_arg1:Number, _arg2:Model_Obstacle):void{
var _local3:InfoObj_Collision;
_arg2.setOnCollision(true);
if (!m_bInvulnerable){
setChanged();
_local3 = new InfoObj_Collision(_arg2);
_local3.m_nDist = _arg1;
notifyObservers(_local3);
};
}
private function onCountdownInWakeUp(_arg1:Number, _arg2:Number):void{
if (_arg2 < 0){
setState(Model_Settings.GAME_STATE_GAME_OVER);
};
}
public function isInGame():Boolean{
return (!((((((((m_nState == Model_Settings.GAME_STATE_GAME_OVER)) || ((m_nState == Model_Settings.GAME_STATE_WIN)))) || ((m_nState == Model_Settings.GAME_STATE_FINISH_LEVEL)))) || ((m_nState == Model_Settings.GAME_STATE_LEVELS_MAP)))));
}
private function onChangeHeroState(_arg1:Number, _arg2:InfoObj):void{
var _local3:InfoObj_Hero;
var _local4:Model_Obstacle_Complex;
_local3 = (_arg2 as InfoObj_Hero);
switch (_arg1){
case Model_Settings.HERO_PREPARE_TO_FIGHT:
setState(Model_Settings.GAME_STATE_PREPARE_TO_FIGHT, _arg2);
break;
case Model_Settings.HERO_LOST_LIFE_WAKE_UP:
setState(Model_Settings.GAME_STATE_WAKE_UP, _arg2);
break;
case Model_Settings.HERO_LOSE_FIGHT:
setState(Model_Settings.GAME_STATE_READY_TO_FIGHT, _arg2);
break;
case Model_Settings.HERO_WIN_FIGHT:
if (_local3 != null){
_local4 = (_local3.m_mObstacle as Model_Obstacle_Complex);
if (_local4 != null){
_local4.setRushFightFinished(((m_nVirtualPosTo - m_nVirtualPos) / (m_nVirtualPosTo - m_nVirtualPosFrom)));
};
};
setState(Model_Settings.GAME_STATE_READY_TO_FIGHT, _arg2);
break;
case Model_Settings.HERO_FIGHT_DOWN:
setState(Model_Settings.GAME_STATE_LOSE_FIGHT, _arg2);
break;
case Model_Settings.HERO_LOSE:
if (getState() != Model_Settings.GAME_STATE_GAME_OVER){
setState_timer(Model_Settings.GAME_STATE_GAME_OVER, Model_Settings.GAMEOVER_STATE_TIMER);
};
break;
};
}
public function runVirtual():void{
var _local1:InfoObj_GameState;
if (isVirtualCollision()){
setHeroStateOnVirutalMode(Model_Settings.HERO_LOSE_FIGHT);
setVirtual(false);
} else {
m_nVirtualPos = (m_nVirtualPos + Model_Settings.POINT_PER_TICKS_HERO_RUN);
_local1 = new InfoObj_GameState();
_local1.m_nVirtualPosFrom = m_nVirtualPosFrom;
_local1.m_nVirtualPosTo = m_nVirtualPosTo;
_local1.m_nVirtualPos = m_nVirtualPos;
setChanged();
notifyObservers(_local1);
};
}
private function onWake(_arg1:Number):void{
if (_arg1 >= 1){
setState(Model_Settings.GAME_STATE_RUN);
};
}
public function finishedAllLevels():void{
setState_timer(Model_Settings.GAME_STATE_WIN, Model_Settings.WIN_STATE_TIMER);
}
public function onFinishedState(_arg1:Number, _arg2:Number, _arg3:InfoObj=null):void{
switch (_arg1){
case Model_Settings.GAME_STATE_READY_TO_FIGHT:
break;
case Model_Settings.GAME_STATE_LEVELS_MAP:
if (_arg2 != Model_Settings.GAME_STATE_WIN){
nextLevel();
};
break;
};
}
public function init(){
m_levels.init();
m_bPause = false;
}
private function makeTick():void{
var _local1:InfoObj_GameState;
var _local2:int;
var _local3:int;
if (m_nState_countdown_timer != Model_Settings.INT_UNDEF){
if (--m_nState_countdown_timer <= 0){
_local2 = m_nState_countdown;
m_nState_countdown = Model_Settings.INT_UNDEF;
m_nState_countdown_timer = Model_Settings.INT_UNDEF;
setState(_local2);
};
};
_local1 = new InfoObj_GameState();
if (isHoldOn()){
_local3 = m_arHoldOnCountdowns.length;
while (--_local3 >= 0) {
var _local4 = m_arHoldOnCountdowns;
var _local5 = _local3;
var _local6 = (_local4[_local5] - 1);
_local4[_local5] = _local6;
if (_local6 <= 0){
m_arHoldOnCountdowns.splice(_local3, 1);
setHoldOn(false);
};
};
_local1.m_bHoldOn = true;
} else {
_local1.m_bHoldOn = false;
m_nTick++;
};
if (m_bVirtualPos){
runVirtual();
};
_local1.m_nTimeTick = m_nTick;
setChanged();
notifyObservers(_local1);
}
private function onSetLevel_fromView(_arg1:int):void{
var _local2:Model_Level;
m_nPos = 0;
_local2 = setLevel(_arg1);
if (_local2 != null){
_local2.clear();
};
}
private function checkCollisionWithObstacle(_arg1:Number, _arg2:Model_Obstacle):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Model_Obstacle_Complex;
if ((((_arg2 == null)) || (_arg2.getFinished()))){
return (false);
};
_local3 = _arg2.getDistanceTo(_arg1);
_local4 = _arg2.getType();
switch (_local4){
case Model_Settings.OBSTACLE_SIMPLE:
if (_arg2.isCollision(_local3)){
onCollision(_local3, _arg2);
} else {
if (_arg2.getOnCollision()){
_arg2.setFinished();
_arg2.kill();
return (false);
};
};
break;
case Model_Settings.OBSTACLE_COMPLEX:
_local7 = (_arg2 as Model_Obstacle_Complex);
if (_local7.isCollision(_local3)){
onCollision(_local3, _local7);
};
if (_local7.monitorCollision){
monitorCollision(_local3, _local7);
};
break;
};
return (true);
}
public function setAddSpeed(_arg1:Number):void{
m_nAddSpeed = _arg1;
}
public function isVirtualCollision():Boolean{
if (m_nVirtualPosTo < m_nVirtualPos){
return (true);
};
return (false);
}
public function setPause(_arg1:Boolean):void{
var _local2:InfoObj_GameState;
m_bPause = _arg1;
setChanged();
_local2 = new InfoObj_GameState();
if (_arg1){
_local2.m_nPause = Model_Settings.PAUSE_ON;
} else {
_local2.m_nPause = Model_Settings.PAUSE_OFF;
};
notifyObservers(_local2);
}
public function mapLevel(_arg1:int=2147483647):void{
var _local2:InfoObj_GameState;
_local2 = new InfoObj_GameState();
if (_arg1 == Model_Settings.INT_UNDEF){
_local2.m_mapLevel = m_levels.getActiveLevel();
} else {
_local2.m_mapLevel = m_levels.getLevel(_arg1);
};
setChanged();
notifyObservers(_local2);
}
public function onActivate(_arg1:Boolean=true):void{
if (!_arg1){
if (((((!((getState() == Model_Settings.GAME_STATE_LEVELS_MAP))) && (!((getState() == Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART))))) && (!(m_bPause)))){
setPause(true);
};
};
}
public function finishedLevel(_arg1:InfoObj):void{
setState(Model_Settings.GAME_STATE_FINISH_LEVEL, _arg1);
if (((m_levels.isLastLevel()) || ((m_levels.getActiveLevelID() >= Model_Settings_Levels.LEVEL_FINISH)))){
finishedAllLevels();
};
}
public function clearVirtualPos():void{
var _local1:InfoObj_GameState;
m_nVirtualPosFrom = 0;
m_nVirtualPosTo = 0;
m_nVirtualPos = 0;
_local1 = new InfoObj_GameState();
_local1.m_nVirtualPosFrom = m_nVirtualPosFrom;
_local1.m_nVirtualPosTo = m_nVirtualPosTo;
_local1.m_nVirtualPos = m_nVirtualPos;
setChanged();
notifyObservers(_local1);
}
public function setLevel(_arg1:Number):Model_Level{
var _local2:InfoObj_GameState;
var _local3:InfoObj_Msg;
m_nearestObstacle = null;
clearVirtualPos();
if (m_levels != null){
m_levels.setLevel(_arg1);
_local2 = new InfoObj_GameState();
_local2.m_levelActive = m_levels.getActiveLevel();
setChanged();
notifyObservers(_local2);
return (_local2.m_levelActive);
};
_local3 = new InfoObj_Msg("m_levels=null");
setChanged();
notifyObservers(_local3);
return (null);
}
public function clearHoldOn():void{
m_iHoldOn = 0;
m_arHoldOnCountdowns = new Array();
}
public function setHeroStateOnVirutalMode(_arg1:Number):void{
if (m_mVirtualForHero != null){
m_mVirtualForHero.setState(_arg1, m_mVirtualForObstacle);
};
}
public function isHoldOn():Boolean{
return ((m_iHoldOn > 0));
}
private function onHeroLeaveScreen(_arg1:Controller_Commands):void{
if (_arg1.getLeaveScreenRight()){
};
}
private function onObjLeaveScreen(_arg1:Number, _arg2:Controller_Commands):void{
switch (_arg1){
case Model_Settings.ID_OBJ_HERO:
onHeroLeaveScreen(_arg2);
break;
};
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj;
var _local4:InfoObj_Hero;
var _local5:InfoObj_WakeUp;
super.update(_arg1, _arg2);
if ((_arg2 is InfoObj)){
_local3 = (_arg2 as InfoObj);
_local4 = (_arg2 as InfoObj_Hero);
switch (_local3.getType()){
case Model_Settings.INFO_OBJ_HERO:
if (!isNaN(_local4.m_nPos)){
onChangeHeroPos(_local4.m_nPos, _local4);
};
if (((!(isNaN(_local4.m_nState))) && ((_local4.m_iCountdown == Model_Settings.INT_UNDEF)))){
onChangeHeroState(_local4.m_nState, _local3);
};
if (_local4.m_nLifes != Model_Settings.INT_UNDEF){
onChagenHeroLifes(_local4.m_nLifes);
};
break;
};
};
if ((_arg2 is InfoObj_WakeUp)){
_local5 = (_arg2 as InfoObj_WakeUp);
if (!isNaN(_local5.m_nWakeUp)){
onWake(_local5.m_nWakeUp);
};
if (!((isNaN(_local5.m_nCountdownFull)) || (isNaN(_local5.m_nCountdownLeft)))){
onCountdownInWakeUp(_local5.m_nCountdownFull, _local5.m_nCountdownLeft);
};
};
}
public function nextLevel():void{
var _local1:InfoObj_GameState;
if (m_levels.nextLevel()){
m_nPos = 0;
m_nearestObstacle = null;
clearVirtualPos();
_local1 = new InfoObj_GameState();
_local1.m_levelActive = m_levels.getActiveLevel();
setChanged();
notifyObservers(_local1);
};
}
private function onBypassObstacle(_arg1:Number, _arg2:Model_Obstacle):void{
var _local3:int;
if (_arg2 == null){
return;
};
if (_arg2.isWin()){
return;
};
_local3 = 0;
_local3 = Model_Settings.getScoreByObj(_arg2.getType(), _arg2.getSubType(), _arg2);
addScore(_arg1, _local3);
}
public function setVirtual(_arg1:Boolean=true, _arg2:Model_Basic_Object=null, _arg3:Model_Obstacle=null):void{
var _local4:int;
var _local5:Model_Obstacle_Complex;
m_bVirtualPos = _arg1;
if (m_bVirtualPos){
_local4 = 0;
_local5 = (_arg3 as Model_Obstacle_Complex);
if (_local5 != null){
_local4 = (((_local5.getWaitAction() * Model_Settings.POINT_PER_TICKS_HERO_RUN) / 1000) * Global_Settings.GAME_DELAY);
};
m_nVirtualPosFrom = m_nVirtualPos;
m_nVirtualPosTo = (m_nVirtualPos + _local4);
m_mVirtualForHero = _arg2;
m_mVirtualForObstacle = _arg3;
//unresolved jump
};
}
public function setNearestObstacle(_arg1:Model_Obstacle):void{
if (m_levels != null){
m_levels.setNearestObstacle(_arg1);
};
m_nearestObstacle = _arg1;
}
public function onStart():void{
m_nTick = 0;
setLevel(Model_Settings_Levels.LEVEL_START);
setPos(0);
m_nVirtualPos = 0;
m_levels.clear();
}
public function setState_timer(_arg1:int, _arg2:int):void{
m_nState_countdown_timer = _arg2;
m_nState_countdown = _arg1;
}
public function setScore(_arg1:Number, _arg2:Number):void{
var _local3:InfoObj_GameState;
_local3 = new InfoObj_GameState();
_local3.m_nIDObj = _arg1;
_local3.m_nSetScore = _arg2;
setChanged();
notifyObservers(_local3);
}
public function viewAcceptWithState(_arg1:Number):void{
var _local2:InfoObj_GameState;
if (m_nState == _arg1){
switch (_arg1){
case Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART:
case Model_Settings.GAME_STATE_LEVELS_MAP:
setState(Model_Settings.GAME_STATE_RUN);
break;
case Model_Settings.GAME_STATE_WAKE_UP:
break;
};
_local2 = new InfoObj_GameState();
_local2.m_nAcceptWithState = _arg1;
setChanged();
notifyObservers(_local2);
};
}
public function getNearestObstacle():Model_Obstacle{
return (m_levels.getNearestObstacle());
}
public function setState(_arg1:Number, _arg2:InfoObj=null):void{
var _local3:int;
var _local4:InfoObj_Hero;
var _local5:InfoObj_GameState;
if (m_nState == _arg1){
return;
};
_local3 = m_nState;
onFinishedState(m_nState, _arg1, _arg2);
_local5 = new InfoObj_GameState();
switch (_arg1){
case Model_Settings.GAME_STATE_START:
onStart();
break;
case Model_Settings.GAME_STATE_RUN:
break;
case Model_Settings.GAME_STATE_PREPARE_TO_FIGHT:
_local4 = (_arg2 as InfoObj_Hero);
_local5.m_obstacleFightWith = _local4.m_mObstacle;
setVirtual(true, _local4.m_mSender, _local5.m_obstacleFightWith);
break;
case Model_Settings.GAME_STATE_READY_TO_FIGHT:
setVirtual(false);
break;
case Model_Settings.GAME_STATE_WAKE_UP:
break;
case Model_Settings.GAME_STATE_GAME_OVER:
break;
case Model_Settings.GAME_STATE_WIN:
break;
case Model_Settings.GAME_STATE_UNDEF:
break;
case Model_Settings.GAME_STATE_FINISH_LEVEL:
setState_timer(Model_Settings.GAME_STATE_LEVELS_MAP, Model_Settings.FINISH_LEVEL_STATE_TIMER);
break;
case Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART:
mapLevel();
break;
case Model_Settings.GAME_STATE_LEVELS_MAP:
mapLevel(m_levels.getNextLevel());
break;
};
m_nState = _arg1;
_local5.m_nSetState = getState();
setChanged();
notifyObservers(_local5);
}
public function start():Boolean{
clearHoldOn();
setState(Model_Settings.GAME_STATE_START);
setState(Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART);
return (true);
}
private function onChagenHeroLifes(_arg1:int):void{
if (_arg1 == 0){
};
}
public function getState():Number{
return (m_nState);
}
override public function execute(_arg1:Object):void{
var _local2:Controller_Pause_Commands;
var _local3:Controller_Global_Commands;
var _local4:Controller_Commands;
super.execute(_arg1);
if ((_arg1 is Controller_Commands)){
_local4 = (_arg1 as Controller_Commands);
if (_local4 != null){
if (_local4.m_bActionTick){
makeTick();
};
if (((_local4.m_bActionP) && (_local4.m_bKeyPress))){
if (((!((getState() == Model_Settings.GAME_STATE_LEVELS_MAP))) && (!((getState() == Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART))))){
setPause(!(m_bPause));
};
};
if (((_local4.m_bActionR) && (_local4.m_bKeyPress))){
start();
};
if (_local4.isLeaveScreen()){
};
if (_local4.m_bActionSpace){
if ((((getState() == Model_Settings.GAME_STATE_LEVELS_MAP)) || ((getState() == Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART)))){
setState(Model_Settings.GAME_STATE_RUN);
};
};
if (!isNaN(_local4.m_nAcceptWithState)){
viewAcceptWithState(_local4.m_nAcceptWithState);
};
if (!isNaN(_local4.m_nChangeSpeed)){
changeAddSpeed(_local4.m_nChangeSpeed);
};
if (_local4.m_iHoldOn != Model_Settings.INT_UNDEF){
setHoldOn((_local4.m_iHoldOn == Model_Settings.STATE_ON), _local4.m_iHoldOn_Times);
};
};
};
_local2 = (_arg1 as Controller_Pause_Commands);
if (_local2 != null){
if (!isNaN(_local2.m_nSetPause)){
setPause(((_local2.m_nSetPause == 1)) ? true : false);
};
if (!isNaN(_local2.m_nSetGameState)){
setState(_local2.m_nSetGameState);
};
};
_local3 = (_arg1 as Controller_Global_Commands);
if (_local3 != null){
switch (_local3.m_nType){
case Global_Settings.COM_TYPE_ACTIVATE:
onActivate(true);
break;
case Global_Settings.COM_TYPE_DEACTIVATE:
onActivate(false);
break;
};
};
}
public function monitorCollision(_arg1:Number, _arg2:Model_Obstacle):void{
var _local3:InfoObj_Collision;
if (!m_bInvulnerable){
setChanged();
_local3 = new InfoObj_Collision(_arg2);
_local3.m_nDist = _arg1;
_local3.m_bMonitor = true;
notifyObservers(_local3);
};
}
private function findNextObstacle(_arg1:Number):void{
var _local2:Model_Obstacle;
_local2 = m_levels.getNearObstacle(_arg1);
checkCollisionWithObstacle(_arg1, _local2);
setNearestObstacle(_local2);
}
public function changeAddSpeed(_arg1:Number):void{
if (_arg1 == Number.MIN_VALUE){
m_nAddSpeed = 0;
} else {
m_nAddSpeed = (m_nAddSpeed + _arg1);
};
}
}
}//package game
Section 169
//Model_Game_Def (game.Model_Game_Def)
package game {
import com.mvc.*;
public class Model_Game_Def extends Model {
protected var m_infoObjDef:InfoObj;
public function Model_Game_Def(){
m_infoObjDef = null;
}
protected function setNotifyDef(_arg1:InfoObj):void{
m_infoObjDef = _arg1;
}
protected function getInfoObj():InfoObj{
if (isUseDefNotify()){
return (m_infoObjDef);
};
return (makeInfoObj());
}
public function execute_game(_arg1:Controller_Commands):void{
}
protected function isUseDefNotify():Boolean{
return (!((m_infoObjDef == null)));
}
override public function execute(_arg1:Object):void{
var _local2:Controller_Commands;
_local2 = (_arg1 as Controller_Commands);
if (_local2 != null){
execute_game(_local2);
};
super.execute(_arg1);
}
protected function makeInfoObj():InfoObj{
return (new InfoObj());
}
protected function notifyDef():void{
var _local1:InfoObj;
if (isUseDefNotify()){
_local1 = m_infoObjDef;
m_infoObjDef = null;
notifyObservers(_local1);
};
}
protected function notifyObserversIsNotDef(_arg1:InfoObj):void{
if (!isUseDefNotify()){
notifyObservers(_arg1);
};
}
}
}//package game
Section 170
//Model_Level (game.Model_Level)
package game {
import com.*;
import main.*;
import game.levels_design.*;
public class Model_Level extends Observer_Link {
var m_strName:String;
var m_nLen:Number;
var m_iHintCount:int;
var m_obstacles:Model_Obstacles;
var m_nID:Number;
var m_bOnly_one_life_for_complex_obstacles:Boolean;
public function Model_Level(_arg1:Number, _arg2:String, _arg3:Number, _arg4:int, _arg5:Array, _arg6:Boolean=false){
var _local7:int;
var _local8:Number;
var _local9:Number;
var _local10:Model_Obstacle;
var _local11:Model_Obstacle_Complex;
var _local12:Number;
var _local13:Array;
var _local14:Object;
var _local15:Number;
var _local16:Number;
super();
_local7 = 0;
m_nID = _arg1;
m_strName = _arg2;
m_iHintCount = _arg4;
m_bOnly_one_life_for_complex_obstacles = _arg6;
if (Model_Settings_Levels.OBSTACLES_OUTSIDE_IN_START){
_local7 = (Global_Settings.GAME_WIDTH + (4 * View_Settings.APPEAR_WIDTH));
};
m_nLen = ((_arg3 + Model_Settings_Levels.ADD_LEN_TO_LEVEL) + _local7);
m_obstacles = new Model_Obstacles();
m_obstacles.addObserver(this);
if (_arg5 != null){
for each (_local14 in _arg5) {
switch (_local14.type){
case Model_Settings.OBSTACLE_SIMPLE:
_local10 = new Model_Obstacle_Simple();
break;
case Model_Settings.OBSTACLE_COMPLEX:
_local10 = new Model_Obstacle_Complex();
break;
default:
continue;
};
_local11 = (_local10 as Model_Obstacle_Complex);
_local9 = _local14.subtype;
_local10.setSubType(_local9);
_local15 = (_local14.pos + _local7);
_local10.setPos(_local15);
_local12 = _local14.wait_action;
if (!isNaN(_local12)){
(_local10 as Model_Obstacle_Complex).setWaitAction(_local12);
};
_local16 = _local14.need_action_rand_count;
if (isNaN(_local16)){
_local13 = _local14.need_action;
if (_local13 != null){
_local11.setNeedActions(_local13);
} else {
_local10.setNeedStates(Model_Settings.getNeededHeroStateForObstacle(_local9));
};
} else {
_local11.setRandActions(true, _local16);
};
m_obstacles.add(_local10);
};
};
}
public function getID():Number{
return (m_nID);
}
public function getDistanceTo(_arg1:Number, _arg2:Model_Obstacle):Number{
if (m_obstacles == null){
return (0);
};
return (m_obstacles.getDistanceTo(_arg1, _arg2));
}
public function getName():String{
return (m_strName);
}
public function setNearestObstacle(_arg1:Model_Obstacle):void{
if (m_obstacles == null){
return;
};
return (m_obstacles.setNearestObstacle(_arg1));
}
public function getNearObstacle(_arg1:Number):Model_Obstacle{
if (m_obstacles == null){
return (null);
};
return (m_obstacles.getNearObstacle(_arg1));
}
public function getObstacles():Model_Obstacles{
return (m_obstacles);
}
public function isOnly_one_life_for_complex_obstacles():Boolean{
return (m_bOnly_one_life_for_complex_obstacles);
}
public function getHintCount():int{
return (m_iHintCount);
}
public function clear():void{
if (m_obstacles != null){
m_obstacles.clear();
};
}
public function getLen():Number{
return (m_nLen);
}
public function init():void{
m_obstacles.init();
}
public function getNearestObstacle():Model_Obstacle{
if (m_obstacles == null){
return (null);
};
return (m_obstacles.getNearestObstacle());
}
}
}//package game
Section 171
//Model_Levels (game.Model_Levels)
package game {
import com.*;
import game.levels_design.*;
public class Model_Levels extends Observer_Link {
var m_nLevel:Number;
var m_arLevels:Array;
var m_bFinished:Boolean;// = false
public function Model_Levels(){
var _local1:Model_Level;
var _local2:Number;
var _local3:Number;
var _local4:Object;
m_bFinished = false;
super();
m_nLevel = -1;
m_arLevels = new Array();
_local2 = Model_Settings_Levels.getLevelCount();
_local3 = 0;
while (_local3 < _local2) {
_local4 = Model_Settings_Levels.getLevel(_local3);
_local1 = new Model_Level(_local3, Model_Settings_Levels.getLevelName_byLevel(_local4), Model_Settings_Levels.getLevelLen_byLevel(_local4), Model_Settings_Levels.getHintCount_byLevel(_local4), Model_Settings_Levels.getObstacles_byLevel(_local4), Model_Settings_Levels.isOnly_one_life_for_complex_obstacles(_local4));
_local1.addObserver(this);
m_arLevels.push(_local1);
_local3++;
};
}
public function setLevel(_arg1:Number):void{
m_nLevel = _arg1;
m_bFinished = false;
}
public function getActiveLevelID():int{
return (m_nLevel);
}
public function getDistanceTo(_arg1:Number, _arg2:Model_Obstacle):Number{
var _local3:Model_Level;
_local3 = getActiveLevel();
if (_local3 == null){
return (0);
};
return (_local3.getDistanceTo(_arg1, _arg2));
}
public function setNearestObstacle(_arg1:Model_Obstacle):void{
var _local2:Model_Level;
_local2 = getActiveLevel();
if (_local2 != null){
_local2.setNearestObstacle(_arg1);
};
}
public function getNearObstacle(_arg1:Number):Model_Obstacle{
var _local2:Model_Level;
_local2 = getActiveLevel();
if (_local2 == null){
return (null);
};
return (_local2.getNearObstacle(_arg1));
}
public function nextLevel():Boolean{
if ((m_nLevel + 1) < getActiveLevelLen()){
m_nLevel++;
return (true);
};
m_bFinished = true;
return (false);
}
public function isLastLevel():Boolean{
return ((getLevelCount() == (m_nLevel + 1)));
}
public function getLevel(_arg1:int):Model_Level{
if (m_arLevels == null){
return (null);
};
return (m_arLevels[_arg1]);
}
public function init():void{
var _local1:Model_Level;
m_bFinished = false;
for each (_local1 in m_arLevels) {
_local1.init();
};
}
public function getNextLevel():int{
return ((m_nLevel + 1));
}
public function getLevelCount():Number{
if (m_arLevels == null){
return (0);
};
return (m_arLevels.length);
}
public function getActiveLevelLen():Number{
var _local1:Model_Level;
_local1 = getActiveLevel();
if (_local1 == null){
return (0);
};
return (_local1.getLen());
}
public function getNearestObstacle():Model_Obstacle{
var _local1:Model_Level;
_local1 = getActiveLevel();
if (_local1 == null){
return (null);
};
return (_local1.getNearestObstacle());
}
public function getActiveLevel():Model_Level{
if ((((m_arLevels == null)) || ((m_nLevel < 0)))){
return (null);
};
return (m_arLevels[m_nLevel]);
}
public function clear():void{
var _local1:Model_Level;
for each (_local1 in m_arLevels) {
_local1.clear();
};
}
public function isFinished():Boolean{
return (m_bFinished);
}
}
}//package game
Section 172
//Model_Obstacle (game.Model_Obstacle)
package game {
import com.*;
public class Model_Obstacle extends Observable {
var m_nPos:Number;
var m_bFinished:Boolean;
var m_nDamage:Number;
var m_bMonitorCollision:Boolean;// = false
var m_nState:Number;
var m_nSubType:Number;
var m_bOnCollision:Boolean;// = false
var m_nType:Number;
public function Model_Obstacle(){
m_bOnCollision = false;
m_bMonitorCollision = false;
super();
m_nPos = 0;
m_nState = Model_Settings.OBSTACLE_STATE_DEF;
m_bFinished = false;
}
public function setPos(_arg1:Number):void{
m_nPos = _arg1;
}
public function getPos():Number{
return (m_nPos);
}
public function init():void{
}
public function isCollision(_arg1:Number, _arg2:Number=NaN):Boolean{
return (false);
}
public function getNeedStates():Array{
return (null);
}
public function getCollisionRadius(_arg1:Number=NaN):Number{
return (Number.MAX_VALUE);
}
public function getType():Number{
return (m_nType);
}
public function setType(_arg1:Number):void{
m_nType = _arg1;
}
public function setState_CountDown(_arg1:Number, _arg2:int):void{
var _local3:InfoObj_Obstacle;
_local3 = new InfoObj_Obstacle(this);
_local3.m_nState = _arg1;
_local3.m_iCountdown = _arg2;
setChanged();
notifyObservers(_local3);
}
public function isKilled():Boolean{
return ((getState() == Model_Settings.OBSTACLE_STATE_LOST));
}
public function setNeedStates(_arg1:Array):void{
}
public function getDistanceTo(_arg1:Number):Number{
return (Math.abs((m_nPos - _arg1)));
}
public function setState(_arg1:Number):void{
var _local2:InfoObj_Obstacle;
m_nState = _arg1;
_local2 = new InfoObj_Obstacle(this);
_local2.m_nState = m_nState;
setChanged();
notifyObservers(_local2);
}
public function setOnCollision(_arg1:Boolean):void{
m_bOnCollision = _arg1;
}
public function isByPass(_arg1:Number):Boolean{
return (false);
}
public function clear():void{
m_nState = Model_Settings.OBSTACLE_STATE_DEF;
m_bFinished = false;
m_bOnCollision = false;
}
public function setSubType(_arg1:Number):void{
m_nSubType = _arg1;
}
public function isWin():Boolean{
return ((((getState() == Model_Settings.OBSTACLE_STATE_HIT)) || ((getState() == Model_Settings.OBSTACLE_STATE_WIN))));
}
public function getState():Number{
return (m_nState);
}
public function getSubType():Number{
return (m_nSubType);
}
public function kill():void{
setState(Model_Settings.OBSTACLE_STATE_LOST);
setFinished();
}
public function getFinished():Boolean{
return (m_bFinished);
}
public function win():void{
setState(Model_Settings.OBSTACLE_STATE_HIT);
setFinished();
}
public function setNeedAction(_arg1:Number):void{
}
public function set monitorCollision(_arg1):void{
m_bMonitorCollision = _arg1;
}
public function toString():String{
return ((((((((((((((((("type = " + m_nType) + "\n") + "subType = ") + m_nSubType) + "\n") + "nPos = ") + m_nPos) + "\n") + "finished = ") + m_bFinished) + "\n") + "state = ") + m_nState) + "\n") + "m_bOnCollision = ") + m_bOnCollision));
}
public function setFinished(_arg1:Boolean=true):void{
m_bFinished = _arg1;
}
public function getOnCollision():Boolean{
return (m_bOnCollision);
}
public function get monitorCollision():Boolean{
return (m_bMonitorCollision);
}
public function getDamage():Number{
return (m_nDamage);
}
}
}//package game
Section 173
//Model_Obstacle_Complex (game.Model_Obstacle_Complex)
package game {
import main.*;
public class Model_Obstacle_Complex extends Model_Obstacle {
var m_bRandomActions:Boolean;// = false
private var m_nRushFightFinished:Number;
var m_nStartDistance:Number;
var m_nFinishedDistance:Number;
var m_arNeedActions:Array;
var m_nWaitAction:Number;
var m_nRandomActions:Number;
public function Model_Obstacle_Complex(){
m_bRandomActions = false;
super();
m_nType = Model_Settings.OBSTACLE_COMPLEX;
m_nState = Model_Settings.OBSTACLE_STATE_WAIT;
m_nDamage = 101;
m_bMonitorCollision = true;
}
public function setRandActions(_arg1:Boolean, _arg2:uint=0):void{
if (!_arg1){
m_bRandomActions = false;
} else {
m_bRandomActions = true;
m_nRandomActions = _arg2;
genRandActions();
};
}
public function setWaitAction(_arg1:Number):void{
m_nWaitAction = _arg1;
}
public function getCollisionRadius_PredFight(_arg1:Number=NaN):Number{
var _local2:Number;
var _local3:Number;
if (isNaN(_arg1)){
_arg1 = Model_Settings.POINT_PER_TICKS_HERO_RUN;
};
_local2 = getWaitAction();
_local3 = (((_arg1 * _local2) / 1000) * Global_Settings.GAME_DELAY);
return (getCollisionRadius_Appear(_arg1));
}
public function getWaitAction():Number{
return (m_nWaitAction);
}
override public function init():void{
if (m_bRandomActions){
genRandActions();
};
}
public function getFinishedDistancePercent():Number{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = getCollisionRadius_PostFight();
_local2 = m_nStartDistance;
_local3 = ((m_nFinishedDistance - _local1) / (_local2 - _local1));
return (_local3);
}
override public function isCollision(_arg1:Number, _arg2:Number=NaN):Boolean{
var _local3:Number;
_local3 = getCollisionRadius(_arg2);
return ((_arg1 <= _local3));
}
override public function getCollisionRadius(_arg1:Number=NaN):Number{
if (isNaN(_arg1)){
_arg1 = Model_Settings.POINT_PER_TICKS_HERO_RUN;
};
if (isFight()){
return (getCollisionRadius_PostFight(_arg1));
};
return (getCollisionRadius_PredFight(_arg1));
}
private function getRandAction():Number{
return (Model_Settings.ACTIONS[Math.floor((Math.random() * Model_Settings.ACTIONS.length))]);
}
public function fight(_arg1:Number):void{
m_nStartDistance = _arg1;
setState(Model_Settings.OBSTACLE_STATE_FIGHT);
}
public function isFight():Boolean{
return ((((((((((m_nState == Model_Settings.OBSTACLE_STATE_FIGHT)) || ((m_nState == Model_Settings.OBSTACLE_STATE_LOST_PREFIGHT)))) || ((m_nState == Model_Settings.OBSTACLE_STATE_LOST)))) || ((m_nState == Model_Settings.OBSTACLE_STATE_HIT)))) || ((m_nState == Model_Settings.OBSTACLE_STATE_WIN))));
}
public function genRandActions():void{
var _local1:Number;
var _local2:int;
m_arNeedActions = new Array();
_local1 = m_nRandomActions;
while (--_local1 >= 0) {
_local2 = getRandAction();
m_arNeedActions.push(_local2);
};
}
public function isLostPreFight():Boolean{
return ((getState() == Model_Settings.OBSTACLE_STATE_LOST_PREFIGHT));
}
public function setNeedActions(_arg1:Array):void{
m_arNeedActions = _arg1;
}
public function getCollisionRadius_PostFight(_arg1:Number=NaN):Number{
if (isNaN(_arg1)){
_arg1 = Model_Settings.POINT_PER_TICKS_HERO_RUN;
};
return ((Model_Settings.getComplexObstacleCollisionDist(m_nSubType) + (_arg1 / 2)));
}
public function getNeedActions():Array{
return (m_arNeedActions);
}
public function getCollisionRadius_Appear(_arg1:Number=NaN):Number{
return (550);
}
public function setRushFightFinished(_arg1:Number):void{
m_nRushFightFinished = _arg1;
}
public function lostPreFight(_arg1:Number=0):void{
m_nFinishedDistance = _arg1;
setState(Model_Settings.OBSTACLE_STATE_LOST_PREFIGHT);
}
public function getRushFightFinished():Number{
return (m_nRushFightFinished);
}
}
}//package game
Section 174
//Model_Obstacle_Simple (game.Model_Obstacle_Simple)
package game {
public class Model_Obstacle_Simple extends Model_Obstacle {
var m_nAnyNeedStates:Array;
public function Model_Obstacle_Simple(){
m_nType = Model_Settings.OBSTACLE_SIMPLE;
m_nDamage = 35;
}
override public function isCollision(_arg1:Number, _arg2:Number=NaN):Boolean{
var _local3:Number;
_local3 = getCollisionRadius(_arg2);
return ((_arg1 <= _local3));
}
override public function getCollisionRadius(_arg1:Number=NaN):Number{
if (isNaN(_arg1)){
_arg1 = Model_Settings.POINT_PER_TICKS_HERO_RUN;
};
return ((Model_Settings.OBSTACLE_SIMPLE_COLLISION_DIST + (_arg1 / 2)));
}
override public function getNeedStates():Array{
return (m_nAnyNeedStates);
}
override public function setNeedStates(_arg1:Array):void{
m_nAnyNeedStates = _arg1;
}
override public function isByPass(_arg1:Number):Boolean{
if (m_nAnyNeedStates == null){
return (false);
};
return ((m_nAnyNeedStates.indexOf(_arg1) >= 0));
}
}
}//package game
Section 175
//Model_Obstacles (game.Model_Obstacles)
package game {
import com.*;
public class Model_Obstacles extends Observer_Link {
private var m_arObstacles:Array;
private var m_nLastNearObstacle:Number;
private var m_obstacleNearestForHero:Model_Obstacle;
public function Model_Obstacles(){
m_arObstacles = new Array();
m_nLastNearObstacle = Number.NaN;
}
public function getDistanceTo(_arg1:Number, _arg2:Model_Obstacle):Number{
if (_arg2 == null){
return (Number.NaN);
};
return (_arg2.getDistanceTo(_arg1));
}
public function setNearestObstacle(_arg1:Model_Obstacle):void{
m_obstacleNearestForHero = _arg1;
}
public function getNearObstacle(_arg1:Number, _arg2:Boolean=true):Model_Obstacle{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
if (m_arObstacles == null){
return (null);
};
_local3 = m_arObstacles.length;
_local5 = Number.MAX_VALUE;
_local6 = -1;
_local7 = _local3;
while (--_local7 >= 0) {
_local4 = Math.abs(getDistanceToID(_arg1, _local7, _arg2));
if (((!(isNaN(_local4))) && ((_local4 < _local5)))){
_local5 = _local4;
_local6 = _local7;
};
};
if (_local6 < 0){
return (null);
};
return (m_arObstacles[_local6]);
}
public function getCount():Number{
return (m_arObstacles.length);
}
public function init():void{
var _local1:Model_Obstacle;
for each (_local1 in m_arObstacles) {
_local1.init();
};
}
public function add(_arg1:Model_Obstacle){
_arg1.addObserver(this);
m_arObstacles.push(_arg1);
}
public function clear():void{
var _local1:Model_Obstacle;
for each (_local1 in m_arObstacles) {
_local1.clear();
};
}
public function getDistanceToID(_arg1:Number, _arg2:Number, _arg3:Boolean=true):Number{
var _local4:Model_Obstacle;
_local4 = m_arObstacles[_arg2];
if (((_arg3) && (_local4.getFinished()))){
return (Number.NaN);
};
return (getDistanceTo(_arg1, _local4));
}
public function getItem(_arg1:Number):Model_Obstacle{
if (m_arObstacles == null){
return (null);
};
return (m_arObstacles[_arg1]);
}
public function getNearestObstacle():Model_Obstacle{
return (m_obstacleNearestForHero);
}
}
}//package game
Section 176
//Model_Settings (game.Model_Settings)
package game {
public class Model_Settings {
public static const OBSTACLE_C_UNDEF:int = -1;
public static const INFO_OBJ_GAME_STATE:Number = 3;
public static const HERO_LONG_JUMP:Number = 3;
public static const OBSTACLES_CAN_RETURN:Boolean = false;
public static const GAME_STATE_READY_TO_FIGHT:Number = 14;
public static const GAME_STATE_START:Number = 1;
public static const INVULNERABLE:Boolean = false;
public static const OBSTACLE_STATE_WAIT:Number = 1;
public static const HERO_LOSE:Number = 30;
public static const INT_UNDEF:int = 2147483647;
public static const HERO_LIFES:Number = 5;
public static const INFO_OBJ_BASIC:Number = 1;
public static const WAKE_UP_DT:Number = 0.008;
public static const GAME_STATE_GAME_OVER:Number = 27;
public static const STATE_ON:int = 777;
public static const ACTION_LEFT:Number = 2;
public static const GAME_STATE_PREPARE_TO_FIGHT:Number = 13;
public static const STATE_OFF:int = 778;
public static const OBSTACLE_S_MID:Number = 1;
public static const GAME_STATE_UNDEF:Number = -1;
public static const WAKE_UP_NEED_FREQ:Number = 235.294117647059;
public static const LEAVE_SCREE_DEF:Number = 0;
public static const OBSTACLE_S_GROUND:Number = 3;
public static const WAKE_UP_OFF:Number = 0;
public static const LEAVE_SCREE_LEFT:Number = 1;
public static const HERO_RUN:Number = 0;
public static const ONE_SCORE_BY_STEP:Number = 200;
public static const ACTION_RIGHT:Number = 3;
public static const SCORE_FOR_COMPLEX:Array = new Array({id:OBSTACLE_C_HOOLIGAN, scoreMin:15, scoreMax:35}, {id:OBSTACLE_C_OLDMOTHER, scoreMin:15, scoreMax:35}, {id:OBSTACLE_C_MANAGER, scoreMin:15, scoreMax:40}, {id:OBSTACLE_C_ALIEN, scoreMin:20, scoreMax:45}, {id:OBSTACLE_C_ENEMY_PLAYER, scoreMin:20, scoreMax:50}, {id:OBSTACLE_C_MEGA_PLAYER, scoreMin:20, scoreMax:65});
public static const INFO_COLLISION:Number = 4;
public static const OBSTACLE_COMPLEX_COLLISION_DIST_ENEMY_PLAYER:Number = 110;
public static const OBJ_ALTSTATE_HIT_OBSTACLE:Number = 4;
public static const FINISH_LEVEL_STATE_TIMER:int = 100;
public static const HERO_FINISH_LEVEL:Number = 20;
public static const GAMEOVER_STATE_TIMER:int = 100;
public static const GAME_STATE_WIN:Number = 28;
public static const INFO_OBJ_HERO:Number = 2;
public static const ACTIONS:Array = new Array(ACTION_UP, ACTION_DOWN, ACTION_LEFT, ACTION_RIGHT);
public static const OBSTACLE_C_OLDMOTHER:Number = 1;
public static const HERO_ONSTART_X:Number = 0;
public static const OBSTACLE_COMPLEX:Number = 1;
public static const PAUSE_ON:Number = 1;
public static const OBSTACLE_STATE_FIGHT:Number = 2;
public static const OBSTACLE_STATE_HIT:Number = 4;
public static const HERO_FIGHT_DOWN:Number = 11;
public static const ID_OBJ_HERO:Number = 0;
public static const GAME_STATE_DEF:Number = -1;
public static const ACTION_DOWN:Number = 1;
public static const HERO_LOST_LIFE_WAKE_UP:Number = 13;
public static const OBSTACLE_STATE_LOST_PREFIGHT:Number = 3;
public static const STATE_DEF:int = 0;
public static const OBSTACLE_C_HOOLIGAN:Number = 0;
public static const POINT_PER_TICKS_HERO_RUN:Number = 10;
public static const GAME_STATE_LEVELS_MAP_ONSTART:Number = 3;
public static const HERO_UNDEFINED:Number = NAN;
public static const GAME_STATE_FINISH_LEVEL:Number = 29;
public static const OBSTACLE_SIMPLE_COLLISION_DIST:Number = 50;
public static const POINT_PER_TICKS_WORLD:Number = 10;
public static const HERO_LOST_LIFE:Number = 12;
public static const OBSTACLE_STATE_WIN:Number = 6;
public static const HERO_PREPARE_TO_FIGHT:Number = 5;
public static const OBSTACLE_S_BOTTOM:Number = 0;
public static const ACTION_UP:Number = 0;
public static const HERO_JUMP:Number = 1;
public static const HERO_FIGHT_00:Number = 9;
public static const HERO_FIGHT_01:Number = 10;
public static const STATE_UNDEF:int = -1;
public static const OBSTACLE_SIMPLE:Number = 0;
public static const ACTION_UNDEF:Number = -1;
public static const PAUSE_OFF:Number = 0;
public static const OBSTACLE_STATE_DEF:Number = 0;
public static const INFO_OBJ_MSG:Number = -1;
public static const HERO_FIGHT:Number = 8;
public static const GAME_STATE_LOSE_FIGHT:Number = 15;
public static const INFO_OBJ_ALL:Number = 5;
public static const GAME_STATE_RUN:Number = 4;
public static const LEAVE_SCREE_BOTTOM:Number = 8;
public static const OBSTACLE_S_TOP:Number = 2;
public static const HERO_BLINK_ON_HIT:Boolean = false;
public static const HERO_ONSTART_DEPTH:Number = 0;
public static const GAME_STATE_LEVELS_MAP:Number = 2;
public static const OBSTACLE_C_MEGA_PLAYER:Number = 6;
public static const HERO_LOSE_FIGHT:Number = 6;
public static const WAKE_UP_ON:Number = 1;
public static const HERO_TACKLE:Number = 2;
public static const HERO_HIT:Number = 4;
public static const HERO_WIN_FIGHT:Number = 7;
public static const GAME_STATE_WAKE_UP:Number = 26;
public static const POINT_PER_TICKS_HERO_FINISH:Number = 14;
public static const OBSTACLE_C_ENEMY_PLAYER:Number = 4;
public static const OBSTACLE_C_ENEMY_PLAYER_WHITE:Number = 5;
public static const WIN_STATE_TIMER:int = 100;
public static const WAKE_UP_SPEED_LIMIT:Number = 1.75;
public static const HERO_ENEDGY:Number = 100;
public static const OBSTACLE_C_MANAGER:Number = 2;
public static const OBSTACLE_STATE_LOST:Number = 5;
public static const INFO_OBJ_DEF:Number = 0;
public static const LEAVE_SCREE_TOP:Number = 4;
public static const OBSTACLE_COMPLEX_COLLISION_DIST:Number = 110;
public static const SCORE_FOR_SIMPLE:Array = new Array({id:OBSTACLE_S_BOTTOM, score:10}, {id:OBSTACLE_S_MID, score:10}, {id:OBSTACLE_S_TOP, score:10}, {id:OBSTACLE_S_GROUND, score:5});
public static const LEAVE_SCREE_RIGHT:Number = 2;
public static const OBSTACLE_C_ALIEN:Number = 3;
public static const HERO_WIN:Number = 40;
public static var HERO_STATE_ON_WIN_WITH_OBSTACLE:Array = new Array({id:OBSTACLE_C_HOOLIGAN, hero_state:HERO_FIGHT_00}, {id:OBSTACLE_C_OLDMOTHER, hero_state:HERO_FIGHT_01}, {id:OBSTACLE_C_MANAGER, hero_state:HERO_FIGHT_00}, {id:OBSTACLE_C_ALIEN, hero_state:HERO_FIGHT_00}, {id:OBSTACLE_C_ENEMY_PLAYER, hero_state:HERO_FIGHT_00}, {id:OBSTACLE_C_ENEMY_PLAYER_WHITE, hero_state:HERO_FIGHT_00}, {id:OBSTACLE_C_MEGA_PLAYER, hero_state:HERO_FIGHT_00});
public static var OBSTACLE_NEED_HERO_STATE:Array = new Array({id:OBSTACLE_S_BOTTOM, actions:new Array(HERO_JUMP, HERO_UNDEFINED)}, {id:OBSTACLE_S_MID, actions:new Array(HERO_LONG_JUMP, HERO_UNDEFINED)}, {id:OBSTACLE_S_TOP, actions:new Array(HERO_TACKLE, HERO_UNDEFINED)}, {id:OBSTACLE_S_GROUND, actions:new Array(HERO_LONG_JUMP, HERO_JUMP)});
public static function getNeededHeroStateForObstacle(_arg1:Number):Array{
var _local2:Object;
for each (_local2 in OBSTACLE_NEED_HERO_STATE) {
if (_local2.id == _arg1){
return ((_local2.actions as Array));
};
};
return (null);
}
public static function getComplexObstacleCollisionDist(_arg1:int):int{
switch (_arg1){
case OBSTACLE_C_ENEMY_PLAYER:
case OBSTACLE_C_ENEMY_PLAYER_WHITE:
return (OBSTACLE_COMPLEX_COLLISION_DIST_ENEMY_PLAYER);
default:
return (OBSTACLE_COMPLEX_COLLISION_DIST);
};
}
public static function getHeroStateOnWinWithObstacle(_arg1:Number):Number{
var _local2:Object;
for each (_local2 in HERO_STATE_ON_WIN_WITH_OBSTACLE) {
if (_local2.id == _arg1){
return (_local2.hero_state);
};
};
return (Number.NaN);
}
public static function getScoreByObj(_arg1:Number, _arg2:Number, _arg3:Model_Obstacle):Number{
var _local4:Object;
var _local5:Model_Obstacle_Complex;
_local5 = (_arg3 as Model_Obstacle_Complex);
switch (_arg1){
case OBSTACLE_SIMPLE:
for each (_local4 in SCORE_FOR_SIMPLE) {
if (_local4.id == _arg2){
return (_local4.score);
};
};
break;
case OBSTACLE_COMPLEX:
for each (_local4 in SCORE_FOR_COMPLEX) {
if (_local4.id == _arg2){
return ((_local4.scoreMin + ((_local4.scoreMax - _local4.scoreMin) * _local5.getRushFightFinished())));
};
};
break;
};
return (Number.NaN);
}
}
}//package game
Section 177
//Model_WakeUp (game.Model_WakeUp)
package game {
import com.*;
import main.*;
import game.levels_design.*;
public class Model_WakeUp extends Model_Game_Def implements Observer {
var m_nCountdownLeft:Number;
var m_nCountdownFull:Number;
var m_nFreq:Number;
var m_bCountdownTime_Pred_InitOnCycle:Boolean;// = false
var m_nLevel:Number;
var m_nState:Number;
var m_nWake:Number;
var m_nWakeTime_Pred:Number;
var m_nCountdownTime_Pred:Number;
public function Model_WakeUp(){
m_bCountdownTime_Pred_InitOnCycle = false;
super();
init();
}
public function stop():void{
setState(Model_Settings.WAKE_UP_OFF);
}
override public function execute(_arg1:Object):void{
var _local2:Controller_Commands;
super.execute(_arg1);
_local2 = (_arg1 as Controller_Commands);
if (_local2 == null){
return;
};
if (m_nState == Model_Settings.WAKE_UP_ON){
if ((_arg1 is Controller_Commands)){
if (_local2.m_bActionTick){
refresh();
};
if (((_local2.m_bActionSpace) && (_local2.m_bKeyPress))){
wake();
};
};
};
}
public function run():void{
setWake(0);
setState(Model_Settings.WAKE_UP_ON);
m_nWakeTime_Pred = Number.NaN;
m_bCountdownTime_Pred_InitOnCycle = false;
m_nCountdownTime_Pred = new Date().valueOf();
m_nCountdownFull = Model_Settings_Levels.getWakeupCountdownTime(m_nLevel);
setCountdownLeft(m_nCountdownFull);
}
public function setCountdownLeft(_arg1:Number):void{
var _local2:InfoObj_WakeUp;
if (m_nState != Model_Settings.WAKE_UP_ON){
return;
};
m_nCountdownLeft = _arg1;
setChanged();
_local2 = new InfoObj_WakeUp();
_local2.m_nCountdownFull = m_nCountdownFull;
_local2.m_nCountdownLeft = m_nCountdownLeft;
notifyObservers(_local2);
}
private function calcFreqFor(_arg1:Number):void{
m_nFreq = -(Math.log(((_arg1 - m_nWakeTime_Pred) / Model_Settings.WAKE_UP_NEED_FREQ)));
}
private function wake():Boolean{
var _local1:Number;
_local1 = new Date().valueOf();
if (!isNaN(m_nWakeTime_Pred)){
calcFreqFor(_local1);
};
m_nWakeTime_Pred = _local1;
return (isWake());
}
public function setWake(_arg1:Number):void{
var _local2:InfoObj_WakeUp;
if (_arg1 > 1){
_arg1 = 1;
};
if (_arg1 < 0){
_arg1 = 0;
};
if (m_nWake == _arg1){
return;
};
m_nWake = _arg1;
setChanged();
_local2 = new InfoObj_WakeUp();
_local2.m_nWakeUp = m_nWake;
notifyObservers(_local2);
}
public function init():void{
setWake(0);
}
public function setState(_arg1:Number):void{
m_nState = _arg1;
}
public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_GameState;
if ((_arg2 is InfoObj_GameState)){
_local3 = (_arg2 as InfoObj_GameState);
if (((!(isNaN(_local3.m_nAcceptWithState))) && (!((_local3.m_nAcceptWithState == Model_Settings.INT_UNDEF))))){
if (_local3.m_nAcceptWithState == Model_Settings.GAME_STATE_WAKE_UP){
run();
};
};
if (((!(isNaN(_local3.m_nSetState))) && (!((_local3.m_nSetState == Model_Settings.GAME_STATE_UNDEF))))){
if (_local3.m_nSetState != Model_Settings.GAME_STATE_WAKE_UP){
stop();
};
};
if (((!(isNaN(_local3.m_nPause))) && (!((_local3.m_nPause == Model_Settings.INT_UNDEF))))){
onPause((_local3.m_nPause == Model_Settings.PAUSE_ON));
};
if (_local3.m_levelActive != null){
m_nLevel = _local3.m_levelActive.getID();
};
};
}
public function refresh():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = new Date().valueOf();
_local2 = (_local1 - m_nCountdownTime_Pred);
if (m_nWake < 1){
if (!isNaN(m_nWakeTime_Pred)){
if ((_local1 - m_nWakeTime_Pred) > (2 * Model_Settings.WAKE_UP_NEED_FREQ)){
calcFreqFor(_local1);
if (m_nFreq < -(Model_Settings.WAKE_UP_SPEED_LIMIT)){
m_nFreq = -(Model_Settings.WAKE_UP_SPEED_LIMIT);
} else {
if (m_nFreq > Model_Settings.WAKE_UP_SPEED_LIMIT){
m_nFreq = Model_Settings.WAKE_UP_SPEED_LIMIT;
};
};
};
if (((!(isNaN(m_nFreq))) && (m_bCountdownTime_Pred_InitOnCycle))){
_local3 = (m_nWake + (((m_nFreq * Model_Settings.WAKE_UP_DT) * _local2) / Global_Settings.GAME_DELAY));
setWake(_local3);
};
};
};
setCountdownLeft((m_nCountdownLeft - _local2));
m_nCountdownTime_Pred = _local1;
m_bCountdownTime_Pred_InitOnCycle = true;
}
private function onPause(_arg1:Boolean):void{
if (!_arg1){
m_nCountdownTime_Pred = new Date().valueOf();
m_bCountdownTime_Pred_InitOnCycle = false;
};
}
public function isWake():Boolean{
return ((m_nWake >= 1));
}
}
}//package game
Section 178
//TView_Updatable (game.TView_Updatable)
package game {
import game.animation.*;
import com.*;
import flash.display.*;
import com.mvc.*;
public class TView_Updatable extends AbstractView {
private var m_arChilds:Array;
private var m_arChildsState:Array;
protected var m_mcContainer:MovieClip;
public function TView_Updatable(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2);
m_arChilds = new Array();
m_arChildsState = new Array();
setContainer(_arg3);
}
override public function remove():void{
var _local1:TUpdatableMC;
super.remove();
for each (_local1 in m_arChilds) {
if ((_local1 is TUpdatableMC)){
_local1.remove();
};
};
m_arChilds = null;
clearStateForChild();
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_GameState;
if (_arg2 == null){
return;
};
if ((_arg2 is InfoObj_GameState)){
_local3 = (_arg2 as InfoObj_GameState);
if (!isNaN(_local3.m_nTimeTick)){
doMoviesUpdate();
};
};
}
protected function getContainer():MovieClip{
return (m_mcContainer);
}
public function doMovieUpdate(_arg1:DisplayObject):Boolean{
if ((_arg1 is TUpdatableMC)){
(_arg1 as TUpdatableMC).update();
return (true);
};
return (false);
}
public function setStateForChild(_arg1:View_Child, _arg2:int):void{
var _local3:int;
var _local4:Object;
_local3 = findStateForChild(_arg1);
if (_local3 >= 0){
m_arChildsState[_local3].state = _arg2;
} else {
_local4 = {item:_arg1, state:_arg2};
m_arChildsState.push(_local4);
};
}
public function getStateForChild(_arg1:View_Child):int{
var _local2:int;
_local2 = findStateForChild(_arg1);
if (_local2 >= 0){
return (m_arChildsState[_local2].state);
};
return (Model_Settings.STATE_UNDEF);
}
public function findStateForChild(_arg1:View_Child):int{
var _local2:int;
var _local3:Object;
_local2 = m_arChildsState.length;
while (--_local2 >= 0) {
_local3 = m_arChildsState[_local2];
if (_local3.item == _arg1){
return (_local2);
};
};
return (-1);
}
public function onFinishState(_arg1:View_Child, _arg2:Number):void{
}
public function removeStateForChild(_arg1:View_Child):void{
var _local2:int;
_local2 = findStateForChild(_arg1);
if (_local2 >= 0){
m_arChildsState.splice(_local2, 1);
};
}
public function isChild(_arg1:MovieClip):Boolean{
var _local2:Number;
_local2 = m_mcContainer.numChildren;
while (--_local2 >= 0) {
if (m_mcContainer.getChildAt(_local2) == _arg1){
return (true);
};
};
return (false);
}
public function doMoviesUpdate():Boolean{
var _local1:DisplayObject;
if (m_arChilds == null){
return (false);
};
for each (_local1 in m_arChilds) {
doMovieUpdate(_local1);
};
return (true);
}
public function removeChild(_arg1:MovieClip):void{
var _local2:*;
_local2 = m_arChilds.indexOf(_arg1);
if (_local2 >= 0){
m_arChilds.splice(_local2, 1);
};
m_mcContainer.removeChild(_arg1);
}
public function addChild(_arg1:MovieClip):void{
var _local2:View_Child;
if (!isChild(_arg1)){
m_mcContainer.addChild(_arg1);
};
if (m_arChilds.indexOf(_arg1) < 0){
m_arChilds.push(_arg1);
};
if ((_arg1 is View_Child)){
_local2 = (_arg1 as View_Child);
_local2.setParenView(this);
};
}
public function clearStateForChild():void{
m_arChildsState = null;
}
protected function setContainer(_arg1:MovieClip):void{
m_mcContainer = _arg1;
}
}
}//package game
Section 179
//View_Debug (game.View_Debug)
package game {
import com.*;
import flash.display.*;
import com.mvc.*;
import flash.text.*;
public class View_Debug extends AbstractView {
private var m_txt:TextField;
private var m_mcBG:MovieClip;
public function View_Debug(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2);
makeUp(_arg3);
}
override public function getStage():MovieClip{
return (m_mcBG);
}
override public function update(_arg1:Observable, _arg2:Object):void{
pushObj(_arg2);
super.update(_arg1, _arg2);
}
override public function defaultController(_arg1:Model):Controller{
return (new Controller_Game(_arg1));
}
public function pushObj(_arg1:Object):void{
if (_arg1 == null){
addText("infoObj = null");
} else {
clearText();
addText("------------------------------------");
addText(_arg1.toString());
};
}
public function clearText():void{
m_txt.text = "";
}
public function makeUp(_arg1:MovieClip=null):void{
var _local2:TextFormat;
if (_arg1 == null){
return;
};
m_txt = new TextField();
m_txt.border = true;
m_txt.multiline = true;
m_txt.x = (_arg1.width / 2);
m_txt.y = 0;
m_txt.width = (_arg1.width / 2);
m_txt.height = _arg1.height;
m_txt.alpha = 80;
if (m_txt.width < 200){
m_txt.width = 200;
};
_local2 = new TextFormat();
_local2.font = "Verdana";
_local2.color = 0xFFFFFF;
_local2.size = 9;
m_txt.defaultTextFormat = _local2;
m_mcBG = new MovieClip();
m_mcBG.graphics.beginFill(0xFFFFFF);
m_mcBG.graphics.lineStyle(0, 0);
m_mcBG.graphics.drawRect(0, 0, m_txt.width, m_txt.height);
m_mcBG.graphics.endFill();
m_mcBG.alpha = 0.5;
m_mcBG.x = m_txt.x;
m_mcBG.y = m_txt.y;
_arg1.addChild(m_mcBG);
_arg1.addChild(m_txt);
}
public function addText(_arg1:String):void{
if (m_txt != null){
m_txt.appendText(_arg1);
m_txt.appendText("\n");
m_txt.scrollV = m_txt.maxScrollV;
};
}
}
}//package game
Section 180
//View_Game (game.View_Game)
package game {
import com.*;
import game.objects.*;
import flash.display.*;
import com.mvc.*;
import main.*;
import flash.utils.*;
import game.levels_design.*;
public class View_Game extends TView_Updatable {
private var m_nGameState:int;
private var m_vGrounds:View_Grounds;
private var m_mcLevelsContainer:MovieClip;
private var m_nGrounds:View_Grounds;
private var m_vObstacles:View_Obstacles;
private var m_vHero:View_Obj_Hero;
private var m_vLevel:View_Level;
public function View_Game(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2, _arg3);
makeUp(_arg3);
}
public function onHeroChangePos(_arg1:int):void{
m_vHero.setPos(_arg1);
}
public function clearPredLevel():void{
if (m_vLevel != null){
m_vLevel.show(false);
m_vLevel.clearObjs();
m_vLevel.clearSubView();
};
}
public function init():void{
hideAllLevels();
}
public function makeUp(_arg1:MovieClip=null):void{
}
public function onWorldChangeVirtualPos(_arg1:int, _arg2:int, _arg3:int):void{
if (m_vLevel != null){
m_vLevel.setVirtualPos(_arg1);
};
if (m_vHero != null){
m_vHero.setVirtualPos(_arg1);
};
}
public function onChangeUserState_Countdown(_arg1:int, _arg2:int):void{
m_vHero.setState_Countdown(_arg1, _arg2);
}
override public function defaultController(_arg1:Model):Controller{
return (new Controller_Game(_arg1));
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_Basic;
var _local4:InfoObj_GameState;
var _local5:InfoObj_Obstacle;
var _local6:InfoObj_Collision;
if (_arg2 == null){
return;
};
if ((_arg2 is InfoObj_Basic)){
if ((_arg2 is InfoObj_Basic)){
_local3 = (_arg2 as InfoObj_Basic);
if (!isNaN(_local3.m_nPos)){
onHeroChangePos(_local3.m_nPos);
};
if (!isNaN(_local3.m_nState)){
if (_local3.m_iCountdown == Model_Settings.INT_UNDEF){
onChangeUserState(_local3.m_nState);
} else {
onChangeUserState_Countdown(_local3.m_nState, _local3.m_iCountdown);
};
};
if (!isNaN(_local3.m_nAltState)){
onChangeUserState(_local3.m_nAltState);
};
};
} else {
if ((_arg2 is InfoObj_GameState)){
_local4 = (_arg2 as InfoObj_GameState);
if (_local4.m_levelActive != null){
onChangeLevel(_local4.m_levelActive);
};
if (((!(isNaN(_local4.m_nPos))) && (!((_local4.m_nPos == Model_Settings.INT_UNDEF))))){
onWorldChangePos(_local4.m_nPos);
};
if (_local4.m_nVirtualPos != Model_Settings.INT_UNDEF){
onWorldChangeVirtualPos(_local4.m_nVirtualPos, _local4.m_nVirtualPosFrom, _local4.m_nVirtualPosTo);
};
if (!isNaN(_local4.m_nTimeTick)){
if (m_vLevel != null){
m_vLevel.update();
};
};
if (((!(isNaN(_local4.m_nSetState))) && (!((_local4.m_nSetState == Model_Settings.GAME_STATE_UNDEF))))){
setGameState(_local4.m_nSetState);
};
if (((!(isNaN(_local4.m_nAcceptWithState))) && (!((_local4.m_nAcceptWithState == Model_Settings.INT_UNDEF))))){
if (_local4.m_nAcceptWithState == Model_Settings.GAME_STATE_WAKE_UP){
m_vLevel.show(false);
};
};
} else {
if ((_arg2 is InfoObj_Obstacle)){
_local5 = (_arg2 as InfoObj_Obstacle);
if (!isNaN(_local5.m_nState)){
if (_local5.m_iCountdown == Model_Settings.INT_UNDEF){
m_vObstacles.setObstacleState(_local5.m_mObstacle, _local5.m_nState);
} else {
m_vObstacles.setObstacleState_Countdown(_local5.m_mObstacle, _local5.m_nState, _local5.m_iCountdown);
};
};
} else {
if ((_arg2 is InfoObj_Collision)){
_local6 = (_arg2 as InfoObj_Collision);
if (!isNaN(_local6.m_nDist)){
if (_local6.m_bMonitor){
monitorCollision(_local6.m_obstacleWith, _local6.m_nDist);
};
};
};
};
};
};
super.update(_arg1, _arg2);
}
public function onWorldChangePos(_arg1:int):void{
m_vLevel.setWorldPos(_arg1);
}
public function getLevel(_arg1:Model_Level, _arg2:Boolean=false):View_Level{
var _local3:Number;
var _local4:MovieClip;
var _local5:View_Level;
if (_arg1 == null){
return (null);
};
_local3 = _arg1.getID();
if (_local3 < 0){
return (null);
};
_local4 = getLevelMcByID(_local3, _arg2);
_local5 = new View_Level(this, _local4);
_local5.setLevelModel(_arg1);
return (_local5);
}
public function getLevelMcByID(_arg1:Number, _arg2:Boolean=false):MovieClip{
var _local3:String;
var _local4:MovieClip;
_local3 = View_Settings_Levels.getGroundsName_byLevel(_arg1);
if (_local3 == null){
return (null);
};
if (((Global_Settings.LEVELS_IN_STAGE) || (_arg2))){
_local4 = (m_mcContainer.getChildByName((_local3 + "_mc")) as MovieClip);
} else {
_local4 = createLevel(_local3);
};
return (_local4);
}
public function onChangeUserState(_arg1:Number):void{
m_vHero.setState(_arg1);
}
public function onChangeLevel(_arg1:Model_Level):void{
clearPredLevel();
m_vLevel = getLevel(_arg1);
if (m_vLevel == null){
return;
};
m_vLevel.init();
m_vLevel.show(true);
m_vHero = new View_Obj_Hero(m_vLevel);
m_vObstacles = new View_Obstacles(m_vLevel);
m_vGrounds = new View_Grounds(m_vLevel);
m_vLevel.sortDepth();
}
public function hideAllLevels():void{
var n:Number;
var mc:MovieClip;
var mcContainer:MovieClip;
n = View_Settings_Levels.getLevelsCount();
if (Global_Settings.LEVELS_IN_STAGE){
while ((n = (n - 1)), (n - 1) >= 0) {
mc = getLevelMcByID(n);
if (mc != null){
mc.visible = false;
};
};
} else {
mcContainer = getContainer();
if (m_mcContainer == null){
return;
};
while ((n = (n - 1)), (n - 1) >= 0) {
mc = getLevelMcByID(n, true);
if (mc != null){
try {
m_mcContainer.removeChild(mc);
} catch(e:Error) {
Log.getInstance().myTrace_Exception(e, hideAllLevels, this);
};
};
};
};
}
public function onChangeUserAltState(_arg1:Number):void{
m_vHero.setAltState(_arg1);
}
public function onLastBodyFrame(_arg1:Number):void{
Controller_Game(getController()).listenStateFinished(_arg1);
}
public function createLevel(_arg1:String):MovieClip{
var mc:MovieClip;
var ClassDefinition:Class;
var strName = _arg1;
if (m_mcContainer == null){
return (null);
};
mc = null;
ClassDefinition = (getDefinitionByName(strName) as Class);
if (ClassDefinition == null){
Log.getInstance().myTraceCantFindClassDefinition(strName, createLevel, this);
};
try {
mc = new (ClassDefinition);
if (m_mcLevelsContainer == null){
m_mcLevelsContainer = new MovieClip();
m_mcContainer.addChild(m_mcLevelsContainer);
m_mcContainer.setChildIndex(m_mcLevelsContainer, 0);
};
m_mcLevelsContainer.addChild(mc);
} catch(e:Error) {
Log.getInstance().myTrace_Exception(e, createLevel, this);
};
return (mc);
}
private function finishGameState(_arg1:int):void{
switch (_arg1){
case Model_Settings.GAME_STATE_WAKE_UP:
m_vLevel.show(true);
break;
};
}
private function setGameState(_arg1:int):void{
if (m_nGameState == _arg1){
return;
};
finishGameState(m_nGameState);
m_nGameState = _arg1;
}
private function monitorCollision(_arg1:Model_Obstacle, _arg2:int):void{
}
}
}//package game
Section 181
//View_Keys (game.View_Keys)
package game {
import flash.events.*;
import flash.display.*;
import com.mvc.*;
public class View_Keys extends AbstractView {
public function View_Keys(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2);
if (_arg3 != null){
_arg3.stage.addEventListener(KeyboardEvent.KEY_DOWN, Controller_Keys(getController()).listenKeyDown, false, 5, true);
_arg3.stage.addEventListener(KeyboardEvent.KEY_UP, Controller_Keys(getController()).listenKeyUp, false, 5, true);
};
}
override public function defaultController(_arg1:Model):Controller{
return (new Controller_Keys(_arg1));
}
}
}//package game
Section 182
//View_Pause (game.View_Pause)
package game {
import com.*;
import flash.display.*;
import com.mvc.*;
import classes.*;
import classes.gameInterface.*;
public class View_Pause extends AbstractView {
var m_nState:Number;
var m_mcPauseMenu:PauseMenu;
var m_mcContainer:MovieClip;
public function View_Pause(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2);
init(_arg3);
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_GameState;
if (_arg2 == null){
return;
};
if ((_arg2 is InfoObj_GameState)){
_local3 = (_arg2 as InfoObj_GameState);
if (!isNaN(_local3.m_nPause)){
setPause((_local3.m_nPause == 1));
};
if (((!(isNaN(_local3.m_nSetState))) && (!((Model_Settings.GAME_STATE_UNDEF == _local3.m_nSetState))))){
setGameState(_local3.m_nSetState);
};
};
}
override public function defaultController(_arg1:Model):Controller{
return (new Controller_Pause(_arg1));
}
public function onChangePause(_arg1:Boolean):void{
Controller_Pause(getController()).setPause(_arg1);
}
private function init(_arg1:MovieClip):Boolean{
m_mcContainer = _arg1;
return (true);
}
public function onChangeGameState(_arg1:Number):void{
Controller_Pause(getController()).setGameState(_arg1);
}
public function finishGameState(_arg1:Number):void{
}
public function setPause(_arg1:Boolean):void{
if (_arg1){
m_mcPauseMenu = new PauseMenu(m_mcContainer);
m_mcPauseMenu.x = 0;
m_mcPauseMenu.y = 0;
m_mcPauseMenu.setView(this);
m_mcPauseMenu.show(true);
m_mcContainer.addChild(m_mcPauseMenu);
} else {
if (m_mcPauseMenu != null){
m_mcContainer.removeChild(m_mcPauseMenu);
m_mcPauseMenu = null;
if (m_nState != 26){
Global.music_game.playMusic("game", "game5");
} else {
Global.sound_game.playSound("game", "kamatoz", 100);
};
};
};
}
public function setGameState(_arg1:Number):void{
finishGameState(m_nState);
m_nState = _arg1;
}
}
}//package game
Section 183
//View_Settings (game.View_Settings)
package game {
import com.*;
import flash.geom.*;
public class View_Settings extends TSettings {
public static const WORLD_POS_X:Number = 100;
public static const WORLD_POS_Y:Number = 340;
public static const OBSTACLE_FIGHT_COUNTDOWN_START_ENEMY_PLAYER:int = 15;
public static const STATE_ANIM_BTN_OVER:int = -10011;
public static const COMPLEX_OBSTACLE_MANAGER_STATE:Array = new Array({id:Model_Settings.OBSTACLE_STATE_WAIT, label_name:"wait", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_LOST, label_name:"lost", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_HIT, label_name:"hit", next_state:Model_Settings.OBSTACLE_STATE_WIN, is_anim_next_state:true, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_WIN, label_name:"win", next_state:Number.NaN, is_anim_next_state:false, is_loop:true});
public static const OBSTACLE_FIGHT_COUNTDOWN_START_OLDWOMAN:int = 9;
public static const SPEED_COEF:Number = 1;
public static const ANIMATION_TIMELINE_STATE:Array = new Array({id:STATE_CLOSE, label_name:null, next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:STATE_OPEN, label_name:null, next_state:Number.NaN, is_loop:false, is_anim_next_state:false});
public static const GROUND_COUNT:Number = 7;
public static const CHECKIT_STATE:Array = new Array({id:STATE_OFF, label_name:"off", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:STATE_ON, label_name:"on", next_state:Number.NaN, is_loop:false, is_anim_next_state:false});
public static const HERO_FIGHT_COUNTDOWN_START_FIGHT_00:int = 13;
public static const ANIMATION_ABSTRACT_STATE:Array = new Array({id:STATE_CLOSE, label_name:"close", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:STATE_OPEN, label_name:"open", next_state:Number.NaN, is_loop:false, is_anim_next_state:false});
public static const COMPLEX_OBSTACLE_STATE:Array = new Array({id:Model_Settings.OBSTACLE_STATE_WAIT, label_name:"wait", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_LOST, label_name:"lost", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_HIT, label_name:"hit", next_state:Model_Settings.OBSTACLE_STATE_WIN, is_anim_next_state:true, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_WIN, label_name:"win", next_state:Number.NaN, is_anim_next_state:false, is_loop:true});
public static const HERO_FIGHT_COUNTDOWN_START_FIGHT_01:int = 0;
public static const STATE_OPEN:int = -10001;
public static const OBSTACLE_FIGHT_COUNTDOWN_START_HOOLIGAN:int = 8;
public static const GROUND_INFO:Array = new Array({id:0, depth:0.5}, {id:1, depth:1}, {id:2, depth:2}, {id:3, depth:3}, {id:4, depth:4}, {id:5, depth:6}, {id:6, depth:View_Settings.STATIC_BG});
public static const VIEW_EFFECT_BLINK:Number = 0;
public static const STATE_ON:int = -20000;
public static const COMPLEX_OBSTACLE_ALIEN_STATE:Array = new Array({id:Model_Settings.OBSTACLE_STATE_WAIT, label_name:"wait", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_LOST, label_name:"loose", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_HIT, label_name:"hit", next_state:Model_Settings.OBSTACLE_STATE_WIN, is_anim_next_state:true, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_WIN, label_name:"win", next_state:Number.NaN, is_anim_next_state:false, is_loop:true});
public static const APPEAR_WIDTH:Number = 20;
public static const SIMPLE_OBSTACLE_NAME:Array = new Array({id:Model_Settings.OBSTACLE_S_TOP, obj_name:"View_Obstacle_Top"}, {id:Model_Settings.OBSTACLE_S_MID, obj_name:"View_Obstacle_Mid"}, {id:Model_Settings.OBSTACLE_S_BOTTOM, obj_name:"View_Obstacle_Bottom"}, {id:Model_Settings.OBSTACLE_S_GROUND, obj_name:"View_Obstacle_Ground"});
public static const STATE_OFF:int = -20001;
public static const WORLD_DY:Number = 1;
public static const OBSTACLE_FIGHT_COUNTDOWN_START_ALIEN:int = 6;
public static const WORLD_DX:Number = 1;
public static const STATE_CLOSE:int = -10000;
public static const COMPLEX_OBSTACLE_ENEMY_PLAYER_STATE:Array = new Array({id:Model_Settings.OBSTACLE_STATE_WAIT, label_name:"wait", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_LOST, label_name:"loose", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_HIT, label_name:"hit", next_state:Model_Settings.OBSTACLE_STATE_WIN, is_anim_next_state:true, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_WIN, label_name:"win", next_state:Number.NaN, is_anim_next_state:false, is_loop:true});
public static const OBSTACLE_FIGHT_COUNTDOWN_START_ENEMY_PLAYER_WHITE:int = 15;
public static const ANIMATION_BTN_STATE:Array = new Array({id:STATE_ANIM_BTN_UP, label_name:"up", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:STATE_ANIM_BTN_OVER, label_name:"over", next_state:Number.NaN, is_loop:false, is_anim_next_state:false}, {id:STATE_ANIM_BTN_DOWN, label_name:"down", next_state:Number.NaN, is_loop:false, is_anim_next_state:false});
public static const HERO_STATE_TO_VIEW:Array = new Array({id:Model_Settings.HERO_RUN, label_name:"run", fixed_length:false}, {id:Model_Settings.HERO_JUMP, label_name:"jump", fixed_length:true}, {id:Model_Settings.HERO_TACKLE, label_name:"tackle", fixed_length:true}, {id:Model_Settings.HERO_LONG_JUMP, label_name:"long_jump", fixed_length:true}, {id:Model_Settings.HERO_HIT, label_name:"hit", fixed_length:true}, {id:Model_Settings.HERO_LOST_LIFE, label_name:"lost_life", fixed_length:false}, {id:Model_Settings.HERO_LOST_LIFE_WAKE_UP, label_name:"sleep", fixed_length:false}, {id:Model_Settings.HERO_PREPARE_TO_FIGHT, label_name:"prepare_to_fight", fixed_length:false, need_finished_pred_state:true}, {id:Model_Settings.HERO_FIGHT_00, label_name:"fight_hit_by_ball", fixed_length:false}, {id:Model_Settings.HERO_FIGHT_01, label_name:"fight_bypass", fixed_length:false}, {id:Model_Settings.HERO_FIGHT_DOWN, label_name:"fight_lost", fixed_length:true}, {id:Model_Settings.HERO_FINISH_LEVEL, label_name:"run", fixed_length:false}, {id:Model_Settings.HERO_LOSE, label_name:"sleep", fixed_length:false});
public static const OBJ_ALTSTATE_TO_VIEW:Array = new Array({id:Model_Settings.OBJ_ALTSTATE_HIT_OBSTACLE, view_effect:VIEW_EFFECT_BLINK});
public static const COMPLEX_OBSTACLE_MEGA_PLAYER_STATE:Array = new Array({id:Model_Settings.OBSTACLE_STATE_WAIT, label_name:"wait", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_LOST, label_name:"loose", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_HIT, label_name:"hit", next_state:Model_Settings.OBSTACLE_STATE_WIN, is_anim_next_state:true, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_WIN, label_name:"win", next_state:Number.NaN, is_anim_next_state:false, is_loop:true});
public static const OBSTACLE_FIGHT_COUNTDOWN_START_MEGA_PLAYER:int = 12;
public static const COMPLEX_OBSTACLE_HOOLEGAN_STATE:Array = new Array({id:Model_Settings.OBSTACLE_STATE_WAIT, label_name:"wait", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_LOST, label_name:"lost", next_state:Number.NaN, is_anim_next_state:false, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_HIT, label_name:"hit", next_state:Model_Settings.OBSTACLE_STATE_WIN, is_anim_next_state:true, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_WIN, label_name:"win", next_state:Number.NaN, is_anim_next_state:false, is_loop:true});
public static const STATE_ANIM_BTN_UP:int = -10010;
public static const STATIC_BG:Number = -777;
public static const VIEW_EFFECT_STYLE:Array = new Array({id:VIEW_EFFECT_BLINK, duration:(3 * 1000), freq_from:(1000 / 4), freq_to:(1000 / 16)});
public static const WORLD_D:Point = new Point(WORLD_DX, WORLD_DY);
public static const COMPLEX_OBSTACLE_NAME:Array = new Array({id:Model_Settings.OBSTACLE_C_HOOLIGAN, obj_name:"View_Obstacle_Complex_00"}, {id:Model_Settings.OBSTACLE_C_OLDMOTHER, obj_name:"View_Obstacle_Complex_00"}, {id:Model_Settings.OBSTACLE_C_MANAGER, obj_name:"View_Obstacle_Complex_00"}, {id:Model_Settings.OBSTACLE_C_ALIEN, obj_name:"View_Obstacle_Complex_00"}, {id:Model_Settings.OBSTACLE_C_ENEMY_PLAYER, obj_name:"View_Obstacle_Complex_00"}, {id:Model_Settings.OBSTACLE_C_MEGA_PLAYER, obj_name:"View_Obstacle_Complex_00"});
public static const VIEW_EFFECT_UNDEF:Number = -1;
public static const OBSTACLE_FIGHT_COUNTDOWN_START_MANAGER:int = 8;
public static const STATE_ANIM_BTN_DOWN:int = -10012;
public static const WORLD_POS:Point = new Point(WORLD_POS_X, WORLD_POS_Y);
public static const COMPLEX_OBSTACLE_OLDWOMAN_STATE:Array = new Array({id:Model_Settings.OBSTACLE_STATE_WAIT, label_name:"wait", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_LOST, label_name:"lost", next_state:Number.NaN, is_anim_next_state:false, is_loop:true}, {id:Model_Settings.OBSTACLE_STATE_HIT, label_name:"hit", next_state:Model_Settings.OBSTACLE_STATE_WIN, is_anim_next_state:true, is_loop:false}, {id:Model_Settings.OBSTACLE_STATE_WIN, label_name:"win", next_state:Number.NaN, is_anim_next_state:false, is_loop:true});
public function getHeroStateLabel(_arg1:Number){
var _local2:Object;
for each (_local2 in HERO_STATE_TO_VIEW) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (null);
}
public static function screenToWorldXY(_arg1:Number, _arg2:Number):Point{
var _local3:Point;
_local3 = new Point((-(WORLD_POS_X) + (_arg1 / worldToScreenDx())), (-(WORLD_POS_Y) + (_arg2 / worldToScreenDy())));
return (_local3);
}
public static function worldToScreenXY(_arg1:Number, _arg2:Number):Point{
var _local3:Point;
_local3 = new Point((WORLD_POS_X + (_arg1 * worldToScreenDx())), (WORLD_POS_Y + (_arg2 * worldToScreenDy())));
return (_local3);
}
public static function getComplexObstacleName(_arg1:Number):String{
var _local2:Object;
for each (_local2 in COMPLEX_OBSTACLE_NAME) {
if (_local2.id == _arg1){
return (_local2.obj_name);
};
};
return (null);
}
public static function getEffectStyle(_arg1:Number):Object{
return (getObj(VIEW_EFFECT_STYLE, _arg1));
}
public static function worldToScreen(_arg1:Point):Point{
var _local2:Point;
_local2 = new Point(_arg1.x, _arg1.y);
_local2.x = (_local2.x * WORLD_DX);
_local2.y = (_local2.y * WORLD_DY);
_local2 = _local2.add(WORLD_POS);
return (_local2);
}
public static function worldToStreenD():Point{
return (new Point(worldToScreenDx(), worldToScreenDy()));
}
public static function getSimpleObstacleName(_arg1:Number):String{
var _local2:Object;
for each (_local2 in SIMPLE_OBSTACLE_NAME) {
if (_local2.id == _arg1){
return (_local2.obj_name);
};
};
return (null);
}
public static function getObjAltStateView(_arg1:Number):Object{
var _local2:Object;
for each (_local2 in OBJ_ALTSTATE_TO_VIEW) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function screenToWorld(_arg1:Point):Point{
var _local2:Point;
_local2 = new Point(_arg1.x, _arg1.y);
_local2 = _local2.subtract(WORLD_POS);
_local2.x = (_local2.x / WORLD_DX);
_local2.y = (_local2.y / WORLD_DY);
return (_local2);
}
public static function getComplexObstacleState(_arg1:Number):String{
var _local2:Object;
for each (_local2 in COMPLEX_OBSTACLE_STATE) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (null);
}
public static function worldToScreenDx():Number{
return (WORLD_DX);
}
public static function worldToScreenDy():Number{
return (WORLD_DY);
}
}
}//package game
Section 184
//View_Sound (game.View_Sound)
package game {
import com.*;
import com.mvc.*;
import classes.*;
public class View_Sound extends AbstractView {
private var m_iState:int;// = 2147483647
public function View_Sound(_arg1:Model=null, _arg2:Controller=null){
m_iState = Model_Settings.INT_UNDEF;
super(_arg1, _arg2);
}
private function playInterfaceMusic():void{
Global.music_game.stopMusics();
Global.music_interface.playMusic("main", "interface5");
}
private function playFight00():void{
Global.sound_game.playSound("game", "super_kick");
Global.sound_game.playSound("game2", "super_good");
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_GameState;
var _local4:InfoObj_Basic;
var _local5:InfoObj_Hero;
if (_arg2 == null){
return;
};
_local3 = (_arg2 as InfoObj_GameState);
_local4 = (_arg2 as InfoObj_Basic);
_local5 = (_arg2 as InfoObj_Hero);
if (_local3 != null){
if (!isNaN(_local3.m_nPause)){
setPause((_local3.m_nPause == 1));
};
if (((!(isNaN(_local3.m_nSetState))) && (!((Model_Settings.GAME_STATE_UNDEF == _local3.m_nSetState))))){
setGameState(_local3.m_nSetState);
};
};
if (_local4 != null){
if (!isNaN(_local4.m_nState)){
if (_local4.m_iCountdown == Model_Settings.INT_UNDEF){
onChangeUserState(_local4.m_nState);
} else {
onChangeUserState_Countdown(_local4.m_nState, _local4.m_iCountdown);
};
};
};
if (_local5 != null){
if (((!((_local5.m_nComboAction_Right == Model_Settings.INT_UNDEF))) && (!(isNaN(_local5.m_nComboAction_Right))))){
onComboActionRight(_local5.m_nComboAction_Right);
};
if (((!((_local5.m_nComboAction_Wrong == Model_Settings.INT_UNDEF))) && (!(isNaN(_local5.m_nComboAction_Wrong))))){
onComboActionWrong(_local5.m_nComboAction_Wrong);
};
};
}
private function playTackleSound():void{
Global.sound_game.playSound("game", "tormoz");
}
private function playLongJumpSound():void{
var _local1:int;
_local1 = (Math.random() * 2);
switch (_local1){
case 0:
Global.sound_game.playSound("game", "j3");
break;
default:
Global.sound_game.playSound("game", "j4");
break;
};
}
private function playFight01():void{
Global.sound_game.playSound("game", "super_kick2");
}
private function playKeyLose():void{
Global.sound_game.playSound("game", "key_lose");
}
private function playComboRight():void{
}
private function playHitSound():void{
Global.sound_game.playSound("game", "down1");
}
private function onChangeUserState(_arg1:int):void{
switch (_arg1){
case Model_Settings.HERO_JUMP:
playJumpSound();
break;
case Model_Settings.HERO_LONG_JUMP:
playLongJumpSound();
break;
case Model_Settings.HERO_TACKLE:
playTackleSound();
break;
case Model_Settings.HERO_FIGHT_01:
playFight01();
break;
case Model_Settings.HERO_WIN_FIGHT:
playComboRight();
break;
case Model_Settings.HERO_FIGHT_00:
playFight00();
break;
case Model_Settings.HERO_FIGHT_DOWN:
playFight00();
break;
case Model_Settings.HERO_HIT:
playHitSound();
break;
};
}
private function playKeyGood():void{
Global.sound_game.playSound("game", "key_good");
}
private function onChangeUserState_Countdown(_arg1:int, _arg2:int):void{
}
private function setGameState(_arg1:int):void{
finishGameState(m_iState);
m_iState = _arg1;
switch (_arg1){
case Model_Settings.GAME_STATE_LEVELS_MAP_ONSTART:
case Model_Settings.GAME_STATE_LEVELS_MAP:
playInterfaceMusic();
break;
case Model_Settings.GAME_STATE_WAKE_UP:
playWakeupSound();
break;
case Model_Settings.GAME_STATE_RUN:
playGameMusic();
break;
case Model_Settings.GAME_STATE_WAKE_UP:
playWakeupSound();
break;
};
}
private function finishGameState(_arg1:int):void{
switch (_arg1){
case Model_Settings.GAME_STATE_WAKE_UP:
Global.sound_game.stopSounds();
Global.music_game.playMusic("game", "game5");
break;
};
}
private function playJumpSound():void{
var _local1:int;
_local1 = (Math.random() * 2);
switch (_local1){
case 0:
Global.sound_game.playSound("game", "j1");
break;
default:
Global.sound_game.playSound("game", "j2");
break;
};
}
private function onComboActionRight(_arg1:int):void{
playKeyGood();
}
private function onComboActionWrong(_arg1:int):void{
playKeyLose();
}
private function iniSoundAndMusic():void{
if (Global._game_stored_data.data.soundVolumeFlag == 1){
Global.sound_game.setSoundVolume(Global._sound_volume_game);
} else {
Global.sound_game.setSoundVolume(0);
};
if (Global._game_stored_data.data.musicVolumeFlag == 1){
Global.music_game.setMusicVolume(Global._music_volume_game);
} else {
Global.music_game.setMusicVolume(0);
};
}
public function setPause(_arg1:Boolean):void{
if (_arg1){
Global.music_game.setMusicVolume(0);
} else {
iniSoundAndMusic();
};
}
private function playWakeupSound():void{
Global.music_game.stopMusics();
Global.sound_game.playSound("game", "kamatoz", 100);
}
private function playGameMusic():void{
Global.music_interface.stopMusics();
Global.sound_game.stopSounds();
iniSoundAndMusic();
Global.music_game.playMusic("game", "game5");
}
}
}//package game
Section 185
//View_Timer (game.View_Timer)
package game {
import flash.events.*;
import com.*;
import flash.display.*;
import com.mvc.*;
import main.*;
import flash.utils.*;
public class View_Timer extends AbstractView {
private var m_nGameState:Number;
private var m_timerGame:Timer;
public function View_Timer(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null, _arg4:Number=0){
super(_arg1, _arg2);
if (_arg4 == 0){
_arg4 = Global_Settings.GAME_DELAY;
};
m_timerGame = new Timer(_arg4, 0);
m_timerGame.addEventListener(TimerEvent.TIMER, Controller_Timer(getController()).listenTimer, false, 0, true);
m_timerGame.start();
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_GameState;
if (_arg2 == null){
return;
};
_local3 = (_arg2 as InfoObj_GameState);
if (_local3 != null){
if (!isNaN(_local3.m_nPause)){
switch (_local3.m_nPause){
case Model_Settings.PAUSE_OFF:
setPause(false);
break;
case Model_Settings.PAUSE_ON:
setPause(true);
break;
};
};
if (!isNaN(_local3.m_nSetState)){
setGameState(_local3.m_nSetState);
};
};
super.update(_arg1, _arg2);
}
override public function defaultController(_arg1:Model):Controller{
return (new Controller_Timer(_arg1));
}
public function setGameState(_arg1:Number):void{
finishedGameState(m_nGameState);
m_nGameState = _arg1;
switch (_arg1){
case Model_Settings.GAME_STATE_GAME_OVER:
case Model_Settings.GAME_STATE_WIN:
stopTimer();
break;
};
}
public function stopTimer():void{
m_timerGame.removeEventListener(TimerEvent.TIMER, Controller_Timer(getController()).listenTimer);
m_timerGame = null;
}
public function finishedGameState(_arg1:Number):void{
}
public function setPause(_arg1:Boolean=true):void{
if (_arg1){
m_timerGame.stop();
} else {
m_timerGame.start();
};
}
public function changeSpeed(_arg1:Number):void{
m_timerGame.stop();
m_timerGame.delay = _arg1;
m_timerGame.start();
}
}
}//package game
Section 186
//MC_All (main.v.MC_All)
package main.v {
import game.*;
import flash.events.*;
import flash.display.*;
import main.*;
import classes.*;
import classes.gameInterface.*;
public class MC_All extends MovieClip {
var m_bChangeState_Activate:Boolean;
var m_arStateInfo:Array;
public var game_mc:MC_GameSystem;
public var intro_mc:MC_Intro;
public var help_mc:MC_Help;
public var score_mc:MC_Game_Over;
var m_nState_Pred:Number;// = -1
public var menu_mc:MainMenu;
var m_strStateLabel:String;
public var instr_mc:MC_Instr;
var m_mcCurrent:MovieClip;
var m_nState:Number;// = -1
var m_vParent:View_All;
public var final_mc:MC_Final;
public function MC_All(){
var _local1:Vorota;
m_nState = Global_Settings.PLAY_UNDEFINDE;
m_nState_Pred = Global_Settings.PLAY_UNDEFINDE;
super();
_local1 = new Vorota(this);
stop();
setStateInfo(Global_Settings.ALL_LABEL);
this.addEventListener(Event.ENTER_FRAME, iniMask);
}
public function iniMask(_arg1:Event):void{
var _local2:Sprite;
_local2 = new Sprite();
_local2.graphics.lineStyle(1, 0xFF0000, 100);
_local2.graphics.beginFill(0xFF0000, 100);
_local2.graphics.moveTo(0, 0);
_local2.graphics.lineTo(Global._game_width, 0);
_local2.graphics.lineTo(Global._game_width, Global._game_height);
_local2.graphics.lineTo(0, Global._game_height);
_local2.graphics.moveTo(0, 0);
_local2.visible = false;
parent.addChild(_local2);
this.mask = _local2;
this.removeEventListener(Event.ENTER_FRAME, iniMask);
}
public function getLinkTo(_arg1:Number):String{
var _local2:Object;
for each (_local2 in m_arStateInfo) {
if (_local2.id == _arg1){
return (_local2.linkTo);
};
};
return (null);
}
public function onChange_ShowThisAgain(_arg1:Boolean):void{
m_vParent.onChange_ShowThisAgain(_arg1);
}
public function set state(_arg1:Number):void{
var _local2:String;
var _local3:String;
var _local4:Vorota;
var _local5:TAllItem;
var _local6:TAllItem;
m_nState_Pred = m_nState;
m_nState = _arg1;
_local2 = getLinkTo(_arg1);
_local3 = getLabel(_arg1);
if (_local3 != null){
m_strStateLabel = _local3;
if (m_nState_Pred == Global_Settings.PLAY_UNDEFINDE){
if (this.currentLabel == _local3){
onChangeState_Activate();
_local5 = getItem();
onChangeState_Activate_Final(_local5);
} else {
_local4 = new Vorota(this, true);
this.setChildIndex(_local4, (parent.numChildren - 1));
_local4.name = "vorota_mc";
gotoAndStop(_local3);
listenChangeState();
};
} else {
_local4 = new Vorota(MovieClip(this), false, MovieClip(this), _local3);
_local6 = getItem();
if (_local6 != null){
_local6.show(false);
};
listenChangeState();
};
};
if (_local2 != null){
Global.getURL(Global._urls[_local2]);
};
}
public function getLabel(_arg1:Number):String{
var _local2:Object;
for each (_local2 in m_arStateInfo) {
if (_local2.id == _arg1){
return (_local2.label_name);
};
};
return (null);
}
public function onChangeState_Activate():Boolean{
var _local1:Vorota;
if (m_nState_Pred != Global_Settings.PLAY_UNDEFINDE){
_local1 = new Vorota(this, true, this, currentFrame);
} else {
_local1 = new Vorota(this, true, this, currentFrame);
};
return (true);
}
public function onFinishState(_arg1:int):void{
m_vParent.onFinishState(_arg1);
}
public function setParentView(_arg1:View_All):void{
m_vParent = _arg1;
}
public function onChangeState(_arg1:Number):void{
m_vParent.onSetState(_arg1);
}
public function getItem():TAllItem{
var _local1:Number;
_local1 = numChildren;
do {
--_local1;
} while (_local1 >= 0);
return ((getChildByName(m_strStateLabel) as TAllItem));
}
public function get state():Number{
return (m_nState);
}
public function getModel():Model_All{
if (m_vParent == null){
return (null);
};
return ((m_vParent.getModel() as Model_All));
}
public function setStateInfo(_arg1:Array):void{
m_arStateInfo = _arg1;
}
private function listenChangeState():void{
m_bChangeState_Activate = false;
this.addEventListener(Event.ENTER_FRAME, listenEnterFrame);
}
private function listenEnterFrame(_arg1:Event):void{
var _local2:MovieClip;
var _local3:TAllItem;
_local2 = (_arg1.target as MovieClip);
if (m_strStateLabel == _local2.currentLabel){
if (!m_bChangeState_Activate){
onChangeState_Activate();
m_bChangeState_Activate = true;
};
_local3 = getItem();
if (_local3 != null){
onChangeState_Activate_Final(_local3);
this.removeEventListener(Event.ENTER_FRAME, listenEnterFrame);
};
};
}
public function onChangeState_Activate_Final(_arg1:TAllItem):Boolean{
if (_arg1 == null){
return (false);
};
_arg1.setParent(this);
_arg1.init();
m_vParent.onStateActivate(m_nState, _arg1);
return (true);
}
}
}//package main.v
Section 187
//MC_Final (main.v.MC_Final)
package main.v {
import flash.events.*;
import flash.display.*;
import main.*;
import classes.*;
public class MC_Final extends TAllItem {
public var viewTopScoreBtn:SimpleButton;
public var score_mc:MC_Score;
public var menu_btn:SimpleButton;
public var viewTopScoreText_mc:viewTopScoreText;
public var gamezheroBtn:MovieClip;
public var menu_title_mc:MC_Text_Menu;
public function MC_Final(){
menu_btn.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
menu_btn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
menu_title_mc.mouseEnabled = false;
viewTopScoreBtn.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown_TopScore);
viewTopScoreBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
viewTopScoreText_mc.mouseEnabled = false;
gamezheroBtn.addEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2);
gamezheroBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverZorro);
gamezheroBtn.buttonMode = true;
gamezheroBtn.useHandCursor = true;
}
public function mainMenuAction():void{
getParent().onChangeState(Global_Settings.PLAY_MENU);
menu_btn.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
menu_btn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2);
gamezheroBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverZorro);
viewTopScoreBtn.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown_TopScore);
viewTopScoreBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
}
public function listenBtnDown_TopScore(_arg1:MouseEvent):void{
getParent().onChangeState(Global_Settings.PLAY_VIEW_SCORE);
}
private function mouseOverZorro(_arg1:MouseEvent):void{
if (gamezheroBtn["blick"] != null){
gamezheroBtn["blick"].play();
};
if (gamezheroBtn["blick2"] != null){
gamezheroBtn["blick2"].play();
};
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
private function listenBtnDown(_arg1:MouseEvent):void{
mainMenuAction();
}
private function mouseOverFunc(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
private function playMoreGames2(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getParent().onChangeState(Global_Settings.PLAY_ZORRO_LOGO);
}
}
}//package main.v
Section 188
//MC_Game_Over (main.v.MC_Game_Over)
package main.v {
import flash.events.*;
import flash.display.*;
import main.*;
import classes.*;
public class MC_Game_Over extends TAllItem {
public var viewTopScoreBtn:SimpleButton;
public var gameOverText:GameOverCongratulation0015;
public var score_mc:MC_Score;
public var menu_btn:SimpleButton;
public var viewTopScoreText_mc:viewTopScoreText;
public var gamezheroBtn:MovieClip;
public var menu_title_mc:MC_Text_Menu;
public function MC_Game_Over(){
menu_btn.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
menu_btn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
menu_title_mc.mouseEnabled = false;
viewTopScoreBtn.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown_TopScore);
viewTopScoreBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
viewTopScoreText_mc.mouseEnabled = false;
gamezheroBtn.addEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2);
gamezheroBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverZorro);
gamezheroBtn.buttonMode = true;
gamezheroBtn.useHandCursor = true;
}
public function mainMenuAction():void{
getParent().onChangeState(Global_Settings.PLAY_MENU);
menu_btn.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
menu_btn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2);
gamezheroBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverZorro);
viewTopScoreBtn.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown_TopScore);
viewTopScoreBtn.removeEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
}
public function listenBtnDown_TopScore(_arg1:MouseEvent):void{
getParent().onChangeState(Global_Settings.PLAY_VIEW_SCORE);
}
private function mouseOverZorro(_arg1:MouseEvent):void{
if (gamezheroBtn["blick"] != null){
gamezheroBtn["blick"].play();
};
if (gamezheroBtn["blick2"] != null){
gamezheroBtn["blick2"].play();
};
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
private function listenBtnDown(_arg1:MouseEvent):void{
mainMenuAction();
}
private function mouseOverFunc(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
private function playMoreGames2(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getParent().onChangeState(Global_Settings.PLAY_ZORRO_LOGO);
}
}
}//package main.v
Section 189
//MC_GameSystem (main.v.MC_GameSystem)
package main.v {
import flash.display.*;
public class MC_GameSystem extends TAllItem {
public var ui_mc:MovieClip;
}
}//package main.v
Section 190
//MC_Help (main.v.MC_Help)
package main.v {
import flash.events.*;
import flash.display.*;
import main.*;
public class MC_Help extends TAllItem {
public var skip_btn:SimpleButton;
public function MC_Help(){
skip_btn.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
}
private function listenBtnDown(_arg1:MouseEvent):void{
getParent().onChangeState(Global_Settings.PLAY_MENU);
skip_btn.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
}
}
}//package main.v
Section 191
//MC_Instr (main.v.MC_Instr)
package main.v {
import game.animation.*;
import flash.events.*;
import com.*;
import flash.display.*;
import main.*;
import classes.*;
public class MC_Instr extends TAllItem implements ICheckitParent {
var m_checkitShowThisAgain:Checkit_Simple;
var m_bPlayAfter:Boolean;
var m_btnMenu:SimpleButton;
public var show_this_again_checkit_mc:show_this_again;
public var show_this_again_title_mc:show_this_again_title;
var m_titlePlay:TElementWithText;
public var menu_btn:SimpleButton;
public var play_title_mc:play_title;
public var instructionsHeader:InstructionsHeader;
public var menu_title_mc:MC_Text_Menu;
public var play_btn:SimpleButton;
var m_btnPlay:SimpleButton;
override public function init():void{
var _local1:MC_All;
super.init();
_local1 = getParent();
m_checkitShowThisAgain = (getChildByName("show_this_again_checkit_mc") as Checkit_Simple);
m_btnMenu = menu_btn;
m_btnPlay = play_btn;
m_titlePlay = play_title_mc;
if (((!((_local1 == null))) && ((_local1.state == Global_Settings.PLAY_INSTR_BEFORE_GAME)))){
m_btnPlay.visible = true;
if (m_titlePlay != null){
m_titlePlay.visible = true;
};
m_btnPlay.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
m_btnPlay.addEventListener(MouseEvent.ROLL_OVER, listenBtnOver);
} else {
m_btnPlay.visible = false;
if (m_titlePlay != null){
m_titlePlay.visible = false;
};
};
m_btnMenu.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
m_btnMenu.addEventListener(MouseEvent.ROLL_OVER, listenBtnOver);
m_checkitShowThisAgain.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
m_checkitShowThisAgain.addEventListener(MouseEvent.ROLL_OVER, listenBtnOver);
m_checkitShowThisAgain.selected = getShowThisAgain_FromModel();
if (play_title_mc != null){
play_title_mc.mouseEnabled = false;
};
if (menu_title_mc != null){
menu_title_mc.mouseEnabled = false;
};
if (show_this_again_title_mc != null){
show_this_again_title_mc.mouseEnabled = false;
};
}
public function onCheckitChange(_arg1:Checkit_Simple, _arg2:Boolean):void{
switch (_arg1){
case m_checkitShowThisAgain:
setShowThisAgain_ToModel(_arg2);
break;
};
}
private function listenBtnDown(_arg1:MouseEvent):void{
var _local2:MC_All;
Global.sound_interface.playSound(null, "s_click", 0, 0);
_local2 = getParent();
if (_local2 == null){
return;
};
switch (_arg1.target){
case m_btnMenu:
removeBtnListeners();
_local2.onChangeState(Global_Settings.PLAY_MENU);
break;
case m_btnPlay:
removeBtnListeners();
_local2.onChangeState(Global_Settings.PLAY_GAME);
break;
case m_checkitShowThisAgain:
setShowThisAgain_ToModel(m_checkitShowThisAgain.selected);
break;
};
}
public function getShowThisAgain_FromModel():Boolean{
var _local1:Model_All;
_local1 = getModel();
if (_local1 != null){
return (_local1.showIntroBeforeGame);
};
return (false);
}
private function listenBtnOver(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
public function getModel():Model_All{
var _local1:MC_All;
_local1 = getParent();
if (_local1 == null){
return (null);
};
return (_local1.getModel());
}
public function setShowThisAgain_ToModel(_arg1:Boolean):void{
var _local2:Model_All;
_local2 = getModel();
if (_local2 != null){
_local2.showIntroBeforeGame = _arg1;
};
}
public function setShowThisAgain(_arg1:Boolean):void{
if (m_checkitShowThisAgain == null){
return;
};
m_checkitShowThisAgain.selected = _arg1;
}
private function removeBtnListeners():void{
m_btnPlay.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
m_btnMenu.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
m_checkitShowThisAgain.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
m_btnPlay.removeEventListener(MouseEvent.ROLL_OVER, listenBtnOver);
m_btnMenu.removeEventListener(MouseEvent.ROLL_OVER, listenBtnOver);
m_checkitShowThisAgain.removeEventListener(MouseEvent.ROLL_OVER, listenBtnOver);
}
}
}//package main.v
Section 192
//MC_Intro (main.v.MC_Intro)
package main.v {
import flash.events.*;
import flash.display.*;
import main.*;
import classes.*;
public class MC_Intro extends TAllItem {
public var mult_mc:MovieClip;
var m_bActionRun:Boolean;// = false
var m_bBeginRun:Boolean;// = false
public var skip_title_mc:skipBtnText;
var m_bFinished:Boolean;// = false
public var skip_btn:SimpleButton;
public function MC_Intro(){
m_bFinished = false;
m_bBeginRun = false;
m_bActionRun = false;
super();
skip_btn.addEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown, false, 0, true);
skip_btn.addEventListener(MouseEvent.ROLL_OVER, listenBtnOver, false, 0, true);
skip_title_mc.mouseEnabled = false;
this.addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true);
}
override public function init():void{
super.init();
m_bFinished = false;
m_bBeginRun = false;
m_bActionRun = false;
}
private function listenBtnDown(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_click", 0, 0);
getParent().onChangeState(Global_Settings.PLAY_MENU);
skip_btn.removeEventListener(MouseEvent.MOUSE_DOWN, listenBtnDown);
skip_btn.removeEventListener(MouseEvent.ROLL_OVER, listenBtnOver);
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function listenBtnOver(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "s_over", 0, 0);
}
private function onEnterFrame(_arg1:Event):void{
var _local2:MovieClip;
var _local3:MovieClip;
_local2 = (getChildByName("mult_mc") as MovieClip);
if (_local2 != null){
_local3 = (_local2.getChildByName("go") as MovieClip);
if (_local3 != null){
if (_local3.currentLabel == "start"){
if (!m_bBeginRun){
Global.music_interface.playMusic("intro1", "sleep_begin");
m_bBeginRun = true;
};
} else {
if (_local3.currentLabel == "action"){
if (!m_bActionRun){
Global.music_interface.playMusic("intro2", "sleep_end", 1);
m_bActionRun = true;
};
} else {
if (_local3.currentLabel == "finish"){
if (!m_bFinished){
onFinishIntro();
m_bFinished = true;
};
};
};
};
};
};
}
private function onFinishIntro():void{
var _local1:MC_All;
var _local2:int;
_local1 = getParent();
if (_local1 != null){
_local2 = Global_Settings.getIdByLabel(this.name);
_local1.onFinishState(_local2);
};
}
}
}//package main.v
Section 193
//MC_Language (main.v.MC_Language)
package main.v {
import flash.events.*;
import com.*;
import flash.display.*;
import main.*;
import flash.text.*;
import classes.*;
public class MC_Language extends MovieClip {
public var brazileBth:SimpleButton;
public var frenchBth:SimpleButton;
public var txt:TextField;
public var mexicoBth:SimpleButton;
var m_arBtns:Array;
var m_arLangText:Array;
public var spanishBth:SimpleButton;
public var russianBth:SimpleButton;
public var australiaBth:SimpleButton;
public var englishBth:SimpleButton;
public var polandBth:SimpleButton;
public var ukraineBth:SimpleButton;
public var ItalicBth:SimpleButton;
public var portugeseBth:SimpleButton;
public var germanBth:SimpleButton;
public function MC_Language(){
var _local1:Vorota;
super();
addFrameScript(0, frame1);
stop();
_local1 = new Vorota(MovieClip(this.parent), true);
m_arBtns = new Array();
addBtn(englishBth, TLang.COUNTRY_USA);
addBtn(germanBth, TLang.COUNTRY_GERMANY);
addBtn(spanishBth, TLang.COUNTRY_SPAIN);
addBtn(frenchBth, TLang.COUNTRY_FRENCH);
addBtn(ItalicBth, TLang.COUNTRY_ITALY);
addBtn(portugeseBth, TLang.COUNTRY_PORTUGAL);
addBtn(australiaBth, TLang.COUNTRY_AUSTRALIA);
addBtn(brazileBth, TLang.COUNTRY_BRAZIL);
addBtn(mexicoBth, TLang.COUNTRY_MEXICO);
addBtn(polandBth, TLang.COUNTRY_POLAND);
addBtn(ukraineBth, TLang.COUNTRY_UKRAINE);
addBtn(russianBth, TLang.COUNTRY_RUSSIA);
}
private function setHint(_arg1:String):void{
var _local2:TextFormat;
_local2 = txt.getTextFormat();
txt.text = _arg1;
txt.setTextFormat(_local2);
}
private function listenMouseDown(_arg1:MouseEvent):void{
var _local2:SimpleButton;
var _local3:uint;
var _local4:String;
Global.sound_interface.playSound(null, "s_click", 0, 0);
_local2 = (_arg1.target as SimpleButton);
_local3 = getIDByBtn(_local2);
if (_local3 == uint.MAX_VALUE){
return;
};
removeAllBtnListener();
_local4 = TLang.getLangByCountry(_local3);
setLang(_local4);
}
private function listenMouseOver(_arg1:MouseEvent):void{
var _local2:SimpleButton;
var _local3:uint;
Global.sound_interface.playSound(null, "s_over", 0, 0);
_local2 = (_arg1.target as SimpleButton);
_local3 = getIDByBtn(_local2);
if (_local3 == uint.MAX_VALUE){
return;
};
setHint(Language_Settings.getInstance().getText(_local3));
}
private function removeBtnListener(_arg1:SimpleButton):void{
if (_arg1 == null){
return;
};
_arg1.removeEventListener(MouseEvent.ROLL_OVER, listenMouseOver);
_arg1.removeEventListener(MouseEvent.ROLL_OUT, listenMouseOut);
_arg1.removeEventListener(MouseEvent.MOUSE_DOWN, listenMouseDown);
}
private function getIDByBtn(_arg1:SimpleButton):uint{
var _local2:Object;
for each (_local2 in m_arBtns) {
if (_local2.btn == _arg1){
return (_local2.id);
};
};
return (uint.MAX_VALUE);
}
private function listenMouseOut(_arg1:MouseEvent):void{
setHint("Select Language");
}
function frame1(){
}
public function setLang(_arg1:String):void{
var _local2:Vorota;
_local2 = new Vorota(MovieClip(this.parent), false, MovieClip(this.parent), "all");
Language_Settings.getInstance().setCurrentLang(_arg1);
}
private function addBtn(_arg1:SimpleButton, _arg2:uint=4294967295):void{
m_arBtns.push({btn:_arg1, id:_arg2});
_arg1.addEventListener(MouseEvent.ROLL_OVER, listenMouseOver);
_arg1.addEventListener(MouseEvent.ROLL_OUT, listenMouseOut);
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, listenMouseDown);
}
private function removeAllBtnListener():void{
var _local1:int;
var _local2:SimpleButton;
_local1 = m_arBtns.length;
while (--_local1 >= 0) {
_local2 = (m_arBtns[_local1].btn as SimpleButton);
removeBtnListener(_local2);
};
}
}
}//package main.v
Section 194
//MC_Score (main.v.MC_Score)
package main.v {
import flash.events.*;
import flash.display.*;
import main.*;
import flash.text.*;
import classes.crypto.*;
import classes.*;
import classes.utils.*;
import flash.system.*;
public class MC_Score extends MovieClip {
public var submitTopScoreText:submitTopScoreHeaderText;
public var infoText:TextField;
private var score;
public var secret:MD5;
private var scoreLibrary:ClassLoader;
public var versionGame:String;// = "1.0"
public function MC_Score():void{
versionGame = "1.0";
super();
Security.allowDomain("www.gamezhero.com", "gamezhero.com", "files.gamezhero.com", "*.gamezhero.com");
secret = new MD5();
scoreLibrary = new ClassLoader();
scoreLibrary.addEventListener(ClassLoader.LOAD_ERROR, loadErrorHandler);
scoreLibrary.addEventListener(ClassLoader.CLASS_LOADED, classLoadedHandler);
scoreLibrary.load(Global._urls["score"]);
infoText.text = "loading score...";
}
private function loadErrorHandler(_arg1:Event=null):void{
infoText.text = "error loading";
}
private function diactivateAllEvents():void{
scoreLibrary.removeEventListener(ClassLoader.LOAD_ERROR, loadErrorHandler);
scoreLibrary.removeEventListener(ClassLoader.CLASS_LOADED, classLoadedHandler);
}
public function continueAction(_arg1:String):void{
Global._game_stored_data.data.playerName = _arg1;
MovieClip(parent).mainMenuAction();
}
private function classLoadedHandler(_arg1:Event=null):void{
var _local2:Class;
var _local3:String;
_local2 = scoreLibrary.getClass("Score");
if (Global._game_stored_data.data.playerName == undefined){
Global._game_stored_data.data.playerName = "";
};
_local3 = Language_Settings.getInstance().getCurrentLang();
score = new _local2(this, Global._game_stored_data.data.playerName, Global.getSckore(), _local3);
this.addChild(score);
}
}
}//package main.v
Section 195
//MC_Text_Menu (main.v.MC_Text_Menu)
package main.v {
import com.*;
public class MC_Text_Menu extends TElementWithText {
public function MC_Text_Menu(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main.v
Section 196
//TAllItem (main.v.TAllItem)
package main.v {
import flash.display.*;
public class TAllItem extends MovieClip {
private var m_allParent:MC_All;
public function init():void{
}
public function getParent():MC_All{
return (m_allParent);
}
public function setParent(_arg1:MC_All):void{
m_allParent = _arg1;
}
public function show(_arg1:Boolean=true):void{
if (_arg1){
visible = true;
};
}
}
}//package main.v
Section 197
//View_All (main.v.View_All)
package main.v {
import game.*;
import com.*;
import flash.display.*;
import com.mvc.*;
import main.*;
import classes.*;
public class View_All extends AbstractView {
var m_nState:int;
var m_nActiveState:Number;
var m_mcContainer:MC_All;
public function View_All(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2);
init(_arg3);
}
public function onStateActivate(_arg1:Number, _arg2:MovieClip):void{
deactivateState(m_nActiveState);
m_nActiveState = _arg1;
switch (_arg1){
case Global_Settings.PLAY_FINAL:
case Global_Settings.PLAY_SCORE:
case Global_Settings.PLAY_MENU:
Global.music_interface.playMusic("main", "interface5");
Global.music_game.stopMusics();
break;
};
Controller_All(getController()).listenStateChange_Activate(_arg1, _arg2);
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_All;
if (_arg2 == null){
return;
};
_local3 = (_arg2 as InfoObj_All);
if (_local3 != null){
if (!isNaN(_local3.m_nState)){
setState(_local3.m_nState);
};
};
}
override public function defaultController(_arg1:Model):Controller{
return (new Controller_All(_arg1));
}
public function onSetState(_arg1:Number):void{
Controller_All(getController()).listenStateChange(_arg1);
}
public function setState(_arg1:Number):void{
m_nState = _arg1;
m_mcContainer.state = _arg1;
}
public function init(_arg1:MovieClip):void{
m_mcContainer = (_arg1 as MC_All);
m_mcContainer.setParentView(this);
}
public function onFinishState(_arg1:int):void{
Controller_All(getController()).listenFinishState(_arg1);
}
public function onChange_ShowThisAgain(_arg1:Boolean):void{
Controller_All(getController()).listenShowThisAgain(m_nState, _arg1);
}
public function deactivateState(_arg1:int):void{
switch (_arg1){
case Global_Settings.PLAY_INTRO:
Global.sound_interface.removeSoundByID("intro");
break;
};
}
}
}//package main.v
Section 198
//Controller_All (main.Controller_All)
package main {
import flash.display.*;
import com.mvc.*;
public class Controller_All extends AbstractController {
public function Controller_All(_arg1:Model){
super(_arg1);
}
public function listenStateChange(_arg1:Number):void{
var _local2:Controller_All_Commands;
_local2 = new Controller_All_Commands();
_local2.m_nState = _arg1;
getModel().execute(_local2);
}
public function listenFinishState(_arg1:int):void{
var _local2:Controller_All_Commands;
_local2 = new Controller_All_Commands();
_local2.m_nState = _arg1;
_local2.m_bFinish = true;
getModel().execute(_local2);
}
public function listenStateChange_Activate(_arg1:Number, _arg2:MovieClip):void{
var _local3:Controller_All_Commands;
_local3 = new Controller_All_Commands();
_local3.m_nState = _arg1;
_local3.m_mcContainer = _arg2;
getModel().execute(_local3);
}
public function listenShowThisAgain(_arg1:Number, _arg2:Boolean):void{
var _local3:Controller_All_Commands;
_local3 = new Controller_All_Commands();
_local3.m_nState = _arg1;
_local3.m_bAutoShowAgain = _arg2;
getModel().execute(_local3);
}
}
}//package main
Section 199
//Controller_All_Commands (main.Controller_All_Commands)
package main {
import flash.display.*;
public class Controller_All_Commands {
public var m_bFinish:Boolean;// = false
public var m_bAutoShowAgain:Boolean;
public var m_nState:Number;
public var m_mcContainer:MovieClip;
public function Controller_All_Commands(){
m_bFinish = false;
super();
}
}
}//package main
Section 200
//Controller_Global_Commands (main.Controller_Global_Commands)
package main {
public class Controller_Global_Commands {
public var m_nHeight:int;
public var m_nType:int;
public var m_nWidth:int;
}
}//package main
Section 201
//Controller_Stage (main.Controller_Stage)
package main {
import flash.events.*;
import flash.display.*;
import com.mvc.*;
public class Controller_Stage extends AbstractController {
public function Controller_Stage(_arg1:Model){
super(_arg1);
}
public function listenStageMouseMove(_arg1:MouseEvent):void{
var _local2:Controller_Global_Commands;
_local2 = new Controller_Global_Commands();
_local2.m_nType = Global_Settings.COM_TYPE_MOUSE_MOVE_OVER;
getModel().execute(_local2);
}
public function listenStageDeactivate(_arg1:Event):void{
var _local2:Controller_Global_Commands;
_local2 = new Controller_Global_Commands();
_local2.m_nType = Global_Settings.COM_TYPE_DEACTIVATE;
getModel().execute(_local2);
}
public function listenStageMouseLeave(_arg1:Event):void{
var _local2:Controller_Global_Commands;
_local2 = new Controller_Global_Commands();
_local2.m_nType = Global_Settings.COM_TYPE_MOUSELEAVE;
getModel().execute(_local2);
}
public function listenStageActivate(_arg1:Event):void{
var _local2:Controller_Global_Commands;
_local2 = new Controller_Global_Commands();
_local2.m_nType = Global_Settings.COM_TYPE_ACTIVATE;
getModel().execute(_local2);
}
public function listenStageResize(_arg1:Event):void{
var _local2:Controller_Global_Commands;
var _local3:Stage;
_local2 = new Controller_Global_Commands();
_local3 = (_arg1.target as Stage);
_local2.m_nType = Global_Settings.COM_TYPE_RESIZE;
_local2.m_nWidth = _local3.width;
_local2.m_nHeight = _local3.height;
getModel().execute(_local2);
}
public function listenStageFullSize(_arg1:Event):void{
var _local2:Controller_Global_Commands;
_local2 = new Controller_Global_Commands();
_local2.m_nType = Global_Settings.COM_TYPE_FULLSIZE;
getModel().execute(_local2);
}
}
}//package main
Section 202
//Global_Settings (main.Global_Settings)
package main {
import game.*;
public class Global_Settings {
public static const PLAY_MORE:Number = 12;
public static const PLAY_INSTR:Number = 2;
public static const START_FROM:int = PLAY_INTRO;
public static const PLAY_INTRO:int = 8;
public static const PLAY_MENU:Number = 1;
public static const PLAY_FINAL:Number = 7;
public static const COM_TYPE_UNDEFINED:int = 2147483647;
public static const COM_TYPE_RESIZE:int = 0;
public static const COM_TYPE_FULLSIZE:int = 1;
public static const LEVELS_IN_STAGE:Boolean = false;
public static const COM_TYPE_ACTIVATE:int = 4;
public static const PLAY_GAME:Number = 5;
public static const ALL_LABEL:Array = new Array({id:PLAY_MENU, label_name:"menu_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PLAY_INTRO, label_name:"intro_mc", next_state:PLAY_MENU, is_anim_next_state:true, is_loop:false}, {id:PLAY_INSTR, label_name:"instr_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PLAY_INSTR_BEFORE_GAME, label_name:"instr_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PLAY_HELP, label_name:"help_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PLAY_GAME, label_name:"game_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PLAY_SCORE, label_name:"score_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PLAY_FINAL, label_name:"final_mc", next_state:Number.NaN, is_anim_next_state:true, is_loop:false}, {id:PLAY_VIEW_SCORE, linkTo:"view_top_score"}, {id:PLAY_SEND_TO_FRIENDS, linkTo:"send_to_friends"}, {id:PLAY_MORE, linkTo:"play_more_games"}, {id:PLAY_ZORRO_LOGO, linkTo:"zorro_logo"}, {id:PLAY_PUT_THIS_GAME, linkTo:"put_this_game"});
public static const GOD_MODE:Boolean = true;
public static const PLAY_SCORE:Number = 6;
public static const DEBUG:Boolean = false;
public static const ID_UNDEFINED:uint = 4294967295;
public static const COM_TYPE_DEACTIVATE:int = 5;
public static const PLAY_SEND_TO_FRIENDS:Number = 11;
public static const PLAY_VIEW_SCORE:Number = 10;
public static const PLAY_UNDEFINDE:Number = -1;
public static const GAME_DELAY:Number = 20;
public static const PLAY_PUT_THIS_GAME:Number = 15;
public static const COM_TYPE_MOUSE_MOVE_OVER:int = 3;
public static const PLAY_HELP:Number = 4;
public static const PLAY_INSTR_BEFORE_GAME:Number = 3;
public static const COM_TYPE_MOUSELEAVE:int = 2;
public static const PLAY_ZORRO_LOGO:Number = 13;
public static var GAME_WIDTH:Number = 550;
public static function getAllLink(_arg1:Number):String{
var _local2:Object;
for each (_local2 in ALL_LABEL) {
if (_local2.id == _arg1){
return (_local2.linkTo);
};
};
return (null);
}
public static function getNextStateById(_arg1:int):int{
var _local2:Object;
for each (_local2 in ALL_LABEL) {
if (_local2.id == _arg1){
return (_local2.next_state);
};
};
return (Model_Settings.INT_UNDEF);
}
public static function getIdByLabel(_arg1:String):int{
var _local2:Object;
for each (_local2 in ALL_LABEL) {
if (_local2.label_name == _arg1){
return (_local2.id);
};
};
return (Model_Settings.INT_UNDEF);
}
}
}//package main
Section 203
//Language_Settings (main.Language_Settings)
package main {
import com.*;
public class Language_Settings extends TLang {
public static const EXIT_GAME_BTN_HINT:int = 1002;
public static const SOUND_GAME_BTN_HINT:int = 1003;
public static const GAMEZ_HERO_BTN_HINT:int = 1000;
public static const PLAY_GAME_BTN_HINT:int = 1001;
public static const MUSIC_GAME_BTN_HINT:int = 1004;
override protected function init():void{
super.init();
addText(US, GAMEZ_HERO_BTN_HINT, "Visit Gamezhero.com");
addText(ES, GAMEZ_HERO_BTN_HINT, "GAMEZHERO.COM");
addText(RU, GAMEZ_HERO_BTN_HINT, "Играть на Gamezhero.com");
addText(PT, GAMEZ_HERO_BTN_HINT, "GAMEZHERO.COM");
addText(FR, GAMEZ_HERO_BTN_HINT, "GAMEZHERO.COM");
addText(DE, GAMEZ_HERO_BTN_HINT, "GAMEZHERO.COM");
addText(IT, GAMEZ_HERO_BTN_HINT, "GAMEZHERO.COM");
addText(PL, GAMEZ_HERO_BTN_HINT, "GAMEZHERO.COM");
addText(UA, GAMEZ_HERO_BTN_HINT, "Грати На Gamezhero.com");
addText(US, PLAY_GAME_BTN_HINT, "Continue Game");
addText(ES, PLAY_GAME_BTN_HINT, "CONTINÚA EL JUEGO");
addText(RU, PLAY_GAME_BTN_HINT, "Продолжить Игру");
addText(PT, PLAY_GAME_BTN_HINT, "CONTINUAR O JOGO");
addText(FR, PLAY_GAME_BTN_HINT, "CONTINUER LE JEU");
addText(DE, PLAY_GAME_BTN_HINT, "WEITERSPIELEN");
addText(IT, PLAY_GAME_BTN_HINT, "CONTINUARE IL GIOCO");
addText(PL, PLAY_GAME_BTN_HINT, "KONTYNUOWAĆ GRĘ");
addText(UA, PLAY_GAME_BTN_HINT, "Продовжити Гру");
addText(US, EXIT_GAME_BTN_HINT, "Quit Game");
addText(ES, EXIT_GAME_BTN_HINT, "RETIRA DEL JUEGO");
addText(RU, EXIT_GAME_BTN_HINT, "Выйти Из Игры");
addText(PT, EXIT_GAME_BTN_HINT, "SAIR DO JOGO");
addText(FR, EXIT_GAME_BTN_HINT, "QUITTER LE JEU");
addText(DE, EXIT_GAME_BTN_HINT, "SPIEL VERLASSEN");
addText(IT, EXIT_GAME_BTN_HINT, "USCIRE DAL GIOCO");
addText(PL, EXIT_GAME_BTN_HINT, "OPUŚCIĆ GRĘ");
addText(UA, EXIT_GAME_BTN_HINT, "Покинути Гру");
addText(US, SOUND_GAME_BTN_HINT, "Sound Control");
addText(ES, SOUND_GAME_BTN_HINT, "AJUSTA EL SONIDO");
addText(RU, SOUND_GAME_BTN_HINT, "Управление Звуком");
addText(PT, SOUND_GAME_BTN_HINT, "CONTROLO DO SOM");
addText(FR, SOUND_GAME_BTN_HINT, "GESTION DE SON");
addText(DE, SOUND_GAME_BTN_HINT, "LAUT");
addText(IT, SOUND_GAME_BTN_HINT, "CONTROLLO DEL SUONO");
addText(PL, SOUND_GAME_BTN_HINT, "STEROWANIE DŻWIĘKIEM");
addText(UA, SOUND_GAME_BTN_HINT, "Керування Звуком");
addText(US, MUSIC_GAME_BTN_HINT, "Music Control");
addText(ES, MUSIC_GAME_BTN_HINT, "AJUSTA LA MÚSICA");
addText(RU, MUSIC_GAME_BTN_HINT, "Управление Музыкой");
addText(PT, MUSIC_GAME_BTN_HINT, "CONTROLO DA MÚSICA");
addText(FR, MUSIC_GAME_BTN_HINT, "GESTION DE MUSIQUE");
addText(DE, MUSIC_GAME_BTN_HINT, "MUSIK");
addText(IT, MUSIC_GAME_BTN_HINT, "CONTROLLO DELLA MUSICA");
addText(PL, MUSIC_GAME_BTN_HINT, "STEROWANIE MUZYKĄ");
addText(UA, MUSIC_GAME_BTN_HINT, "Керування Музикой");
}
public static function getInstance():Language_Settings{
if (_instance == null){
_instance = new (Language_Settings);
};
return ((_instance as Language_Settings));
}
}
}//package main
Section 204
//Log (main.Log)
package main {
import flash.display.*;
public class Log {
private static var _instance:Log;
public function myTraceInObj(_arg1:Object, _arg2:String, _arg3:String=null):void{
var _local4:DisplayObject;
myTrace_MAIN();
if ((_arg1 is DisplayObject)){
_local4 = (_arg1 as DisplayObject);
myTrace(("displayObject : " + _local4));
myTrace(("name : " + _local4.name));
} else {
myTrace(("obj : " + _arg1.toString()));
};
if (_arg3 != null){
myTrace(_arg3);
};
myTrace_SUB();
myTrace(_arg2);
myTrace_MAIN();
}
public function myTraceInFunc(_arg1:Function, _arg2:Object, _arg3:String, _arg4:String=null):void{
if (_arg4 == null){
_arg4 = "";
};
_arg4 = (_arg4 + ("\nfunc : " + _arg1));
myTraceInObj(_arg2, _arg3, _arg4);
}
public function myTraceCantFindClassDefinition(_arg1:String, _arg2:Function, _arg3:Object, _arg4:String=null, _arg5:String=null):void{
if (_arg5 == null){
_arg5 = "";
};
_arg5 = (_arg5 + ("\nclass name : " + _arg1));
if (_arg4 == null){
_arg4 = "";
};
_arg4 = ((("WARNING!\n" + "\ncant find class definition") + "\n") + _arg4);
myTraceInFunc(_arg2, _arg3, _arg4, _arg5);
}
public function myTrace_Exception(_arg1:Error, _arg2:Function, _arg3:Object, _arg4:String=null):void{
var _local5:String;
_local5 = (((((("ERROR!" + "\nID : ") + _arg1.errorID) + "\nname : ") + _arg1.name) + "\nmsg : ") + _arg1.message);
myTraceInFunc(_arg2, _arg3, _local5, _arg4);
}
public function myTrace(_arg1:String):void{
}
public function myTrace_SUB():void{
myTrace("-------------------------------------------");
}
public function myTraceCantCreateClass(_arg1:Class, _arg2:Function, _arg3:Object, _arg4:String=null, _arg5:String=null):void{
if (_arg5 == null){
_arg5 = "";
};
_arg5 = (_arg5 + ("\nclass : " + _arg1));
if (_arg4 == null){
_arg4 = "";
};
_arg4 = ((("WARNING!" + "\ncant create class") + "\n") + _arg4);
myTraceInFunc(_arg2, _arg3, _arg4, _arg5);
}
public function myTrace_MAIN():void{
myTrace("*******************************************");
}
public static function getInstance():Log{
if (Log._instance == null){
Log._instance = new (Log);
};
return (Log._instance);
}
}
}//package main
Section 205
//main_system (main.main_system)
package main {
import flash.events.*;
import flash.display.*;
import main.v.*;
import classes.*;
import classes.media.*;
import classes.utils.*;
import flash.net.*;
import classes.gamezhero.*;
import flash.system.*;
public class main_system extends MovieClip {
public var all_mc:MC_All;
private var m_bAllInit:Boolean;// = false
private var proLibrary:ClassLoader;
public var lang_mc:MC_Language;
private var m_bMainInit:Boolean;// = false
private var pro;
private var proFlag:Boolean;// = false
public function main_system(){
proFlag = false;
m_bMainInit = false;
m_bAllInit = false;
super();
addFrameScript(2, frame3);
Security.allowDomain("gamezhero.com", "files.gamezhero.com", "eufiles.gamezhero.com", "*.gamezhero.com", "*", "*.*", "*.*.*");
stage.stageFocusRect = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
this.addEventListener(Event.ENTER_FRAME, listenEnterFrame);
stop();
}
private function getURL(_arg1:String, _arg2:String="_blank"):void{
var _local3:URLRequest;
_local3 = new URLRequest(_arg1);
navigateToURL(_local3, _arg2);
}
private function iniMainStage():void{
var _local1:GamePreloader;
if (m_bMainInit){
return;
};
m_bMainInit = true;
Global._language = root.loaderInfo.parameters["language"];
iniSound();
_local1 = new GamePreloader(this, 1, "american_football");
loadPro();
}
public function nextStep():void{
var _local1:Vorota;
if (pro){
pro.stopPopUp();
};
stage.align = "";
_local1 = new Vorota(this, false, this, 2);
}
function frame3(){
stop();
}
private function initAll():void{
var _local1:Model_All;
var _local2:Number;
var _local3:View_All;
var _local4:View_Stage;
if (m_bAllInit){
return;
};
m_bAllInit = true;
_local1 = new Model_All();
_local2 = this.numChildren;
do {
--_local2;
} while (_local2 >= 0);
_local3 = new View_All(_local1, null, (getChildByName("all_mc") as MovieClip));
_local4 = new View_Stage(_local1, null, (getChildByName("all_mc") as MovieClip));
_local1.addObserver(_local3);
_local1.addObserver(_local4);
_local1.init();
}
private function loadErrorHandler(_arg1:Event):void{
getURL(Global._urls["error"], "_blank");
}
private function iniSound():void{
Global.music_interface = new Music();
Global.music_game = new Music();
Global.sound_interface = new SoundFX();
Global.sound_game = new SoundFX();
Global.music_interface.setMusicVolume(Global._music_volume_interface);
Global.music_game.setMusicVolume(Global._music_volume_game);
Global.sound_interface.setSoundVolume(Global._sound_volume_interface);
Global.sound_game.setSoundVolume(Global._sound_volume_game);
if (isNaN(Global._game_stored_data.data.soundVolumeFlag)){
Global._game_stored_data.data.soundVolumeFlag = 1;
};
if (isNaN(Global._game_stored_data.data.musicVolumeFlag)){
Global._game_stored_data.data.musicVolumeFlag = 1;
};
}
public function listenEnterFrame(_arg1:Event):void{
var _local2:MovieClip;
_local2 = (_arg1.target as MovieClip);
switch (_local2.currentLabel){
case "preloader":
iniMainStage();
break;
case "language":
break;
case "all":
initAll();
break;
};
if (((m_bMainInit) && (m_bAllInit))){
this.removeEventListener(Event.ENTER_FRAME, listenEnterFrame);
};
stop();
}
private function classLoadedHandler(_arg1:Event):void{
var _local2:Class;
var _local3:Number;
_local2 = proLibrary.getClass("superPro3");
_local3 = Number(root.loaderInfo.parameters["gamezhero_code"]);
pro = new _local2(this, 1197710244855, _local3, "american_football");
}
private function loadPro():void{
if (proFlag == false){
try {
proFlag = true;
proLibrary = new ClassLoader();
proLibrary.addEventListener(ClassLoader.LOAD_ERROR, loadErrorHandler);
proLibrary.addEventListener(ClassLoader.CLASS_LOADED, classLoadedHandler);
proLibrary.load(("http://files.gamezhero.com/flash/superPro3.swf?time" + new Date().getTime()));
} catch(e:Error) {
};
};
}
}
}//package main
Section 206
//Model_All (main.Model_All)
package main {
import game.*;
import com.*;
import flash.display.*;
import com.mvc.*;
import classes.*;
public class Model_All extends ModelList {
var m_gameSystem:GameSystem;
var m_nState:Number;// = -1
var m_nScore:int;
var m_nState_Pred:Number;// = -1
var m_bShowIntroBeforeGame:Boolean;
public function Model_All(){
m_nState = Global_Settings.PLAY_UNDEFINDE;
m_nState_Pred = Global_Settings.PLAY_UNDEFINDE;
super();
}
public function set showIntroBeforeGame(_arg1:Boolean):void{
m_bShowIntroBeforeGame = _arg1;
Global.setShowIntroBeforeGame(_arg1);
}
private function onResize(_arg1:int, _arg2:int):void{
}
private function onMouseMoveOver():void{
}
public function setState_Activate(_arg1:Number, _arg2:MovieClip):void{
if (_arg2 == null){
return;
};
switch (_arg1){
case Global_Settings.PLAY_GAME:
m_gameSystem.initViews(_arg2);
m_gameSystem.updateModels();
m_gameSystem.start();
break;
};
}
private function onMouseLeave():void{
}
override public function update(_arg1:Observable, _arg2:Object):void{
var _local3:InfoObj_GameState;
super.update(_arg1, _arg2);
_local3 = (_arg2 as InfoObj_GameState);
if (_local3 != null){
if (((!(isNaN(_local3.m_nSetState))) && (!((_local3.m_nSetState == Model_Settings.GAME_STATE_UNDEF))))){
onChangeGameState(_local3.m_nSetState);
};
if (((!(isNaN(_local3.m_nSetScore))) && (!((_local3.m_nSetScore == Model_Settings.INT_UNDEF))))){
onChangeScore(_local3.m_nSetScore);
};
};
}
public function defAction():void{
switch (m_nState){
case Global_Settings.PLAY_MENU:
setState(Global_Settings.PLAY_GAME);
break;
case Global_Settings.PLAY_INTRO:
setState(Global_Settings.PLAY_MENU);
break;
case Global_Settings.PLAY_INSTR_BEFORE_GAME:
setState(Global_Settings.PLAY_GAME);
break;
case Global_Settings.PLAY_INSTR:
setState(Global_Settings.PLAY_MENU);
break;
};
}
public function setState(_arg1:Number):void{
var _local2:InfoObj_All;
m_nState_Pred = m_nState;
m_nState = _arg1;
if (((((showIntroBeforeGame) && ((m_nState_Pred == Global_Settings.PLAY_MENU)))) && ((m_nState == Global_Settings.PLAY_GAME)))){
m_nState = Global_Settings.PLAY_INSTR_BEFORE_GAME;
};
setChanged();
_local2 = new InfoObj_All();
_local2.m_nState = m_nState;
notifyObservers(_local2);
}
public function init():void{
var _local1:Number;
m_gameSystem = new GameSystem();
m_gameSystem.setMetaModel(this);
_local1 = Global.getShowIntroBeforeGame();
if (((isNaN(_local1)) || ((_local1 == 1)))){
m_bShowIntroBeforeGame = true;
} else {
m_bShowIntroBeforeGame = false;
};
setState(Global_Settings.START_FROM);
}
private function onChangeScore(_arg1:Number):void{
setScore(_arg1);
}
public function get showIntroBeforeGame():Boolean{
return (m_bShowIntroBeforeGame);
}
private function onChangeGameState(_arg1:Number):void{
switch (_arg1){
case Model_Settings.GAME_STATE_GAME_OVER:
m_gameSystem.finish();
setState(Global_Settings.PLAY_SCORE);
break;
case Model_Settings.GAME_STATE_WIN:
m_gameSystem.finish();
setState(Global_Settings.PLAY_FINAL);
break;
};
}
public function onFinishState(_arg1:int):void{
var _local2:int;
if (_arg1 == m_nState){
_local2 = Global_Settings.getNextStateById(_arg1);
setState(_local2);
};
}
private function onFullSize():void{
}
override public function execute(_arg1:Object):void{
var _local2:Controller_All_Commands;
var _local3:Controller_Global_Commands;
var _local4:Controller_Commands;
super.execute(_arg1);
_local2 = (_arg1 as Controller_All_Commands);
if (_local2 != null){
if (_local2.m_mcContainer != null){
setState_Activate(_local2.m_nState, _local2.m_mcContainer);
} else {
if (!isNaN(_local2.m_nState)){
if (_local2.m_bFinish){
onFinishState(_local2.m_nState);
} else {
setState(_local2.m_nState);
};
};
};
};
_local3 = (_arg1 as Controller_Global_Commands);
if (_local3 != null){
switch (_local3.m_nType){
case Global_Settings.COM_TYPE_RESIZE:
onResize(_local3.m_nWidth, _local3.m_nHeight);
break;
case Global_Settings.COM_TYPE_MOUSELEAVE:
onMouseLeave();
break;
case Global_Settings.COM_TYPE_MOUSE_MOVE_OVER:
onMouseMoveOver();
break;
case Global_Settings.COM_TYPE_FULLSIZE:
onFullSize();
break;
case Global_Settings.COM_TYPE_ACTIVATE:
onActivate(true);
break;
case Global_Settings.COM_TYPE_DEACTIVATE:
onActivate(false);
break;
};
};
_local4 = (_arg1 as Controller_Commands);
if (_local4 != null){
if (((_local4.m_bKeyPress) && (_local4.m_bActionSpace))){
defAction();
};
};
}
private function onActivate(_arg1:Boolean):void{
}
public function setScore(_arg1:int):void{
m_nScore = _arg1;
Global.setSckore(m_nScore);
}
}
}//package main
Section 207
//View_Stage (main.View_Stage)
package main {
import flash.events.*;
import flash.display.*;
import com.mvc.*;
public class View_Stage extends AbstractView {
var m_nStage:Stage;
public function View_Stage(_arg1:Model=null, _arg2:Controller=null, _arg3:MovieClip=null){
super(_arg1, _arg2);
if (_arg3 != null){
m_nStage = _arg3.stage;
m_nStage.addEventListener(Event.RESIZE, Controller_Stage(getController()).listenStageResize);
m_nStage.addEventListener(Event.MOUSE_LEAVE, Controller_Stage(getController()).listenStageMouseLeave);
m_nStage.addEventListener(MouseEvent.MOUSE_MOVE, Controller_Stage(getController()).listenStageMouseMove);
m_nStage.addEventListener(Event.DEACTIVATE, Controller_Stage(getController()).listenStageDeactivate);
m_nStage.addEventListener(Event.ACTIVATE, Controller_Stage(getController()).listenStageActivate);
m_nStage.addEventListener(FullScreenEvent.FULL_SCREEN, Controller_Stage(getController()).listenStageFullSize);
};
}
override public function defaultController(_arg1:Model):Controller{
return (new Controller_Stage(_arg1));
}
}
}//package main
Section 208
//down1 (down1)
package {
import flash.media.*;
public dynamic class down1 extends Sound {
}
}//package
Section 209
//Enemy_Alien (Enemy_Alien)
package {
import game.objects.*;
public dynamic class Enemy_Alien extends View_Obstacle_Complex_Alien {
}
}//package
Section 210
//Enemy_Hooligan (Enemy_Hooligan)
package {
import game.objects.*;
public dynamic class Enemy_Hooligan extends View_Obstacle_Complex_Hoolegan {
}
}//package
Section 211
//Enemy_Manager (Enemy_Manager)
package {
import game.objects.*;
public dynamic class Enemy_Manager extends View_Obstacle_Complex_Manager {
}
}//package
Section 212
//Enemy_Mega_Player (Enemy_Mega_Player)
package {
import game.objects.*;
public dynamic class Enemy_Mega_Player extends View_Obstacle_Complex_Mega_Player {
}
}//package
Section 213
//Enemy_Oldwooman (Enemy_Oldwooman)
package {
import game.objects.*;
public dynamic class Enemy_Oldwooman extends View_Obstacle_Complex_Oldwoman {
}
}//package
Section 214
//Enemy_Player (Enemy_Player)
package {
import game.objects.*;
public dynamic class Enemy_Player extends View_Obstacle_Complex_Enemy_Player {
}
}//package
Section 215
//Enemy_Player_White (Enemy_Player_White)
package {
import game.objects.*;
public dynamic class Enemy_Player_White extends View_Obstacle_Complex_Enemy_Player_White {
}
}//package
Section 216
//game5 (game5)
package {
import flash.media.*;
public dynamic class game5 extends Sound {
}
}//package
Section 217
//GameNameText (GameNameText)
package {
import com.*;
public dynamic class GameNameText extends TElementWithText {
}
}//package
Section 218
//GameOverCongratulation0015 (GameOverCongratulation0015)
package {
import com.*;
public dynamic class GameOverCongratulation0015 extends TElementWithText {
}
}//package
Section 219
//GameOverCongratulation0020 (GameOverCongratulation0020)
package {
import com.*;
public dynamic class GameOverCongratulation0020 extends TElementWithText {
}
}//package
Section 220
//ground_00_0 (ground_00_0)
package {
import game.animation.*;
public dynamic class ground_00_0 extends View_Animation_Framed {
}
}//package
Section 221
//ground_00_fence (ground_00_fence)
package {
import flash.display.*;
public dynamic class ground_00_fence extends MovieClip {
public var bg_mc:MovieClip;
}
}//package
Section 222
//Ground_00_Road (Ground_00_Road)
package {
import flash.display.*;
public dynamic class Ground_00_Road extends MovieClip {
public var bg_mc:MovieClip;
}
}//package
Section 223
//ground_01_0 (ground_01_0)
package {
import game.animation.*;
public dynamic class ground_01_0 extends View_Animation_Framed {
}
}//package
Section 224
//ground_02_0 (ground_02_0)
package {
import game.animation.*;
public dynamic class ground_02_0 extends View_Animation_Framed {
}
}//package
Section 225
//ground_03_0 (ground_03_0)
package {
import game.animation.*;
public dynamic class ground_03_0 extends View_Animation_Framed {
}
}//package
Section 226
//ground_04_0 (ground_04_0)
package {
import game.animation.*;
public dynamic class ground_04_0 extends View_Animation_Framed {
}
}//package
Section 227
//Ground_Random_Obj_00_00 (Ground_Random_Obj_00_00)
package {
import flash.display.*;
public dynamic class Ground_Random_Obj_00_00 extends MovieClip {
}
}//package
Section 228
//Ground_Random_Obj_00_01 (Ground_Random_Obj_00_01)
package {
import flash.display.*;
public dynamic class Ground_Random_Obj_00_01 extends MovieClip {
}
}//package
Section 229
//Ground_Random_Obj_01_00 (Ground_Random_Obj_01_00)
package {
import flash.display.*;
public dynamic class Ground_Random_Obj_01_00 extends MovieClip {
}
}//package
Section 230
//ground1 (ground1)
package {
import flash.display.*;
public dynamic class ground1 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package
Section 231
//ground2 (ground2)
package {
import flash.display.*;
public dynamic class ground2 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package
Section 232
//ground3 (ground3)
package {
import flash.display.*;
public dynamic class ground3 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package
Section 233
//ground4 (ground4)
package {
import flash.display.*;
public dynamic class ground4 extends MovieClip {
public var bg_mc:MovieClip;
}
}//package
Section 234
//ground6 (ground6)
package {
import flash.display.*;
public dynamic class ground6 extends MovieClip {
}
}//package
Section 235
//InstructionsHeader (InstructionsHeader)
package {
import com.*;
public dynamic class InstructionsHeader extends TElementWithText {
}
}//package
Section 236
//instructionText (instructionText)
package {
import com.*;
public dynamic class instructionText extends TElementWithText {
public function instructionText(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 237
//interface5 (interface5)
package {
import flash.media.*;
public dynamic class interface5 extends Sound {
}
}//package
Section 238
//introText (introText)
package {
import com.*;
public dynamic class introText extends TElementWithText {
public function introText(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 239
//j1 (j1)
package {
import flash.media.*;
public dynamic class j1 extends Sound {
}
}//package
Section 240
//j2 (j2)
package {
import flash.media.*;
public dynamic class j2 extends Sound {
}
}//package
Section 241
//j3 (j3)
package {
import flash.media.*;
public dynamic class j3 extends Sound {
}
}//package
Section 242
//j4 (j4)
package {
import flash.media.*;
public dynamic class j4 extends Sound {
}
}//package
Section 243
//kamatoz (kamatoz)
package {
import flash.media.*;
public dynamic class kamatoz extends Sound {
}
}//package
Section 244
//key_good (key_good)
package {
import flash.media.*;
public dynamic class key_good extends Sound {
}
}//package
Section 245
//key_lose (key_lose)
package {
import flash.media.*;
public dynamic class key_lose extends Sound {
}
}//package
Section 246
//level_01_car1 (level_01_car1)
package {
import flash.display.*;
public dynamic class level_01_car1 extends MovieClip {
}
}//package
Section 247
//level_01_car2 (level_01_car2)
package {
import flash.display.*;
public dynamic class level_01_car2 extends MovieClip {
}
}//package
Section 248
//level_park (level_park)
package {
import flash.display.*;
public dynamic class level_park extends MovieClip {
public var ground_01:MovieClip;
public var ground_02:MovieClip;
public var ground_03:MovieClip;
public var ground_05:MovieClip;
public var ground_04:MovieClip;
public var ground_00:ground_03_0;
public var ground_bg:MovieClip;
}
}//package
Section 249
//level_stadium (level_stadium)
package {
import flash.display.*;
public dynamic class level_stadium extends MovieClip {
public var ground_01:MovieClip;
public var ground_02:MovieClip;
public var ground_03:MovieClip;
public var ground_05:MovieClip;
public var ground_04:MovieClip;
public var ground_00:ground_04_0;
public var ground_bg:MovieClip;
}
}//package
Section 250
//level_street (level_street)
package {
import flash.display.*;
public dynamic class level_street extends MovieClip {
public var ground_00_05:ground4;
public var ground_00_04:ground3;
public var ground_00_bg:ground6;
public var ground_00_01:ground1;
public var ground_00_02:ground2;
public var ground_00_06:ground_00_fence;
public var ground_00_00:ground_00_0;
public var ground_00_03:Ground_00_Road;
}
}//package
Section 251
//level_supermarket (level_supermarket)
package {
import flash.display.*;
public dynamic class level_supermarket extends MovieClip {
public var ground_01_02:MovieClip;
public var ground_01_03:MovieClip;
public var ground_01_01:MovieClip;
public var ground_01_04:MovieClip;
public var ground_01_00:ground_01_0;
public var ground_01_bg:MovieClip;
}
}//package
Section 252
//level_underground (level_underground)
package {
import flash.display.*;
public dynamic class level_underground extends MovieClip {
public var ground_01:MovieClip;
public var ground_02:MovieClip;
public var ground_03:MovieClip;
public var ground_05:MovieClip;
public var ground_06:MovieClip;
public var ground_04:MovieClip;
public var ground_00:ground_02_0;
public var ground_bg:MovieClip;
}
}//package
Section 253
//pauseText (pauseText)
package {
import com.*;
public dynamic class pauseText extends TElementWithText {
public function pauseText(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 254
//play_title (play_title)
package {
import com.*;
public dynamic class play_title extends TElementWithText {
}
}//package
Section 255
//playGameText (playGameText)
package {
import com.*;
public dynamic class playGameText extends TElementWithText {
public function playGameText(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 256
//playMoreGamesText (playMoreGamesText)
package {
import com.*;
public dynamic class playMoreGamesText extends TElementWithText {
public function playMoreGamesText(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 257
//putThisGametext (putThisGametext)
package {
import com.*;
public dynamic class putThisGametext extends TElementWithText {
}
}//package
Section 258
//s_click (s_click)
package {
import flash.media.*;
public dynamic class s_click extends Sound {
}
}//package
Section 259
//s_close_vorota (s_close_vorota)
package {
import flash.media.*;
public dynamic class s_close_vorota extends Sound {
}
}//package
Section 260
//s_over (s_over)
package {
import flash.media.*;
public dynamic class s_over extends Sound {
}
}//package
Section 261
//sendToFriendsText (sendToFriendsText)
package {
import com.*;
public dynamic class sendToFriendsText extends TElementWithText {
public function sendToFriendsText(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 262
//show_this_again (show_this_again)
package {
import game.animation.*;
public dynamic class show_this_again extends Checkit_Simple {
}
}//package
Section 263
//show_this_again_title (show_this_again_title)
package {
import com.*;
public dynamic class show_this_again_title extends TElementWithText {
}
}//package
Section 264
//skipBtnText (skipBtnText)
package {
import com.*;
public dynamic class skipBtnText extends TElementWithText {
}
}//package
Section 265
//sleep_begin (sleep_begin)
package {
import flash.media.*;
public dynamic class sleep_begin extends Sound {
}
}//package
Section 266
//sleep_end (sleep_end)
package {
import flash.media.*;
public dynamic class sleep_end extends Sound {
}
}//package
Section 267
//submitTopScoreHeaderText (submitTopScoreHeaderText)
package {
import com.*;
public dynamic class submitTopScoreHeaderText extends TElementWithText {
}
}//package
Section 268
//super_good (super_good)
package {
import flash.media.*;
public dynamic class super_good extends Sound {
}
}//package
Section 269
//super_kick (super_kick)
package {
import flash.media.*;
public dynamic class super_kick extends Sound {
}
}//package
Section 270
//super_kick2 (super_kick2)
package {
import flash.media.*;
public dynamic class super_kick2 extends Sound {
}
}//package
Section 271
//tormoz (tormoz)
package {
import flash.media.*;
public dynamic class tormoz extends Sound {
}
}//package
Section 272
//View_Obstacle_Bottom_00 (View_Obstacle_Bottom_00)
package {
import game.objects.*;
public dynamic class View_Obstacle_Bottom_00 extends View_Obstacle_Simple {
}
}//package
Section 273
//View_Obstacle_Bottom_01 (View_Obstacle_Bottom_01)
package {
import game.objects.*;
public dynamic class View_Obstacle_Bottom_01 extends View_Obstacle_Simple {
}
}//package
Section 274
//View_Obstacle_Bottom_02 (View_Obstacle_Bottom_02)
package {
import game.objects.*;
public dynamic class View_Obstacle_Bottom_02 extends View_Obstacle_Simple {
}
}//package
Section 275
//View_Obstacle_Bottom_03 (View_Obstacle_Bottom_03)
package {
import game.objects.*;
public dynamic class View_Obstacle_Bottom_03 extends View_Obstacle_Simple {
}
}//package
Section 276
//View_Obstacle_Bottom_04 (View_Obstacle_Bottom_04)
package {
import game.objects.*;
public dynamic class View_Obstacle_Bottom_04 extends View_Obstacle_Simple {
}
}//package
Section 277
//View_Obstacle_Complex_00 (View_Obstacle_Complex_00)
package {
import game.objects.*;
public dynamic class View_Obstacle_Complex_00 extends View_Obstacle_Complex_My {
}
}//package
Section 278
//View_Obstacle_Ground_00 (View_Obstacle_Ground_00)
package {
import game.objects.*;
public dynamic class View_Obstacle_Ground_00 extends View_Obstacle_Simple {
}
}//package
Section 279
//View_Obstacle_Ground_01 (View_Obstacle_Ground_01)
package {
import game.objects.*;
public dynamic class View_Obstacle_Ground_01 extends View_Obstacle_Simple {
}
}//package
Section 280
//View_Obstacle_Ground_02 (View_Obstacle_Ground_02)
package {
import game.objects.*;
public dynamic class View_Obstacle_Ground_02 extends View_Obstacle_Simple {
}
}//package
Section 281
//View_Obstacle_Ground_03 (View_Obstacle_Ground_03)
package {
import game.objects.*;
public dynamic class View_Obstacle_Ground_03 extends View_Obstacle_Simple {
}
}//package
Section 282
//View_Obstacle_Ground_04 (View_Obstacle_Ground_04)
package {
import game.objects.*;
public dynamic class View_Obstacle_Ground_04 extends View_Obstacle_Simple {
}
}//package
Section 283
//View_Obstacle_Mid_00 (View_Obstacle_Mid_00)
package {
import game.objects.*;
public dynamic class View_Obstacle_Mid_00 extends View_Obstacle_Simple {
}
}//package
Section 284
//View_Obstacle_Mid_01 (View_Obstacle_Mid_01)
package {
import game.objects.*;
public dynamic class View_Obstacle_Mid_01 extends View_Obstacle_Simple {
}
}//package
Section 285
//View_Obstacle_Mid_02 (View_Obstacle_Mid_02)
package {
import game.objects.*;
public dynamic class View_Obstacle_Mid_02 extends View_Obstacle_Simple {
}
}//package
Section 286
//View_Obstacle_Mid_03 (View_Obstacle_Mid_03)
package {
import game.objects.*;
public dynamic class View_Obstacle_Mid_03 extends View_Obstacle_Simple {
}
}//package
Section 287
//View_Obstacle_Mid_04 (View_Obstacle_Mid_04)
package {
import game.objects.*;
public dynamic class View_Obstacle_Mid_04 extends View_Obstacle_Simple {
}
}//package
Section 288
//View_Obstacle_Top_00 (View_Obstacle_Top_00)
package {
import game.objects.*;
public dynamic class View_Obstacle_Top_00 extends View_Obstacle_Simple {
}
}//package
Section 289
//View_Obstacle_Top_01 (View_Obstacle_Top_01)
package {
import game.objects.*;
public dynamic class View_Obstacle_Top_01 extends View_Obstacle_Simple {
}
}//package
Section 290
//View_Obstacle_Top_02 (View_Obstacle_Top_02)
package {
import game.objects.*;
public dynamic class View_Obstacle_Top_02 extends View_Obstacle_Simple {
}
}//package
Section 291
//View_Obstacle_Top_03 (View_Obstacle_Top_03)
package {
import game.objects.*;
public dynamic class View_Obstacle_Top_03 extends View_Obstacle_Simple {
}
}//package
Section 292
//View_Obstacle_Top_04 (View_Obstacle_Top_04)
package {
import game.objects.*;
public dynamic class View_Obstacle_Top_04 extends View_Obstacle_Simple {
}
}//package
Section 293
//viewTopScoreText (viewTopScoreText)
package {
import com.*;
public dynamic class viewTopScoreText extends TElementWithText {
public function viewTopScoreText(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package