Section 1
//AnimationPlatformAsset (assets.AnimationPlatformAsset)
package assets {
import flash.display.*;
public class AnimationPlatformAsset extends MovieClip {
}
}//package assets
Section 2
//CoinMCAsset (assets.CoinMCAsset)
package assets {
import flash.display.*;
public class CoinMCAsset extends MovieClip {
public var puntajePowerUp_mc:MovieClip;
public function CoinMCAsset(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package assets
Section 3
//CreditosAsset (assets.CreditosAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class CreditosAsset extends MovieClip {
public var creditsTitle_mc:MovieClip;
public var continue_btn:Continue1BtnAsset;
public function CreditosAsset(){
addFrameScript(0, frame1, 15, frame16, 16, frame17, 26, frame27);
}
function frame16(){
stop();
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
stop();
}
function frame17(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
function frame27(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
}
}//package assets
Section 4
//DroideBlueAsset (assets.DroideBlueAsset)
package assets {
import flash.display.*;
public class DroideBlueAsset extends MovieClip {
}
}//package assets
Section 5
//DroideGreenAsset (assets.DroideGreenAsset)
package assets {
import flash.display.*;
public class DroideGreenAsset extends MovieClip {
}
}//package assets
Section 6
//DroideRedAsset (assets.DroideRedAsset)
package assets {
import flash.display.*;
public class DroideRedAsset extends MovieClip {
}
}//package assets
Section 7
//Effect1Asset (assets.Effect1Asset)
package assets {
import flash.display.*;
public class Effect1Asset extends MovieClip {
}
}//package assets
Section 8
//Effect2Asset (assets.Effect2Asset)
package assets {
import flash.display.*;
public class Effect2Asset extends MovieClip {
}
}//package assets
Section 9
//Effect3Asset (assets.Effect3Asset)
package assets {
import flash.display.*;
public class Effect3Asset extends MovieClip {
}
}//package assets
Section 10
//EffectAsset (assets.EffectAsset)
package assets {
import flash.display.*;
public class EffectAsset extends MovieClip {
}
}//package assets
Section 11
//EnemiesIAMarksAsset (assets.EnemiesIAMarksAsset)
package assets {
import flash.display.*;
public class EnemiesIAMarksAsset extends MovieClip {
}
}//package assets
Section 12
//FinalBossesOneAsset (assets.FinalBossesOneAsset)
package assets {
import flash.display.*;
public class FinalBossesOneAsset extends MovieClip {
}
}//package assets
Section 13
//FinalBossesThreeAsset (assets.FinalBossesThreeAsset)
package assets {
import flash.display.*;
public class FinalBossesThreeAsset extends MovieClip {
}
}//package assets
Section 14
//FinalBossesTwoAsset (assets.FinalBossesTwoAsset)
package assets {
import flash.display.*;
public class FinalBossesTwoAsset extends MovieClip {
public function FinalBossesOneAsset(){
}
}
}//package assets
Section 15
//GameLostAsset (assets.GameLostAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class GameLostAsset extends MovieClip {
public var playAgain_btn:PlayAgain1BtnAsset;
public var gameLostTitle_mc:MovieClip;
public var score_mc:MovieClip;
public var mainMenu_btn:MainMenu1BtnAsset;
public function GameLostAsset(){
addFrameScript(0, frame1, 11, frame12, 12, frame13, 21, frame22);
}
function frame12(){
stop();
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
stop();
}
function frame13(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
function frame22(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
}
}//package assets
Section 16
//GameWonAsset (assets.GameWonAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class GameWonAsset extends MovieClip {
public var scoreTxt_mc:MovieClip;
public var playAgain_btn:PlayAgain2BtnAsset;
public var gameWonTitle_mc:MovieClip;
public var mainMenu_btn:MainMenu2BtnAsset;
public function GameWonAsset(){
addFrameScript(0, frame1, 96, frame97, 97, frame98, 105, frame106);
}
function frame98(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
function frame97(){
stop();
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
stop();
}
function frame106(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
}
}//package assets
Section 17
//HUDAsset (assets.HUDAsset)
package assets {
import flash.display.*;
public class HUDAsset extends MovieClip {
public var numeroVida_mc:MovieClip;
public var eleccion_mc:MovieClip;
public var sound_btn:SndBtn;
public var score_mc:MovieClip;
public var help_btn:HelpBtn;
public var barraDeVida_mc:MovieClip;
public var personajeHud_mc:MovieClip;
public var bossFinal_mc:MovieClip;
public var barraTransformacion_mc:MovieClip;
}
}//package assets
Section 18
//InstructionsAsset (assets.InstructionsAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class InstructionsAsset extends MovieClip {
public var instructionsTitle_mc:MovieClip;
public var continue_btn:Continue1BtnAsset;
public function InstructionsAsset(){
addFrameScript(0, frame1, 19, frame20, 20, frame21, 39, frame40);
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
stop();
}
function frame21(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
function frame20(){
stop();
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame40(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
}
}//package assets
Section 19
//InstructionsCannonBoltAsset (assets.InstructionsCannonBoltAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class InstructionsCannonBoltAsset extends MovieClip {
public var objectivesTitle_mc:MovieClip;
public var continue_btn:Continue1BtnAsset;
public function InstructionsCannonBoltAsset(){
addFrameScript(0, frame1, 11, frame12, 12, frame13, 21, frame22);
}
function frame12(){
stop();
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
stop();
}
function frame22(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
function frame13(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
}
}//package assets
Section 20
//InstructionsFourArmsAsset (assets.InstructionsFourArmsAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class InstructionsFourArmsAsset extends MovieClip {
public var objectivesTitle_mc:MovieClip;
public var continue_btn:Continue1BtnAsset;
public function InstructionsFourArmsAsset(){
addFrameScript(0, frame1, 11, frame12, 12, frame13, 21, frame22);
}
function frame12(){
stop();
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
stop();
}
function frame22(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
function frame13(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
}
}//package assets
Section 21
//LevelIndicatorAsset (assets.LevelIndicatorAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class LevelIndicatorAsset extends MovieClip {
public var levelIndicator2_mc:MovieClip;
public var levelIndicator_mc:MovieClip;
public function LevelIndicatorAsset(){
addFrameScript(0, frame1, 6, frame7, 21, frame22, 26, frame27);
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
play();
}
function frame22(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
function frame7(){
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame27(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
}
}//package assets
Section 22
//LevelWonAsset (assets.LevelWonAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class LevelWonAsset extends MovieClip {
public var scoreTxt_mc:MovieClip;
public var objectivesTitle_mc:MovieClip;
public var continue_btn:Continue1BtnAsset;
public function LevelWonAsset(){
addFrameScript(0, frame1, 11, frame12, 12, frame13, 21, frame22);
}
function frame12(){
stop();
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
stop();
}
function frame22(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
function frame13(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
}
}//package assets
Section 23
//LoadSubLevelAsset (assets.LoadSubLevelAsset)
package assets {
import flash.display.*;
import com.gamesandweb.game.*;
public class LoadSubLevelAsset extends MovieClip {
public function LoadSubLevelAsset(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
Global.DispatchGameEvent("LoadSubLevelEnd");
}
}
}//package assets
Section 24
//MainMenuAsset (assets.MainMenuAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import com.gamesandweb.ui.*;
public class MainMenuAsset extends MovieClip {
public var logoContainer_mc:MovieClip;
public var play_btn:PlayBtnAsset;
public function MainMenuAsset(){
addFrameScript(0, frame1, 131, frame132, 132, frame133, 133, frame134);
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
stop();
}
function frame132(){
stop();
Global.DispatchGameEvent("EndMainMenu");
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame134(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
Global.DispatchGameEvent("EndMainMenu");
}
function frame133(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
}
}//package assets
Section 25
//MovingPlatformAsset (assets.MovingPlatformAsset)
package assets {
public class MovingPlatformAsset extends PlatformAsset {
}
}//package assets
Section 26
//PlatformAsset (assets.PlatformAsset)
package assets {
import flash.display.*;
public class PlatformAsset extends MovieClip {
}
}//package assets
Section 27
//PlatformContainerAsset (assets.PlatformContainerAsset)
package assets {
import flash.display.*;
public class PlatformContainerAsset extends MovieClip {
}
}//package assets
Section 28
//PowerUpAsset (assets.PowerUpAsset)
package assets {
import flash.display.*;
public class PowerUpAsset extends MovieClip {
}
}//package assets
Section 29
//PowerUpCannonBoltAsset (assets.PowerUpCannonBoltAsset)
package assets {
public class PowerUpCannonBoltAsset extends PowerUpAsset {
}
}//package assets
Section 30
//PowerUpCoinNotShadowAsset (assets.PowerUpCoinNotShadowAsset)
package assets {
public class PowerUpCoinNotShadowAsset extends PowerUpAsset {
}
}//package assets
Section 31
//PowerUpCoinShadowAsset (assets.PowerUpCoinShadowAsset)
package assets {
public class PowerUpCoinShadowAsset extends PowerUpAsset {
}
}//package assets
Section 32
//PowerUpFourArmsAsset (assets.PowerUpFourArmsAsset)
package assets {
public class PowerUpFourArmsAsset extends PowerUpAsset {
}
}//package assets
Section 33
//PowerUpLifeAsset (assets.PowerUpLifeAsset)
package assets {
public class PowerUpLifeAsset extends PowerUpAsset {
}
}//package assets
Section 34
//PowerUpOmnitrixAsset (assets.PowerUpOmnitrixAsset)
package assets {
public class PowerUpOmnitrixAsset extends PowerUpAsset {
}
}//package assets
Section 35
//PowerUpSurikenAsset (assets.PowerUpSurikenAsset)
package assets {
public class PowerUpSurikenAsset extends PowerUpAsset {
}
}//package assets
Section 36
//SpecialWallAsset (assets.SpecialWallAsset)
package assets {
import flash.display.*;
public class SpecialWallAsset extends MovieClip {
public var hitArea_mc:MovieClip;
public var secuencia_mc:MovieClip;
}
}//package assets
Section 37
//TransitionAsset (assets.TransitionAsset)
package assets {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.ui.*;
public class TransitionAsset extends MovieClip {
public function TransitionAsset(){
addFrameScript(0, frame1, 27, frame28, 28, frame29, 33, frame34);
}
function frame1(){
dispatchEvent(new Event(UIWidget.FADE_IN));
play();
}
function frame29(){
dispatchEvent(new Event(UIWidget.FADE_OUT));
}
function frame28(){
dispatchEvent(new Event(UIWidget.FADE_IN_OVER));
}
function frame34(){
stop();
dispatchEvent(new Event(UIWidget.FADE_OUT_OVER));
}
}
}//package assets
Section 38
//WallBlockedAsset (assets.WallBlockedAsset)
package assets {
public class WallBlockedAsset extends PlatformAsset {
}
}//package assets
Section 39
//_Crouch_133 (BenSamurai_fla._Crouch_133)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Crouch_133 extends MovieClip {
public var ben2_mc:MovieClip;
public function _Crouch_133(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 40
//_CrouchI_336 (BenSamurai_fla._CrouchI_336)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _CrouchI_336 extends MovieClip {
public var ben2_mc:MovieClip;
}
}//package BenSamurai_fla
Section 41
//_Die_143 (BenSamurai_fla._Die_143)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Die_143 extends MovieClip {
public function _Die_143(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 42
//_Fall_201 (BenSamurai_fla._Fall_201)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Fall_201 extends MovieClip {
public function _Fall_201(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package BenSamurai_fla
Section 43
//_Hit_140 (BenSamurai_fla._Hit_140)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Hit_140 extends MovieClip {
public var ben1_mc:MovieClip;
public function _Hit_140(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 44
//_Idle_149 (BenSamurai_fla._Idle_149)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Idle_149 extends MovieClip {
public var FourArms2_mc:MovieClip;
}
}//package BenSamurai_fla
Section 45
//_Idle_76 (BenSamurai_fla._Idle_76)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Idle_76 extends MovieClip {
public var BenSuriken_mc:MovieClip;
public function _Idle_76(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 46
//_Jump_118 (BenSamurai_fla._Jump_118)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Jump_118 extends MovieClip {
public var ben2_mc:MovieClip;
public function _Jump_118(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 47
//_JumpI_334 (BenSamurai_fla._JumpI_334)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _JumpI_334 extends MovieClip {
public var ben2_mc:MovieClip;
}
}//package BenSamurai_fla
Section 48
//_puntajepowerups_428 (BenSamurai_fla._puntajepowerups_428)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class _puntajepowerups_428 extends MovieClip {
public var puntajePowerUp_txt:TextField;
}
}//package BenSamurai_fla
Section 49
//_Resources_1 (BenSamurai_fla._Resources_1)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Resources_1 extends MovieClip {
public function _Resources_1(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 50
//_Run_183 (BenSamurai_fla._Run_183)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Run_183 extends MovieClip {
public var FourArms2_mc:MovieClip;
}
}//package BenSamurai_fla
Section 51
//_Run_93 (BenSamurai_fla._Run_93)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Run_93 extends MovieClip {
public var ben2_mc:MovieClip;
public function _Run_93(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 52
//_Runcopy_338 (BenSamurai_fla._Runcopy_338)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _Runcopy_338 extends MovieClip {
public var ben2_mc:MovieClip;
public function _Runcopy_338(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 53
//_RunInstr_325 (BenSamurai_fla._RunInstr_325)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _RunInstr_325 extends MovieClip {
public var ben2_mc:MovieClip;
}
}//package BenSamurai_fla
Section 54
//_SquareGeneral_19 (BenSamurai_fla._SquareGeneral_19)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _SquareGeneral_19 extends MovieClip {
public function _SquareGeneral_19(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package BenSamurai_fla
Section 55
//_SquareGeneral_70 (BenSamurai_fla._SquareGeneral_70)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _SquareGeneral_70 extends MovieClip {
public function _SquareGeneral_70(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package BenSamurai_fla
Section 56
//_SquareGeneralidle_60 (BenSamurai_fla._SquareGeneralidle_60)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _SquareGeneralidle_60 extends MovieClip {
public function _SquareGeneralidle_60(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 57
//_SquareGeneralidle_9 (BenSamurai_fla._SquareGeneralidle_9)
package BenSamurai_fla {
import flash.display.*;
public dynamic class _SquareGeneralidle_9 extends MovieClip {
public function _SquareGeneralidle_9(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 58
//_Superataque_46 (BenSamurai_fla._Superataque_46)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class _Superataque_46 extends MovieClip {
public function _Superataque_46(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
Global.DispatchGameEvent("CharacterAnimationAttackEnd");
}
}
}//package BenSamurai_fla
Section 59
//barradecarga_241 (BenSamurai_fla.barradecarga_241)
package BenSamurai_fla {
import flash.display.*;
public dynamic class barradecarga_241 extends MovieClip {
public function barradecarga_241(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 60
//barradedescarga_235 (BenSamurai_fla.barradedescarga_235)
package BenSamurai_fla {
import flash.display.*;
public dynamic class barradedescarga_235 extends MovieClip {
public function barradedescarga_235(){
addFrameScript(0, frame1, 99, frame100);
}
function frame1(){
stop();
}
function frame100(){
stop();
}
}
}//package BenSamurai_fla
Section 61
//BarradeTransformacion_234 (BenSamurai_fla.BarradeTransformacion_234)
package BenSamurai_fla {
import flash.display.*;
public dynamic class BarradeTransformacion_234 extends MovieClip {
public var barra_mc:MovieClip;
public function BarradeTransformacion_234(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 62
//barradevida_230 (BenSamurai_fla.barradevida_230)
package BenSamurai_fla {
import flash.display.*;
public dynamic class barradevida_230 extends MovieClip {
public var barra_mc:MovieClip;
}
}//package BenSamurai_fla
Section 63
//barradevida_231 (BenSamurai_fla.barradevida_231)
package BenSamurai_fla {
import flash.display.*;
public dynamic class barradevida_231 extends MovieClip {
public function barradevida_231(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 64
//barradevidabos_256 (BenSamurai_fla.barradevidabos_256)
package BenSamurai_fla {
import flash.display.*;
public dynamic class barradevidabos_256 extends MovieClip {
public function barradevidabos_256(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 65
//Ben_agachau_134 (BenSamurai_fla.Ben_agachau_134)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_agachau_134 extends MovieClip {
public var ben3_mc:MovieClip;
}
}//package BenSamurai_fla
Section 66
//Ben_agachauI_337 (BenSamurai_fla.Ben_agachauI_337)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_agachauI_337 extends MovieClip {
public var ben3_mc:MovieClip;
}
}//package BenSamurai_fla
Section 67
//Ben_corre_B_94 (BenSamurai_fla.Ben_corre_B_94)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_corre_B_94 extends MovieClip {
public var ben3_mc:MovieClip;
}
}//package BenSamurai_fla
Section 68
//Ben_corre_Bcopy_339 (BenSamurai_fla.Ben_corre_Bcopy_339)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_corre_Bcopy_339 extends MovieClip {
public var ben3_mc:MovieClip;
}
}//package BenSamurai_fla
Section 69
//Ben_corre_Inst_326 (BenSamurai_fla.Ben_corre_Inst_326)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_corre_Inst_326 extends MovieClip {
public var ben3_mc:MovieClip;
}
}//package BenSamurai_fla
Section 70
//Ben_Corre_Transform_Cannon_181 (BenSamurai_fla.Ben_Corre_Transform_Cannon_181)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Corre_Transform_Cannon_181 extends MovieClip {
public function Ben_Corre_Transform_Cannon_181(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
Global.DispatchGameEvent("EndTransformations");
}
}
}//package BenSamurai_fla
Section 71
//Ben_Corre_Transform_Four_175 (BenSamurai_fla.Ben_Corre_Transform_Four_175)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Corre_Transform_Four_175 extends MovieClip {
public function Ben_Corre_Transform_Four_175(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
Global.DispatchGameEvent("EndTransformations");
}
}
}//package BenSamurai_fla
Section 72
//Ben_espadazo_77 (BenSamurai_fla.Ben_espadazo_77)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_espadazo_77 extends MovieClip {
public function Ben_espadazo_77(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
Global.DispatchGameEvent("CharacterAnimationSwordEnd");
}
}
}//package BenSamurai_fla
Section 73
//Ben_Espadol_mc_95 (BenSamurai_fla.Ben_Espadol_mc_95)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_Espadol_mc_95 extends MovieClip {
public function Ben_Espadol_mc_95(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 74
//Ben_Espadol_mcI_327 (BenSamurai_fla.Ben_Espadol_mcI_327)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_Espadol_mcI_327 extends MovieClip {
public function Ben_Espadol_mcI_327(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 75
//Ben_hit_141 (BenSamurai_fla.Ben_hit_141)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_hit_141 extends MovieClip {
public function Ben_hit_141(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
Global.DispatchGameEvent("CharacterAnimationEnd");
}
}
}//package BenSamurai_fla
Section 76
//Ben_Idle_Transform_Cannon_176 (BenSamurai_fla.Ben_Idle_Transform_Cannon_176)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Idle_Transform_Cannon_176 extends MovieClip {
public function Ben_Idle_Transform_Cannon_176(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
Global.DispatchGameEvent("EndTransformations");
}
}
}//package BenSamurai_fla
Section 77
//Ben_Idle_Transform_Four_148 (BenSamurai_fla.Ben_Idle_Transform_Four_148)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Idle_Transform_Four_148 extends MovieClip {
public function Ben_Idle_Transform_Four_148(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
Global.DispatchGameEvent("EndTransformations");
}
}
}//package BenSamurai_fla
Section 78
//Ben_muere_144 (BenSamurai_fla.Ben_muere_144)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_muere_144 extends MovieClip {
public function Ben_muere_144(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
Global.DispatchGameEvent("CharacterAnimationDieEnd");
}
}
}//package BenSamurai_fla
Section 79
//Ben_salta_119 (BenSamurai_fla.Ben_salta_119)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_salta_119 extends MovieClip {
public var ben3_mc:MovieClip;
}
}//package BenSamurai_fla
Section 80
//Ben_saltaI_335 (BenSamurai_fla.Ben_saltaI_335)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_saltaI_335 extends MovieClip {
public var ben3_mc:MovieClip;
}
}//package BenSamurai_fla
Section 81
//Ben_Shurikenea_88 (BenSamurai_fla.Ben_Shurikenea_88)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Shurikenea_88 extends MovieClip {
public function Ben_Shurikenea_88(){
addFrameScript(1, frame2, 3, frame4);
}
function frame4(){
stop();
Global.DispatchGameEvent("CharacterAnimationShurikenEnd");
}
function frame2(){
Global.DispatchGameEvent("CharacterShurikenBegin");
}
}
}//package BenSamurai_fla
Section 82
//Ben_Torso_02_mc3_136 (BenSamurai_fla.Ben_Torso_02_mc3_136)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_Torso_02_mc3_136 extends MovieClip {
public var BenSuriken_mc:MovieClip;
public function Ben_Torso_02_mc3_136(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 83
//Ben_Torso_Ani_02_105 (BenSamurai_fla.Ben_Torso_Ani_02_105)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Torso_Ani_02_105 extends MovieClip {
public function Ben_Torso_Ani_02_105(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
Global.DispatchGameEvent("CharacterAnimationSwordEnd");
}
}
}//package BenSamurai_fla
Section 84
//Ben_Torso_Ani_02salto_126 (BenSamurai_fla.Ben_Torso_Ani_02salto_126)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Torso_Ani_02salto_126 extends MovieClip {
public function Ben_Torso_Ani_02salto_126(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
Global.DispatchGameEvent("CharacterAnimationSwordEnd");
}
}
}//package BenSamurai_fla
Section 85
//Ben_Torso_Ani_03_107 (BenSamurai_fla.Ben_Torso_Ani_03_107)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Torso_Ani_03_107 extends MovieClip {
public function Ben_Torso_Ani_03_107(){
addFrameScript(2, frame3, 6, frame7);
}
function frame3(){
Global.DispatchGameEvent("CharacterShurikenBegin");
}
function frame7(){
stop();
Global.DispatchGameEvent("CharacterAnimationShurikenEnd");
}
}
}//package BenSamurai_fla
Section 86
//Ben_Torso_Ani_05_139 (BenSamurai_fla.Ben_Torso_Ani_05_139)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Ben_Torso_Ani_05_139 extends MovieClip {
public function Ben_Torso_Ani_05_139(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
Global.DispatchGameEvent("CharacterAnimationSwordEnd");
}
}
}//package BenSamurai_fla
Section 87
//Ben_Torso_mc_98 (BenSamurai_fla.Ben_Torso_mc_98)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_Torso_mc_98 extends MovieClip {
public var BenSuriken_mc:MovieClip;
public function Ben_Torso_mc_98(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 88
//Ben_Torso_mc2_125 (BenSamurai_fla.Ben_Torso_mc2_125)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_Torso_mc2_125 extends MovieClip {
public var BenSuriken_mc:MovieClip;
public function Ben_Torso_mc2_125(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 89
//Ben_Torso_mccopy_340 (BenSamurai_fla.Ben_Torso_mccopy_340)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Ben_Torso_mccopy_340 extends MovieClip {
public function Ben_Torso_mccopy_340(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 90
//bosslife_255 (BenSamurai_fla.bosslife_255)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class bosslife_255 extends MovieClip {
public var bossName_txt:TextField;
public var barra_mc:MovieClip;
public function bosslife_255(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 91
//BtnDown_228 (BenSamurai_fla.BtnDown_228)
package BenSamurai_fla {
import flash.display.*;
public dynamic class BtnDown_228 extends MovieClip {
public function BtnDown_228(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 92
//BtnOut_229 (BenSamurai_fla.BtnOut_229)
package BenSamurai_fla {
import flash.display.*;
public dynamic class BtnOut_229 extends MovieClip {
public function BtnOut_229(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package BenSamurai_fla
Section 93
//BtnOver_226 (BenSamurai_fla.BtnOver_226)
package BenSamurai_fla {
import flash.display.*;
public dynamic class BtnOver_226 extends MovieClip {
public function BtnOver_226(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package BenSamurai_fla
Section 94
//Cannonbolt_Bola_Hit_212 (BenSamurai_fla.Cannonbolt_Bola_Hit_212)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Cannonbolt_Bola_Hit_212 extends MovieClip {
public function Cannonbolt_Bola_Hit_212(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
Global.DispatchGameEvent("CharacterAnimationEnd");
}
}
}//package BenSamurai_fla
Section 95
//Cannonbolt_Corre_Transform_Ben_207 (BenSamurai_fla.Cannonbolt_Corre_Transform_Ben_207)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Cannonbolt_Corre_Transform_Ben_207 extends MovieClip {
public function Cannonbolt_Corre_Transform_Ben_207(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
Global.DispatchGameEvent("EndTransformations");
}
}
}//package BenSamurai_fla
Section 96
//Cannonbolt_Hited_209 (BenSamurai_fla.Cannonbolt_Hited_209)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Cannonbolt_Hited_209 extends MovieClip {
public function Cannonbolt_Hited_209(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
Global.DispatchGameEvent("CharacterAnimationEnd");
}
}
}//package BenSamurai_fla
Section 97
//Cannonbolt_Idle_Transform_Ben_206 (BenSamurai_fla.Cannonbolt_Idle_Transform_Ben_206)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Cannonbolt_Idle_Transform_Ben_206 extends MovieClip {
public function Cannonbolt_Idle_Transform_Ben_206(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
Global.DispatchGameEvent("EndTransformations");
}
}
}//package BenSamurai_fla
Section 98
//cara4brazos_247 (BenSamurai_fla.cara4brazos_247)
package BenSamurai_fla {
import flash.display.*;
public dynamic class cara4brazos_247 extends MovieClip {
public function cara4brazos_247(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package BenSamurai_fla
Section 99
//caracannonbolt_252 (BenSamurai_fla.caracannonbolt_252)
package BenSamurai_fla {
import flash.display.*;
public dynamic class caracannonbolt_252 extends MovieClip {
public function caracannonbolt_252(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package BenSamurai_fla
Section 100
//conenedorpopup_304 (BenSamurai_fla.conenedorpopup_304)
package BenSamurai_fla {
import flash.display.*;
public dynamic class conenedorpopup_304 extends MovieClip {
public function conenedorpopup_304(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
}
}
}//package BenSamurai_fla
Section 101
//conenedorpopupcopy_342 (BenSamurai_fla.conenedorpopupcopy_342)
package BenSamurai_fla {
import flash.display.*;
public dynamic class conenedorpopupcopy_342 extends MovieClip {
public function conenedorpopupcopy_342(){
addFrameScript(16, frame17);
}
function frame17(){
stop();
}
}
}//package BenSamurai_fla
Section 102
//ContinueBtnTxt_24 (BenSamurai_fla.ContinueBtnTxt_24)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ContinueBtnTxt_24 extends MovieClip {
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 103
//CREDITSTitleTxt_401 (BenSamurai_fla.CREDITSTitleTxt_401)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class CREDITSTitleTxt_401 extends MovieClip {
public var scoreLabel_txt:TextField;
public var score_txt:TextField;
public var text1_txt:TextField;
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 104
//elecciondepersonaje_260 (BenSamurai_fla.elecciondepersonaje_260)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class elecciondepersonaje_260 extends MovieClip {
public var alienSelection_txt:TextField;
public function elecciondepersonaje_260(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 105
//espadagolpea_279 (BenSamurai_fla.espadagolpea_279)
package BenSamurai_fla {
import flash.events.*;
import flash.display.*;
public dynamic class espadagolpea_279 extends MovieClip {
public function espadagolpea_279(){
addFrameScript(10, frame11);
}
function frame11(){
stop();
parent.dispatchEvent(new Event("AnimationEnd"));
}
}
}//package BenSamurai_fla
Section 106
//Fourarms_brazos_izq_mc_151 (BenSamurai_fla.Fourarms_brazos_izq_mc_151)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Fourarms_brazos_izq_mc_151 extends MovieClip {
public function Fourarms_brazos_izq_mc_151(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 107
//Fourarms_Brazos_Izq_mccopy_185 (BenSamurai_fla.Fourarms_Brazos_Izq_mccopy_185)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Fourarms_Brazos_Izq_mccopy_185 extends MovieClip {
public function Fourarms_Brazos_Izq_mccopy_185(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 108
//Fourarms_brazos_izq_pega_157 (BenSamurai_fla.Fourarms_brazos_izq_pega_157)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Fourarms_brazos_izq_pega_157 extends MovieClip {
public function Fourarms_brazos_izq_pega_157(){
addFrameScript(6, frame7);
}
function frame7(){
stop();
Global.DispatchGameEvent("ArmsLeftAnimationEnd");
}
}
}//package BenSamurai_fla
Section 109
//Fourarms_camina_184 (BenSamurai_fla.Fourarms_camina_184)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Fourarms_camina_184 extends MovieClip {
public var ArmsLeft_mc:MovieClip;
public var ArmsRight_mc:MovieClip;
}
}//package BenSamurai_fla
Section 110
//Fourarms_hit_196 (BenSamurai_fla.Fourarms_hit_196)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Fourarms_hit_196 extends MovieClip {
public function Fourarms_hit_196(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
Global.DispatchGameEvent("CharacterAnimationEnd");
}
}
}//package BenSamurai_fla
Section 111
//Fourarms_Idle_150 (BenSamurai_fla.Fourarms_Idle_150)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Fourarms_Idle_150 extends MovieClip {
public var ArmsLeft_mc:MovieClip;
public var ArmsRight_mc:MovieClip;
}
}//package BenSamurai_fla
Section 112
//Fourarms_Idle_Transform_Ben_198 (BenSamurai_fla.Fourarms_Idle_Transform_Ben_198)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Fourarms_Idle_Transform_Ben_198 extends MovieClip {
public function Fourarms_Idle_Transform_Ben_198(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
Global.DispatchGameEvent("EndTransformations");
}
}
}//package BenSamurai_fla
Section 113
//Fourarms_Pega_der_169 (BenSamurai_fla.Fourarms_Pega_der_169)
package BenSamurai_fla {
import flash.display.*;
import com.gamesandweb.game.*;
public dynamic class Fourarms_Pega_der_169 extends MovieClip {
public function Fourarms_Pega_der_169(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
Global.DispatchGameEvent("ArmsRightAnimationEnd");
}
}
}//package BenSamurai_fla
Section 114
//Fourarms_Torso_mc_160 (BenSamurai_fla.Fourarms_Torso_mc_160)
package BenSamurai_fla {
import flash.display.*;
public dynamic class Fourarms_Torso_mc_160 extends MovieClip {
public function Fourarms_Torso_mc_160(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 115
//fuegonaranja_389 (BenSamurai_fla.fuegonaranja_389)
package BenSamurai_fla {
import flash.events.*;
import flash.display.*;
public dynamic class fuegonaranja_389 extends MovieClip {
public function fuegonaranja_389(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
parent.dispatchEvent(new Event("ShotEnemyAnimationDestroyedEnd"));
}
}
}//package BenSamurai_fla
Section 116
//fx_minipower_pluf_01_281 (BenSamurai_fla.fx_minipower_pluf_01_281)
package BenSamurai_fla {
import flash.events.*;
import flash.display.*;
public dynamic class fx_minipower_pluf_01_281 extends MovieClip {
public function fx_minipower_pluf_01_281(){
addFrameScript(10, frame11);
}
function frame11(){
stop();
parent.dispatchEvent(new Event("AnimationEnd"));
}
}
}//package BenSamurai_fla
Section 117
//GameLostTitleTxt_300 (BenSamurai_fla.GameLostTitleTxt_300)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class GameLostTitleTxt_300 extends MovieClip {
public var titles_txt:TextField;
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 118
//GameWonTitleTxt_73 (BenSamurai_fla.GameWonTitleTxt_73)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class GameWonTitleTxt_73 extends MovieClip {
public var titles_txt:TextField;
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 119
//gradientpopup_309 (BenSamurai_fla.gradientpopup_309)
package BenSamurai_fla {
import flash.display.*;
public dynamic class gradientpopup_309 extends MovieClip {
public function gradientpopup_309(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package BenSamurai_fla
Section 120
//gradientpopupcopy_317 (BenSamurai_fla.gradientpopupcopy_317)
package BenSamurai_fla {
import flash.display.*;
public dynamic class gradientpopupcopy_317 extends MovieClip {
public function gradientpopupcopy_317(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package BenSamurai_fla
Section 121
//gradientpopupcopy3_348 (BenSamurai_fla.gradientpopupcopy3_348)
package BenSamurai_fla {
import flash.display.*;
public dynamic class gradientpopupcopy3_348 extends MovieClip {
public function gradientpopupcopy3_348(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package BenSamurai_fla
Section 122
//gradientpopupcopy4_345 (BenSamurai_fla.gradientpopupcopy4_345)
package BenSamurai_fla {
import flash.display.*;
public dynamic class gradientpopupcopy4_345 extends MovieClip {
public function gradientpopupcopy4_345(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package BenSamurai_fla
Section 123
//gradientpopupcopy5_346 (BenSamurai_fla.gradientpopupcopy5_346)
package BenSamurai_fla {
import flash.display.*;
public dynamic class gradientpopupcopy5_346 extends MovieClip {
public function gradientpopupcopy5_346(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package BenSamurai_fla
Section 124
//HelpBtnDown_220 (BenSamurai_fla.HelpBtnDown_220)
package BenSamurai_fla {
import flash.display.*;
public dynamic class HelpBtnDown_220 extends MovieClip {
public function HelpBtnDown_220(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 125
//HelpBtnOut_221 (BenSamurai_fla.HelpBtnOut_221)
package BenSamurai_fla {
import flash.events.*;
import flash.display.*;
public dynamic class HelpBtnOut_221 extends MovieClip {
public function HelpBtnOut_221(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
parent.dispatchEvent(new Event("OutAnimationFinished"));
}
}
}//package BenSamurai_fla
Section 126
//HelpBtnOver_218 (BenSamurai_fla.HelpBtnOver_218)
package BenSamurai_fla {
import flash.display.*;
public dynamic class HelpBtnOver_218 extends MovieClip {
public function HelpBtnOver_218(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package BenSamurai_fla
Section 127
//Humito_corrida_277 (BenSamurai_fla.Humito_corrida_277)
package BenSamurai_fla {
import flash.events.*;
import flash.display.*;
public dynamic class Humito_corrida_277 extends MovieClip {
public function Humito_corrida_277(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
parent.dispatchEvent(new Event("AnimationEnd"));
}
}
}//package BenSamurai_fla
Section 128
//Humito_corridacopy_213 (BenSamurai_fla.Humito_corridacopy_213)
package BenSamurai_fla {
import flash.events.*;
import flash.display.*;
public dynamic class Humito_corridacopy_213 extends MovieClip {
public function Humito_corridacopy_213(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
parent.dispatchEvent(new Event("AnimationEnd"));
}
}
}//package BenSamurai_fla
Section 129
//InstructionsTitleTxt_303 (BenSamurai_fla.InstructionsTitleTxt_303)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class InstructionsTitleTxt_303 extends MovieClip {
public var txt_2:TextField;
public var text1_txt:TextField;
public var text_txt:TextField;
public var txt_2b:TextField;
public var txt_2c:TextField;
public var txt_2a:TextField;
}
}//package BenSamurai_fla
Section 130
//levelindicatormove_275 (BenSamurai_fla.levelindicatormove_275)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class levelindicatormove_275 extends MovieClip {
public var levelindicator_txt:TextField;
}
}//package BenSamurai_fla
Section 131
//MainMenuBtnTxt_298 (BenSamurai_fla.MainMenuBtnTxt_298)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class MainMenuBtnTxt_298 extends MovieClip {
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 132
//MainMenuBtnTxt_72 (BenSamurai_fla.MainMenuBtnTxt_72)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class MainMenuBtnTxt_72 extends MovieClip {
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 133
//mascarapopup_315 (BenSamurai_fla.mascarapopup_315)
package BenSamurai_fla {
import flash.display.*;
public dynamic class mascarapopup_315 extends MovieClip {
public function mascarapopup_315(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package BenSamurai_fla
Section 134
//mascarapopupcopy_344 (BenSamurai_fla.mascarapopupcopy_344)
package BenSamurai_fla {
import flash.display.*;
public dynamic class mascarapopupcopy_344 extends MovieClip {
public function mascarapopupcopy_344(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package BenSamurai_fla
Section 135
//maskpopupfinale_311 (BenSamurai_fla.maskpopupfinale_311)
package BenSamurai_fla {
import flash.display.*;
public dynamic class maskpopupfinale_311 extends MovieClip {
public function maskpopupfinale_311(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package BenSamurai_fla
Section 136
//maskpopupfinalecopy_313 (BenSamurai_fla.maskpopupfinalecopy_313)
package BenSamurai_fla {
import flash.display.*;
public dynamic class maskpopupfinalecopy_313 extends MovieClip {
public function maskpopupfinalecopy_313(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package BenSamurai_fla
Section 137
//maskpopupfinalecopy2_343 (BenSamurai_fla.maskpopupfinalecopy2_343)
package BenSamurai_fla {
import flash.display.*;
public dynamic class maskpopupfinalecopy2_343 extends MovieClip {
public function maskpopupfinalecopy2_343(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package BenSamurai_fla
Section 138
//maskpopupfinalecopy3_347 (BenSamurai_fla.maskpopupfinalecopy3_347)
package BenSamurai_fla {
import flash.display.*;
public dynamic class maskpopupfinalecopy3_347 extends MovieClip {
public function maskpopupfinalecopy3_347(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package BenSamurai_fla
Section 139
//ObjectivesTitleTxt_419 (BenSamurai_fla.ObjectivesTitleTxt_419)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ObjectivesTitleTxt_419 extends MovieClip {
public var titles_txt:TextField;
}
}//package BenSamurai_fla
Section 140
//pared4brazosdestruida_434 (BenSamurai_fla.pared4brazosdestruida_434)
package BenSamurai_fla {
import flash.events.*;
import flash.display.*;
public dynamic class pared4brazosdestruida_434 extends MovieClip {
public function pared4brazosdestruida_434(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
parent.dispatchEvent(new Event("SpecialWallAnimationDestroyedEnd"));
}
}
}//package BenSamurai_fla
Section 141
//personajeshud_242 (BenSamurai_fla.personajeshud_242)
package BenSamurai_fla {
import flash.display.*;
public dynamic class personajeshud_242 extends MovieClip {
public function personajeshud_242(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 142
//Piedritas_rotor_366 (BenSamurai_fla.Piedritas_rotor_366)
package BenSamurai_fla {
import flash.events.*;
import flash.display.*;
public dynamic class Piedritas_rotor_366 extends MovieClip {
public function Piedritas_rotor_366(){
addFrameScript(16, frame17);
}
function frame17(){
stop();
parent.parent.dispatchEvent(new Event("SpecialWallAnimationHitEnd"));
}
}
}//package BenSamurai_fla
Section 143
//PlayAgainBtnTxt_296 (BenSamurai_fla.PlayAgainBtnTxt_296)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class PlayAgainBtnTxt_296 extends MovieClip {
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 144
//PlayAgainBtnTxt_68 (BenSamurai_fla.PlayAgainBtnTxt_68)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class PlayAgainBtnTxt_68 extends MovieClip {
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 145
//PlayBtnTxt_17 (BenSamurai_fla.PlayBtnTxt_17)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class PlayBtnTxt_17 extends MovieClip {
public var text_txt:TextField;
}
}//package BenSamurai_fla
Section 146
//ProgressText_410 (BenSamurai_fla.ProgressText_410)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ProgressText_410 extends MovieClip {
public var progress_txt:TextField;
public function ProgressText_410(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 147
//ProgressTextcopy_6 (BenSamurai_fla.ProgressTextcopy_6)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ProgressTextcopy_6 extends MovieClip {
public var progress_txt:TextField;
public function ProgressTextcopy_6(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BenSamurai_fla
Section 148
//puntaje_259 (BenSamurai_fla.puntaje_259)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class puntaje_259 extends MovieClip {
public var score_txt:TextField;
public var scoreLbl_txt:TextField;
}
}//package BenSamurai_fla
Section 149
//ScoreText_299 (BenSamurai_fla.ScoreText_299)
package BenSamurai_fla {
import flash.display.*;
public dynamic class ScoreText_299 extends MovieClip {
public var scoreTxt_mc:MovieClip;
}
}//package BenSamurai_fla
Section 150
//ScoreWonRText_418 (BenSamurai_fla.ScoreWonRText_418)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ScoreWonRText_418 extends MovieClip {
public var txt1_txt:TextField;
public var txt3_txt:TextField;
public var scoreLabel_txt:TextField;
public var score_txt:TextField;
public var t3_txt:TextField;
public var t1_txt:TextField;
public var txt4_txt:TextField;
public var txt2_txt:TextField;
public var t2_txt:TextField;
public var t4_txt:TextField;
}
}//package BenSamurai_fla
Section 151
//ScoreWonText_74 (BenSamurai_fla.ScoreWonText_74)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ScoreWonText_74 extends MovieClip {
public var scoreLabel_txt:TextField;
public var score_txt:TextField;
}
}//package BenSamurai_fla
Section 152
//secuenciaXXZZ_431 (BenSamurai_fla.secuenciaXXZZ_431)
package BenSamurai_fla {
import flash.display.*;
public dynamic class secuenciaXXZZ_431 extends MovieClip {
public function secuenciaXXZZ_431(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package BenSamurai_fla
Section 153
//teclas_mc_319 (BenSamurai_fla.teclas_mc_319)
package BenSamurai_fla {
import flash.display.*;
public dynamic class teclas_mc_319 extends MovieClip {
public var ben_mc:MovieClip;
}
}//package BenSamurai_fla
Section 154
//TutorialTitle2Txt_350 (BenSamurai_fla.TutorialTitle2Txt_350)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class TutorialTitle2Txt_350 extends MovieClip {
public var titles_txt:TextField;
public var text1_txt:TextField;
public var txt_2b:TextField;
public var txt_2c:TextField;
}
}//package BenSamurai_fla
Section 155
//TutorialTitleTxt_25 (BenSamurai_fla.TutorialTitleTxt_25)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class TutorialTitleTxt_25 extends MovieClip {
public var txt_2:TextField;
public var titles_txt:TextField;
public var text1_txt:TextField;
public var txt_2b:TextField;
public var txt_2c:TextField;
}
}//package BenSamurai_fla
Section 156
//Vidas_258 (BenSamurai_fla.Vidas_258)
package BenSamurai_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Vidas_258 extends MovieClip {
public var numeroVida_txt:TextField;
}
}//package BenSamurai_fla
Section 157
//BaseButtonMovieClip (buttons.BaseButtonMovieClip)
package buttons {
import flash.events.*;
import flash.display.*;
public class BaseButtonMovieClip extends MovieClip {
protected var _hitArea:MovieClip;// = null
private var _isPlayingAnimation:Boolean;
public function BaseButtonMovieClip(){
_hitArea = null;
super();
enabled = false;
mouseEnabled = false;
_hitArea = (getChildByName("hitArea_mc") as MovieClip);
if (_hitArea == null){
_hitArea = this;
} else {
_hitArea.alpha = 0;
};
_hitArea.buttonMode = true;
_hitArea.mouseChildren = false;
_hitArea.enabled = true;
_isPlayingAnimation = false;
_hitArea.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown);
_hitArea.addEventListener(MouseEvent.MOUSE_UP, OnMouseUp);
_hitArea.addEventListener(MouseEvent.ROLL_OVER, OnRollOver);
_hitArea.addEventListener(MouseEvent.ROLL_OUT, OnRollOut);
_hitArea.addEventListener("AnimationStarted", OnAnimationStarted);
_hitArea.addEventListener("AnimationFinished", OnAnimationFinished);
gotoAndStop("up");
}
protected function OnRollOver(_arg1:MouseEvent):void{
if (currentLabel == "_up"){
gotoAndPlay("_over");
Sfx.PlaySound(Sfx.SFX_OTHERS_ROLLOVER);
};
}
protected function OnMouseUp(_arg1:MouseEvent):void{
if (!_isPlayingAnimation){
gotoAndPlay("_over");
};
}
protected function OnAnimationStarted(_arg1:Event):void{
_isPlayingAnimation = true;
}
protected function OnRollOut(_arg1:MouseEvent):void{
if (!_isPlayingAnimation){
gotoAndPlay("_up");
};
}
public function get HitArea():MovieClip{
return (_hitArea);
}
protected function OnMouseDown(_arg1:MouseEvent):void{
if (currentLabel != "_down"){
gotoAndPlay("_down");
};
}
protected function OnAnimationFinished(_arg1:Event):void{
_isPlayingAnimation = false;
gotoAndPlay("_up");
}
}
}//package buttons
Section 158
//RollOutBtn (buttons.RollOutBtn)
package buttons {
import flash.events.*;
import flash.display.*;
public class RollOutBtn extends BaseButtonMovieClip {
public var hitArea_mc:MovieClip;
public var anim_mc:MovieClip;
private var _overFrame:int;// = 1
public var muted_mc:MovieClip;
public function RollOutBtn():void{
_overFrame = 1;
super();
this.addEventListener("OutAnimationFinished", OnOutAnimationFinished);
}
private function OnOutAnimationFinished(_arg1:Event):void{
this.addEventListener(Event.RENDER, AdjustUpState);
GameTemplateMainApp.MyStage.invalidate();
this.gotoAndStop("_up");
}
private function AdjustUpState(_arg1:Event):void{
var _local2:MovieClip;
this.removeEventListener(Event.RENDER, AdjustUpState);
_local2 = (this.getChildByName("anim_mc") as MovieClip);
if (_local2 != null){
_local2.gotoAndStop(_local2.totalFrames);
};
}
override protected function OnRollOut(_arg1:MouseEvent):void{
var _local2:MovieClip;
_overFrame = 1;
if (this.currentLabel == "_over"){
_local2 = (this.getChildByName("anim_mc") as MovieClip);
if (_local2 != null){
_overFrame = _local2.currentFrame;
this.addEventListener(Event.RENDER, AdjustRollOut);
GameTemplateMainApp.MyStage.invalidate();
this.gotoAndStop("_out");
return;
};
};
this.gotoAndStop("_out");
}
private function AdjustRollOut(_arg1:Event):void{
var _local2:MovieClip;
this.removeEventListener(Event.RENDER, AdjustRollOut);
_local2 = (this.getChildByName("anim_mc") as MovieClip);
if (_local2 != null){
_local2.gotoAndPlay(((_local2.totalFrames - _overFrame) + 1));
};
}
}
}//package buttons
Section 159
//TextContainerButtonMovieClip (buttons.TextContainerButtonMovieClip)
package buttons {
import flash.display.*;
import flash.text.*;
public class TextContainerButtonMovieClip extends BaseButtonMovieClip {
protected var _container:MovieClip;// = null
public var container_mc:MovieClip;
protected var _text:TextField;// = null
public var hitArea_mc:MovieClip;
public function TextContainerButtonMovieClip(){
_container = null;
_text = null;
super();
CreateChildren();
}
protected function CreateChildren():void{
_container = (getChildByName("container_mc") as MovieClip);
if (_container == null){
_text = new TextField();
return;
};
_text = (_container.getChildByName("text_txt") as TextField);
if (_text == null){
_text = new TextField();
return;
};
}
public function set Text(_arg1:String){
_text.text = _arg1;
}
public function set HTMLText(_arg1:String){
_text.htmlText = _arg1;
}
}
}//package buttons
Section 160
//CharactersCollisionExecutor (collision.CharactersCollisionExecutor)
package collision {
import flash.display.*;
import model.*;
import flash.geom.*;
import enemies.*;
import view.*;
public class CharactersCollisionExecutor implements ICollisionExecutor {
private var _hitAreaAttack:MovieClip;
private var _collisionManager:CollisionManager;
private var _effectGlobalPosition:Point;
public function ObjectCollisionEnemies(_arg1:Enemy):void{
var _local2:Number;
var _local3:Number;
var _local4:Point;
_local2 = 0;
_local3 = 0;
_local4 = null;
if ((((Character(_collisionManager.Ben).CurrentTransformationId == Character.TRANSFORMATION_CANNONBOLT)) && ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ATTACK)))){
Enemy(_arg1).EnergySubtract(Character(_collisionManager.Ben).CurrentTransformation.EnergyToSubtractEnemySuperAttack);
} else {
Enemy(_arg1).EnergySubtract(Character(_collisionManager.Ben).CurrentTransformation.EnergyToSubtractEnemyAttack);
};
_hitAreaAttack = Character(_collisionManager.Ben).HitAreaAttack;
if (Character(_collisionManager.Ben).CurrentTransformationId == Character.TRANSFORMATION_FOUR_ARMS){
_effectGlobalPosition = _hitAreaAttack.localToGlobal(new Point());
_effectGlobalPosition.x = (_effectGlobalPosition.x + ((Character(_collisionManager.Ben).View.scaleX)<0) ? -(_hitAreaAttack.width) : _hitAreaAttack.width);
_effectGlobalPosition.y = (_effectGlobalPosition.y + (_hitAreaAttack.height / 2));
_local4 = LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).globalToLocal(_effectGlobalPosition);
EffectManager.Instance.PlayEffect(EffectManager.EFFECT_ATTACK, _local4);
if (FourArms._attackingArmsLeft){
Sfx.PlaySound(Sfx.SFX_BEN_ARMS_LEFT);
} else {
Sfx.PlaySound(Sfx.SFX_BEN_ARMS_RIGHT);
};
};
if (Character(_collisionManager.Ben).CurrentTransformationId == Character.TRANSFORMATION_BEN_SAMURAI){
_effectGlobalPosition = _hitAreaAttack.localToGlobal(new Point());
_effectGlobalPosition.x = (_effectGlobalPosition.x + ((Character(_collisionManager.Ben).View.scaleX)<0) ? -(_hitAreaAttack.width) : _hitAreaAttack.width);
_effectGlobalPosition.y = (_effectGlobalPosition.y + (_hitAreaAttack.height / 2));
_local4 = LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).globalToLocal(_effectGlobalPosition);
EffectManager.Instance.PlayEffect(EffectManager.EFFECT_SWORD, _local4);
};
if (Enemy(_arg1).Energy > 0){
Enemy(_arg1).TryNewPrimaryState(Enemy.PRI_ST_HIT);
Sfx.PlaySound(Sfx.SFX_ENEMY_HIT);
};
Character(_collisionManager.Ben).AttackCollision = false;
}
public function BenToBossesFinal(_arg1:FinalBossesThree):void{
Enemy(_arg1).EnergySubtract(Character(_collisionManager.Ben).CurrentTransformation.EnergyToSubtractEnemyAttack);
if (Enemy(_arg1).Energy > 0){
Enemy(_arg1).TryNewPrimaryState(Enemy.PRI_ST_HIT);
};
Character(_collisionManager.Ben).AttackCollision = false;
}
public function ObjectCollisionBen(_arg1:Enemy):void{
Enemy(_arg1).TryNewSecondaryState(Enemy.SEC_ST_ATTACK);
Character(_collisionManager.Ben).EnergySubtract(Enemy(_arg1).EnergyToSubtractBenAttack);
if (Character(_collisionManager.Ben).Energy > 0){
Sfx.PlaySound(Sfx.SFX_ENEMY_ATTACK_ONE);
Character(_collisionManager.Ben).CurrentTransformation.TryNewPrimaryState(Character.PRI_ST_HIT);
Character(_collisionManager.Ben).Invincible = ((Character(_collisionManager.Ben).Invincible == false)) ? true : false;
};
}
public function CheckCollisions(_arg1:int, _arg2:int):void{
var _local3:Array;
var _local4:Array;
var _local5:int;
var _local6:Enemy;
if (((Character(_collisionManager.Ben).Transforming) || (Character(_collisionManager.Ben).Dead))){
return;
};
_hitAreaAttack = Character(_collisionManager.Ben).HitAreaAttack;
_local5 = (_arg1 - 1);
while (_local5 < _arg2) {
_local3 = (_collisionManager.Enemies[_local5] as Array);
_local4 = (_collisionManager.Enemies[_local5] as Array);
for each (_local6 in _local3) {
if ((((((((((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_SWINGING_SWORD)) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ARMSLEFT)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ARMSRIGHT)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_FAST)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ATTACK)))){
if (((((((!(Enemy(_local6).Dead)) && (!((Enemy(_local6).Type == 5))))) && (Character(_collisionManager.Ben).AttackCollision))) && (CollisionDetector.AreCollidingOfSprite(Enemy(_local6).GetCollisionSprite(), _hitAreaAttack)))){
this.ObjectCollisionEnemies(_local6);
};
};
if (((((((!(Character(_collisionManager.Ben).Invincible)) && (!(Enemy(_local6).Dead)))) && ((((Enemy(_local6).Type == 2)) || ((Enemy(_local6).Type == 4)))))) && (!(Character(_collisionManager.Ben).Transforming)))){
if (CollisionDetector.AreCollidingOfSprite(Character(_collisionManager.Ben).CurrentTransformation.GetCollisionSprite(), Enemy(_local6).HitAreaAttack)){
this.ObjectCollisionBen(_local6);
};
};
if (((((((((((!(Character(_collisionManager.Ben).Invincible)) && (!(Character(_collisionManager.Ben).Transforming)))) && (!(Enemy(_local6).Dead)))) && (!((Enemy(_local6).Type == 4))))) && (!((Enemy(_local6).Type == 5))))) && (CollisionDetector.AreColliding(_local6, _collisionManager.Ben)))){
this.BenCollisionEnemies(_local6);
};
if (Enemy(_local6).Type == 5){
if (((FinalBossesThree.ATTACKING) && (!(Character(_collisionManager.Ben).Invincible)))){
if (Enemy(_local6).SecondaryState == Enemy.SEC_ST_SUPERATTACK){
if (CollisionDetector.AreCollidingOfSprite(Character(_collisionManager.Ben).CurrentTransformation.GetCollisionSprite(), FinalBossesThree.LEFT_MC)){
BossesFinalToBen((_local6 as FinalBossesThree));
};
if (CollisionDetector.AreCollidingOfSprite(Character(_collisionManager.Ben).CurrentTransformation.GetCollisionSprite(), FinalBossesThree.RIGHT_MC)){
BossesFinalToBen(FinalBossesThree(_local6));
};
} else {
if (FinalBossesThree(_local6).ArmsAttack == 1){
if (CollisionDetector.AreCollidingOfSprite(Character(_collisionManager.Ben).CurrentTransformation.GetCollisionSprite(), FinalBossesThree.LEFT_MC)){
BossesFinalToBen((_local6 as FinalBossesThree));
};
} else {
if (FinalBossesThree(_local6).ArmsAttack == 2){
if (CollisionDetector.AreCollidingOfSprite(Character(_collisionManager.Ben).CurrentTransformation.GetCollisionSprite(), FinalBossesThree.RIGHT_MC)){
BossesFinalToBen(FinalBossesThree(_local6));
};
};
};
};
};
if (((FinalBossesThree.ATTACKING) && (FinalBossesThree.HITENABLE))){
if (Enemy(_local6).SecondaryState == Enemy.SEC_ST_SUPERATTACK){
} else {
if (FinalBossesThree(_local6).ArmsAttack == 1){
if ((((((((((((((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_SWINGING_SWORD)) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ARMSLEFT)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ARMSRIGHT)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_FAST)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ATTACK)))) && (Character(_collisionManager.Ben).AttackCollision))) && (CollisionDetector.AreCollidingOfSprite(_hitAreaAttack, FinalBossesThree.HIT_AREA)))){
BenToBossesFinal(FinalBossesThree(_local6));
};
} else {
if ((((((((((((((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_SWINGING_SWORD)) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ARMSLEFT)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ARMSRIGHT)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_FAST)))) || ((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ATTACK)))) && (Character(_collisionManager.Ben).AttackCollision))) && (CollisionDetector.AreCollidingOfSprite(_hitAreaAttack, FinalBossesThree.HIT_AREA)))){
BenToBossesFinal(FinalBossesThree(_local6));
};
};
};
};
};
};
_local5++;
};
}
public function Initialize(_arg1:CollisionManager):void{
_collisionManager = _arg1;
}
public function BossesFinalToBen(_arg1:FinalBossesThree):void{
Character(_collisionManager.Ben).EnergySubtract(Enemy(_arg1).EnergyToSubtractBenAttack);
if (Character(_collisionManager.Ben).Energy > 0){
Character(_collisionManager.Ben).CurrentTransformation.TryNewPrimaryState(Character.PRI_ST_HIT);
Character(_collisionManager.Ben).Invincible = ((Character(_collisionManager.Ben).Invincible == false)) ? true : false;
};
}
public function BenCollisionEnemies(_arg1:Enemy):void{
Character(_collisionManager.Ben).EnergySubtract(Enemy(_arg1).EnergyToSubtractBenHit);
if (Character(_collisionManager.Ben).Energy > 0){
Character(_collisionManager.Ben).CurrentTransformation.TryNewPrimaryState(Character.PRI_ST_HIT);
Character(_collisionManager.Ben).Invincible = ((Character(_collisionManager.Ben).Invincible == false)) ? true : false;
Sfx.PlaySound(Sfx.SFX_BEN_HIT);
};
}
}
}//package collision
Section 161
//CollisionDetection (collision.CollisionDetection)
package collision {
import flash.display.*;
import flash.geom.*;
public class CollisionDetection {
public static function checkForCollision(_arg1:Sprite, _arg2:Sprite, _arg3:Number=0xFF):Rectangle{
var bounds1:Object;
var bounds2:Object;
var bounds:Object;
var intersection:Rectangle;
var img:BitmapData;
var mat:Matrix;
var p_clip1 = _arg1;
var p_clip2 = _arg2;
var p_alphaTolerance = _arg3;
bounds1 = p_clip1.getBounds(p_clip1.stage);
bounds2 = p_clip2.getBounds(p_clip1.stage);
if (((((((bounds1.x + bounds1.width) < bounds2.x)) || (((bounds2.x + bounds2.width) < bounds1.x)))) || (((((bounds1.y + bounds1.height) < bounds2.y)) || (((bounds2.y + bounds2.height) < bounds1.y)))))){
return (null);
};
bounds = {};
bounds.xMin = Math.max(bounds1.x, bounds2.x);
bounds.xMax = Math.min((bounds1.x + bounds1.width), (bounds2.x + bounds2.width));
bounds.yMin = Math.max(bounds1.y, bounds2.y);
bounds.yMax = Math.min((bounds1.y + bounds1.height), (bounds2.y + bounds2.height));
if ((((bounds.xMin >= bounds.xMax)) || ((bounds.yMin >= bounds.yMax)))){
return (null);
};
try {
img = new BitmapData((bounds.xMax - bounds.xMin), (bounds.yMax - bounds.yMin), false);
mat = p_clip1.transform.concatenatedMatrix;
mat.tx = (mat.tx - bounds.xMin);
mat.ty = (mat.ty - bounds.yMin);
img.draw(p_clip1, mat, new ColorTransform(1, 1, 1, 1, 0xFF, -255, -255, p_alphaTolerance));
mat = p_clip2.transform.concatenatedMatrix;
mat.tx = (mat.tx - bounds.xMin);
mat.ty = (mat.ty - bounds.yMin);
img.draw(p_clip2, mat, new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, p_alphaTolerance), "difference");
intersection = img.getColorBoundsRect(4294967295, 4278255615);
if (intersection.width == 0){
return (null);
};
intersection.x = (intersection.x + bounds.xMin);
intersection.y = (intersection.y + bounds.yMin);
} catch(e:Error) {
intersection = null;
};
return (intersection);
}
}
}//package collision
Section 162
//CollisionDetector (collision.CollisionDetector)
package collision {
import flash.display.*;
import flash.geom.*;
public class CollisionDetector {
public static function AreCollidingOfSprite(_arg1:Sprite, _arg2:Sprite):Boolean{
if ((((_arg1 == null)) || ((_arg2 == null)))){
return (false);
};
return (_arg1.hitTestObject(_arg2));
}
public static function GetCollisionRectangle(_arg1:ICollidable, _arg2:ICollidable):Rectangle{
return (CollisionDetection.checkForCollision(_arg1.GetCollisionSprite(), _arg2.GetCollisionSprite()));
}
public static function AreColliding(_arg1:ICollidable, _arg2:ICollidable):Boolean{
if ((((_arg1.GetCollisionSprite() == null)) || ((_arg2.GetCollisionSprite() == null)))){
return (false);
};
return (_arg1.GetCollisionSprite().hitTestObject(_arg2.GetCollisionSprite()));
}
}
}//package collision
Section 163
//CollisionManager (collision.CollisionManager)
package collision {
import game.*;
public class CollisionManager {
protected var _wallBlocked:Array;
protected var _ben:ICollidable;
protected var _enemiesIAMarks:Array;
protected var _friendlyShots:Array;
protected var _enemiesShots:Array;
protected var _powerUps:Array;
protected var _iCollisionExecutor:Array;
protected var _platforms:Array;
protected var _enemies:Array;
protected var _specialWall:Array;
public function get Platforms():Array{
return (_platforms);
}
private function RemoveICollidableOfArray(_arg1:ICollidable, _arg2:Array):Boolean{
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
_local4 = _arg2.length;
_local5 = 0;
while (_local5 < _local4) {
if ((((_arg1.GetType() == 3)) || ((_arg1.GetType() == 4)))){
if (ICollidable(_arg2[_local5]) == _arg1){
_arg2.splice(_local5, 1);
return (true);
};
} else {
_local3 = (_arg2[_local5] as Array);
_local6 = _local3.length;
while (_local7 < _local6) {
if (ICollidable(_local3[_local7]) == _arg1){
_local3.splice(_local7, 1);
return (true);
};
_local7++;
};
};
_local5++;
};
return (false);
}
public function get Enemies():Array{
return (_enemies);
}
public function get SpecialWalls():Array{
return (_specialWall);
}
public function get EnemiesShots():Array{
return (_enemiesShots);
}
public function get PowerUps():Array{
return (_powerUps);
}
public function AddICollidableOfArray(_arg1:Array, _arg2:int):Boolean{
var _local3:*;
if (_arg1.length == 0){
return (false);
};
for each (_local3 in _arg1) {
this.AddICollidable(ICollidable(_local3), _arg2);
};
return (true);
}
public function get WallsBlocked():Array{
return (_wallBlocked);
}
public function RemoveICollidable(_arg1:ICollidable):Boolean{
if (_arg1 != null){
switch (_arg1.GetType()){
case 1:
_ben = null;
return (true);
case 2:
return (this.RemoveICollidableOfArray(_arg1, _enemies));
case 3:
return (this.RemoveICollidableOfArray(_arg1, _enemiesShots));
case 4:
return (this.RemoveICollidableOfArray(_arg1, _friendlyShots));
case 5:
return (this.RemoveICollidableOfArray(_arg1, _platforms));
case 6:
return (this.RemoveICollidableOfArray(_arg1, _specialWall));
case 7:
return (this.RemoveICollidableOfArray(_arg1, _powerUps));
case 8:
return (this.RemoveICollidableOfArray(_arg1, _enemiesIAMarks));
case 9:
return (this.RemoveICollidableOfArray(_arg1, _wallBlocked));
default:
return (false);
};
};
return (false);
}
private function RemoveCollisionExecutor(_arg1:ICollisionExecutor):Boolean{
var _local2:int;
var _local3:int;
_local2 = _iCollisionExecutor.length;
if (((!((_local2 == 0))) && (!((_arg1 == null))))){
_local3 = 0;
while (_local3 < _local2) {
if (ICollisionExecutor(_iCollisionExecutor[_local3]) == _arg1){
_iCollisionExecutor.splice(_local3, 1);
return (true);
};
_local3++;
};
return (false);
};
return (false);
}
public function Update(_arg1:int, _arg2:int):void{
var _local3:*;
for each (_local3 in _iCollisionExecutor) {
ICollisionExecutor(_local3).CheckCollisions(_arg1, _arg2);
};
}
public function get FriendlyShots():Array{
return (_friendlyShots);
}
public function Reset():void{
var _local1:int;
var _local2:*;
_iCollisionExecutor = new Array();
_enemies = new Array();
_enemiesShots = new Array();
_friendlyShots = new Array();
_platforms = new Array();
_specialWall = new Array();
_powerUps = new Array();
_enemiesIAMarks = new Array();
_wallBlocked = new Array();
_local1 = 0;
while (_local1 < GameManager.Instance.MaxSublevels) {
_enemies.push(new Array());
_platforms.push(new Array());
_specialWall.push(new Array());
_powerUps.push(new Array());
_enemiesIAMarks.push(new Array());
_wallBlocked.push(new Array());
_local1++;
};
this.AddCollisionExecutor(new CharactersCollisionExecutor());
this.AddCollisionExecutor(new EnvironmentsCollisionExecutor());
this.AddCollisionExecutor(new ShotsCollisionExecutor());
this.AddCollisionExecutor(new SpecialWallCollisionExecutor());
this.AddCollisionExecutor(new PowerUpsCollisionExecutor());
this.AddCollisionExecutor(new EnemyIAMarksCollisionExecutor());
this.AddCollisionExecutor(new WallBlockedCollisionExecutor());
for each (_local2 in _iCollisionExecutor) {
ICollisionExecutor(_local2).Initialize(this);
};
}
public function Initialize():void{
Reset();
}
public function get EnemiesIAMarksArray():Array{
return (_enemiesIAMarks);
}
public function get Ben():ICollidable{
return (_ben);
}
public function AddICollidable(_arg1:ICollidable, _arg2:int):Boolean{
if (_arg1 != null){
switch (_arg1.GetType()){
case 1:
_ben = _arg1;
return (true);
case 2:
_enemies[(_arg2 - 1)].push(_arg1);
return (true);
case 3:
_enemiesShots.push(_arg1);
return (true);
case 4:
_friendlyShots.push(_arg1);
return (true);
case 5:
_platforms[(_arg2 - 1)].push(_arg1);
return (true);
case 6:
_specialWall[(_arg2 - 1)].push(_arg1);
return (true);
case 7:
_powerUps[(_arg2 - 1)].push(_arg1);
return (true);
case 8:
_enemiesIAMarks[(_arg2 - 1)].push(_arg1);
return (true);
case 9:
_wallBlocked[(_arg2 - 1)].push(_arg1);
return (true);
default:
return (false);
};
};
return (false);
}
private function AddCollisionExecutor(_arg1:ICollisionExecutor):Boolean{
var _local2:*;
if (_arg1 != null){
for each (_local2 in _iCollisionExecutor) {
if (ICollisionExecutor(_local2) == _arg1){
return (false);
};
};
_iCollisionExecutor.push(_arg1);
return (true);
};
return (false);
}
public function AddCollisionExecutorOfArray(_arg1:Array):Boolean{
var _local2:*;
if (_arg1.length == 0){
return (false);
};
for each (_local2 in _arg1) {
this.AddCollisionExecutor(ICollisionExecutor(_local2));
};
return (true);
}
}
}//package collision
Section 164
//EnemyIAMarksCollisionExecutor (collision.EnemyIAMarksCollisionExecutor)
package collision {
import enemies.*;
public class EnemyIAMarksCollisionExecutor implements ICollisionExecutor {
private var _collisionManager:CollisionManager;
public function Initialize(_arg1:CollisionManager):void{
_collisionManager = _arg1;
}
public function CheckCollisions(_arg1:int, _arg2:int):void{
var _local3:Array;
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:Enemy;
var _local8:EnemiesIAMarks;
_local5 = _collisionManager.Enemies.length;
_local6 = 0;
while (_local6 < _local5) {
_local3 = (_collisionManager.Enemies[_local6] as Array);
_local4 = (_collisionManager.EnemiesIAMarksArray[_local6] as Array);
for each (_local7 in _local3) {
for each (_local8 in _local4) {
if (((((!(_local7.Dead)) && (_local7.Active))) && (!((_local7.Type == 1))))){
if (CollisionDetector.AreColliding(_local7, _local8)){
if ((((_local7.Type == 2)) || ((_local7.Type == 4)))){
switch (_local8.Action){
case "upObligatory":
_local7.UpObligatory();
break;
case "downObligatory":
if (_local7.MarkIAEnable != _local8.Action){
_local7.DownObligatory();
};
break;
case "leftObligatory":
_local7.LeftObligatory();
break;
case "rightObligatory":
_local7.RightObligatory();
break;
case "upConditional":
if (_local7.MarkIAEnable != _local8.Action){
_local7.UpConditional();
};
break;
case "downConditional":
if (_local7.MarkIAEnable != _local8.Action){
_local7.DownConditional();
};
break;
case "leftConditional":
if (_local7.MarkIAEnable != _local8.Action){
_local7.LeftConditional();
};
break;
case "rightConditional":
if (_local7.MarkIAEnable != _local8.Action){
_local7.RightConditional();
};
break;
default:
trace(" NADA_RED ");
};
if (((!((_local8.Action == null))) && (!((_local8.Action == _local7.MarkIAEnable))))){
_local7.MarkIAEnable = _local8.Action;
};
} else {
if (_local7.Type == 3){
switch (_local8.Action){
case "flechaIzq":
_local7.Flecha(_local8.View.rotation, -1);
break;
case "flechaDer":
_local7.Flecha(_local8.View.rotation, 1);
break;
};
};
};
};
};
};
};
_local6++;
};
}
}
}//package collision
Section 165
//EnvironmentsCollisionExecutor (collision.EnvironmentsCollisionExecutor)
package collision {
import model.*;
import flash.geom.*;
import enemies.*;
import config.*;
import assets.*;
public class EnvironmentsCollisionExecutor implements ICollisionExecutor {
private var _deltaCorrectionFactor:Number;// = 2
private var _collisionManager:CollisionManager;
public function EnvironmentsCollisionExecutor(){
_deltaCorrectionFactor = 2;
super();
}
private function CollideEnemyAndPlatform(_arg1:Enemy, _arg2:Platform, _arg3:Rectangle=null):Boolean{
var _local4:Boolean;
var _local5:Boolean;
var _local6:Boolean;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local4 = false;
_local5 = false;
_local6 = false;
_local7 = 0;
_local8 = 0;
if (_arg2 == _arg1.CurrentPlatform){
return (true);
};
if (_arg1.CurrentPlatform == null){
_local11 = (_arg1.CurrentAbsoluteY - _arg1.PreviousAbsoluteY);
_local12 = 0;
if (_local11 > 0){
if (_arg2.StopsUpDown){
_local7 = (_arg1.BottomGlobalY - _arg2.TopGlobalY);
if (((((_arg1.BottomGlobalY - (_local11 * 2)) < _arg2.TopGlobalY)) || ((_arg2.Type == Platform.FLOOR)))){
AdjustEnemyY(_arg1, ((_arg2.TopGlobalY - _arg1.BottomGlobalY) + 3));
_local4 = true;
_local6 = true;
_arg1.CurrentPlatform = _arg2;
_local5 = true;
if (_arg1.CurrentPlatform.Type == 1){
_arg1.TryNewPrimaryState(Enemy.PRI_ST_FALL);
};
};
};
} else {
if (_arg2.StopsDownUp){
_local7 = (_arg2.BottomGlobalY - _arg1.TopGlobalY);
if ((_arg1.TopGlobalY - _local11) > _arg2.BottomGlobalY){
AdjustEnemyY(_arg1, ((_arg2.BottomGlobalY - _arg1.TopGlobalY) - 1));
_local4 = true;
_local6 = true;
};
};
};
};
_local9 = (_arg1.CurrentAbsoluteX - _arg1.PreviousAbsoluteX);
_local10 = 0;
if (_local9 > 0){
if (_arg2.StopsLeftRight){
_local8 = (_arg1.RightGlobalX - _arg2.LeftGlobalX);
if ((_arg1.RightGlobalX - _local9) < _arg2.LeftGlobalX){
AdjustEnemyX(_arg1, ((_arg2.LeftGlobalX - _arg1.RightGlobalX) - 1));
_local4 = true;
_local6 = true;
};
};
} else {
if (_arg2.StopsRightLeft){
_local8 = (_arg2.RightGlobalX - _arg1.LeftGlobalX);
if ((_arg1.LeftGlobalX - _local9) > _arg2.RightGlobalX){
AdjustEnemyX(_arg1, ((_arg2.RightGlobalX - _arg1.LeftGlobalX) + 1));
_local4 = true;
_local6 = true;
};
};
};
if (((!(_local6)) && (((Math.abs(_local7) + Math.abs(_local8)) > 0)))){
_local13 = 0;
if ((((Math.abs(_local7) <= Math.abs(_local8))) || (((_arg1.BottomGlobalY - _local11) < _arg2.TopGlobalY)))){
if ((((_local11 > 0)) && (_arg2.StopsUpDown))){
_local13 = ((_arg2.TopGlobalY - _arg1.BottomGlobalY) + 1);
_arg1.CurrentPlatform = _arg2;
_local5 = true;
AdjustEnemyY(_arg1, _local13);
} else {
if (_arg2.StopsUpDown){
_local13 = ((_arg2.BottomGlobalY - _arg1.TopGlobalY) - 1);
AdjustEnemyY(_arg1, _local13);
};
};
} else {
if ((((_local9 > 0)) && (_arg2.StopsLeftRight))){
_local13 = ((_arg2.LeftGlobalX - _arg1.RightGlobalX) - 1);
AdjustEnemyX(_arg1, _local13);
} else {
if (_arg2.StopsRightLeft){
_local13 = ((_arg2.RightGlobalX - _arg1.LeftGlobalX) + 1);
AdjustEnemyX(_arg1, _local13);
};
};
};
_local4 = true;
_local6 = true;
};
return (_local5);
}
private function AdjustEnemyY(_arg1:Enemy, _arg2:Number):void{
_arg1.CurrentAbsoluteY = _arg1.PreviousAbsoluteY;
_arg1.SpeedY = 0;
_arg1.Y = (_arg1.Y + _arg2);
}
private function AdjustBenY(_arg1:Character, _arg2:Number):void{
_arg1.CurrentAbsoluteY = _arg1.PreviousAbsoluteY;
_arg1.SpeedY = 0;
_arg1.Y = (_arg1.Y + _arg2);
}
public function CheckCollisions(_arg1:int, _arg2:int):void{
this.BenAgainstPlatform(_arg1, _arg2);
this.EnemyAgainstPlatform(_arg1, _arg2);
this.BenAgainstSpecialWall(_arg1, _arg2);
}
public function BenAgainstPlatform(_arg1:int, _arg2:int):void{
var _local3:Boolean;
var _local4:Boolean;
var _local5:Rectangle;
var _local6:Array;
var _local7:int;
var _local8:Platform;
_local3 = false;
_local4 = false;
_local7 = (_arg1 - 1);
while (_local7 < _arg2) {
_local6 = (_collisionManager.Platforms[_local7] as Array);
for each (_local8 in _local6) {
_local5 = CollisionDetection.checkForCollision(_collisionManager.Ben.GetCollisionSprite(), _local8.GetCollisionSprite());
if (_local5 != null){
_local4 = CollideBenAndPlatform(Character(_collisionManager.Ben), _local8, _local5);
};
if (_local4){
_local3 = true;
};
};
_local7++;
};
if (!_local3){
Character(_collisionManager.Ben).CurrentPlatform = null;
};
}
public function BenAgainstSpecialWall(_arg1:int, _arg2:int):void{
var _local3:Boolean;
var _local4:Rectangle;
var _local5:Array;
var _local6:int;
var _local7:SpecialWall;
_local3 = false;
_local6 = (_arg1 - 1);
while (_local6 < _arg2) {
_local5 = (_collisionManager.SpecialWalls[_local6] as Array);
for each (_local7 in _local5) {
if (((((_local7.Active) && (!(_local7.Destroyed)))) && (CollisionDetector.AreColliding(_collisionManager.Ben, ICollidable(_local7))))){
_local3 = CollideBenAndSpecialWall(Character(_collisionManager.Ben), _local7);
};
};
_local6++;
};
}
public function Initialize(_arg1:CollisionManager):void{
_collisionManager = _arg1;
_deltaCorrectionFactor = ConfigLoader.Instance.Config["CollisionDeltaCorrectionFactor"];
}
private function CollideBenAndSpecialWall(_arg1:Character, _arg2:SpecialWall, _arg3:Rectangle=null):Boolean{
var _local4:Boolean;
var _local5:Boolean;
var _local6:Number;
var _local7:Number;
var _local8:Number;
if ((((_arg1.CurrentTransformationId == Character.TRANSFORMATION_CANNONBOLT)) && ((_arg1.SecondaryState == Character.SEC_STATE_ATTACK)))){
return (false);
};
_local4 = false;
_local5 = false;
_local6 = 0;
_local7 = (_arg1.CurrentAbsoluteX - _arg1.PreviousAbsoluteX);
_local8 = 0;
if (_local7 > 0){
_local6 = (_arg1.RightGlobalX - _arg2.LeftGlobalX);
if ((_arg1.RightGlobalX - _local7) < _arg2.LeftGlobalX){
AdjustBenX(_arg1, ((_arg2.LeftGlobalX - _arg1.RightGlobalX) - 1));
_local4 = true;
_local5 = true;
};
} else {
if (_local7 < 0){
_local6 = (_arg2.RightGlobalX - _arg1.LeftGlobalX);
if ((_arg1.LeftGlobalX - _local7) > _arg2.RightGlobalX){
AdjustBenX(_arg1, ((_arg2.RightGlobalX - _arg1.LeftGlobalX) + 1));
_local4 = true;
_local5 = true;
};
};
};
if (((!(_local5)) && (!((_local6 == 0))))){
if (_local7 > 0){
_local8 = ((_arg2.LeftGlobalX - _arg1.RightGlobalX) - 1);
} else {
_local8 = ((_arg2.RightGlobalX - _arg1.LeftGlobalX) + 1);
};
AdjustBenX(_arg1, _local8);
_local4 = true;
_local5 = true;
};
return (false);
}
public function EnemyAgainstPlatform(_arg1:int, _arg2:int):void{
var _local3:Boolean;
var _local4:Boolean;
var _local5:Rectangle;
var _local6:Array;
var _local7:Array;
var _local8:int;
var _local9:int;
var _local10:Enemy;
var _local11:Platform;
_local3 = false;
_local4 = false;
_local8 = _collisionManager.Enemies.length;
_local9 = 0;
while (_local9 < _local8) {
_local6 = (_collisionManager.Enemies[_local9] as Array);
_local7 = (_collisionManager.Platforms[_local9] as Array);
for each (_local10 in _local6) {
for each (_local11 in _local7) {
if (((((!(_local10.Dead)) && (_local10.Active))) && ((((_local10.Type == 2)) || ((_local10.Type == 4)))))){
if (CollisionDetector.AreColliding(_local10, ICollidable(_local11))){
_local4 = CollideEnemyAndPlatform(_local10, _local11);
};
if (_local4){
_local3 = true;
};
};
if (Enemy(_local10).Type == 1){
if (((_local11.Moves) && ((Enemy(_local10).CurrentPlatform == null)))){
if (CollisionDetector.AreColliding(_local10, ICollidable(_local11))){
Enemy(_local10).CurrentPlatform = _local11;
AdjustEnemyY(Enemy(_local10), ((_local11.TopGlobalY - Enemy(_local10).BottomGlobalY) + 3));
};
};
};
};
if ((((((Enemy(_local10).Type == 2)) || ((Enemy(_local10).Type == 4)))) && (!(Enemy(_local10).Dead)))){
if (!_local3){
Enemy(_local10).CurrentPlatform = null;
};
};
};
_local9++;
};
}
private function AdjustBenX(_arg1:Character, _arg2:Number):void{
_arg1.CurrentAbsoluteX = _arg1.PreviousAbsoluteX;
_arg1.SpeedX = 0;
_arg1.X = (_arg1.X + _arg2);
}
private function CollideBenAndPlatform(_arg1:Character, _arg2:Platform, _arg3:Rectangle=null):Boolean{
var _local4:Boolean;
var _local5:Boolean;
var _local6:Boolean;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local4 = false;
_local5 = false;
_local6 = false;
_local7 = 0;
_local8 = 0;
_local9 = 0;
if (_arg2 == _arg1.CurrentPlatform){
return (true);
};
if (_arg1.CurrentPlatform == null){
_local12 = (_arg1.CurrentAbsoluteY - _arg1.PreviousAbsoluteY);
if (_local12 > 0){
_local12 = (Math.ceil(_local12) * _deltaCorrectionFactor);
} else {
_local12 = (Math.floor(_local12) * _deltaCorrectionFactor);
};
_local13 = 0;
if (_local12 > 0){
if (_arg2.StopsUpDown){
_local7 = (_arg1.BottomGlobalY - _arg2.TopGlobalY);
if ((_arg2.View is MovingPlatformAsset)){
};
if ((_arg1.BottomGlobalY - _local12) < _arg2.TopGlobalY){
AdjustBenY(_arg1, ((_arg2.TopGlobalY - _arg1.BottomGlobalY) + 3));
_local4 = true;
_local6 = true;
_arg1.CurrentPlatform = _arg2;
_local5 = true;
};
};
} else {
if (_local12 < 0){
if (_arg2.StopsDownUp){
_local7 = (_arg2.BottomGlobalY - _arg1.TopGlobalY);
if ((_arg1.TopGlobalY - _local12) > _arg2.BottomGlobalY){
AdjustBenY(_arg1, ((_arg2.BottomGlobalY - _arg1.TopGlobalY) - 1));
_local4 = true;
_local6 = true;
};
};
};
};
};
_local10 = (_arg1.CurrentAbsoluteX - _arg1.PreviousAbsoluteX);
if (_local10 > 0){
_local12 = (Math.ceil(_local10) * _deltaCorrectionFactor);
} else {
_local10 = (Math.floor(_local10) * _deltaCorrectionFactor);
};
_local11 = 0;
if (_local10 > 0){
if (_arg2.StopsLeftRight){
_local8 = (_arg1.RightGlobalX - _arg2.LeftGlobalX);
if (((_arg1.RightGlobalX - _local10) < _arg2.LeftGlobalX)){
AdjustBenX(_arg1, ((_arg2.LeftGlobalX - _arg1.RightGlobalX) - 1));
_local4 = true;
_local6 = true;
};
};
} else {
if (_local10 < 0){
if (_arg2.StopsRightLeft){
_local8 = (_arg2.RightGlobalX - _arg1.LeftGlobalX);
if ((_arg1.LeftGlobalX - _local10) > _arg2.RightGlobalX){
AdjustBenX(_arg1, ((_arg2.RightGlobalX - _arg1.LeftGlobalX) + 1));
_local4 = true;
_local6 = true;
};
};
};
};
if (((!(_local6)) && (((Math.abs(_local7) + Math.abs(_local8)) > 0)))){
_local9 = 0;
if ((((Math.abs(_local7) <= Math.abs(_local8))) && (!((_local7 == 0))))){
if ((((_local12 > 0)) && (_arg2.StopsUpDown))){
_local9 = ((_arg2.TopGlobalY - _arg1.BottomGlobalY) + 3);
_arg1.CurrentPlatform = _arg2;
_local5 = true;
AdjustBenY(_arg1, _local9);
} else {
if ((((_local12 < 0)) && (_arg2.StopsUpDown))){
_local9 = ((_arg2.BottomGlobalY - _arg1.TopGlobalY) - 1);
AdjustBenY(_arg1, _local9);
};
};
} else {
if ((((_local10 > 0)) && (_arg2.StopsLeftRight))){
_local9 = ((_arg2.LeftGlobalX - _arg1.RightGlobalX) - 1);
AdjustBenX(_arg1, _local9);
} else {
if ((((_local10 < 0)) && (_arg2.StopsRightLeft))){
_local9 = ((_arg2.RightGlobalX - _arg1.LeftGlobalX) + 1);
AdjustBenX(_arg1, _local9);
};
};
};
_local4 = true;
_local6 = true;
};
return (_local5);
}
private function AdjustEnemyX(_arg1:Enemy, _arg2:Number):void{
_arg1.CurrentAbsoluteX = _arg1.PreviousAbsoluteX;
_arg1.SpeedX = 0;
_arg1.X = (_arg1.X + _arg2);
}
}
}//package collision
Section 166
//ICollidable (collision.ICollidable)
package collision {
import flash.display.*;
import flash.geom.*;
public interface ICollidable {
function GetGlobalCenterPoint():Point;
function get TopGlobalY():Number;
function GetRadio():int;
function GetCollisionSprite():Sprite;
function get OffsetFromLevelLayer():Point;
function get BottomGlobalY():Number;
function get LeftGlobalX():Number;
function GetType():int;
function get RightGlobalX():Number;
function SetType(_arg1:int):void;
}
}//package collision
Section 167
//ICollisionExecutor (collision.ICollisionExecutor)
package collision {
public interface ICollisionExecutor {
function Initialize(_arg1:CollisionManager):void;
function CheckCollisions(_arg1:int, _arg2:int):void;
}
}//package collision
Section 168
//PowerUpsCollisionExecutor (collision.PowerUpsCollisionExecutor)
package collision {
import model.*;
public class PowerUpsCollisionExecutor implements ICollisionExecutor {
private var _collisionManager:CollisionManager;
public function Initialize(_arg1:CollisionManager):void{
_collisionManager = _arg1;
}
public function BenWithPowerUp(_arg1:PowerUp):void{
if (_arg1.Type != 0){
_arg1.Active = false;
};
if (!_arg1.ActiveInstruccion){
_arg1.TryNewPrimaryState(PowerUp.PRI_ST_DESTROYED);
if (_arg1.Type == 1){
Sfx.PlaySound(Sfx.SFX_OTHERS_ONE_LIFE);
} else {
Sfx.PlaySound(Sfx.SFX_OTHERS_POWER_UP);
};
} else {
if (Character(_collisionManager.Ben).PrimaryState == Character.PRI_ST_IDLE){
Character(_collisionManager.Ben).AddPowerUpType(_arg1.Type, 0, true);
} else {
_arg1.Active = true;
};
};
}
public function CheckCollisions(_arg1:int, _arg2:int):void{
var _local3:Array;
var _local4:PowerUp;
for each (_local3 in _collisionManager.PowerUps) {
for each (_local4 in _local3) {
if ((((((((_local4.View.alpha == 1)) || (_local4.ActiveInstruccion))) && (_local4.Active))) && (CollisionDetector.AreColliding(_local4, _collisionManager.Ben)))){
BenWithPowerUp(_local4);
};
};
};
}
}
}//package collision
Section 169
//ShotsCollisionExecutor (collision.ShotsCollisionExecutor)
package collision {
import model.*;
import enemies.*;
public class ShotsCollisionExecutor implements ICollisionExecutor {
private var _collisionManager:CollisionManager;
public function ShotsCollisionExecutor():void{
}
public function BenCollisionWithPlatform(_arg1:ShotFriendly, _arg2:Platform):void{
if (((_arg2.StopsLeftRight) && (_arg2.StopsRightLeft))){
_arg1.TryNewPrimaryState(ShotFriendly.PRI_ST_DESTROYED);
};
}
public function EnemyCollisionWithBen(_arg1:ShotEnemy):void{
_arg1.TryNewPrimaryState(ShotEnemy.PRI_ST_DESTROYED);
Character(_collisionManager.Ben).EnergySubtract(_arg1.Energy);
if (Character(_collisionManager.Ben).Energy > 0){
Character(_collisionManager.Ben).CurrentTransformation.TryNewPrimaryState(Character.PRI_ST_HIT);
};
}
public function EnemyCollisionWithPlatform(_arg1:ShotEnemy, _arg2:Platform):void{
if (((_arg2.StopsLeftRight) && (_arg2.StopsRightLeft))){
_arg1.TryNewPrimaryState(ShotEnemy.PRI_ST_DESTROYED);
};
}
public function CheckCollisions(_arg1:int, _arg2:int):void{
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:Array;
var _local7:Array;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:Array;
var _local12:Array;
var _local13:*;
var _local14:*;
for each (_local3 in _collisionManager.FriendlyShots) {
for each (_local5 in _collisionManager.Enemies) {
for each (_local8 in _local5) {
if (((((ShotFriendly(_local3).Active) && (!(Enemy(_local8).Dead)))) && (CollisionDetector.AreColliding(_local3, _local8)))){
if (Enemy(_local8).Type != 5){
BenCollisionWithEnemy(_local3, _local8);
};
};
};
};
for each (_local6 in _collisionManager.Platforms) {
for each (_local9 in _local6) {
if (((ShotFriendly(_local3).Active) && (CollisionDetector.AreColliding(_local3, _local9)))){
BenCollisionWithPlatform(_local3, _local9);
};
};
};
for each (_local7 in _collisionManager.SpecialWalls) {
for each (_local10 in _local7) {
if (((((ShotFriendly(_local3).Active) && (SpecialWall(_local10).Active))) && (CollisionDetector.AreColliding(_local3, _local10)))){
BenCollisionWithSpecialWall(_local3, _local10);
};
};
};
};
for each (_local4 in _collisionManager.EnemiesShots) {
if (((((!(Character(_collisionManager.Ben).Transforming)) && (ShotEnemy(_local4).Active))) && (CollisionDetector.AreColliding(_local4, _collisionManager.Ben)))){
EnemyCollisionWithBen(_local4);
};
for each (_local11 in _collisionManager.Platforms) {
for each (_local13 in _local11) {
if (((ShotEnemy(_local4).Active) && (CollisionDetector.AreColliding(_local4, _local13)))){
EnemyCollisionWithPlatform(_local4, _local13);
};
};
};
for each (_local12 in _collisionManager.SpecialWalls) {
for each (_local14 in _local12) {
if (((((ShotEnemy(_local4).Active) && (SpecialWall(_local14).Active))) && (CollisionDetector.AreColliding(_local4, _local14)))){
EnemyCollisionWithSpecialWall(_local4, _local14);
};
};
};
};
}
public function EnemyCollisionWithSpecialWall(_arg1:ShotEnemy, _arg2:SpecialWall):void{
_arg1.TryNewPrimaryState(ShotEnemy.PRI_ST_DESTROYED);
}
public function Initialize(_arg1:CollisionManager):void{
_collisionManager = _arg1;
}
public function BenCollisionWithSpecialWall(_arg1:ShotFriendly, _arg2:SpecialWall):void{
_arg1.TryNewPrimaryState(ShotFriendly.PRI_ST_DESTROYED);
}
public function BenCollisionWithEnemy(_arg1:ShotFriendly, _arg2:Enemy):void{
_arg1.TryNewPrimaryState(ShotFriendly.PRI_ST_DESTROYED);
Enemy(_arg2).EnergySubtract(Character(_collisionManager.Ben).CurrentTransformation.EnergyToSubtractEnemyShot);
if (Enemy(_arg2).Energy > 0){
Enemy(_arg2).TryNewPrimaryState(Enemy.PRI_ST_HIT);
};
}
}
}//package collision
Section 170
//SpecialWallCollisionExecutor (collision.SpecialWallCollisionExecutor)
package collision {
import model.*;
public class SpecialWallCollisionExecutor implements ICollisionExecutor {
private var _collisionManager:CollisionManager;
public function Initialize(_arg1:CollisionManager):void{
_collisionManager = _arg1;
}
public function FourArmsWithSpecialWall(_arg1:ICollidable):void{
FourArms._attacking = true;
SpecialWall(_arg1).NumberCombo++;
if (FourArms._attackingArmsLeft){
if (SpecialWall(_arg1).Combo[SpecialWall(_arg1).NumberCombo] == "Z"){
if (SpecialWall(_arg1).NumberCombo <= 3){
SpecialWall(_arg1).TryNewPrimaryState(SpecialWall.PRI_ST_HIT);
Sfx.PlaySound(Sfx.SFX_OTHERS_WALL_HIT);
} else {
SpecialWall(_arg1).TryNewPrimaryState(SpecialWall.PRI_ST_DESTROYED);
SpecialWall(_arg1).Destroyed = true;
Sfx.PlaySound(Sfx.SFX_OTHERS_BROKEN_WALL);
};
SpecialWall(_arg1).StateCombo(SpecialWall(_arg1).NumberCombo);
SpecialWall(_arg1).Accountant = 0;
} else {
SpecialWall(_arg1).NumberCombo = 0;
SpecialWall(_arg1).TryNewPrimaryState(SpecialWall.PRI_ST_HIT);
SpecialWall(_arg1).StateCombo(SpecialWall(_arg1).NumberCombo);
};
} else {
if (FourArms._attackingArmsRight){
if (SpecialWall(_arg1).Combo[SpecialWall(_arg1).NumberCombo] == "X"){
if (SpecialWall(_arg1).NumberCombo <= 3){
SpecialWall(_arg1).TryNewPrimaryState(SpecialWall.PRI_ST_HIT);
Sfx.PlaySound(Sfx.SFX_OTHERS_WALL_HIT);
} else {
SpecialWall(_arg1).TryNewPrimaryState(SpecialWall.PRI_ST_DESTROYED);
SpecialWall(_arg1).Destroyed = true;
Sfx.PlaySound(Sfx.SFX_OTHERS_BROKEN_WALL);
};
SpecialWall(_arg1).StateCombo(SpecialWall(_arg1).NumberCombo);
SpecialWall(_arg1).Accountant = 0;
} else {
SpecialWall(_arg1).NumberCombo = 0;
SpecialWall(_arg1).TryNewPrimaryState(SpecialWall.PRI_ST_HIT);
SpecialWall(_arg1).StateCombo(SpecialWall(_arg1).NumberCombo);
};
};
};
}
public function CheckCollisions(_arg1:int, _arg2:int):void{
var _local3:Array;
var _local4:SpecialWall;
if (Character(_collisionManager.Ben).CurrentTransformationId == Character.TRANSFORMATION_BEN_SAMURAI){
return;
};
for each (_local3 in _collisionManager.SpecialWalls) {
for each (_local4 in _local3) {
if (Character(_collisionManager.Ben).CurrentTransformationId == Character.TRANSFORMATION_FOUR_ARMS){
if (((((((((((((FourArms._attackingArmsLeft) || (FourArms._attackingArmsRight))) && (!(FourArms._attacking)))) && (_local4.Active))) && (!(_local4.Destroyed)))) && ((_local4.EnabledTransformation == 1)))) && (CollisionDetector.AreCollidingOfSprite(_local4.GetCollisionSprite(), Character(_collisionManager.Ben).HitAreaAttack)))){
FourArmsWithSpecialWall(_local4);
};
} else {
if (Character(_collisionManager.Ben).CurrentTransformationId == Character.TRANSFORMATION_CANNONBOLT){
if ((((((((((Character(_collisionManager.Ben).SecondaryState == Character.SEC_STATE_ATTACK)) && (_local4.Active))) && (!(_local4.Destroyed)))) && ((_local4.EnabledTransformation == 2)))) && (CollisionDetector.AreCollidingOfSprite(_local4.GetCollisionSprite(), Character(_collisionManager.Ben).HitAreaAttack)))){
CannonBoltWithSpecialWall(_local4);
};
};
};
};
};
}
public function CannonBoltWithSpecialWall(_arg1:ICollidable):void{
SpecialWall(_arg1).TryNewPrimaryState(SpecialWall.PRI_ST_DESTROYED);
SpecialWall(_arg1).Destroyed = true;
Sfx.PlaySound(Sfx.SFX_OTHERS_BROKEN_WALL);
}
}
}//package collision
Section 171
//WallBlockedCollisionExecutor (collision.WallBlockedCollisionExecutor)
package collision {
import model.*;
public class WallBlockedCollisionExecutor implements ICollisionExecutor {
private var _collisionManager:CollisionManager;
public function CheckCollisions(_arg1:int, _arg2:int):void{
var _local3:Array;
var _local4:WallBlocked;
for each (_local3 in _collisionManager.WallsBlocked) {
for each (_local4 in _local3) {
if (((_local4.Active) && (CollisionDetector.AreColliding(_collisionManager.Ben, _local4)))){
CollideBenAndWallBlocked(Character(_collisionManager.Ben), _local4);
};
};
};
}
public function Initialize(_arg1:CollisionManager):void{
_collisionManager = _arg1;
}
private function CollideBenAndWallBlocked(_arg1:Character, _arg2:WallBlocked):void{
var _local3:Boolean;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local3 = false;
_local4 = false;
_local5 = 0;
_local6 = 0;
_local7 = (_arg1.CurrentAbsoluteY - _arg1.PreviousAbsoluteY);
_local8 = 0;
if (_local7 > 0){
_local5 = (_arg1.BottomGlobalY - _arg2.TopGlobalY);
if ((_arg1.BottomGlobalY - _local7) < _arg2.TopGlobalY){
AdjustBenY(_arg1, ((_arg2.TopGlobalY - _arg1.BottomGlobalY) + 1));
_local3 = true;
_local4 = true;
};
} else {
_local5 = (_arg2.BottomGlobalY - _arg1.TopGlobalY);
if ((_arg1.TopGlobalY - _local7) > _arg2.BottomGlobalY){
AdjustBenY(_arg1, ((_arg2.BottomGlobalY - _arg1.TopGlobalY) - 1));
_local3 = true;
_local4 = true;
};
};
_local9 = (_arg1.CurrentAbsoluteX - _arg1.PreviousAbsoluteX);
_local10 = 0;
if (_local9 > 0){
_local6 = (_arg1.RightGlobalX - _arg2.LeftGlobalX);
if ((_arg1.RightGlobalX - _local9) < _arg2.LeftGlobalX){
AdjustBenX(_arg1, ((_arg2.LeftGlobalX - _arg1.RightGlobalX) - 1));
_local3 = true;
_local4 = true;
};
} else {
_local6 = (_arg2.RightGlobalX - _arg1.LeftGlobalX);
if ((_arg1.LeftGlobalX - _local9) > _arg2.RightGlobalX){
AdjustBenX(_arg1, ((_arg2.RightGlobalX - _arg1.LeftGlobalX) + 1));
_local3 = true;
_local4 = true;
};
};
}
private function AdjustBenX(_arg1:Character, _arg2:Number):void{
_arg1.CurrentAbsoluteX = _arg1.PreviousAbsoluteX;
_arg1.SpeedX = 0;
_arg1.X = (_arg1.X + _arg2);
}
private function AdjustBenY(_arg1:Character, _arg2:Number):void{
_arg1.CurrentAbsoluteY = _arg1.PreviousAbsoluteY;
_arg1.SpeedY = 0;
_arg1.Y = (_arg1.Y + _arg2);
}
}
}//package collision
Section 172
//ArrayIterator (com.bourre.collection.ArrayIterator)
package com.bourre.collection {
import com.bourre.error.*;
public class ArrayIterator implements ListIterator {
private var _nSize:Number;
private var _aArray:Array;
private var _bAdded:Boolean;
private var _nIndex:Number;
private var _bRemoved:Boolean;
public function ArrayIterator(_arg1:Array, _arg2:uint=0){
if (_arg1 == null){
throw (new NullPointerException((("The target array of " + this) + "can't be null")));
};
if (_arg2 > _arg1.length){
throw (new IndexOutOfBoundsException(((("The passed-in index " + _arg2) + " is not a valid for an array of length ") + _arg1.length)));
};
_aArray = _arg1;
_nSize = _arg1.length;
_nIndex = (_arg2 - 1);
_bRemoved = false;
_bAdded = false;
}
public function remove():void{
if (_bRemoved){
_aArray.splice(_nIndex--, 1);
_nSize--;
_bRemoved = true;
} else {
throw (new IllegalStateException((this + ".remove() have been already called for this iteration")));
};
}
public function previousIndex():uint{
return (_nIndex);
}
public function nextIndex():uint{
return ((_nIndex + 1));
}
public function add(_arg1:Object):void{
if (!_bAdded){
_aArray.splice((_nIndex + 1), 0, _arg1);
_nSize++;
_bAdded = true;
} else {
throw (new IllegalStateException((this + ".add() have been already called for this iteration")));
};
}
public function set(_arg1:Object):void{
if (((!(_bRemoved)) && (!(_bAdded)))){
_aArray[_nIndex] = _arg1;
} else {
throw (new IllegalStateException(((((this + ".add() or ") + this) + ".remove() have been ") + "already called for this iteration, the set() operation cannot be done")));
};
}
public function hasNext():Boolean{
return (((_nIndex + 1) < _nSize));
}
public function hasPrevious():Boolean{
return ((_nIndex >= 0));
}
public function next(){
if (!hasNext()){
throw (new NoSuchElementException(((this + " has no more elements at ") + (_nIndex + 1))));
};
_bRemoved = false;
_bAdded = false;
return (_aArray[++_nIndex]);
}
public function previous(){
if (!hasPrevious()){
throw (new NoSuchElementException(((this + " has no more elements at ") + _nIndex)));
};
_bRemoved = false;
_bAdded = false;
return (_aArray[_nIndex--]);
}
}
}//package com.bourre.collection
Section 173
//Collection (com.bourre.collection.Collection)
package com.bourre.collection {
public interface Collection extends Iterable {
function addAll(_arg1:Collection):Boolean;
function add(_arg1:Object):Boolean;
function containsAll(_arg1:Collection):Boolean;
function isEmpty():Boolean;
function remove(_arg1:Object):Boolean;
function size():uint;
function clear():void;
function retainAll(_arg1:Collection):Boolean;
function removeAll(_arg1:Collection):Boolean;
function toArray():Array;
function contains(_arg1:Object):Boolean;
}
}//package com.bourre.collection
Section 174
//HashMap (com.bourre.collection.HashMap)
package com.bourre.collection {
import flash.utils.*;
import com.bourre.log.*;
import com.bourre.error.*;
public class HashMap {
protected var _oKeyDico:Dictionary;
protected var _n:uint;
protected var _oValueDico:Dictionary;
public function HashMap(){
_init();
}
public function containsKey(_arg1):Boolean{
if (_arg1 == null){
PixlibDebug.ERROR((this + ".containsKey() failed. key can't be null"));
throw (new NullPointerException((this + ".containsKey() failed. key can't be null")));
};
return (!((_oKeyDico[_arg1] == null)));
}
public function isEmpty():Boolean{
return ((_n == 0));
}
public function size():Number{
return (_n);
}
public function getKeys():Array{
var _local1:Array;
var _local2:*;
_local1 = new Array();
for (_local2 in _oKeyDico) {
_local1.push(_local2);
};
return (_local1);
}
public function remove(_arg1){
var _local2:*;
var _local3:uint;
if (containsKey(_arg1)){
_n--;
_local2 = _oKeyDico[_arg1];
_local3 = _oValueDico[_local2];
if (_local3 > 1){
_oValueDico[_local2] = (_local3 - 1);
} else {
delete _oValueDico[_local2];
};
delete _oKeyDico[_arg1];
};
return (_local2);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function clear():void{
_init();
}
protected function _init():void{
_n = 0;
_oKeyDico = new Dictionary(true);
_oValueDico = new Dictionary(true);
}
public function containsValue(_arg1):Boolean{
return (!((_oValueDico[_arg1] == null)));
}
public function put(_arg1, _arg2){
var _local3:*;
var _local4:uint;
if (_arg1 != null){
_local3 = null;
if (containsKey(_arg1)){
_local3 = remove(_arg1);
};
_n++;
_local4 = _oValueDico[_arg2];
_oValueDico[_arg2] = ((_local4)>0) ? (_local4 + 1) : 1;
_oKeyDico[_arg1] = _arg2;
return (_local3);
//unresolved jump
};
PixlibDebug.ERROR((this + ".put() failed. key can't be null"));
throw (new NullPointerException((this + ".put() failed. key can't be null")));
}
public function get(_arg1){
if (_arg1 == null){
PixlibDebug.ERROR((this + ".get() failed. key can't be null"));
throw (new NullPointerException((this + ".get() failed. key can't be null")));
};
return (_oKeyDico[_arg1]);
}
public function getValues():Array{
var _local1:Array;
var _local2:*;
_local1 = new Array();
for each (_local2 in _oKeyDico) {
_local1.push(_local2);
};
return (_local1);
}
}
}//package com.bourre.collection
Section 175
//Iterable (com.bourre.collection.Iterable)
package com.bourre.collection {
public interface Iterable {
function iterator():Iterator;
}
}//package com.bourre.collection
Section 176
//Iterator (com.bourre.collection.Iterator)
package com.bourre.collection {
public interface Iterator {
function next();
function remove():void;
function hasNext():Boolean;
}
}//package com.bourre.collection
Section 177
//ListIterator (com.bourre.collection.ListIterator)
package com.bourre.collection {
public interface ListIterator extends Iterator {
function set(_arg1:Object):void;
function add(_arg1:Object):void;
function hasPrevious():Boolean;
function previous();
function previousIndex():uint;
function nextIndex():uint;
}
}//package com.bourre.collection
Section 178
//TypedContainer (com.bourre.collection.TypedContainer)
package com.bourre.collection {
public interface TypedContainer {
function getType():Class;
function isTyped():Boolean;
function matchType(_arg1):Boolean;
}
}//package com.bourre.collection
Section 179
//WeakCollection (com.bourre.collection.WeakCollection)
package com.bourre.collection {
import flash.utils.*;
import com.bourre.log.*;
import com.bourre.error.*;
public class WeakCollection implements Collection {
private var _d:Dictionary;
public function WeakCollection(_arg1:Array=null){
var _local2:int;
super();
clear();
if (_arg1 != null){
_local2 = _arg1.length;
if (_local2 > 0){
while (--_local2 > -1) {
add(_arg1[_local2]);
};
};
};
}
public function addAll(_arg1:Collection):Boolean{
var _local2:Boolean;
var _local3:Iterator;
_local2 = false;
_local3 = _arg1.iterator();
while (_local3.hasNext()) {
_local2 = ((add(_local3.next())) || (_local2));
};
return (_local2);
}
public function containsAll(_arg1:Collection):Boolean{
var _local2:Iterator;
if (_arg1 == null){
PixlibDebug.ERROR(("The passed-in collection is null in " + this));
throw (new NullPointerException(("The passed-in collection is null in " + this)));
};
_local2 = _arg1.iterator();
while (_local2.hasNext()) {
if (_d[_local2.next()] != true){
return (false);
};
};
return (true);
}
public function isEmpty():Boolean{
return ((size() == 0));
}
public function remove(_arg1:Object):Boolean{
if (_d[_arg1]){
_d[_arg1] = null;
delete _d[_arg1];
return (true);
};
return (false);
}
public function size():uint{
return (Math.max(toArray().length, 0));
}
public function removeAll(_arg1:Collection):Boolean{
var _local2:Boolean;
var _local3:Iterator;
if (_arg1 == null){
PixlibDebug.ERROR(("The passed-in collection is null in " + this));
throw (new NullPointerException(("The passed-in collection is null in " + this)));
};
_local2 = false;
_local3 = _arg1.iterator();
while (_local3.hasNext()) {
_local2 = ((remove(_local3.next())) || (_local2));
};
return (_local2);
}
public function clear():void{
_d = new Dictionary(true);
}
public function retainAll(_arg1:Collection):Boolean{
var _local2:Boolean;
var _local3:Iterator;
var _local4:Object;
if (_arg1 == null){
PixlibDebug.ERROR(("The passed-in collection is null in " + this));
throw (new NullPointerException(("The passed-in collection is null in " + this)));
};
_local2 = false;
_local3 = iterator();
while (_local3.hasNext()) {
_local4 = _local3.next();
if (!_arg1.contains(_local4)){
_local2 = ((remove(_local4)) || (_local2));
};
};
return (_local2);
}
public function toArray():Array{
var _local1:Array;
var _local2:Object;
_local1 = new Array();
for (_local2 in _d) {
if (_d[_local2]){
_local1.push(_local2);
};
};
return (_local1);
}
public function contains(_arg1:Object):Boolean{
return (_d[_arg1]);
}
public function add(_arg1:Object):Boolean{
if (!contains(_arg1)){
return ((_d[_arg1] = true));
};
return (false);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function iterator():Iterator{
return (new ConcretIterator(this));
}
}
}//package com.bourre.collection
import com.bourre.error.*;
class ConcretIterator implements Iterator {
private var _a:Array;
private var _nIndex:int;
private var _c:WeakCollection;
private var _nLastIndex:int;
private var _bRemoved:Boolean;
private function ConcretIterator(_arg1:WeakCollection){
_c = _arg1;
_nIndex = -1;
_a = _c.toArray();
_nLastIndex = (_a.length - 1);
_bRemoved = false;
}
public function remove():void{
if (!_bRemoved){
_c.remove(_a[_nIndex]);
_a = _c.toArray();
_nLastIndex--;
_bRemoved = true;
} else {
throw (new IllegalStateException((this + ".remove() have been already called for this iteration")));
};
}
public function hasNext():Boolean{
return ((_nLastIndex > _nIndex));
}
public function next(){
if (!hasNext()){
throw (new NoSuchElementException(((this + " has no more elements at ") + _nIndex)));
};
_bRemoved = false;
return (_a[++_nIndex]);
}
}
Section 180
//AbstractCommand (com.bourre.commands.AbstractCommand)
package com.bourre.commands {
import flash.events.*;
import com.bourre.log.*;
import com.bourre.plugin.*;
import com.bourre.model.*;
import com.bourre.view.*;
import com.bourre.error.*;
public class AbstractCommand implements Command {
protected var _owner:Plugin;
public function getModelLocator():ModelLocator{
return (getOwner().getModelLocator());
}
protected function _firePrivateEvent(_arg1:Event):void{
getOwner().firePrivateEvent(_arg1);
}
public function getLogger():PluginDebug{
return (PluginDebug.getInstance(getOwner()));
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function setOwner(_arg1:Plugin):void{
_owner = _arg1;
}
public function execute(_arg1:Event=null):void{
var _local2:String;
_local2 = (this + ".execute() must be implemented in concrete class.");
getLogger().error(_local2);
throw (new UnimplementedVirtualMethodException(_local2));
}
public function getViewLocator():ViewLocator{
return (getOwner().getViewLocator());
}
public function getOwner():Plugin{
return (_owner);
}
}
}//package com.bourre.commands
Section 181
//AbstractSyncCommand (com.bourre.commands.AbstractSyncCommand)
package com.bourre.commands {
import flash.events.*;
import com.bourre.log.*;
import com.bourre.events.*;
public class AbstractSyncCommand extends AbstractCommand implements ASyncCommand {
protected var _oEB:EventBroadcaster;
protected var _bIsRunning:Boolean;
protected var _eOnCommandEnd:BasicEvent;
public static const onCommandEndEVENT:String = "onCommandEnd";
public function AbstractSyncCommand(){
_bIsRunning = false;
_oEB = new EventBroadcaster(this);
_eOnCommandEnd = new BasicEvent(onCommandEndEVENT, this);
}
public function run():void{
execute();
}
public function removeASyncCommandListener(_arg1:ASyncCommandListener):Boolean{
return (_oEB.removeEventListener(onCommandEndEVENT, _arg1));
}
public function fireCommandEndEvent():void{
_oEB.broadcastEvent(_eOnCommandEnd);
}
public function isRunning():Boolean{
return (_bIsRunning);
}
override public function toString():String{
return (PixlibStringifier.stringify(this));
}
override public function execute(_arg1:Event=null):void{
fireCommandEndEvent();
}
public function addASyncCommandListener(_arg1:ASyncCommandListener, ... _args):Boolean{
return (_oEB.addEventListener.apply(_oEB, ((_args.length > 0)) ? [onCommandEndEVENT, _arg1].concat(_args) : [onCommandEndEVENT, _arg1]));
}
}
}//package com.bourre.commands
Section 182
//ASyncCommand (com.bourre.commands.ASyncCommand)
package com.bourre.commands {
public interface ASyncCommand extends Command, Runnable {
function fireCommandEndEvent():void;
function addASyncCommandListener(_arg1:ASyncCommandListener, ... _args):Boolean;
function removeASyncCommandListener(_arg1:ASyncCommandListener):Boolean;
}
}//package com.bourre.commands
Section 183
//ASyncCommandListener (com.bourre.commands.ASyncCommandListener)
package com.bourre.commands {
import flash.events.*;
public interface ASyncCommandListener {
function onCommandEnd(_arg1:Event):void;
}
}//package com.bourre.commands
Section 184
//Command (com.bourre.commands.Command)
package com.bourre.commands {
import flash.events.*;
public interface Command {
function execute(_arg1:Event=null):void;
}
}//package com.bourre.commands
Section 185
//Delegate (com.bourre.commands.Delegate)
package com.bourre.commands {
import flash.events.*;
import com.bourre.log.*;
import com.bourre.transitions.*;
import com.bourre.error.*;
public class Delegate implements Command, TickListener {
protected var _a:Array;
protected var _bHasEventCallback:Boolean;
protected var _f:Function;
public function Delegate(_arg1:Function, ... _args){
_f = _arg1;
_a = _args;
_bHasEventCallback = true;
}
public function getArguments():Array{
return (_a);
}
public function onTick(_arg1:Event=null):void{
execute(_arg1);
}
public function setArgumentsArray(_arg1:Array):void{
if (_arg1.length > 0){
_a = _arg1;
};
}
public function addArgumentsArray(_arg1:Array):void{
if (_arg1.length > 0){
_a = _a.concat(_arg1);
};
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function execute(_arg1:Event=null):void{
var a:Array;
var msg:String;
var event = _arg1;
a = new Array();
if (((!((event == null))) && (_bHasEventCallback))){
a.push(event);
};
try {
_f.apply(null, ((_a.length)>0) ? a.concat(_a) : ((a.length)>0) ? a : null);
} catch(error:ArgumentError) {
msg = (this + ".execute() failed, you passed incorrect number of arguments or wrong type");
PixlibDebug.FATAL(msg);
throw (new IllegalArgumentException(msg));
};
}
public function handleEvent(_arg1:Event):void{
this.execute(_arg1);
}
public function setArguments(... _args):void{
if (_args.length > 0){
_a = _args;
};
}
public function callFunction(){
return (_f.apply(null, _a));
}
public function bypassEventCallback(_arg1:Boolean):void{
_bHasEventCallback = !(_arg1);
}
public function addArguments(... _args):void{
if (_args.length > 0){
_a = _a.concat(_args);
};
}
public static function create(_arg1:Function, ... _args):Function{
var method = _arg1;
var args = _args;
return (function (... _args){
var msg:*;
var rest = _args;
try {
return (method.apply(null, ((rest.length > 0)) ? ((args.length > 0)) ? args.concat(rest) : rest : ((args.length > 0)) ? args : null));
} catch(e:ArgumentError) {
msg = (this + " execution failed, you passed incorrect number of arguments or wrong type");
PixlibDebug.FATAL(msg);
throw (new ArgumentError(msg));
};
});
}
}
}//package com.bourre.commands
Section 186
//Runnable (com.bourre.commands.Runnable)
package com.bourre.commands {
public interface Runnable {
function isRunning():Boolean;
function run():void;
}
}//package com.bourre.commands
Section 187
//AbstractLocator (com.bourre.core.AbstractLocator)
package com.bourre.core {
import flash.events.*;
import flash.utils.*;
import com.bourre.log.*;
import com.bourre.events.*;
import com.bourre.collection.*;
import com.bourre.error.*;
public class AbstractLocator implements Locator, TypedContainer {
private var _oEB:Broadcaster;
protected var _m:HashMap;
private var _logger:Log;
private var _cType:Class;
public function AbstractLocator(_arg1:Class=null, _arg2:Class=null, _arg3:Log=null){
_cType = ((_arg1)!=null) ? _arg1 : Object;
_m = new HashMap();
_oEB = new EventBroadcaster(this, _arg2);
_logger = ((_arg3)==null) ? PixlibDebug.getInstance() : _arg3;
}
public function getLogger():Log{
return (_logger);
}
public function removeEventListener(_arg1:String, _arg2:Object):Boolean{
return (_oEB.removeEventListener(_arg1, _arg2));
}
public function release():void{
_m.clear();
}
public function locate(_arg1:String):Object{
var _local2:String;
if (isRegistered(_arg1)){
return (_m.get(_arg1));
};
_local2 = ((((("Can't find '" + getType().toString()) + "' item with '") + _arg1) + "' name in ") + this);
getLogger().fatal(_local2);
throw (new NoSuchElementException(_local2));
}
public function isRegistered(_arg1:String):Boolean{
return (_m.containsKey(_arg1));
}
public function addEventListener(_arg1:String, _arg2:Object, ... _args):Boolean{
return (_oEB.addEventListener.apply(_oEB, ((_args.length > 0)) ? [_arg1, _arg2].concat(_args) : [_arg1, _arg2]));
}
public function getValues():Array{
return (_m.getValues());
}
public function matchType(_arg1):Boolean{
return ((((_arg1 is _cType)) || ((_arg1 == null))));
}
protected function broadcastEvent(_arg1:Event):void{
_oEB.broadcastEvent(_arg1);
}
public function add(_arg1:Dictionary):void{
var key:*;
var d = _arg1;
for (key in d) {
try {
register(key, d[key]);
} catch(e:IllegalArgumentException) {
e.message = ((this + ".add() fails. ") + e.message);
_logger.error(e.message);
throw (e);
};
};
}
protected function onRegister(_arg1:String=null, _arg2:Object=null):void{
}
public function register(_arg1:String, _arg2:Object):Boolean{
var _local3:String;
if (((isTyped()) && (!((_arg2 is getType()))))){
_local3 = (((this + ".register() failed. Item must be '") + getType().toString()) + "' typed.");
getLogger().error(_local3);
throw (new IllegalArgumentException(_local3));
};
if (_m.containsKey(_arg1)){
_local3 = (((" item is already registered with '" + _arg1) + "' name in ") + this);
getLogger().error(_local3);
throw (new IllegalArgumentException(_local3));
};
_m.put(_arg1, _arg2);
onRegister(_arg1, _arg2);
return (true);
}
public function isTyped():Boolean{
return (!((_cType == null)));
}
public function getKeys():Array{
return (_m.getKeys());
}
public function toString():String{
var _local1:Boolean;
var _local2:String;
_local1 = !((getType() == null));
_local2 = "";
if (_local1){
_local2 = getType().toString();
_local2 = (("<" + _local2.substr(7, (_local2.length - 8))) + ">");
};
return ((PixlibStringifier.stringify(this) + _local2));
}
public function getType():Class{
return (_cType);
}
protected function getBroadcaster():Broadcaster{
return (_oEB);
}
protected function onUnregister(_arg1:String=null):void{
}
public function unregister(_arg1:String):Boolean{
if (isRegistered(_arg1)){
_m.remove(_arg1);
onUnregister(_arg1);
return (true);
};
return (false);
}
}
}//package com.bourre.core
Section 188
//Locator (com.bourre.core.Locator)
package com.bourre.core {
import flash.utils.*;
public interface Locator {
function getValues():Array;
function add(_arg1:Dictionary):void;
function locate(_arg1:String):Object;
function getKeys():Array;
function isRegistered(_arg1:String):Boolean;
}
}//package com.bourre.core
Section 189
//IllegalArgumentException (com.bourre.error.IllegalArgumentException)
package com.bourre.error {
public class IllegalArgumentException extends Error {
public function IllegalArgumentException(_arg1:String=""){
super(_arg1);
}
}
}//package com.bourre.error
Section 190
//IllegalStateException (com.bourre.error.IllegalStateException)
package com.bourre.error {
public class IllegalStateException extends Error {
public function IllegalStateException(_arg1:String=""){
super(_arg1);
}
}
}//package com.bourre.error
Section 191
//IndexOutOfBoundsException (com.bourre.error.IndexOutOfBoundsException)
package com.bourre.error {
public class IndexOutOfBoundsException extends Error {
public function IndexOutOfBoundsException(_arg1:String=""){
super(_arg1);
}
}
}//package com.bourre.error
Section 192
//NoSuchElementException (com.bourre.error.NoSuchElementException)
package com.bourre.error {
public class NoSuchElementException extends Error {
public function NoSuchElementException(_arg1:String=""){
super(_arg1);
}
}
}//package com.bourre.error
Section 193
//NullPointerException (com.bourre.error.NullPointerException)
package com.bourre.error {
public class NullPointerException extends Error {
public function NullPointerException(_arg1:String=""){
super(_arg1);
}
}
}//package com.bourre.error
Section 194
//UnimplementedVirtualMethodException (com.bourre.error.UnimplementedVirtualMethodException)
package com.bourre.error {
public class UnimplementedVirtualMethodException extends Error {
public function UnimplementedVirtualMethodException(_arg1:String=""){
super(_arg1);
}
}
}//package com.bourre.error
Section 195
//UnsupportedOperationException (com.bourre.error.UnsupportedOperationException)
package com.bourre.error {
public class UnsupportedOperationException extends Error {
public function UnsupportedOperationException(_arg1:String=""){
super(_arg1);
}
}
}//package com.bourre.error
Section 196
//BasicEvent (com.bourre.events.BasicEvent)
package com.bourre.events {
import flash.events.*;
import com.bourre.log.*;
public class BasicEvent extends Event {
protected var _sType:String;
protected var _oTarget:Object;
public function BasicEvent(_arg1:String, _arg2:Object=null){
super(_arg1);
_sType = _arg1;
_oTarget = _arg2;
}
override public function get target():Object{
return (_oTarget);
}
public function setTarget(_arg1:Object):void{
_oTarget = _arg1;
}
public function getTarget():Object{
return (_oTarget);
}
public function set target(_arg1:Object):void{
_oTarget = _arg1;
}
override public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function getType():String{
return (_sType);
}
public function set type(_arg1:String):void{
_sType = _arg1;
}
override public function get type():String{
return (_sType);
}
public function setType(_arg1:String):void{
_sType = _arg1;
}
}
}//package com.bourre.events
Section 197
//Broadcaster (com.bourre.events.Broadcaster)
package com.bourre.events {
import flash.events.*;
public interface Broadcaster {
function removeAllListeners():void;
function removeEventListener(_arg1:String, _arg2:Object):Boolean;
function isRegistered(_arg1:Object, _arg2:String=null):Boolean;
function addEventListener(_arg1:String, _arg2:Object, ... _args):Boolean;
function addListener(_arg1:Object):Boolean;
function removeListener(_arg1:Object):Boolean;
function broadcastEvent(_arg1:Event):void;
function hasListenerCollection(_arg1:String):Boolean;
}
}//package com.bourre.events
Section 198
//ChannelBroadcaster (com.bourre.events.ChannelBroadcaster)
package com.bourre.events {
import flash.events.*;
import com.bourre.log.*;
import com.bourre.collection.*;
import com.bourre.utils.*;
import com.bourre.error.*;
public class ChannelBroadcaster {
protected var _broadcasterClass:Class;
protected var _oDefaultChannel:EventChannel;
protected var _mChannel:HashMap;
public function ChannelBroadcaster(_arg1:Class=null, _arg2:EventChannel=null){
var _local3:String;
super();
if (_arg1 != null){
if (!ClassUtils.inherit(_arg1, Broadcaster)){
_local3 = ((("The class '" + _arg1) + "' doesn't implement Broadcaster interface in ") + this);
PixlibDebug.FATAL(_local3);
throw (new IllegalArgumentException(_local3));
};
_broadcasterClass = _arg1;
} else {
_broadcasterClass = EventBroadcaster;
};
empty();
setDefaultChannel(_arg2);
}
public function broadcastEvent(_arg1:Event, _arg2:EventChannel=null):void{
getChannelDispatcher(_arg2).broadcastEvent(_arg1);
if (_arg2){
getChannelDispatcher().broadcastEvent(_arg1);
};
}
public function releaseChannelDispatcher(_arg1:EventChannel):Boolean{
var _local2:Broadcaster;
if (hasChannelDispatcher(_arg1)){
_local2 = (_mChannel.get(_arg1) as Broadcaster);
_local2.removeAllListeners();
_mChannel.remove(_arg1);
return (true);
};
return (false);
}
public function addEventListener(_arg1:String, _arg2:Object, _arg3:EventChannel=null):Boolean{
return (getChannelDispatcher(_arg3).addEventListener(_arg1, _arg2));
}
public function setDefaultChannel(_arg1:EventChannel=null):void{
_oDefaultChannel = ((_arg1)==null) ? DefaultChannel.CHANNEL : _arg1;
getChannelDispatcher(getDefaultChannel());
}
public function isRegistered(_arg1:Object, _arg2:String, _arg3:EventChannel):Boolean{
if (hasChannelDispatcher(_arg3)){
return (getChannelDispatcher(_arg3).isRegistered(_arg1, _arg2));
};
return (false);
}
public function empty():void{
var _local1:EventChannel;
_mChannel = new HashMap();
_local1 = getDefaultChannel();
if (_local1 != null){
getChannelDispatcher(_local1);
};
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function hasChannelDispatcher(_arg1:EventChannel):Boolean{
return (((_arg1 == null)) ? _mChannel.containsKey(_oDefaultChannel) : _mChannel.containsKey(_arg1));
}
public function removeEventListener(_arg1:String, _arg2:Object, _arg3:EventChannel=null):Boolean{
return (getChannelDispatcher(_arg3).removeEventListener(_arg1, _arg2));
}
public function getDefaultChannel():EventChannel{
return (_oDefaultChannel);
}
public function getDefaultDispatcher():Broadcaster{
return (_mChannel.get(_oDefaultChannel));
}
public function getChannelDispatcher(_arg1:EventChannel=null, _arg2:Object=null):Broadcaster{
var _local3:Broadcaster;
if (hasChannelDispatcher(_arg1)){
return (((_arg1 == null)) ? _mChannel.get(_oDefaultChannel) : _mChannel.get(_arg1));
//unresolved jump
};
_local3 = new (_broadcasterClass as Class)(_arg2);
_mChannel.put(_arg1, _local3);
return (_local3);
}
public function addListener(_arg1:Object, _arg2:EventChannel=null):Boolean{
return (getChannelDispatcher(_arg2).addListener(_arg1));
}
public function hasChannelListener(_arg1:String, _arg2:EventChannel=null):Boolean{
if (hasChannelDispatcher(_arg2)){
return (getChannelDispatcher(_arg2).hasListenerCollection(_arg1));
};
return (false);
}
public function removeListener(_arg1:Object, _arg2:EventChannel=null):Boolean{
return (getChannelDispatcher(_arg2).removeListener(_arg1));
}
}
}//package com.bourre.events
class DefaultChannel extends EventChannel {
public static const CHANNEL:DefaultChannel = new (DefaultChannel);
;
private function DefaultChannel(){
}
}
Section 199
//DynBasicEvent (com.bourre.events.DynBasicEvent)
package com.bourre.events {
import com.bourre.log.*;
public dynamic class DynBasicEvent extends BasicEvent {
public function DynBasicEvent(_arg1:String, _arg2:Object=null){
super(_arg1, _arg2);
}
override public function toString():String{
return (PixlibStringifier.stringify(this));
}
}
}//package com.bourre.events
Section 200
//EventBroadcaster (com.bourre.events.EventBroadcaster)
package com.bourre.events {
import flash.events.*;
import flash.utils.*;
import com.bourre.log.*;
import com.bourre.collection.*;
import com.bourre.commands.*;
import com.bourre.error.*;
public class EventBroadcaster implements Broadcaster {
protected var _mType:HashMap;
protected var _mAll:Collection;
protected var _mEventListener:HashMap;
protected var _mDelegate:HashMap;
protected var _oSource:Object;
protected var _cType:Class;
private static var _oI:EventBroadcaster = null;
public function EventBroadcaster(_arg1:Object=null, _arg2:Class=null){
_oSource = ((_arg1)==null) ? this : _arg1;
_mAll = new WeakCollection();
_mType = new HashMap();
_mEventListener = new HashMap();
_mDelegate = new HashMap();
setListenerType(_arg2);
}
public function removeAllListeners():void{
_mAll.clear();
_mType.clear();
_mEventListener.clear();
_mDelegate.clear();
}
public function toString():String{
var _local1:Boolean;
var _local2:String;
_local1 = !((_cType == null));
_local2 = "";
if (_local1){
_local2 = _cType.toString();
_local2 = (("<" + _local2.substr(7, (_local2.length - 8))) + ">");
};
return ((PixlibStringifier.stringify(this) + _local2));
}
public function removeEventListener(_arg1:String, _arg2:Object):Boolean{
var _local3:Collection;
if (hasListenerCollection(_arg1)){
_local3 = getListenerCollection(_arg1);
if ((_arg2 is Function)){
_arg2 = _mDelegate.remove(_arg2);
};
if (_local3.remove(_arg2)){
_removeRef(_arg1, _arg2);
if (_local3.isEmpty()){
removeListenerCollection(_arg1);
};
return (true);
} else {
return (false);
};
//unresolved jump
};
return (false);
}
public function isRegistered(_arg1:Object, _arg2:String=null):Boolean{
if (_arg2 == null){
if ((_arg1 is Function)){
if (_mDelegate.containsKey(_arg1)){
return (_mAll.contains(_mDelegate.get(_arg1)));
};
return (false);
} else {
return (_mAll.contains(_arg1));
};
} else {
//unresolved if
if ((_arg1 is Function)){
if (_mDelegate.containsKey(_arg1)){
return (getListenerCollection(_arg2).contains(_mDelegate.get(_arg1)));
};
return (false);
} else {
return (getListenerCollection(_arg2).contains(_arg1));
};
};
//unresolved jump
return (false);
}
public function addEventListener(_arg1:String, _arg2:Object, ... _args):Boolean{
var _local4:Delegate;
var _local5:String;
if (!isRegistered(_arg2)){
if ((_arg2 is Function)){
if (_mDelegate.containsKey(_arg2)){
return (false);
};
_local4 = new Delegate((_arg2 as Function));
if (_args){
_local4.setArgumentsArray(_args);
};
_mDelegate.put(_arg2, _local4);
_arg2 = _local4;
} else {
if (((_arg2.hasOwnProperty(_arg1)) && ((_arg2[_arg1] is Function)))){
} else {
if (((_arg2.hasOwnProperty("handleEvent")) && ((_arg2.handleEvent is Function)))){
} else {
_local5 = (((((this + ".addEventListener() failed, you must implement '") + _arg1) + "' method or 'handleEvent' method in '") + getQualifiedClassName(_arg2)) + "' class");
PixlibDebug.ERROR(_local5);
throw (new UnsupportedOperationException(_local5));
};
};
};
if (!hasListenerCollection(_arg1)){
_mType.put(_arg1, new WeakCollection());
};
if (getListenerCollection(_arg1).add(_arg2)){
_storeRef(_arg1, _arg2);
return (true);
};
return (false);
//unresolved jump
};
return (false);
}
private function _flushRef(_arg1:Object):Boolean{
var _local2:Boolean;
var _local3:HashMap;
var _local4:Array;
var _local5:Number;
_local2 = false;
_local3 = _mEventListener.get(_arg1);
if (_local3 != null){
_local4 = _local3.getKeys();
_local5 = _local4.length;
while (--_local5 > -1) {
_local2 = ((removeEventListener(_local4[_local5], _arg1)) || (_local2));
};
_mEventListener.remove(_arg1);
};
return (_local2);
}
public function isEmpty():Boolean{
return (((_mAll.isEmpty()) && (_mType.isEmpty())));
}
public function setListenerType(_arg1:Class):void{
var _local2:Iterator;
var _local3:String;
_local2 = _mAll.iterator();
while (_local2.hasNext()) {
if (!(_local2.next() is _arg1)){
_local3 = (((((this + ".setListenerType( ") + _arg1) + " ) failed, your listener must be '") + _cType) + "' typed");
PixlibDebug.ERROR(_local3);
throw (new IllegalArgumentException(_local3));
};
};
_cType = _arg1;
}
public function removeListener(_arg1:Object):Boolean{
var _local2:String;
var _local3:Boolean;
if ((_arg1 is Function)){
_local2 = (((this + ".removeListener( ") + _arg1) + " ) failed, your listener can't be Function typed");
PixlibDebug.ERROR(_local2);
throw (new IllegalArgumentException(_local2));
};
_local3 = _flushRef(_arg1);
_local3 = ((_local3) || (_mAll.contains(_arg1)));
_mAll.remove(_arg1);
return (_local3);
}
public function broadcastEvent(_arg1:Event):void{
if ((((_arg1.target == null)) && ((_arg1 is BasicEvent)))){
(_arg1 as BasicEvent).target = _oSource;
};
if (hasListenerCollection(_arg1.type)){
_broadcastEvent(getListenerCollection(_arg1.type), _arg1);
};
if (!_mAll.isEmpty()){
_broadcastEvent(_mAll, _arg1);
};
}
public function removeListenerCollection(_arg1:String):void{
_mType.remove(_arg1);
}
public function getListenerCollection(_arg1:String=null):Collection{
return (((_arg1)!=null) ? _mType.get(_arg1) : _mAll);
}
private function _storeRef(_arg1:String, _arg2:Object):void{
if (!_mEventListener.containsKey(_arg2)){
_mEventListener.put(_arg2, new HashMap());
};
_mEventListener.get(_arg2).put(_arg1, _arg2);
}
public function hasListenerCollection(_arg1:String):Boolean{
return (_mType.containsKey(_arg1));
}
private function _removeRef(_arg1:String, _arg2:Object):void{
var _local3:HashMap;
_local3 = _mEventListener.get(_arg2);
_local3.remove(_arg1);
if (_local3.isEmpty()){
_mEventListener.remove(_arg2);
};
}
protected function _broadcastEvent(_arg1:Collection, _arg2:Event):void{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:String;
_local3 = _arg2.type;
_local4 = _arg1.toArray();
_local5 = _local4.length;
while (--_local5 > -1) {
_local6 = _local4[_local5];
if (((_local6.hasOwnProperty(_local3)) && ((_local6[_local3] is Function)))){
var _local8 = _local6;
_local8[_local3](_arg2);
} else {
if (((_local6.hasOwnProperty("handleEvent")) && ((_local6.handleEvent is Function)))){
_local6.handleEvent(_arg2);
} else {
_local7 = (((((this + ".broadcastEvent() failed, you must implement '") + _local3) + "' method or 'handleEvent' method in '") + getQualifiedClassName(_local6)) + "' class");
PixlibDebug.ERROR(_local7);
throw (new UnsupportedOperationException(_local7));
};
};
};
}
public function dispatchEvent(_arg1:Object):void{
var _local2:DynBasicEvent;
var _local3:String;
if (_arg1["type"] == null){
PixlibDebug.WARN(("You attempt to broadcast an event which has no type, in " + this));
};
_local2 = new DynBasicEvent(_arg1["type"]);
for (_local3 in _arg1) {
if (_local3 != "type"){
_local2[_local3] = _arg1[_local3];
};
};
broadcastEvent(_local2);
}
public function addListener(_arg1:Object):Boolean{
var _local2:String;
var _local3:String;
if (((!((_cType == null))) && (!((_arg1 is _cType))))){
_local2 = (((((this + ".addListener( ") + _arg1) + " ) failed, your listener must be '") + _cType) + "' typed");
PixlibDebug.ERROR(_local2);
throw (new IllegalArgumentException(_local2));
};
if ((_arg1 is Function)){
_local3 = (((this + ".addListener( ") + _arg1) + " ) failed, your listener can't be Function typed");
PixlibDebug.ERROR(_local3);
throw (new IllegalArgumentException(_local3));
};
if (_mAll.add(_arg1)){
_flushRef(_arg1);
return (true);
};
return (false);
}
public static function getInstance():EventBroadcaster{
if (!(EventBroadcaster._oI is EventBroadcaster)){
EventBroadcaster._oI = new (EventBroadcaster);
};
return (EventBroadcaster._oI);
}
}
}//package com.bourre.events
Section 201
//EventChannel (com.bourre.events.EventChannel)
package com.bourre.events {
import flash.utils.*;
import com.bourre.log.*;
import com.bourre.error.*;
public class EventChannel {
private var _sChannelName:String;
public function EventChannel(_arg1:String=null){
var _local2:String;
super();
_sChannelName = (_arg1) ? _arg1 : getQualifiedClassName(this);
if (_sChannelName == "EventChannel"){
_local2 = "EventChannel must have a name, or be extended by another class";
PixlibDebug.ERROR(_local2);
throw (new IllegalArgumentException(_local2));
};
}
public function toString():String{
return (_sChannelName);
}
}
}//package com.bourre.events
Section 202
//StringEvent (com.bourre.events.StringEvent)
package com.bourre.events {
public class StringEvent extends BasicEvent {
private var _s:String;
public function StringEvent(_arg1:String, _arg2:Object=null, _arg3:String=""){
super(_arg1, _arg2);
_s = _arg3;
}
public function getString():String{
return (_s);
}
}
}//package com.bourre.events
Section 203
//LoaderStrategy (com.bourre.load.strategy.LoaderStrategy)
package com.bourre.load.strategy {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import com.bourre.load.*;
import com.bourre.log.*;
public class LoaderStrategy implements LoadStrategy {
private var _bytesLoaded:uint;
private var _loader:Loader;
private var _owner:Loader;
private var _bytesTotal:uint;
public function LoaderStrategy(){
_bytesLoaded = 0;
_bytesTotal = 0;
}
public function getContentLoaderInfo():LoaderInfo{
return (_loader.contentLoaderInfo);
}
protected function _onSecurityError(_arg1:SecurityErrorEvent):void{
release();
if (_owner){
_owner.fireOnLoadErrorEvent(_arg1.text);
};
}
protected function _onProgress(_arg1:ProgressEvent):void{
_bytesLoaded = _arg1.bytesLoaded;
_bytesTotal = _arg1.bytesTotal;
if (_owner){
_owner.fireOnLoadProgressEvent();
};
}
public function release():void{
if (_loader){
_loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, _onProgress);
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, _onComplete);
_loader.contentLoaderInfo.removeEventListener(Event.OPEN, _onOpen);
_loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, _onSecurityError);
_loader.contentLoaderInfo.removeEventListener(HTTPStatusEvent.HTTP_STATUS, _onHttpStatus);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, _onIOError);
_loader.contentLoaderInfo.removeEventListener(Event.INIT, _onInit);
_loader.contentLoaderInfo.removeEventListener(Event.UNLOAD, _onUnLoad);
try {
_loader.close();
} catch(error:Error) {
};
};
}
protected function _onHttpStatus(_arg1:HTTPStatusEvent):void{
}
protected function _onIOError(_arg1:IOErrorEvent):void{
release();
if (_owner){
_owner.fireOnLoadErrorEvent(_arg1.text);
};
}
public function getBytesTotal():uint{
return (_bytesTotal);
}
protected function _onComplete(_arg1:Event):void{
}
public function getBytesLoaded():uint{
return (_bytesLoaded);
}
public function loadBytes(_arg1:ByteArray, _arg2:LoaderContext=null):void{
_initLoaderStrategy();
_loader.loadBytes(_arg1, _arg2);
}
public function load(_arg1:URLRequest=null, _arg2:LoaderContext=null):void{
_initLoaderStrategy();
_loader.load(_arg1, _arg2);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
protected function _onInit(_arg1:Event):void{
if (_owner){
_owner.setContent(_loader.content);
_owner.fireOnLoadInitEvent();
};
}
protected function _onOpen(_arg1:Event):void{
if (_owner){
_owner.fireOnLoadStartEvent();
};
}
public function setOwner(_arg1:Loader):void{
_owner = _arg1;
}
protected function _initLoaderStrategy():void{
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, _onProgress);
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, _onComplete);
_loader.contentLoaderInfo.addEventListener(Event.OPEN, _onOpen);
_loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _onSecurityError);
_loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, _onHttpStatus);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _onIOError);
_loader.contentLoaderInfo.addEventListener(Event.INIT, _onInit);
_loader.contentLoaderInfo.addEventListener(Event.UNLOAD, _onUnLoad);
}
protected function _onUnLoad(_arg1:Event):void{
}
}
}//package com.bourre.load.strategy
Section 204
//LoadStrategy (com.bourre.load.strategy.LoadStrategy)
package com.bourre.load.strategy {
import flash.system.*;
import flash.net.*;
import com.bourre.load.*;
public interface LoadStrategy {
function load(_arg1:URLRequest=null, _arg2:LoaderContext=null):void;
function setOwner(_arg1:Loader):void;
function release():void;
function getBytesLoaded():uint;
function getBytesTotal():uint;
}
}//package com.bourre.load.strategy
Section 205
//URLLoaderStrategy (com.bourre.load.strategy.URLLoaderStrategy)
package com.bourre.load.strategy {
import flash.events.*;
import flash.system.*;
import flash.net.*;
import com.bourre.load.*;
import com.bourre.log.*;
public class URLLoaderStrategy implements LoadStrategy {
private var _bytesLoaded:uint;
private var _sDataFormat:String;
private var _loader:URLLoader;
private var _owner:Loader;
private var _bytesTotal:uint;
public static const BINARY:String = "binary";
public static const VARIABLES:String = "variables";
public static const TEXT:String = "text";
public function URLLoaderStrategy(_arg1:String=null){
_bytesLoaded = 0;
_bytesTotal = 0;
setDataFormat(_arg1);
}
public function setDataFormat(_arg1:String):void{
_sDataFormat = _arg1;
}
protected function _onIOError(_arg1:IOErrorEvent):void{
if (_owner){
_owner.fireOnLoadErrorEvent(_arg1.text);
};
}
protected function _onSecurityError(_arg1:SecurityErrorEvent):void{
if (_owner){
_owner.fireOnLoadErrorEvent(_arg1.text);
};
}
protected function _onProgress(_arg1:ProgressEvent):void{
_bytesLoaded = _arg1.bytesLoaded;
_bytesTotal = _arg1.bytesTotal;
if (_owner){
_owner.fireOnLoadProgressEvent();
};
}
public function release():void{
if (_loader){
_loader.removeEventListener(ProgressEvent.PROGRESS, _onProgress);
_loader.removeEventListener(Event.COMPLETE, _onComplete);
_loader.removeEventListener(Event.OPEN, _onOpen);
_loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, _onSecurityError);
_loader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, _onHttpStatus);
_loader.removeEventListener(IOErrorEvent.IO_ERROR, _onIOError);
try {
_loader.close();
} catch(error:Error) {
};
};
}
protected function _onHttpStatus(_arg1:HTTPStatusEvent):void{
}
public function getBytesTotal():uint{
return (_bytesTotal);
}
protected function _onComplete(_arg1:Event):void{
if (_owner){
_owner.setContent(_loader.data);
_owner.fireOnLoadInitEvent();
};
}
public function getBytesLoaded():uint{
return (_bytesLoaded);
}
public function load(_arg1:URLRequest=null, _arg2:LoaderContext=null):void{
_loader = new URLLoader();
_loader.dataFormat = (URLLoaderStrategy.isValidDataFormat(_sDataFormat)) ? URLLoaderStrategy.TEXT : _sDataFormat;
_loader.addEventListener(ProgressEvent.PROGRESS, _onProgress);
_loader.addEventListener(Event.COMPLETE, _onComplete);
_loader.addEventListener(Event.OPEN, _onOpen);
_loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _onSecurityError);
_loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, _onHttpStatus);
_loader.addEventListener(IOErrorEvent.IO_ERROR, _onIOError);
if (_arg2 != null){
PixlibDebug.WARN((this + ".load() doesn't support LoaderContext argument."));
};
_loader.load(_arg1);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
protected function _onOpen(_arg1:Event):void{
if (_owner){
_owner.fireOnLoadStartEvent();
};
}
public function setOwner(_arg1:Loader):void{
_owner = _arg1;
}
public static function isValidDataFormat(_arg1:String):Boolean{
return ((((((_arg1 == URLLoaderStrategy.TEXT)) || ((_arg1 == URLLoaderStrategy.BINARY)))) || ((_arg1 == URLLoaderStrategy.VARIABLES))));
}
}
}//package com.bourre.load.strategy
Section 206
//AbstractLoader (com.bourre.load.AbstractLoader)
package com.bourre.load {
import flash.events.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import com.bourre.log.*;
import com.bourre.events.*;
import com.bourre.commands.*;
import com.bourre.load.strategy.*;
import com.bourre.error.*;
public class AbstractLoader implements Loader, ASyncCommand {
protected var _sPrefixURL:String;
private var _oEB:EventBroadcaster;
private var _bIsRunning:Boolean;
private var _bAntiCache:Boolean;
private var _sName:String;
private var _loadStrategy:LoadStrategy;
private var _nTimeOut:Number;
private var _nTime:int;
private var _oURL:URLRequest;
private var _nLastBytesLoaded:Number;
private var _oContent:Object;
private static var _oPool:Dictionary = new Dictionary();
public function AbstractLoader(_arg1:LoadStrategy=null){
_loadStrategy = ((_arg1)!=null) ? _arg1 : new NullLoadStrategy();
_loadStrategy.setOwner(this);
_oEB = new EventBroadcaster(this, LoaderListener);
_nTimeOut = 10000;
_bAntiCache = false;
_sPrefixURL = "";
_bIsRunning = false;
}
public function execute(_arg1:Event=null):void{
load();
}
public function fireOnLoadTimeOut():void{
unregisterLoaderFromPool(this);
fireEventType(LoaderEvent.onLoadTimeOutEVENT);
}
public function getName():String{
return (_sName);
}
final public function removeASyncCommandListener(_arg1:ASyncCommandListener):Boolean{
return (_oEB.removeEventListener(AbstractSyncCommand.onCommandEndEVENT, _arg1));
}
final protected function setListenerType(_arg1:Class):void{
_oEB.setListenerType(_arg1);
}
protected function getLoaderEvent(_arg1:String, _arg2:String=""):LoaderEvent{
return (new LoaderEvent(_arg1, this, _arg2));
}
protected function fireEvent(_arg1:Event):void{
_oEB.broadcastEvent(_arg1);
}
public function setName(_arg1:String):void{
_sName = _arg1;
}
public function getBytesTotal():uint{
return (_loadStrategy.getBytesTotal());
}
public function getBytesLoaded():uint{
return (_loadStrategy.getBytesLoaded());
}
final public function getTimeOut():Number{
return (_nTimeOut);
}
final public function addASyncCommandListener(_arg1:ASyncCommandListener, ... _args):Boolean{
return (_oEB.addEventListener(AbstractSyncCommand.onCommandEndEVENT, _arg1));
}
public function fireOnLoadErrorEvent(_arg1:String=""):void{
fireEventType(LoaderEvent.onLoadErrorEVENT, _arg1);
}
public function release():void{
_loadStrategy.release();
_oEB.removeAllListeners();
}
final public function getPerCent():Number{
var _local1:Number;
_local1 = Math.min(100, Math.ceil((getBytesLoaded() / (getBytesTotal() / 100))));
return ((isNaN(_local1)) ? 0 : _local1);
}
public function setURL(_arg1:URLRequest):void{
_oURL = _arg1;
}
public function isRunning():Boolean{
return (_bIsRunning);
}
public function setContent(_arg1:Object):void{
_oContent = _arg1;
}
public function isAntiCache():Boolean{
return (_bAntiCache);
}
public function getURL():URLRequest{
return ((_bAntiCache) ? new URLRequest((((_sPrefixURL + _oURL.url) + "?nocache=") + _getStringTimeStamp())) : new URLRequest((_sPrefixURL + _oURL.url)));
}
public function getContent():Object{
return (_oContent);
}
public function run():void{
var _local1:String;
if (!isRunning()){
_bIsRunning = true;
execute();
} else {
_local1 = (this + ".run() called wheras an operation is currently running");
PixlibDebug.ERROR(_local1);
throw (new IllegalStateException(_local1));
};
}
public function removeEventListener(_arg1:String, _arg2:Object):Boolean{
return (_oEB.removeEventListener(_arg1, _arg2));
}
public function addEventListener(_arg1:String, _arg2:Object, ... _args):Boolean{
return (_oEB.addEventListener.apply(_oEB, ((_args.length > 0)) ? [_arg1, _arg2].concat(_args) : [_arg1, _arg2]));
}
private function _getStringTimeStamp():String{
var _local1:Date;
_local1 = new Date();
return (String(_local1.getTime()));
}
protected function onInitialize():void{
fireEventType(LoaderEvent.onLoadProgressEVENT);
fireEventType(LoaderEvent.onLoadInitEVENT);
}
final public function fireCommandEndEvent():void{
fireEventType(AbstractSyncCommand.onCommandEndEVENT);
}
protected function fireEventType(_arg1:String, _arg2:String=""):void{
fireEvent(getLoaderEvent(_arg1, _arg2));
}
public function removeListener(_arg1:LoaderListener):Boolean{
return (_oEB.removeListener(_arg1));
}
public function getStrategy():LoadStrategy{
return (_loadStrategy);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function load(_arg1:URLRequest=null, _arg2:LoaderContext=null):void{
var _local3:String;
if (_arg1){
setURL(_arg1);
};
if (getURL().url.length > 0){
_nLastBytesLoaded = 0;
_nTime = getTimer();
registerLoaderToPool(this);
_loadStrategy.load(getURL(), _arg2);
} else {
_local3 = (this + ".load() can't retrieve file url.");
PixlibDebug.ERROR(_local3);
throw (new NullPointerException(_local3));
};
}
final public function fireOnLoadInitEvent():void{
_bIsRunning = false;
onInitialize();
unregisterLoaderFromPool(this);
}
public function fireOnLoadProgressEvent():void{
fireEventType(LoaderEvent.onLoadProgressEVENT);
}
public function fireOnLoadStartEvent():void{
fireEventType(LoaderEvent.onLoadStartEVENT);
}
public function addListener(_arg1:LoaderListener):Boolean{
return (_oEB.addListener(_arg1));
}
public function prefixURL(_arg1:String):void{
_sPrefixURL = _arg1;
}
public function setAntiCache(_arg1:Boolean):void{
_bAntiCache = _arg1;
}
final public function setTimeOut(_arg1:Number):void{
_nTimeOut = Math.max(1000, _arg1);
}
protected static function registerLoaderToPool(_arg1:Loader):void{
if (_oPool[_arg1] == null){
_oPool[_arg1] = true;
} else {
PixlibDebug.WARN((_arg1 + " is already registered in the loading pool"));
};
}
protected static function unregisterLoaderFromPool(_arg1:Loader):void{
if (_oPool[_arg1] != null){
delete _oPool[_arg1];
} else {
PixlibDebug.WARN((_arg1 + " is not registered in the loading pool"));
};
}
}
}//package com.bourre.load
import flash.system.*;
import flash.net.*;
import com.bourre.load.strategy.*;
class NullLoadStrategy implements LoadStrategy {
private function NullLoadStrategy(){
}
public function release():void{
}
public function getBytesLoaded():uint{
return (0);
}
public function load(_arg1:URLRequest=null, _arg2:LoaderContext=null):void{
}
public function getBytesTotal():uint{
return (0);
}
public function setOwner(_arg1:Loader):void{
}
}
Section 207
//FileLoader (com.bourre.load.FileLoader)
package com.bourre.load {
import com.bourre.load.strategy.*;
public class FileLoader extends AbstractLoader {
public static const BINARY:String = "binary";
public static const VARIABLES:String = "variables";
public static const TEXT:String = "text";
public function FileLoader(_arg1:String=null){
super(new URLLoaderStrategy(_arg1));
}
override protected function getLoaderEvent(_arg1:String, _arg2:String=""):LoaderEvent{
return (new FileLoaderEvent(_arg1, this, _arg2));
}
public function setDataFormat(_arg1:String):void{
(getStrategy() as URLLoaderStrategy).setDataFormat(_arg1);
}
}
}//package com.bourre.load
Section 208
//FileLoaderEvent (com.bourre.load.FileLoaderEvent)
package com.bourre.load {
public class FileLoaderEvent extends LoaderEvent {
public static const onLoadInitEVENT:String = "onLoadInit";
public static const onLoadErrorEVENT:String = "onLoadError";
public static const onLoadProgressEVENT:String = "onLoadProgress";
public static const onLoadStartEVENT:String = "onLoadStart";
public static const onLoadTimeOutEVENT:String = "onLoadTimeOut";
public function FileLoaderEvent(_arg1:String, _arg2:FileLoader, _arg3:String=""){
super(_arg1, _arg2, _arg3);
}
public function getFileLoader():FileLoader{
return ((getLoader() as FileLoader));
}
public function getFileContent():Object{
return (getFileLoader().getContent());
}
}
}//package com.bourre.load
Section 209
//GraphicLoader (com.bourre.load.GraphicLoader)
package com.bourre.load {
import flash.display.*;
import flash.system.*;
import flash.net.*;
import com.bourre.log.*;
import com.bourre.load.strategy.*;
import com.bourre.error.*;
public class GraphicLoader extends AbstractLoader {
private var _oBitmapContainer:Sprite;
private var _oContext:LoaderContext;
private var _target:DisplayObjectContainer;
private var _index:int;
private var _bAutoShow:Boolean;
private var _bMustUnregister:Boolean;
public function GraphicLoader(_arg1:DisplayObjectContainer=null, _arg2:int=-1, _arg3:Boolean=true){
super(new LoaderStrategy());
_target = _arg1;
_index = _arg2;
_bAutoShow = _arg3;
_bMustUnregister = false;
}
final public function getContext():LoaderContext{
return (_oContext);
}
override protected function getLoaderEvent(_arg1:String, _arg2:String=""):LoaderEvent{
return (new GraphicLoaderEvent(_arg1, this, _arg2));
}
public function show():void{
getView().visible = true;
}
public function getView():DisplayObjectContainer{
return ((_oBitmapContainer) ? _oBitmapContainer : (getContent() as DisplayObjectContainer));
}
public function getApplicationDomain():ApplicationDomain{
return ((getStrategy() as LoaderStrategy).getContentLoaderInfo().applicationDomain);
}
override public function release():void{
if (((getContent()) && (_target.contains(getView())))){
_target.removeChild(getView());
};
if (_bMustUnregister){
GraphicLoaderLocator.getInstance().unregister(getName());
_bMustUnregister = false;
};
super.release();
}
public function hide():void{
getView().visible = false;
}
override public function setContent(_arg1:Object):void{
if ((_arg1 is Bitmap)){
_oBitmapContainer = new Sprite();
_oBitmapContainer.addChild((_arg1 as Bitmap));
} else {
_oBitmapContainer = null;
};
super.setContent(_arg1);
}
public function setTarget(_arg1:DisplayObjectContainer):void{
_target = _arg1;
if (_target != null){
if (_index != -1){
_target.addChildAt(getView(), _index);
} else {
_target.addChild(getView());
};
};
}
public function setAutoShow(_arg1:Boolean):void{
_bAutoShow = _arg1;
}
override protected function onInitialize():void{
var _local1:String;
if (getName() != null){
if (!GraphicLoaderLocator.getInstance().isRegistered(getName())){
_bMustUnregister = true;
GraphicLoaderLocator.getInstance().register(getName(), this);
} else {
_bMustUnregister = false;
_local1 = (((((this + " can't be registered to ") + GraphicLoaderLocator.getInstance()) + " with '") + getName()) + "' name. This name already exists.");
PixlibDebug.ERROR(_local1);
fireOnLoadErrorEvent(_local1);
throw (new IllegalArgumentException(_local1));
};
};
if (_target){
setTarget(_target);
};
if (_bAutoShow){
show();
} else {
hide();
};
super.onInitialize();
}
public function getTarget():DisplayObjectContainer{
return (_target);
}
override public function load(_arg1:URLRequest=null, _arg2:LoaderContext=null):void{
if (_arg2){
setContext(_arg2);
};
super.load(_arg1, getContext());
}
final public function setContext(_arg1:LoaderContext):void{
_oContext = _arg1;
}
public function isVisible():Boolean{
return (getView().visible);
}
}
}//package com.bourre.load
Section 210
//GraphicLoaderEvent (com.bourre.load.GraphicLoaderEvent)
package com.bourre.load {
import flash.display.*;
import flash.system.*;
public class GraphicLoaderEvent extends LoaderEvent {
public static const onLoadInitEVENT:String = "onLoadInit";
public static const onLoadErrorEVENT:String = "onLoadError";
public static const onLoadProgressEVENT:String = "onLoadProgress";
public static const onLoadStartEVENT:String = "onLoadStart";
public static const onLoadTimeOutEVENT:String = "onLoadTimeOut";
public function GraphicLoaderEvent(_arg1:String, _arg2:GraphicLoader, _arg3:String=""){
super(_arg1, _arg2, _arg3);
}
public function getView():DisplayObjectContainer{
return (getGraphicLoader().getView());
}
public function getGraphicLoader():GraphicLoader{
return ((getLoader() as GraphicLoader));
}
public function getApplicationDomain():ApplicationDomain{
return (getGraphicLoader().getApplicationDomain());
}
}
}//package com.bourre.load
Section 211
//GraphicLoaderLocator (com.bourre.load.GraphicLoaderLocator)
package com.bourre.load {
import flash.system.*;
import com.bourre.core.*;
public class GraphicLoaderLocator extends AbstractLocator {
private static var _oI:GraphicLoaderLocator = null;
public function GraphicLoaderLocator(_arg1:ConstructorAccess){
super(GraphicLoader, GraphicLoaderLocatorListener);
}
public function removeListener(_arg1:GraphicLoaderLocatorListener):Boolean{
return (getBroadcaster().removeListener(_arg1));
}
override protected function onRegister(_arg1:String=null, _arg2:Object=null):void{
broadcastEvent(new GraphicLoaderLocatorEvent(GraphicLoaderLocatorEvent.onRegisterGraphicLoaderEVENT, _arg1, (_arg2 as GraphicLoader)));
}
public function getGraphicLoader(_arg1:String):GraphicLoader{
var gl:GraphicLoader;
var name = _arg1;
try {
gl = (locate(name) as GraphicLoader);
return (gl);
} catch(e:Error) {
throw (e);
};
return (null);
}
public function addListener(_arg1:GraphicLoaderLocatorListener):Boolean{
return (getBroadcaster().addListener(_arg1));
}
override protected function onUnregister(_arg1:String=null):void{
broadcastEvent(new GraphicLoaderLocatorEvent(GraphicLoaderLocatorEvent.onUnregisterGraphicLoaderEVENT, _arg1, null));
}
public function getApplicationDomain(_arg1:String):ApplicationDomain{
return (getGraphicLoader(_arg1).getApplicationDomain());
}
public static function getInstance():GraphicLoaderLocator{
if (!(GraphicLoaderLocator._oI is GraphicLoaderLocator)){
GraphicLoaderLocator._oI = new GraphicLoaderLocator(new ConstructorAccess());
};
return (GraphicLoaderLocator._oI);
}
public static function release():void{
if ((GraphicLoaderLocator._oI is GraphicLoaderLocator)){
GraphicLoaderLocator._oI = null;
};
}
}
}//package com.bourre.load
class ConstructorAccess {
private function ConstructorAccess(){
}
}
Section 212
//GraphicLoaderLocatorEvent (com.bourre.load.GraphicLoaderLocatorEvent)
package com.bourre.load {
import flash.events.*;
public class GraphicLoaderLocatorEvent extends Event {
protected var _gl:GraphicLoader;
protected var _sName:String;
public static var onRegisterGraphicLoaderEVENT:String = "onRegisterGraphicLoader";
public static var onUnregisterGraphicLoaderEVENT:String = "onUnregisterGraphicLoader";
public function GraphicLoaderLocatorEvent(_arg1:String, _arg2:String, _arg3:GraphicLoader){
super(_arg1);
_sName = _arg2;
_gl = _arg3;
}
public function getGraphicLib():GraphicLoader{
return (_gl);
}
public function getName():String{
return (_sName);
}
}
}//package com.bourre.load
Section 213
//GraphicLoaderLocatorListener (com.bourre.load.GraphicLoaderLocatorListener)
package com.bourre.load {
public interface GraphicLoaderLocatorListener {
function onUnregisterGraphicLoader(_arg1:GraphicLoaderLocatorEvent):void;
function onRegisterGraphicLoader(_arg1:GraphicLoaderLocatorEvent):void;
}
}//package com.bourre.load
Section 214
//Loader (com.bourre.load.Loader)
package com.bourre.load {
import flash.system.*;
import flash.net.*;
import com.bourre.commands.*;
import com.bourre.load.strategy.*;
public interface Loader extends ASyncCommand {
function getName():String;
function removeEventListener(_arg1:String, _arg2:Object):Boolean;
function setName(_arg1:String):void;
function removeListener(_arg1:LoaderListener):Boolean;
function addEventListener(_arg1:String, _arg2:Object, ... _args):Boolean;
function fireOnLoadErrorEvent(_arg1:String=null):void;
function load(_arg1:URLRequest=null, _arg2:LoaderContext=null):void;
function getStrategy():LoadStrategy;
function setURL(_arg1:URLRequest):void;
function fireOnLoadInitEvent():void;
function fireOnLoadProgressEvent():void;
function fireOnLoadStartEvent():void;
function getPerCent():Number;
function setContent(_arg1:Object):void;
function getURL():URLRequest;
function addListener(_arg1:LoaderListener):Boolean;
function prefixURL(_arg1:String):void;
function setAntiCache(_arg1:Boolean):void;
}
}//package com.bourre.load
Section 215
//LoaderEvent (com.bourre.load.LoaderEvent)
package com.bourre.load {
import com.bourre.events.*;
public class LoaderEvent extends BasicEvent {
protected var _loader:Loader;
protected var _sErrorMessage:String;
public static const onLoadInitEVENT:String = "onLoadInit";
public static const onLoadErrorEVENT:String = "onLoadError";
public static const onLoadProgressEVENT:String = "onLoadProgress";
public static const onLoadStartEVENT:String = "onLoadStart";
public static const onLoadTimeOutEVENT:String = "onLoadTimeOut";
public function LoaderEvent(_arg1:String, _arg2:Loader, _arg3:String=""){
super(_arg1, _arg2);
_loader = _arg2;
_sErrorMessage = _arg3;
}
public function getLoader():Loader{
return (_loader);
}
public function getErrorMessage():String{
return (_sErrorMessage);
}
public function getName():String{
return (getLoader().getName());
}
public function setErrorMessage(_arg1:String=""):void{
_sErrorMessage = ((_arg1.length > 0)) ? _arg1 : (((getLoader() + " loading fails with '") + getLoader().getURL().url) + "'");
}
public function getPerCent():Number{
return (getLoader().getPerCent());
}
}
}//package com.bourre.load
Section 216
//LoaderListener (com.bourre.load.LoaderListener)
package com.bourre.load {
public interface LoaderListener {
function onLoadProgress(_arg1:LoaderEvent):void;
function onLoadError(_arg1:LoaderEvent):void;
function onLoadInit(_arg1:LoaderEvent):void;
function onLoadTimeOut(_arg1:LoaderEvent):void;
function onLoadStart(_arg1:LoaderEvent):void;
}
}//package com.bourre.load
Section 217
//XMLLoader (com.bourre.load.XMLLoader)
package com.bourre.load {
public class XMLLoader extends FileLoader {
public function XMLLoader(){
super(FileLoader.TEXT);
}
override protected function getLoaderEvent(_arg1:String, _arg2:String=""):LoaderEvent{
return (new XMLLoaderEvent(_arg1, this, _arg2));
}
public function getXML():XML{
return (XML(getContent()));
}
}
}//package com.bourre.load
Section 218
//XMLLoaderEvent (com.bourre.load.XMLLoaderEvent)
package com.bourre.load {
public class XMLLoaderEvent extends LoaderEvent {
public static const onLoadInitEVENT:String = "onLoadInit";
public static const onLoadErrorEVENT:String = "onLoadError";
public static const onLoadProgressEVENT:String = "onLoadProgress";
public static const onLoadStartEVENT:String = "onLoadStart";
public static const onLoadTimeOutEVENT:String = "onLoadTimeOut";
public function XMLLoaderEvent(_arg1:String, _arg2:XMLLoader, _arg3:String=""){
super(_arg1, _arg2, _arg3);
}
public function getXMLLoader():XMLLoader{
return ((getLoader() as XMLLoader));
}
public function getXML():XML{
return (getXMLLoader().getXML());
}
}
}//package com.bourre.load
Section 219
//BasicStringifier (com.bourre.log.BasicStringifier)
package com.bourre.log {
import flash.utils.*;
public class BasicStringifier implements Stringifier {
public function stringify(_arg1):String{
return (getQualifiedClassName(_arg1));
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
}
}//package com.bourre.log
Section 220
//Log (com.bourre.log.Log)
package com.bourre.log {
import com.bourre.events.*;
public interface Log {
function fatal(_arg1):void;
function warn(_arg1):void;
function error(_arg1):void;
function isOn():Boolean;
function getChannel():EventChannel;
function info(_arg1):void;
function off():void;
function debug(_arg1):void;
function on():void;
}
}//package com.bourre.log
Section 221
//LogEvent (com.bourre.log.LogEvent)
package com.bourre.log {
import flash.events.*;
public class LogEvent extends Event {
public var level:LogLevel;
public var message;
public static const onLogEVENT:String = "onLog";
public function LogEvent(_arg1:LogLevel, _arg2=undefined){
super(LogEvent.onLogEVENT, false, false);
this.level = _arg1;
this.message = _arg2;
}
override public function toString():String{
return (PixlibStringifier.stringify(this));
}
override public function clone():Event{
return (new LogEvent(level, message));
}
}
}//package com.bourre.log
Section 222
//Logger (com.bourre.log.Logger)
package com.bourre.log {
import com.bourre.events.*;
public class Logger {
private var _oLevel:LogLevel;
private var _oCB:ChannelBroadcaster;
private static var _oI:Logger = null;
public function Logger(_arg1:ConstructorAccess){
setLevel(LogLevel.ALL);
_oCB = new ChannelBroadcaster();
}
public function setLevel(_arg1:LogLevel):void{
_oLevel = _arg1;
}
public function log(_arg1:LogEvent, _arg2:EventChannel=null):Boolean{
if (_arg1.level.getLevel() >= _oLevel.getLevel()){
_oCB.broadcastEvent(_arg1, _arg2);
return (true);
};
return (false);
}
public function removeAllListeners():void{
_oCB.empty();
}
public function isRegistered(_arg1:LogListener, _arg2:EventChannel):Boolean{
return (_oCB.isRegistered(_arg1, LogEvent.onLogEVENT, _arg2));
}
public function getLevel():LogLevel{
return (_oLevel);
}
public function hasListener(_arg1:EventChannel=null):Boolean{
return (_oCB.hasChannelListener(LogEvent.onLogEVENT, _arg1));
}
public function addLogListener(_arg1:LogListener, _arg2:EventChannel=null):void{
_oCB.addEventListener(LogEvent.onLogEVENT, _arg1, _arg2);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function removeLogListener(_arg1:LogListener, _arg2:EventChannel=null):void{
_oCB.removeEventListener(LogEvent.onLogEVENT, _arg1, _arg2);
}
public static function DEBUG(_arg1, _arg2:EventChannel=null):Boolean{
return (Logger.LOG(_arg1, LogLevel.DEBUG, _arg2));
}
public static function LOG(_arg1, _arg2:LogLevel, _arg3:EventChannel=null):Boolean{
return (Logger.getInstance().log(new LogEvent(_arg2, _arg1), _arg3));
}
public static function WARN(_arg1, _arg2:EventChannel=null):Boolean{
return (Logger.LOG(_arg1, LogLevel.WARN, _arg2));
}
public static function ERROR(_arg1, _arg2:EventChannel=null):Boolean{
return (Logger.LOG(_arg1, LogLevel.ERROR, _arg2));
}
public static function getInstance():Logger{
if (!(Logger._oI is Logger)){
Logger._oI = new Logger(new ConstructorAccess());
};
return (Logger._oI);
}
public static function FATAL(_arg1, _arg2:EventChannel=null):Boolean{
return (Logger.LOG(_arg1, LogLevel.FATAL, _arg2));
}
public static function INFO(_arg1, _arg2:EventChannel=null):Boolean{
return (Logger.LOG(_arg1, LogLevel.INFO, _arg2));
}
}
}//package com.bourre.log
class ConstructorAccess {
private function ConstructorAccess(){
}
}
Section 223
//LogLevel (com.bourre.log.LogLevel)
package com.bourre.log {
public class LogLevel {
private var _nLevel:Number;
private var _sName:String;
public static const ALL:LogLevel = new LogLevel(uint.MIN_VALUE, "ALL");
;
public static const FATAL:LogLevel = new LogLevel(50000, "FATAL");
;
public static const ERROR:LogLevel = new LogLevel(40000, "ERROR");
;
public static const WARN:LogLevel = new LogLevel(30000, "WARN");
;
public static const INFO:LogLevel = new LogLevel(20000, "INFO");
;
public static const DEBUG:LogLevel = new LogLevel(10000, "DEBUG");
;
public static const OFF:LogLevel = new LogLevel(uint.MAX_VALUE, "OFF");
;
public function LogLevel(_arg1:uint=0, _arg2:String=""){
_sName = _arg2;
_nLevel = _arg1;
}
public function getName():String{
return (_sName);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function getLevel():uint{
return (_nLevel);
}
}
}//package com.bourre.log
Section 224
//LogListener (com.bourre.log.LogListener)
package com.bourre.log {
public interface LogListener {
function onLog(_arg1:LogEvent):void;
}
}//package com.bourre.log
Section 225
//PixlibDebug (com.bourre.log.PixlibDebug)
package com.bourre.log {
import com.bourre.events.*;
public class PixlibDebug implements Log {
protected var _channel:EventChannel;
protected var _bIsOn:Boolean;
private static var _oI:PixlibDebug;
public function PixlibDebug(_arg1:PrivateConstructorAccess){
_channel = new PixlibDebugChannel();
on();
}
public function warn(_arg1):void{
if (isOn()){
Logger.WARN(_arg1, _channel);
};
}
public function fatal(_arg1):void{
if (isOn()){
Logger.FATAL(_arg1, _channel);
};
}
public function debug(_arg1):void{
if (isOn()){
Logger.DEBUG(_arg1, _channel);
};
}
public function getChannel():EventChannel{
return (_channel);
}
public function error(_arg1):void{
if (isOn()){
Logger.ERROR(_arg1, _channel);
};
}
public function on():void{
_bIsOn = true;
}
public function isOn():Boolean{
return (_bIsOn);
}
public function off():void{
_bIsOn = false;
}
public function info(_arg1):void{
if (isOn()){
Logger.INFO(_arg1, _channel);
};
}
public static function set isOn(_arg1:Boolean):void{
if (_arg1){
PixlibDebug.getInstance().on();
} else {
PixlibDebug.getInstance().off();
};
}
public static function get CHANNEL():EventChannel{
return (PixlibDebug.getInstance().getChannel());
}
public static function FATAL(_arg1):void{
PixlibDebug.getInstance().fatal(_arg1);
}
public static function WARN(_arg1):void{
PixlibDebug.getInstance().warn(_arg1);
}
public static function ERROR(_arg1):void{
PixlibDebug.getInstance().error(_arg1);
}
public static function getInstance():Log{
if (!(PixlibDebug._oI is PixlibDebug)){
PixlibDebug._oI = new PixlibDebug(new PrivateConstructorAccess());
};
return (PixlibDebug._oI);
}
public static function INFO(_arg1):void{
PixlibDebug.getInstance().info(_arg1);
}
public static function get isOn():Boolean{
return (PixlibDebug.getInstance().isOn());
}
public static function DEBUG(_arg1):void{
PixlibDebug.getInstance().debug(_arg1);
}
}
}//package com.bourre.log
import com.bourre.events.*;
class PrivateConstructorAccess {
private function PrivateConstructorAccess(){
}
}
class PixlibDebugChannel extends EventChannel {
private function PixlibDebugChannel(){
}
}
Section 226
//PixlibStringifier (com.bourre.log.PixlibStringifier)
package com.bourre.log {
public class PixlibStringifier {
private static var _STRINGIFIER:Stringifier = new BasicStringifier();
public function PixlibStringifier(_arg1:ConstructorAccess){
}
public static function stringify(_arg1):String{
return (PixlibStringifier._STRINGIFIER.stringify(_arg1));
}
public static function setStringifier(_arg1:Stringifier):void{
PixlibStringifier._STRINGIFIER = _arg1;
}
public static function getStringifier():Stringifier{
return (PixlibStringifier._STRINGIFIER);
}
}
}//package com.bourre.log
class ConstructorAccess {
private function ConstructorAccess(){
}
}
Section 227
//Stringifier (com.bourre.log.Stringifier)
package com.bourre.log {
public interface Stringifier {
function stringify(_arg1):String;
}
}//package com.bourre.log
Section 228
//AbstractModel (com.bourre.model.AbstractModel)
package com.bourre.model {
import flash.events.*;
import com.bourre.log.*;
import com.bourre.events.*;
import com.bourre.plugin.*;
public class AbstractModel {
private var _oEB:EventBroadcaster;
private var _sName:String;
private var _owner:Plugin;
public static const onReleaseEVENT:String = "onRelease";
public static const onInitEVENT:String = "onInit";
public function AbstractModel(_arg1:Plugin=null, _arg2:String=null){
_oEB = new EventBroadcaster(this);
setOwner(_arg1);
if (_arg2){
setName(_arg2);
};
}
public function getLogger():PluginDebug{
return (PluginDebug.getInstance(getOwner()));
}
public function getName():String{
return (_sName);
}
public function removeEventListener(_arg1:String, _arg2:Object):Boolean{
return (_oEB.removeEventListener(_arg1, _arg2));
}
protected function _firePrivateEvent(_arg1:Event):void{
getOwner().firePrivateEvent(_arg1);
}
public function addEventListener(_arg1:String, _arg2:Object, ... _args):Boolean{
return (_oEB.addEventListener.apply(_oEB, ((_args.length > 0)) ? [_arg1, _arg2].concat(_args) : [_arg1, _arg2]));
}
public function release():void{
_getBroadcaster().removeAllListeners();
ModelLocator.getInstance(getOwner()).unregister(getName());
onRelease();
_sName = null;
}
public function setListenerType(_arg1:Class):void{
_oEB.setListenerType(_arg1);
}
public function handleEvent(_arg1:Event):void{
}
protected function onInit():void{
notifyChanged(new StringEvent(AbstractModel.onInitEVENT, this, getName()));
}
protected function _getBroadcaster():EventBroadcaster{
return (_oEB);
}
public function removeListener(_arg1:Object):Boolean{
return (_oEB.removeListener(_arg1));
}
public function setName(_arg1:String):void{
var _local2:ModelLocator;
_local2 = ModelLocator.getInstance(getOwner());
if (!_local2.isRegistered(_arg1)){
if (((!((getName() == null))) && (_local2.isRegistered(getName())))){
_local2.unregister(getName());
};
if (_local2.register(_arg1, this)){
_sName = _arg1;
};
} else {
getLogger().error((((this + ".setName() failed. '") + _arg1) + "' is already registered in ModelLocator."));
};
}
public function notifyChanged(_arg1:Event):void{
_getBroadcaster().broadcastEvent(_arg1);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
protected function onRelease():void{
notifyChanged(new StringEvent(AbstractModel.onReleaseEVENT, this, getName()));
}
public function setOwner(_arg1:Plugin):void{
_owner = (_arg1) ? _arg1 : NullPlugin.getInstance();
}
public function addListener(_arg1:Object):Boolean{
return (_oEB.addListener(_arg1));
}
public function getOwner():Plugin{
return (_owner);
}
}
}//package com.bourre.model
Section 229
//ModelLocator (com.bourre.model.ModelLocator)
package com.bourre.model {
import com.bourre.plugin.*;
import com.bourre.collection.*;
import com.bourre.core.*;
public final class ModelLocator extends AbstractLocator {
protected var _owner:Plugin;
protected static var _M:HashMap = new HashMap();
public function ModelLocator(_arg1:PrivateConstructorAccess, _arg2:Plugin=null){
_owner = _arg2;
super(AbstractModel, null, PluginDebug.getInstance(getOwner()));
}
public function getModel(_arg1:String):AbstractModel{
return ((locate(_arg1) as AbstractModel));
}
override public function release():void{
var _local1:Iterator;
_local1 = new ArrayIterator(_m.getValues());
while (_local1.hasNext()) {
_local1.next().release();
};
super.release();
}
override public function toString():String{
return ((super.toString() + (_owner) ? (", owner: " + _owner) : "No owner."));
}
public function getOwner():Plugin{
return (_owner);
}
public static function getInstance(_arg1:Plugin=null):ModelLocator{
if (_arg1 == null){
_arg1 = NullPlugin.getInstance();
};
if (!ModelLocator._M.containsKey(_arg1)){
ModelLocator._M.put(_arg1, new ModelLocator(new PrivateConstructorAccess(), _arg1));
};
return (ModelLocator._M.get(_arg1));
}
}
}//package com.bourre.model
class PrivateConstructorAccess {
private function PrivateConstructorAccess(){
}
}
Section 230
//NullPlugin (com.bourre.plugin.NullPlugin)
package com.bourre.plugin {
import flash.events.*;
import com.bourre.log.*;
import com.bourre.events.*;
import com.bourre.model.*;
import com.bourre.view.*;
public final class NullPlugin implements Plugin {
private var _channel:NullPluginChannel;
private static var _oI:NullPlugin = null;
public function NullPlugin(_arg1:PrivateConstructorAccess){
_channel = new NullPluginChannel();
}
public function getModelLocator():ModelLocator{
return (ModelLocator.getInstance(this));
}
public function fireOnReleasePlugin():void{
}
public function getLogger():PluginDebug{
return (PluginDebug.getInstance(this));
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function firePrivateEvent(_arg1:Event):void{
}
public function fireOnInitPlugin():void{
}
public function fireExternalEvent(_arg1:Event, _arg2:EventChannel):void{
}
public function firePublicEvent(_arg1:Event):void{
}
public function getChannel():EventChannel{
return (_channel);
}
public function getViewLocator():ViewLocator{
return (ViewLocator.getInstance(this));
}
public static function getInstance():NullPlugin{
if (!(NullPlugin._oI is NullPlugin)){
NullPlugin._oI = new NullPlugin(new PrivateConstructorAccess());
};
return (NullPlugin._oI);
}
}
}//package com.bourre.plugin
import com.bourre.events.*;
class PrivateConstructorAccess {
private function PrivateConstructorAccess(){
}
}
class NullPluginChannel extends EventChannel {
private function NullPluginChannel(){
}
}
Section 231
//Plugin (com.bourre.plugin.Plugin)
package com.bourre.plugin {
import flash.events.*;
import com.bourre.events.*;
import com.bourre.model.*;
import com.bourre.view.*;
public interface Plugin {
function getViewLocator():ViewLocator;
function getModelLocator():ModelLocator;
function getChannel():EventChannel;
function getLogger():PluginDebug;
function fireExternalEvent(_arg1:Event, _arg2:EventChannel):void;
function firePublicEvent(_arg1:Event):void;
function firePrivateEvent(_arg1:Event):void;
}
}//package com.bourre.plugin
Section 232
//PluginDebug (com.bourre.plugin.PluginDebug)
package com.bourre.plugin {
import com.bourre.log.*;
import com.bourre.events.*;
import com.bourre.collection.*;
public class PluginDebug implements Log {
protected var _channel:EventChannel;
protected var _bIsOn:Boolean;
protected var _owner:Plugin;
private static const _M:HashMap = new HashMap();
public static var isOn:Boolean = true;
public function PluginDebug(_arg1:PrivateConstructorAccess, _arg2:Plugin=null){
_owner = _arg2;
_channel = _arg2.getChannel();
on();
}
public function fatal(_arg1):void{
if (((PluginDebug.isOn) && (_bIsOn))){
Logger.FATAL(_arg1, _channel);
};
}
public function getChannel():EventChannel{
return (_channel);
}
public function warn(_arg1):void{
if (((PluginDebug.isOn) && (_bIsOn))){
Logger.WARN(_arg1, _channel);
};
}
public function error(_arg1):void{
if (((PluginDebug.isOn) && (_bIsOn))){
Logger.ERROR(_arg1, _channel);
};
}
public function debug(_arg1):void{
if (((PluginDebug.isOn) && (_bIsOn))){
Logger.DEBUG(_arg1, _channel);
};
}
public function on():void{
_bIsOn = true;
}
public function isOn():Boolean{
return (_bIsOn);
}
public function info(_arg1):void{
if (((PluginDebug.isOn) && (_bIsOn))){
Logger.INFO(_arg1, _channel);
};
}
public function off():void{
_bIsOn = false;
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function getOwner():Plugin{
return (_owner);
}
public static function release(_arg1:Plugin):Boolean{
if (PluginDebug._M.containsKey(_arg1)){
PluginDebug._M.remove(_arg1);
return (true);
};
return (false);
}
public static function getInstance(_arg1:Plugin=null):PluginDebug{
if (_arg1 == null){
_arg1 = NullPlugin.getInstance();
};
if (!PluginDebug._M.containsKey(_arg1)){
PluginDebug._M.put(_arg1, new PluginDebug(new PrivateConstructorAccess(), _arg1));
};
return (PluginDebug._M.get(_arg1));
}
}
}//package com.bourre.plugin
class PrivateConstructorAccess {
private function PrivateConstructorAccess(){
}
}
Section 233
//Dimension (com.bourre.structures.Dimension)
package com.bourre.structures {
import flash.geom.*;
import com.bourre.log.*;
public class Dimension {
public var width:Number;
public var height:Number;
public function Dimension(_arg1:Number=0, _arg2:Number=0){
this.width = _arg1;
this.height = _arg2;
}
public function setSize(_arg1:Dimension):void{
width = _arg1.width;
height = _arg1.height;
}
public function scale(_arg1:Number):Dimension{
return (new Dimension((width * _arg1), (height * _arg1)));
}
public function setSizeWH(_arg1:Number, _arg2:Number):void{
this.width = _arg1;
this.height = _arg2;
}
public function toPoint():Point{
return (new Point(width, height));
}
public function toString():String{
return ((((((PixlibStringifier.stringify(this) + "[") + width) + ", ") + height) + "]"));
}
public function clone():Dimension{
return (new Dimension(width, height));
}
public function equals(_arg1:Dimension):Boolean{
return ((((width == _arg1.width)) && ((height == _arg1.height))));
}
}
}//package com.bourre.structures
Section 234
//TickListener (com.bourre.transitions.TickListener)
package com.bourre.transitions {
import flash.events.*;
public interface TickListener {
function onTick(_arg1:Event=null):void;
}
}//package com.bourre.transitions
Section 235
//ClassUtils (com.bourre.utils.ClassUtils)
package com.bourre.utils {
import flash.utils.*;
public class ClassUtils {
public static function isImplemented(_arg1:Object, _arg2:String, _arg3:String):Boolean{
var x:XML;
var declaredBy:String;
var o = _arg1;
var classPath = _arg2;
var f = _arg3;
x = describeType(o);
declaredBy = x..method.(@name == f).@declaredBy;
return (!((declaredBy == classPath)));
}
public static function isImplementedAll(_arg1:Object, _arg2:String, ... _args):Boolean{
var i:Number;
var x:XML;
var declaredBy:String;
var o = _arg1;
var classPath = _arg2;
var rest = _args;
i = (rest.length - 1);
x = describeType(o);
while ((i = (i - 1)), ((i - 1) - -1)) {
declaredBy = x..method.(@name == rest[i]).@declaredBy;
if (declaredBy == classPath){
return (false);
};
};
return (true);
}
public static function inherit(_arg1:Class, _arg2:Class):Boolean{
var xml:XML;
var parent:String;
var childClass = _arg1;
var parentClass = _arg2;
xml = describeType(childClass);
parent = getQualifiedClassName(parentClass);
return ((((xml.factory.extendsClass.(@type == parent).length() > 0)) || ((xml.factory.implementsInterface.(@type == parent).length() > 0))));
}
}
}//package com.bourre.utils
Section 236
//AbstractView (com.bourre.view.AbstractView)
package com.bourre.view {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import com.bourre.load.*;
import com.bourre.log.*;
import com.bourre.events.*;
import com.bourre.plugin.*;
import com.bourre.structures.*;
import com.bourre.error.*;
public class AbstractView {
protected var _gl:GraphicLoader;
protected var _oEB:EventBroadcaster;
protected var _sName:String;
public var view:DisplayObject;
protected var _owner:Plugin;
public static const onReleaseEVENT:String = "onRelease";
public static const onInitEVENT:String = "onInit";
public function AbstractView(_arg1:Plugin=null, _arg2:String=null, _arg3:DisplayObject=null){
_oEB = new EventBroadcaster(this);
setOwner(_arg1);
if (_arg2 != null){
_initAbstractView(_arg2, _arg3, null);
};
}
public function resolveUI(_arg1:String):DisplayObject{
var _local2:DisplayObject;
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:String;
_local2 = this.view;
_local3 = _arg1.split(".");
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local6 = _local3[_local5];
if ((((_local2 is DisplayObjectContainer)) && (!(((_local2 as DisplayObjectContainer).getChildByName(_local6) == null))))){
_local2 = (_local2 as DisplayObjectContainer).getChildByName(_local6);
} else {
getLogger().error((((this + ".resolveUI(") + _arg1) + ") failed."));
return (null);
};
_local5++;
};
return (_local2);
}
public function hide():void{
view.visible = false;
}
public function setSize(_arg1:Dimension):void{
view.width = _arg1.width;
view.height = _arg1.height;
}
public function getLogger():PluginDebug{
return (PluginDebug.getInstance(getOwner()));
}
public function getOwner():Plugin{
return (_owner);
}
public function release():void{
_getBroadcaster().removeAllListeners();
ViewLocator.getInstance(getOwner()).unregister(getName());
if (view != null){
if (view.parent != null){
view.parent.removeChild(view);
};
view = null;
};
if (_gl != null){
_gl.release();
};
onRelease();
_sName = null;
}
public function getName():String{
return (_sName);
}
public function move(_arg1:Number, _arg2:Number):void{
view.x = _arg1;
view.y = _arg2;
}
public function handleEvent(_arg1:Event):void{
}
protected function _firePrivateEvent(_arg1:Event):void{
getOwner().firePrivateEvent(_arg1);
}
public function setSizeWH(_arg1:Number, _arg2:Number):void{
view.width = _arg1;
view.height = _arg2;
}
public function isVisible():Boolean{
return (view.visible);
}
protected function onInit():void{
notifyChanged(new StringEvent(AbstractView.onInitEVENT, this, getName()));
}
public function canResolveUI(_arg1:String):Boolean{
var label = _arg1;
try {
return ((resolveUI(label) is DisplayObject));
} catch(e:Error) {
return (false);
};
return (false);
}
public function removeListener(_arg1:Object):Boolean{
return (_oEB.removeListener(_arg1));
}
public function getSize():Dimension{
return (new Dimension(view.width, view.height));
}
public function addEventListener(_arg1:String, _arg2:Object, ... _args):Boolean{
return (_oEB.addEventListener.apply(_oEB, ((_args.length > 0)) ? [_arg1, _arg2].concat(_args) : [_arg1, _arg2]));
}
protected function _getBroadcaster():EventBroadcaster{
return (_oEB);
}
public function removeEventListener(_arg1:String, _arg2:Object):Boolean{
return (_oEB.removeEventListener(_arg1, _arg2));
}
public function resolveFunction(_arg1:String):Function{
var _local2:Array;
var _local3:String;
var _local4:DisplayObjectContainer;
_local2 = _arg1.split(".");
_local3 = _local2.pop();
_local4 = (resolveUI(_local2.join(".")) as DisplayObjectContainer);
if (((_local4.hasOwnProperty(_local3)) && ((_local4[_local3] is Function)))){
return (_local4[_local3]);
};
getLogger().error((((this + ".resolveFunction(") + _arg1) + ") failed."));
return (null);
}
public function getPosition():Point{
return (new Point(view.x, view.y));
}
protected function onRelease():void{
notifyChanged(new StringEvent(AbstractView.onReleaseEVENT, this, getName()));
}
public function notifyChanged(_arg1:Event):void{
_getBroadcaster().broadcastEvent(_arg1);
}
public function toString():String{
return (PixlibStringifier.stringify(this));
}
public function registerView(_arg1:DisplayObject, _arg2:String=null):void{
_initAbstractView(getName(), _arg1, (((_arg2) && (!((_arg2 == getName()))))) ? _arg2 : null);
}
public function setVisible(_arg1:Boolean):void{
if (_arg1){
show();
} else {
hide();
};
}
public function setOwner(_arg1:Plugin):void{
_owner = (_arg1) ? _arg1 : NullPlugin.getInstance();
}
public function addListener(_arg1:Object):Boolean{
return (_oEB.addListener(_arg1));
}
private function _initAbstractView(_arg1:String, _arg2:DisplayObject, _arg3:String):void{
if (_arg2 != null){
this.view = _arg2;
} else {
if (GraphicLoaderLocator.getInstance().isRegistered(_arg1)){
_gl = GraphicLoaderLocator.getInstance().getGraphicLoader(_arg1);
if (_gl != null){
this.view = _gl.getView();
} else {
getLogger().error((("Invalid arguments for " + this) + " constructor."));
return;
};
};
};
setName((_arg3) ? _arg3 : _arg1);
onInit();
}
public function registerGraphicLoader(_arg1:String, _arg2:String=null):void{
_initAbstractView(_arg1, null, (((_arg2) && (!((_arg2 == getName()))))) ? _arg2 : null);
}
public function setName(_arg1:String):void{
var _local2:ViewLocator;
var _local3:String;
_local2 = ViewLocator.getInstance(getOwner());
if (((!((_arg1 == null))) && (!(_local2.isRegistered(_arg1))))){
if (((!((getName() == null))) && (_local2.isRegistered(getName())))){
_local2.unregister(getName());
};
if (_local2.register(_arg1, this)){
_sName = _arg1;
};
} else {
_local3 = (((this + ".setName() failed. '") + _arg1) + "' is already registered in MovieClipHelperLocator.");
getLogger().error(_local3);
throw (new IllegalArgumentException(_local3));
};
}
public function canResolveFunction(_arg1:String):Boolean{
var label = _arg1;
try {
return ((resolveFunction(label) is Function));
} catch(e:Error) {
return (false);
};
return (false);
}
public function show():void{
view.visible = true;
}
}
}//package com.bourre.view
Section 237
//ViewLocator (com.bourre.view.ViewLocator)
package com.bourre.view {
import com.bourre.plugin.*;
import com.bourre.collection.*;
import com.bourre.core.*;
import com.bourre.error.*;
public final class ViewLocator extends AbstractLocator {
protected var _owner:Plugin;
protected static var _M:HashMap = new HashMap();
public function ViewLocator(_arg1:PrivateConstructorAccess, _arg2:Plugin=null){
_owner = _arg2;
super(AbstractView, null, PluginDebug.getInstance(getOwner()));
}
override public function release():void{
var _local1:Iterator;
_local1 = new ArrayIterator(_m.getValues());
while (_local1.hasNext()) {
_local1.next().release();
};
super.release();
}
public function getView(_arg1:String):AbstractView{
return ((locate(_arg1) as AbstractView));
}
override public function register(_arg1:String, _arg2:Object):Boolean{
if (_arg1 == null){
throw (new NullPointerException("Cannot register a view with a null name"));
};
if (_arg2 == null){
throw (new NullPointerException("Cannot register a null view"));
};
return (super.register(_arg1, _arg2));
}
override public function toString():String{
return ((super.toString() + (_owner) ? (", owner: " + _owner) : "No owner."));
}
public function getOwner():Plugin{
return (_owner);
}
public static function getInstance(_arg1:Plugin=null):ViewLocator{
if (_arg1 == null){
_arg1 = NullPlugin.getInstance();
};
if (!ViewLocator._M.containsKey(_arg1)){
ViewLocator._M.put(_arg1, new ViewLocator(new PrivateConstructorAccess(), _arg1));
};
return (ViewLocator._M.get(_arg1));
}
}
}//package com.bourre.view
class PrivateConstructorAccess {
private function PrivateConstructorAccess(){
}
}
Section 238
//GameEvent (com.gamesandweb.game.events.GameEvent)
package com.gamesandweb.game.events {
import flash.events.*;
public class GameEvent extends Event {
public var name:String;
public static const MILESTONE_REACH:String = "milestoneReach";
public function GameEvent(_arg1:String, _arg2:String=null, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.name = _arg2;
}
}
}//package com.gamesandweb.game.events
Section 239
//GameContext (com.gamesandweb.game.GameContext)
package com.gamesandweb.game {
import flash.display.*;
import flash.geom.*;
public class GameContext {
private var _globalScreenPos:Point;// = null
private var _lang:String;// = ""
private var _basePath:String;// = ""
private var _gameSprite:Sprite;// = null
private var _stage:Stage;// = null
private static var _instance:GameContext = null;
public function GameContext(_arg1:SingletonBlocker){
_basePath = "";
_lang = "";
_stage = null;
_gameSprite = null;
_globalScreenPos = null;
super();
if (_arg1 == null){
throw (new Error(("Public construction not allowed." + "Use Instance")));
};
}
public function set GlobalStage(_arg1:Stage):void{
_stage = _arg1;
}
public function get GlobalStage():Stage{
return (_stage);
}
public function get Lang():String{
return (_lang);
}
public function set GameSprite(_arg1:Sprite):void{
_gameSprite = _arg1;
_globalScreenPos = _gameSprite.localToGlobal(new Point(0, 0));
}
public function get GlobalScreenPos():Point{
return (_globalScreenPos);
}
public function get GameSprite():Sprite{
return (_gameSprite);
}
public function set BasePath(_arg1:String):void{
_basePath = _arg1;
}
public function set Lang(_arg1:String):void{
_lang = _arg1;
}
public function get BasePath():String{
return (_basePath);
}
public static function get Instance():GameContext{
if (!(GameContext._instance is GameContext)){
GameContext._instance = new GameContext(new SingletonBlocker());
};
return (_instance);
}
}
}//package com.gamesandweb.game
class SingletonBlocker {
private function SingletonBlocker(){
}
}
Section 240
//Global (com.gamesandweb.game.Global)
package com.gamesandweb.game {
import flash.events.*;
import flash.display.*;
import com.luminicbox.log.*;
import com.gamesandweb.game.events.*;
import com.gamesandweb.graphics.*;
public class Global {
private static var _dispatcher:EventDispatcher = null;
private static var _logger:Logger;
public static function Initialize(_arg1):void{
_dispatcher = new EventDispatcher();
_logger = new Logger("GlobalLogger");
_logger.addPublisher(new ConsolePublisher());
}
public static function DispatchAnimationEnd(_arg1:MovieClip):void{
_arg1.dispatchEvent(new Event(MovieClipContainer.ANIMATION_END));
}
public static function Log(_arg1:Object):void{
_logger.log(_arg1);
}
public static function DispatchGameEvent(_arg1:String):void{
_dispatcher.dispatchEvent(new GameEvent(GameEvent.MILESTONE_REACH, _arg1));
}
public static function DispatchEvent(_arg1:Event):void{
_dispatcher.dispatchEvent(_arg1);
}
public static function AddEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
}
}//package com.gamesandweb.game
Section 241
//MovieClipContainer (com.gamesandweb.graphics.MovieClipContainer)
package com.gamesandweb.graphics {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class MovieClipContainer extends Sprite {
protected var _activeSkin:MovieClip;// = null
protected var _frames:Dictionary;// = null
public static const ANIMATION_END:String = "AnimationEndEvent";
public function MovieClipContainer(){
_frames = null;
_activeSkin = null;
super();
_frames = new Dictionary();
}
public function RemoveSkin(_arg1:String):void{
delete _frames[_arg1];
}
protected function OnAnimationEnd(_arg1:Event):void{
this.dispatchEvent(new Event(ANIMATION_END));
}
public function GetActiveSkin():MovieClip{
return (_activeSkin);
}
public function AddSkin(_arg1:String, _arg2:MovieClip):void{
_frames[_arg1] = _arg2;
}
public function GetSkin(_arg1:String):MovieClip{
if (_frames[_arg1]){
return (_frames[_arg1]);
};
return (null);
}
public function SetSkin(_arg1:String, _arg2:Boolean=true):void{
var name = _arg1;
var propagates = _arg2;
if (_activeSkin != _frames[name]){
if (_frames[name]){
if (_activeSkin){
try {
_activeSkin.removeEventListener(ANIMATION_END, OnAnimationEnd);
} catch(e:Error) {
};
};
if (this.numChildren){
this.removeChildAt(0);
};
this.addChild(_frames[name]);
_activeSkin = _frames[name];
if (propagates){
_activeSkin.addEventListener(ANIMATION_END, OnAnimationEnd);
};
};
};
}
public function Release():void{
var _local1:Object;
_activeSkin.removeEventListener(ANIMATION_END, OnAnimationEnd);
this.removeChildAt(0);
for (_local1 in _frames) {
(_frames[_local1] as MovieClip).stop();
delete _frames[_local1];
};
_activeSkin = null;
}
}
}//package com.gamesandweb.graphics
Section 242
//UIWidget (com.gamesandweb.ui.UIWidget)
package com.gamesandweb.ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
public class UIWidget extends EventDispatcher {
protected var _view:MovieClip;// = null
protected var _depth:int;// = -1
protected var _hasFadeOut:Boolean;// = false
protected var _hasFadeIn:Boolean;// = false
public static const SECOND_ACTION:String = "OnSecondAction";
public static const BACK:String = "OnBack";
public static const FADE_IN:String = "OnFadeIn";
public static const FADE_OUT:String = "OnFadeOut";
public static const FADE_OUT_OVER:String = "OnFadeOutOver";
public static const FADE_IN_OVER:String = "OnFadeInOver";
public static const ACTION:String = "OnAction";
public static const FORTH:String = "OnForth";
public function UIWidget(_arg1:MovieClip, _arg2:int=-1){
_view = null;
_depth = -1;
_hasFadeIn = false;
_hasFadeOut = false;
super();
_view = _arg1;
_depth = _arg2;
Validate();
_view.addEventListener(UIWidget.FADE_IN, OnFadeIn);
_view.addEventListener(UIWidget.FADE_IN_OVER, OnFadeInOver);
_view.addEventListener(UIWidget.FADE_OUT, OnFadeOut);
_view.addEventListener(UIWidget.FADE_OUT_OVER, OnFadeOutOver);
_view.addEventListener(UIWidget.FORTH, OnForth);
_view.addEventListener(UIWidget.BACK, OnBack);
_view.addEventListener(UIWidget.ACTION, OnAction);
_view.addEventListener(UIWidget.SECOND_ACTION, OnSecondAction);
Init();
}
public function get View():MovieClip{
return (_view);
}
public function ShowFadedIn():void{
if (_view.currentLabel != "FadedIn"){
_view.gotoAndStop("FadedIn");
_view.visible = true;
};
}
public function FadeOut():void{
if (_hasFadeOut){
_view.gotoAndPlay("End");
} else {
Global.Log((_view + " is not ready for fading out"));
_view.gotoAndStop(_view.totalFrames);
OnFadeOut(null);
};
}
public function OnSecondAction(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function OnFadeInOver(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function get HasFadeIn():Boolean{
return (_hasFadeIn);
}
public function OnAction(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function Show():void{
_view.visible = true;
}
public function get HasFadeOut():Boolean{
return (_hasFadeOut);
}
public function OnFadeIn(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function FadeIn():void{
_view.visible = true;
if (_hasFadeIn){
_view.gotoAndPlay("Start");
} else {
Global.Log((_view + " is not ready for fading in"));
_view.gotoAndStop(1);
OnFadeIn(null);
};
}
public function Stop():void{
_view.stop();
}
public function get Depth():int{
return (_depth);
}
public function OnFadeOutOver(_arg1:Event):void{
dispatchEvent(_arg1);
_view.visible = false;
}
public function OnBack(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function Hide():void{
_view.visible = false;
}
public function Init():void{
Validate();
}
public function Play():void{
_view.play();
}
public function OnFadeOut(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function Validate():void{
var _local1:int;
_local1 = 0;
while (_local1 < _view.currentLabels.length) {
if (_view.currentLabels[_local1].name == "Start"){
_hasFadeIn = true;
};
if (_view.currentLabels[_local1].name == "End"){
_hasFadeOut = true;
};
_local1++;
};
}
public function OnForth(_arg1:Event):void{
dispatchEvent(_arg1);
}
}
}//package com.gamesandweb.ui
Section 243
//Key (com.gamesandweb.utils.Key)
package com.gamesandweb.utils {
import flash.events.*;
import flash.display.*;
public class Key {
public static const Left:int = 37;
public static const A:int = 65;
public static const B:int = 66;
public static const C:int = 67;
public static const D:int = 68;
public static const E:int = 69;
public static const F:int = 70;
public static const G:int = 71;
public static const H:int = 72;
public static const I:int = 73;
public static const J:int = 74;
public static const K:int = 75;
public static const L:int = 76;
public static const M:int = 77;
public static const N:int = 78;
public static const O:int = 79;
public static const P:int = 80;
public static const Q:int = 81;
public static const R:int = 82;
public static const S:int = 83;
public static const T:int = 84;
public static const U:int = 85;
public static const V:int = 86;
public static const W:int = 87;
public static const X:int = 88;
public static const Y:int = 89;
public static const Z:int = 90;
public static const Multiply:int = 106;
public static const Backspace:int = 8;
public static const a:int = 65;
public static const b:int = 66;
public static const c:int = 67;
public static const d:int = 68;
public static const e:int = 69;
public static const f:int = 70;
public static const g:int = 71;
public static const h:int = 72;
public static const i:int = 73;
public static const j:int = 74;
public static const k:int = 75;
public static const l:int = 76;
public static const m:int = 77;
public static const n:int = 78;
public static const o:int = 79;
public static const p:int = 80;
public static const q:int = 81;
public static const r:int = 82;
public static const s:int = 83;
public static const t:int = 84;
public static const u:int = 85;
public static const v:int = 86;
public static const w:int = 87;
public static const x:int = 88;
public static const y:int = 89;
public static const z:int = 90;
public static const Add:int = 107;
public static const Divide:int = 111;
public static const RightMouseButton:int = 2;
public static const F1:int = 112;
public static const F3:int = 114;
public static const np1:int = 97;
public static const np3:int = 99;
public static const np5:int = 101;
public static const np0:int = 96;
public static const np2:int = 98;
public static const Enter:int = 13;
public static const np4:int = 100;
public static const F9:int = 120;
public static const np6:int = 102;
public static const np8:int = 104;
public static const F5:int = 116;
public static const F6:int = 117;
public static const F7:int = 118;
public static const F8:int = 119;
public static const Down:int = 40;
public static const np7:int = 103;
public static const np9:int = 105;
public static const End:int = 35;
public static const Shift:int = 16;
public static const F2:int = 113;
public static const Up:int = 38;
public static const F4:int = 115;
public static const F14:int = 125;
public static const F11:int = 122;
public static const F13:int = 124;
public static const F15:int = 126;
public static const F12:int = 123;
public static const Insert:int = 45;
public static const Home:int = 36;
public static const ScrLk:int = 145;
public static const Decimal:int = 110;
public static const Subtract:int = 109;
public static const Control:int = 17;
public static const Esc:int = 27;
public static const Spacebar:int = 32;
public static const Tab:int = 9;
public static const n0:int = 48;
public static const n1:int = 49;
public static const n2:int = 50;
public static const n3:int = 51;
public static const n4:int = 52;
public static const n5:int = 53;
public static const n6:int = 54;
public static const n7:int = 55;
public static const n8:int = 56;
public static const n9:int = 57;
public static const LeftMouseButton:int = 1;
public static const PageUp:int = 33;
public static const NumLock:int = 144;
public static const Delete:int = 46;
public static const CapsLock:int = 20;
public static const PageDown:int = 34;
public static const Right:int = 39;
private static var keysDown:Object = new Object();
private static var initialized:Boolean = false;
private static var _stage:Stage = null;
public static function finalize():void{
_stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_stage.removeEventListener(KeyboardEvent.KEY_UP, keyReleased);
_stage.removeEventListener(Event.DEACTIVATE, clearKeys);
_stage = null;
}
private static function keyReleased(_arg1:KeyboardEvent):void{
if ((_arg1.keyCode in keysDown)){
delete keysDown[_arg1.keyCode];
};
}
private static function keyPressed(_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
public static function isDown(_arg1:uint):Boolean{
if (!initialized){
throw (new Error("Key class has already been initialized."));
};
return (Boolean((_arg1 in keysDown)));
}
public static function initialize(_arg1:Stage):void{
if (!initialized){
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.DEACTIVATE, clearKeys);
_stage = _arg1;
initialized = true;
};
}
private static function clearKeys(_arg1:Event):void{
keysDown = new Object();
}
}
}//package com.gamesandweb.utils
Section 244
//ConsolePublisher (com.luminicbox.log.ConsolePublisher)
package com.luminicbox.log {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
public class ConsolePublisher implements IPublisher {
private var _maxDepth:Number;
private var _version:Number;// = 0.1
public function ConsolePublisher(){
_version = 0.1;
super();
_maxDepth = 4;
}
public function toString():String{
return ("ConsolePublisher");
}
private function getType(_arg1:Object):Object{
var _local2:String;
var _local3:Object;
_local2 = typeof(_arg1);
_local3 = new Object();
_local3.inspectable = true;
_local3.name = _local2;
if ((((((((((_local2 == "boolean")) || ((_local2 == "function")))) || ((_local2 == "number")))) || ((_local2 == "string")))) || ((_local2 == "undefined")))){
_local3.inspectable = false;
} else {
if ((_arg1 is Array)){
_local3.name = "array";
} else {
if ((_arg1 is Date)){
_local3.inspectable = false;
_local3.name = "date";
} else {
if ((_arg1 is MovieClip)){
_local3.name = "movieclip";
} else {
if ((_arg1 is Loader)){
_local3.name = "loader";
} else {
if ((_arg1 is Sprite)){
_local3.name = "sprite";
} else {
if ((_arg1 is Stage)){
_local3.name = "stage";
} else {
if ((_arg1 is DisplayObjectContainer)){
_local3.name = "displayobjectcontainer";
} else {
if ((_arg1 is SimpleButton)){
_local3.name = "simplebutton";
} else {
if ((_arg1 is TextField)){
_local3.name = "textfield";
} else {
if ((_arg1 is AVM1Movie)){
_local3.name = "avm1movie";
} else {
if ((_arg1 is Bitmap)){
_local3.name = "bitmap";
} else {
if ((_arg1 is InteractiveObject)){
_local3.name = "interactiveobject";
} else {
if ((_arg1 is MorphShape)){
_local3.name = "morphshape";
} else {
if ((_arg1 is Shape)){
_local3.name = "shape";
} else {
if ((_arg1 is StaticText)){
_local3.name = "statictext";
} else {
if ((_arg1 is Video)){
_local3.name = "video";
} else {
if ((_arg1 is DisplayObject)){
_local3.name = "displayobject";
} else {
if ((_arg1 is XMLList)){
_local3.name = "xmllist";
_local3.stringify = true;
} else {
if ((_arg1 is XML)){
_local3.name = "xml";
_local3.stringify = true;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
return (_local3);
}
public function publish(_arg1:LogEvent):void{
var _local2:Object;
var _local3:LocalConnection;
_local2 = LogEvent.serialize(_arg1);
_local2.argument = serializeObj(_local2.argument, 1);
_local3 = new LocalConnection();
_local3.addEventListener(StatusEvent.STATUS, onStatus);
_local3.send("_luminicbox_log_console", "log", _local2);
}
private function serializeObj(_arg1:Object, _arg2:Number):Object{
var _local3:Object;
var _local4:Object;
var _local5:Array;
var _local6:Number;
var _local7:String;
_local3 = getType(_arg1);
_local4 = new Object();
if (!_local3.inspectable){
_local4.value = _arg1;
} else {
if (_local3.stringify){
_local4.value = (_arg1 + "");
} else {
if (_arg2 <= _maxDepth){
if ((((((((((((((((((((((((((((((_local3.name == "movieclip")) || ((_local3.name == "loader")))) || ((_local3.name == "sprite")))) || ((_local3.name == "stage")))) || ((_local3.name == "displayobjectcontainer")))) || ((_local3.name == "simplebutton")))) || ((_local3.name == "textfield")))) || ((_local3.name == "avm1movie")))) || ((_local3.name == "bitmap")))) || ((_local3.name == "interactiveobject")))) || ((_local3.name == "morphshape")))) || ((_local3.name == "shape")))) || ((_local3.name == "statictext")))) || ((_local3.name == "video")))) || ((_local3.name == "displayobject")))){
_local4.id = (_arg1 + "");
};
_local5 = new Array();
if ((_arg1 is Array)){
_local6 = 0;
while (_local6 < _arg1.length) {
_local5.push({property:_local6, value:serializeObj(_arg1[_local6], (_arg2 + 1))});
_local6++;
};
} else {
for (_local7 in _arg1) {
_local5.push({property:_local7, value:serializeObj(_arg1[_local7], (_arg2 + 1))});
};
};
_local4.value = _local5;
} else {
_local4.reachLimit = true;
};
};
};
_local4.type = _local3.name;
return (_local4);
}
private function onStatus(_arg1:StatusEvent):void{
if (_arg1.level == "error"){
trace("LocalConnection.send() failed\nMake sure the FlashInspector is running\n");
};
}
public function set maxDepth(_arg1:Number):void{
_maxDepth = ((_maxDepth)>0xFF) ? 0xFF : _arg1;
}
public function get maxDepth():Number{
return (_maxDepth);
}
}
}//package com.luminicbox.log
Section 245
//IPublisher (com.luminicbox.log.IPublisher)
package com.luminicbox.log {
public interface IPublisher {
function toString():String;
function publish(_arg1:LogEvent):void;
}
}//package com.luminicbox.log
Section 246
//Level (com.luminicbox.log.Level)
package com.luminicbox.log {
public class Level {
private var _value:Number;
private var _name:String;
public static var ALL:Level = new Level("ALL", 1);
;
public static var LOG:Level = new Level("LOG", 1);
;
public static var FATAL:Level = new Level("FATAL", 32);
;
public static var WARN:Level = new Level("WARN", 8);
;
public static var INFO:Level = new Level("INFO", 4);
;
public static var ERROR:Level = new Level("ERROR", 16);
;
public static var DEBUG:Level = new Level("DEBUG", 2);
;
public static var NONE:Level = new Level("NONE", 0x0400);
;
public function Level(_arg1:String, _arg2:Number){
this._name = _arg1;
this._value = _arg2;
}
public function getName():String{
return (_name);
}
public function toString():String{
return (getName());
}
public function getValue():Number{
return (_value);
}
}
}//package com.luminicbox.log
Section 247
//LogEvent (com.luminicbox.log.LogEvent)
package com.luminicbox.log {
public class LogEvent {
public var level:Level;
public var loggerId:String;
public var time:Date;
public var argument:Object;
public function LogEvent(_arg1:String, _arg2:Object, _arg3:Level){
this.loggerId = _arg1;
this.argument = _arg2;
this.level = _arg3;
time = new Date();
}
public static function serialize(_arg1:LogEvent):Object{
var _local2:Object;
_local2 = new Object();
_local2.loggerId = _arg1.loggerId;
_local2.time = _arg1.time;
_local2.levelName = _arg1.level.getName();
_local2.argument = _arg1.argument;
return (_local2);
}
public static function deserialize(_arg1:Object):LogEvent{
var _local2:Level;
var _local3:LogEvent;
_local2 = Level[("" + _arg1.levelName)];
_local3 = new LogEvent(_arg1.loggerId, _arg1.argument, _local2);
_local3.time = _arg1.time;
return (_local3);
}
}
}//package com.luminicbox.log
Section 248
//Logger (com.luminicbox.log.Logger)
package com.luminicbox.log {
public class Logger {
private var _level:Level;
private var _loggerId:String;
private var _publishers:Array;
private var _filters:Array;
public function Logger(_arg1:String=""){
if (_arg1.length > 0){
this._loggerId = _arg1;
};
this._level = Level.LOG;
_publishers = new Array();
_filters = new Array();
}
public function setLevel(_arg1:Level):void{
_level = _arg1;
}
public function log(_arg1:Object):void{
publish(_arg1, Level.LOG);
}
public function warn(_arg1:Object):void{
publish(_arg1, Level.WARN);
}
public function error(_arg1:Object):void{
publish(_arg1, Level.ERROR);
}
public function fatal(_arg1:Object):void{
publish(_arg1, Level.FATAL);
}
public function getPublishers():Array{
return (_publishers);
}
public function info(_arg1:Object):void{
publish(_arg1, Level.INFO);
}
public function debug(_arg1:Object):void{
publish(_arg1, Level.DEBUG);
}
public function addPublisher(_arg1:IPublisher):void{
if (!_publishers[_arg1.toString()]){
_publishers[_arg1.toString()] = _arg1;
};
}
private function publish(_arg1:Object, _arg2:Level):void{
var _local3:LogEvent;
var _local4:String;
if (_arg2.getValue() >= _level.getValue()){
_local3 = new LogEvent(this._loggerId, _arg1, _arg2);
for (_local4 in _publishers) {
IPublisher(_publishers[_local4]).publish(_local3);
};
};
}
public function removePublisher(_arg1:IPublisher):void{
delete _publishers[_arg1.toString()];
}
}
}//package com.luminicbox.log
Section 249
//SoundManager (com.reintroducing.sound.SoundManager)
package com.reintroducing.sound {
import flash.events.*;
import flash.utils.*;
import flash.system.*;
import flash.media.*;
import flash.net.*;
import gs.*;
public class SoundManager {
private var _soundsDict:Dictionary;
private var _sounds:Array;
private var _applicationDomain:ApplicationDomain;// = null
private static var _instance:SoundManager;
private static var _allowInstance:Boolean;
public function SoundManager(){
_applicationDomain = null;
super();
this._soundsDict = new Dictionary(true);
this._sounds = new Array();
if (!SoundManager._allowInstance){
throw (new Error("Error: Use SoundManager.getInstance() instead of the new keyword."));
};
}
public function fadeSound(_arg1:String, _arg2:Number=0, _arg3:Number=1):void{
var _local4:SoundChannel;
_local4 = this._soundsDict[_arg1].channel;
TweenLite.to(_local4, _arg3, {volume:_arg2});
}
public function get sounds():Array{
return (this._sounds);
}
public function addExternalSound(_arg1:String, _arg2:String, _arg3:Number=1000, _arg4:Boolean=false):Boolean{
var _local5:int;
var _local6:int;
var _local7:Object;
var _local8:Sound;
_local5 = this._sounds.length;
_local6 = 0;
while (_local6 < _local5) {
if (this._sounds[_local6].name == _arg2){
return (false);
};
_local6++;
};
_local7 = new Object();
_local8 = new Sound(new URLRequest(_arg1), new SoundLoaderContext(_arg3, _arg4));
_local7.name = _arg2;
_local7.sound = _local8;
_local7.channel = new SoundChannel();
_local7.position = 0;
_local7.played = false;
_local7.paused = true;
_local7.volume = 1;
_local7.startTime = 0;
_local7.loops = 0;
_local7.pausedByAll = false;
this._soundsDict[_arg2] = _local7;
this._sounds.push(_local7);
return (true);
}
public function getSoundDuration(_arg1:String):Number{
return (this._soundsDict[_arg1].sound.length);
}
public function setSoundVolume(_arg1:String, _arg2:Number):void{
var _local3:Object;
var _local4:SoundTransform;
_local3 = this._soundsDict[_arg1];
_local4 = _local3.channel.soundTransform;
_local4.volume = _arg2;
_local3.channel.soundTransform = _local4;
}
public function set MyApplicationDomain(_arg1:ApplicationDomain):void{
_applicationDomain = _arg1;
}
public function getSoundVolume(_arg1:String):Number{
return (this._soundsDict[_arg1].channel.soundTransform.volume);
}
public function addLibrarySound(_arg1, _arg2:String, _arg3:Number=1):Boolean{
var _local4:int;
var _local5:int;
var _local6:Object;
var _local7:Class;
var _local8:Sound;
_local4 = this._sounds.length;
_local5 = 0;
while (_local5 < _local4) {
if (this._sounds[_local5].name == _arg2){
return (false);
};
_local5++;
};
_local6 = new Object();
if (_applicationDomain == null){
_applicationDomain = ApplicationDomain.currentDomain;
};
_local7 = (_applicationDomain.getDefinition(_arg1) as Class);
_local8 = new (_local7);
_local6.name = _arg2;
_local6.sound = _local8;
_local6.channel = new SoundChannel();
_local6.position = 0;
_local6.played = false;
_local6.paused = true;
_local6.volume = _arg3;
_local6.startTime = 0;
_local6.loops = 0;
_local6.pausedByAll = false;
this._soundsDict[_arg2] = _local6;
this._sounds.push(_local6);
return (true);
}
public function toString():String{
return (getQualifiedClassName(this));
}
public function isSoundPaused(_arg1:String):Boolean{
return (this._soundsDict[_arg1].paused);
}
public function removeAllSounds():void{
var _local1:int;
var _local2:int;
_local1 = this._sounds.length;
_local2 = 0;
while (_local2 < _local1) {
this._sounds[_local2] = null;
_local2++;
};
this._sounds = new Array();
this._soundsDict = new Dictionary(true);
}
public function getSoundPosition(_arg1:String):Number{
return (this._soundsDict[_arg1].channel.position);
}
private function OnSoundComplete(_arg1:String):Function{
var $name = _arg1;
return (function (_arg1:Event):void{
stopSound($name);
});
}
public function stopAllSounds(_arg1:Boolean=true):void{
var _local2:int;
var _local3:int;
var _local4:String;
_local2 = this._sounds.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = this._sounds[_local3].name;
if (_arg1){
if (!this._soundsDict[_local4].paused){
this._soundsDict[_local4].pausedByAll = true;
this.stopSound(_local4);
};
} else {
this.stopSound(_local4);
};
_local3++;
};
}
public function removeSound(_arg1:String):void{
var _local2:int;
var _local3:int;
_local2 = this._sounds.length;
_local3 = 0;
while (_local3 < _local2) {
if (this._sounds[_local3].name == _arg1){
this._sounds[_local3] = null;
this._sounds.splice(_local3, 1);
};
_local3++;
};
delete this._soundsDict[_arg1];
}
public function muteAllSounds():void{
var _local1:int;
var _local2:int;
var _local3:String;
_local1 = this._sounds.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = this._sounds[_local2].name;
this.setSoundVolume(_local3, 0);
_local2++;
};
}
public function stopSound(_arg1:String):void{
var snd:Object;
var $name = _arg1;
try {
snd = this._soundsDict[$name];
if (((!((snd == null))) || ((snd.channel == null)))){
snd.paused = false;
snd.played = false;
snd.channel.stop();
snd.position = snd.channel.position;
} else {
trace(("Couldn't find sound " + $name));
};
} catch(e:Error) {
};
}
public function pauseAllSounds(_arg1:Boolean=true):void{
var _local2:int;
var _local3:int;
var _local4:String;
_local2 = this._sounds.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = this._sounds[_local3].name;
if (_arg1){
if (!this._soundsDict[_local4].paused){
this._soundsDict[_local4].pausedByAll = true;
this.pauseSound(_local4);
};
} else {
this.pauseSound(_local4);
};
_local3++;
};
}
public function isSoundPausedByAll(_arg1:String):Boolean{
return (this._soundsDict[_arg1].pausedByAll);
}
public function playAllSounds(_arg1:Boolean=false):void{
var _local2:int;
var _local3:int;
var _local4:String;
_local2 = this._sounds.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = this._sounds[_local3].name;
if (_arg1){
if (this._soundsDict[_local4].pausedByAll){
this._soundsDict[_local4].pausedByAll = false;
this.playSound(_local4);
};
} else {
this.playSound(_local4);
};
_local3++;
};
}
public function pauseSound(_arg1:String):void{
var _local2:Object;
_local2 = this._soundsDict[_arg1];
_local2.paused = true;
_local2.played = false;
_local2.position = _local2.channel.position;
_local2.channel.stop();
}
public function unmuteAllSounds():void{
var _local1:int;
var _local2:int;
var _local3:String;
var _local4:Object;
var _local5:SoundTransform;
_local1 = this._sounds.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = this._sounds[_local2].name;
_local4 = this._soundsDict[_local3];
_local5 = _local4.channel.soundTransform;
_local5.volume = ((_local4.volume == 0)) ? Sfx.VolumeIDXML(_local3) : _local4.volume;
_local4.channel.soundTransform = _local5;
_local2++;
};
}
public function playSound(_arg1:String, _arg2:Number=1, _arg3:Number=0, _arg4:int=0):void{
var _local5:Object;
_local5 = this._soundsDict[_arg1];
_local5.volume = _arg2;
_local5.startTime = _arg3;
_local5.loops = _arg4;
if (_local5.paused){
_local5.channel = _local5.sound.play(_local5.position, _local5.loops, new SoundTransform(_local5.volume));
_local5.channel.addEventListener(Event.SOUND_COMPLETE, OnSoundComplete(_arg1));
} else {
_local5.channel = _local5.sound.play(_arg3, _local5.loops, new SoundTransform(_local5.volume));
_local5.channel.addEventListener(Event.SOUND_COMPLETE, OnSoundComplete(_arg1));
};
_local5.paused = false;
_local5.played = true;
}
public function IsPlayed(_arg1:String):Boolean{
var snd:Object;
var $name = _arg1;
try {
snd = this._soundsDict[$name];
return (snd.played);
} catch(e:Error) {
trace(" Sound NULL ");
return (true);
};
return (true);
}
public function getSoundObject(_arg1:String):Sound{
return (this._soundsDict[_arg1].sound);
}
public static function getInstance():SoundManager{
if (SoundManager._instance == null){
SoundManager._allowInstance = true;
SoundManager._instance = new (SoundManager);
SoundManager._allowInstance = false;
};
return (SoundManager._instance);
}
}
}//package com.reintroducing.sound
Section 250
//ConfigLoader (config.ConfigLoader)
package config {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import com.bourre.load.*;
public class ConfigLoader extends EventDispatcher {
private var _config:Dictionary;// = null
private var _loader:XMLLoader;// = null
public static const LOAD_COMPLETE:String = "LoadComplete";
private static var _instance:ConfigLoader = null;
public function ConfigLoader(_arg1:SingletonBlocker){
_loader = null;
_config = null;
super();
if (_arg1 == null){
return;
};
_config = new Dictionary();
}
public function get Config():Dictionary{
return (_config);
}
private function ParseConfig(_arg1:Dictionary, _arg2:XML):void{
var _local3:XML;
for each (_local3 in _arg2.term) {
_arg1[_local3.@key.toString()] = _local3.toString();
};
}
private function OnLoadInit(_arg1:LoaderEvent):void{
_loader.removeEventListener(LoaderEvent.onLoadInitEVENT, OnLoadInit);
ParseConfig(_config, _loader.getXML());
dispatchEvent(new Event(LOAD_COMPLETE));
}
public function LoadConfig(_arg1:String):void{
_loader = new XMLLoader();
_loader.addEventListener(LoaderEvent.onLoadInitEVENT, OnLoadInit);
_loader.load(new URLRequest(_arg1));
}
public static function get Instance():ConfigLoader{
if (!(ConfigLoader._instance is ConfigLoader)){
ConfigLoader._instance = new ConfigLoader(new SingletonBlocker());
};
return (_instance);
}
}
}//package config
class SingletonBlocker {
private function SingletonBlocker(){
}
}
Section 251
//DroideBlue (enemies.DroideBlue)
package enemies {
import flash.events.*;
import flash.display.*;
import ui.*;
import model.*;
import flash.geom.*;
import flash.text.*;
import utils.*;
import config.*;
import view.*;
import assets.*;
public class DroideBlue extends Enemy {
private var _posXShot:int;
private var _globalShotPosition:Point;
private var _accountant:int;// = 0
private var MAX_ACCOUNTANT:int;
private var _posYShot:int;
private var MIN_DISTANCE_OF_BEN:int;
public function DroideBlue(_arg1:MovieClip, _arg2:Character, _arg3:ShotsEnemyManager, _arg4:int, _arg5:Point){
_accountant = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5);
Type = 1;
Direction = -1;
View.scaleX = -(Direction);
SpeedX = 0;
SpeedY = 0;
GoOnBen = true;
_accountant = Math.ceil(((Math.random() * MAX_ACCOUNTANT) / 0.8));
LoadMyConfig();
View.addEventListener("EnemyAnimationDieEnd", DispatchEvent);
View.addEventListener("EnemyAnimationHitEnd", DispatchEvent);
View.addEventListener("EnemyAnimationEnd", DispatchEvent);
View.addEventListener("EnemyAnimationAttackEnd", DispatchEvent);
View.addEventListener("EnemyAnimationAttackBegin", DispatchEvent);
}
private function ResetSecondStateMc(_arg1:Event):void{
var _local2:MovieClip;
var _local3:TextField;
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, ResetSecondStateMc);
switch (PrimaryState){
case Enemy.PRI_ST_IDLE:
_secondaryStateMc = _primaryStateMc;
break;
case Enemy.PRI_ST_RUNNING:
_secondaryStateMc = ((View.getChildByName("droide_mc") as MovieClip).getChildByName("brazo_mc") as MovieClip);
break;
case Enemy.PRI_ST_HIT:
_secondaryStateMc = _primaryStateMc;
break;
case Enemy.PRI_ST_DIE:
_secondaryStateMc = _primaryStateMc;
_local2 = new CoinMCAsset();
_local3 = ((_local2.getChildByName("puntajePowerUp_mc") as MovieClip).getChildByName("puntajePowerUp_txt") as TextField);
_local2.x = (View.x + OffsetFromLevelLayer.x);
_local2.y = (View.y + OffsetFromLevelLayer.y);
_local3.text = String(ScoreForDeath);
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).addChild(_local2);
break;
};
if (PrimaryState != Enemy.PRI_ST_DIE){
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
};
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "EnemyAnimationHitEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
break;
case "EnemyAnimationEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "EnemyAnimationDieEnd":
View.visible = false;
HUDManager.Instance.AddScore(ScoreForDeath);
break;
case "EnemyAnimationAttackEnd":
TryNewPrimaryState(Enemy.SEC_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "EnemyAnimationAttackBegin":
_globalShotPosition = View.localToGlobal(new Point());
_globalShotPosition.y = (_globalShotPosition.y + _posYShot);
_globalShotPosition.x = (_globalShotPosition.x + ((Direction)==1) ? _posXShot : -(_posXShot));
ManagerShotsEnemy.AddShot(_globalShotPosition, View.scaleX, View.rotation, EnergyToSubtractBenShot);
Sfx.PlaySound(Sfx.SFX_ENEMY_SHOT);
break;
};
}
public function LoadMyConfig():void{
Fragility = ConfigLoader.Instance.Config["DroideBlueFragility"];
EnergyToSubtractBenAttack = ConfigLoader.Instance.Config["DroideBlueEnergySubtractsForAttack"];
EnergyToSubtractBenShot = ConfigLoader.Instance.Config["DroideBlueEnergySubtractsForShot"];
EnergyToSubtractBenHit = ConfigLoader.Instance.Config["DroideBlueEnergySubtractsForHit"];
MAX_ACCOUNTANT = ConfigLoader.Instance.Config["DroideBlueMaxAccountant"];
ScoreForDeath = ConfigLoader.Instance.Config["DroideBlueScoreForDeath"];
MIN_DISTANCE_OF_BEN = ConfigLoader.Instance.Config["DroideBlueMinDistanceOfBen"];
_posXShot = ConfigLoader.Instance.Config["DroideBluePositionShotX"];
_posYShot = ConfigLoader.Instance.Config["DroideBluePositionShotY"];
}
private function CurrentPlatformIsMoves():void{
if (CurrentPlatform != null){
if (CurrentPlatform.Moves){
PreviousAbsoluteY = CurrentAbsoluteY;
PreviousAbsoluteX = CurrentAbsoluteX;
CurrentAbsoluteX = (CurrentAbsoluteX + (CurrentPlatform.X - CurrentPlatformPreviousX));
CurrentAbsoluteY = (CurrentAbsoluteY + (CurrentPlatform.Y - CurrentPlatformPreviousY));
CurrentPlatformPreviousX = CurrentPlatform.X;
CurrentPlatformPreviousY = CurrentPlatform.Y;
};
};
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_HIT:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_DIE:
PrimaryState = _arg1;
_local2 = true;
Dead = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
public function ShotsEnemy():void{
TryNewSecondaryState(Enemy.SEC_ST_ATTACK);
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if (_secondaryStateMc == null){
return;
};
_secondaryStateMc.gotoAndStop(_secondaryStateLabels[_arg1]);
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.invalidate();
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == SecondaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.SEC_ST_IDLE:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_RUN:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_ATTACK:
if (SecondaryState == Enemy.SEC_ST_IDLE){
SecondaryState = _arg1;
_local2 = true;
};
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
override public function Update(_arg1:Number):void{
var _local2:int;
var _local3:Number;
if (((Dead) || (BenTen.Dead))){
if (BenTen.Dead){
if (Dead){
View.visible = false;
};
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
};
this.CurrentPlatformIsMoves();
return;
};
if (PrimaryState == Enemy.PRI_ST_HIT){
this.CurrentPlatformIsMoves();
return;
};
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
_local2 = (BenTen.X - (View.x + OffsetFromLevelLayer.x));
_local3 = MovieClipUtils.Instance.GetScreenPosition(View).x;
if ((((((_local2 < MIN_DISTANCE_OF_BEN)) && ((_local3 > 0)))) && ((_local3 < 600)))){
Active = true;
} else {
Active = false;
};
if (((Active) && (GoOnBen))){
if (_local2 < View.width){
Direction = -1;
View.scaleX = -(Direction);
} else {
if (_local2 > View.width){
Direction = 1;
View.scaleX = -(Direction);
};
};
};
this.CurrentPlatformIsMoves();
if (_accountant < MAX_ACCOUNTANT){
_accountant++;
} else {
if (Active){
this.ShotsEnemy();
};
_accountant = 0;
};
}
}
}//package enemies
Section 252
//DroideGreen (enemies.DroideGreen)
package enemies {
import flash.events.*;
import flash.display.*;
import ui.*;
import model.*;
import flash.geom.*;
import flash.text.*;
import utils.*;
import config.*;
import view.*;
import assets.*;
public class DroideGreen extends Enemy {
private var _posXShot:int;
private var _globalShotPosition:Point;
private var _accountant:int;// = 0
private var MAX_ACCOUNTANT:int;
private var _radianesRotation:Number;
private var _posYShot:int;
private var MIN_DISTANCE_OF_BEN:int;
private var _dxy:Number;
private var _nextX:Number;
private var _nextY:Number;
public function DroideGreen(_arg1:MovieClip, _arg2:Character, _arg3:ShotsEnemyManager, _arg4:int, _arg5:Point){
_accountant = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5);
Type = 3;
Direction = 0;
SpeedX = 0;
SpeedY = 0;
GoOnBen = true;
_radianesRotation = 0;
_dxy = 20;
_nextX = 0;
_nextY = 0;
_accountant = Math.ceil(((Math.random() * MAX_ACCOUNTANT) / 0.8));
LoadMyConfig();
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
View.addEventListener("EnemyAnimationDieEnd", DispatchEvent);
View.addEventListener("EnemyAnimationHitEnd", DispatchEvent);
View.addEventListener("EnemyAnimationEnd", DispatchEvent);
View.addEventListener("EnemyAnimationAttackEnd", DispatchEvent);
}
private function ResetSecondStateMc(_arg1:Event):void{
var _local2:MovieClip;
var _local3:TextField;
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, ResetSecondStateMc);
switch (PrimaryState){
case Enemy.PRI_ST_IDLE:
_secondaryStateMc = _primaryStateMc;
break;
case Enemy.PRI_ST_DIE:
_secondaryStateMc = _primaryStateMc;
_local2 = new CoinMCAsset();
_local3 = ((_local2.getChildByName("puntajePowerUp_mc") as MovieClip).getChildByName("puntajePowerUp_txt") as TextField);
_local2.x = (View.x + OffsetFromLevelLayer.x);
_local2.y = (View.y + OffsetFromLevelLayer.y);
_local3.text = String(ScoreForDeath);
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).addChild(_local2);
break;
};
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "EnemyAnimationHitEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
break;
case "EnemyAnimationEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "EnemyAnimationAttackEnd":
TryNewPrimaryState(Enemy.SEC_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "EnemyAnimationDieEnd":
View.visible = false;
HUDManager.Instance.AddScore(ScoreForDeath);
break;
};
}
public function LoadMyConfig():void{
Fragility = ConfigLoader.Instance.Config["DroideGreenFragility"];
EnergyToSubtractBenAttack = ConfigLoader.Instance.Config["DroideGreenEnergySubtractsForAttack"];
EnergyToSubtractBenShot = ConfigLoader.Instance.Config["DroideGreenEnergySubtractsForShot"];
EnergyToSubtractBenHit = ConfigLoader.Instance.Config["DroideGreenEnergySubtractsForHit"];
MAX_ACCOUNTANT = ConfigLoader.Instance.Config["DroideGreenMaxAccountant"];
ScoreForDeath = ConfigLoader.Instance.Config["DroideGreenScoreForDeath"];
MIN_DISTANCE_OF_BEN = ConfigLoader.Instance.Config["DroideGreenMinDistanceOfBen"];
ModSpeed = ConfigLoader.Instance.Config["DroideGreenVelocity"];
_posXShot = ConfigLoader.Instance.Config["DroideGreenPositionShotX"];
_posYShot = ConfigLoader.Instance.Config["DroideGreenPositionShotY"];
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_HIT:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_DIE:
PrimaryState = _arg1;
_local2 = true;
Dead = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
public function ShotsEnemy():void{
TryNewSecondaryState(Enemy.SEC_ST_ATTACK);
_globalShotPosition = View.localToGlobal(new Point());
_globalShotPosition.y = (_globalShotPosition.y + _posYShot);
_globalShotPosition.x = (_globalShotPosition.x + ((Direction)==1) ? _posXShot : -(_posXShot));
ManagerShotsEnemy.AddShot(_globalShotPosition, 0, View.rotation, EnergyToSubtractBenShot, BenTen.View.localToGlobal(new Point()));
Sfx.PlaySound(Sfx.SFX_ENEMY_SHOT);
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if (_secondaryStateMc == null){
return;
};
_secondaryStateMc.gotoAndStop(_secondaryStateLabels[_arg1]);
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.invalidate();
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == SecondaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.SEC_ST_IDLE:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_ATTACK:
if (SecondaryState == Enemy.SEC_ST_IDLE){
SecondaryState = _arg1;
_local2 = true;
};
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
override public function Update(_arg1:Number):void{
var _local2:int;
var _local3:Number;
if (((Dead) || (BenTen.Dead))){
if (((BenTen.Dead) && (!((SecondaryState == SEC_ST_ATTACK))))){
if (Dead){
View.visible = false;
};
};
return;
};
if (PrimaryState == Enemy.PRI_ST_HIT){
return;
};
if (_accountant < MAX_ACCOUNTANT){
_accountant++;
} else {
if (Active){
this.ShotsEnemy();
};
_accountant = 0;
};
PreviousAbsoluteX = CurrentAbsoluteX;
PreviousAbsoluteY = CurrentAbsoluteY;
_local2 = (BenTen.X - (View.x + OffsetFromLevelLayer.x));
_local3 = MovieClipUtils.Instance.GetScreenPosition(View).x;
if ((((((_local2 < MIN_DISTANCE_OF_BEN)) && ((_local3 > 0)))) && ((_local3 < 600)))){
Active = true;
} else {
Active = false;
};
if (_local2 < 0){
View.scaleX = 1;
} else {
if (_local2 > 0){
View.scaleX = -1;
};
};
if (Active){
_nextX = (Math.abs(ModSpeed) * Math.cos(_radianesRotation));
_nextY = (Math.abs(ModSpeed) * Math.sin(_radianesRotation));
if (_nextX > SpeedX){
SpeedX = (SpeedX + _dxy);
} else {
SpeedX = (SpeedX - _dxy);
};
if (_nextY > SpeedY){
SpeedY = (SpeedY + _dxy);
} else {
SpeedY = (SpeedY - _dxy);
};
if (SpeedX != 0){
PreviousAbsoluteX = CurrentAbsoluteX;
CurrentAbsoluteX = (CurrentAbsoluteX + (SpeedX * _arg1));
};
if (SpeedY != 0){
PreviousAbsoluteY = CurrentAbsoluteY;
CurrentAbsoluteY = (CurrentAbsoluteY + (SpeedY * _arg1));
};
};
}
override public function Flecha(_arg1:Number, _arg2:int):void{
_radianesRotation = ((_arg1 * Math.PI) / 180);
}
}
}//package enemies
Section 253
//DroideRed (enemies.DroideRed)
package enemies {
import flash.events.*;
import flash.display.*;
import ui.*;
import model.*;
import flash.geom.*;
import flash.text.*;
import config.*;
import view.*;
import assets.*;
public class DroideRed extends Enemy {
private var _jumpingPoseMc:MovieClip;// = null
private var MIN_DISTANCE_OF_BEN:int;
public function DroideRed(_arg1:MovieClip, _arg2:Character, _arg3:ShotsEnemyManager, _arg4:int, _arg5:Point){
var _local6:Number;
_jumpingPoseMc = null;
super(_arg1, _arg2, _arg3, _arg4, _arg5);
Type = 2;
Direction = 0;
SpeedX = 0;
SpeedY = 0;
GoOnBen = true;
ModSpeed = (Character.MAX_SPEED_X * 0.2);
HitAreaAttack = MovieClip(View.getChildByName("hitAreaAttack_mc"));
View.addEventListener("EnemyAnimationDieEnd", DispatchEvent);
View.addEventListener("EnemyAnimationHitEnd", DispatchEvent);
View.addEventListener("EnemyAnimationEnd", DispatchEvent);
View.addEventListener("EnemyAnimationAttackEnd", DispatchEvent);
View.addEventListener("EnemyAnimationFallEnd", DispatchEvent);
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
_local6 = Math.random();
if (_local6 < 0.5){
View.scaleX = -1;
Direction = 1;
} else {
View.scaleX = 1;
Direction = -1;
};
LoadMyConfig();
}
private function ResetSecondStateMc(_arg1:Event):void{
var _local2:MovieClip;
var _local3:TextField;
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, ResetSecondStateMc);
switch (PrimaryState){
case Enemy.PRI_ST_IDLE:
_secondaryStateMc = ((View.getChildByName("droide_mc") as MovieClip).getChildByName("brazo_mc") as MovieClip);
break;
case Enemy.PRI_ST_RUNNING:
_secondaryStateMc = ((View.getChildByName("droide_mc") as MovieClip).getChildByName("brazo_mc") as MovieClip);
break;
case Enemy.PRI_ST_HIT:
case Enemy.PRI_ST_FALL:
_secondaryStateMc = _primaryStateMc;
break;
case Enemy.PRI_ST_DIE:
_secondaryStateMc = _primaryStateMc;
_local2 = new CoinMCAsset();
_local3 = ((_local2.getChildByName("puntajePowerUp_mc") as MovieClip).getChildByName("puntajePowerUp_txt") as TextField);
_local2.x = (View.x + OffsetFromLevelLayer.x);
_local2.y = (View.y + OffsetFromLevelLayer.y);
_local3.text = String(ScoreForDeath);
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).addChild(_local2);
break;
case Enemy.PRI_ST_JUMPING:
_jumpingPoseMc = MovieClip(View.getChildByName("droide_mc"));
_secondaryStateMc = MovieClip(View.getChildByName("droide_mc"));
break;
};
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "EnemyAnimationHitEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "EnemyAnimationEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "EnemyAnimationFallEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "EnemyAnimationDieEnd":
View.visible = false;
HUDManager.Instance.AddScore(ScoreForDeath);
break;
case "EnemyAnimationAttackEnd":
GoOnBen = false;
TryNewSecondaryState(PrimaryState);
break;
};
}
public function LoadMyConfig():void{
Fragility = ConfigLoader.Instance.Config["DroideRedFragility"];
EnergyToSubtractBenAttack = ConfigLoader.Instance.Config["DroideRedEnergySubtractsForAttack"];
EnergyToSubtractBenShot = ConfigLoader.Instance.Config["DroideRedEnergySubtractsForShot"];
EnergyToSubtractBenHit = ConfigLoader.Instance.Config["DroideRedEnergySubtractsForHit"];
ScoreForDeath = ConfigLoader.Instance.Config["DroideRedScoreForDeath"];
MIN_DISTANCE_OF_BEN = ConfigLoader.Instance.Config["DroideRedMinDistanceOfBen"];
}
public function FlipView():void{
var _local1:int;
_local1 = (BenTen.X - (View.x + OffsetFromLevelLayer.x));
if ((((((_local1 > 100)) && (!(GoOnBen)))) && ((Direction == 1)))){
View.scaleX = 1;
Direction = -1;
} else {
if ((((((_local1 < -100)) && (!(GoOnBen)))) && ((Direction == -1)))){
View.scaleX = -1;
Direction = 1;
};
};
}
private function CurrentPlatformIsMoves():void{
if (CurrentPlatform != null){
if (CurrentPlatform.Moves){
PreviousAbsoluteY = CurrentAbsoluteY;
PreviousAbsoluteX = CurrentAbsoluteX;
CurrentAbsoluteX = (CurrentAbsoluteX + (CurrentPlatform.X - CurrentPlatformPreviousX));
CurrentAbsoluteY = (CurrentAbsoluteY + (CurrentPlatform.Y - CurrentPlatformPreviousY));
CurrentPlatformPreviousX = CurrentPlatform.X;
CurrentPlatformPreviousY = CurrentPlatform.Y;
};
};
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_HIT:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_FALL:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_RUNNING:
if (Jumping){
break;
};
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_JUMPING:
if (SecondaryState == Enemy.SEC_ST_ATTACK){
break;
};
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_DIE:
PrimaryState = _arg1;
_local2 = true;
Dead = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
override public function DownConditional():void{
}
override public function UpObligatory():void{
if (((!((CurrentPlatform == null))) && ((PrimaryState == Enemy.PRI_ST_RUNNING)))){
PreviousSpeedY = SpeedY;
SpeedY = -(Enemy.MAX_JUMP_STRENGTH);
CurrentPlatform = null;
Jumping = true;
TryNewPrimaryState(PRI_ST_JUMPING);
Sfx.PlaySound(Sfx.SFX_ENEMY_JUMP);
};
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if (_secondaryStateMc == null){
return;
};
if (PrimaryState != Enemy.PRI_ST_HIT){
_secondaryStateMc.gotoAndStop(_secondaryStateLabels[_arg1]);
};
}
override public function UpConditional():void{
if ((BenTen.CurrentAbsoluteY + (View.height / 2)) >= CurrentAbsoluteY){
return;
};
if (CurrentPlatform != null){
PreviousSpeedY = SpeedY;
SpeedY = -(Enemy.MAX_JUMP_STRENGTH);
CurrentPlatform = null;
Jumping = true;
TryNewPrimaryState(PRI_ST_JUMPING);
Sfx.PlaySound(Sfx.SFX_ENEMY_JUMP);
};
}
override public function DownObligatory():void{
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.invalidate();
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
override public function LeftConditional():void{
if (View.scaleX < 0){
Direction = -1;
View.scaleX = (View.scaleX * -1);
GoOnBen = true;
};
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == SecondaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.SEC_ST_IDLE:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_RUN:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_ATTACK:
if (PrimaryState == Enemy.PRI_ST_JUMPING){
break;
};
SecondaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
override public function RightConditional():void{
if (View.scaleX > 0){
Direction = 1;
View.scaleX = (View.scaleX * -1);
GoOnBen = true;
};
}
override public function RightObligatory():void{
if (View.scaleX > 0){
Direction = 1;
View.scaleX = (View.scaleX * -1);
GoOnBen = false;
};
}
override public function Update(_arg1:Number):void{
var _local2:int;
if (((Dead) || (BenTen.Dead))){
if (((BenTen.Dead) && (!((SecondaryState == SEC_ST_ATTACK))))){
if (Dead){
View.visible = false;
};
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
};
this.CurrentPlatformIsMoves();
return;
};
if (PrimaryState == Enemy.PRI_ST_HIT){
this.CurrentPlatformIsMoves();
return;
};
_local2 = (BenTen.X - (View.x + OffsetFromLevelLayer.x));
if (View.name == "problemDroid"){
trace(("distanceOfBen: " + _local2));
};
if (Math.abs(_local2) < MIN_DISTANCE_OF_BEN){
Active = true;
} else {
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
Active = false;
};
if (CurrentPlatform != null){
if (CurrentPlatform.Moves){
Active = true;
};
};
if (Active){
if ((((((((_local2 > 100)) && (GoOnBen))) && (RangeOfVision()))) && ((Direction == -1)))){
View.scaleX = (View.scaleX * -1);
Direction = 1;
} else {
if ((((((((_local2 < -100)) && (GoOnBen))) && (RangeOfVision()))) && ((Direction == 1)))){
View.scaleX = (View.scaleX * -1);
Direction = -1;
};
};
if (Direction != 0){
PreviousSpeedX = SpeedX;
SpeedX = (ModSpeed * Direction);
};
if (CurrentPlatform == null){
PreviousSpeedY = SpeedY;
SpeedY = (SpeedY + (GRAVITY * _arg1));
if (SpeedY > MAX_SPEED_Y){
SpeedY = MAX_SPEED_Y;
};
UpdateAirPose((SpeedY > 0));
} else {
PreviousSpeedY = SpeedY;
SpeedY = 0;
this.CurrentPlatformIsMoves();
};
if (SpeedX != 0){
if (((((!((SecondaryState == Enemy.SEC_ST_ATTACK))) && (!((PrimaryState == Enemy.PRI_ST_HIT))))) && (!((PrimaryState == Enemy.PRI_ST_FALL))))){
TryNewPrimaryState(Enemy.PRI_ST_RUNNING);
TryNewSecondaryState(Enemy.SEC_ST_RUN);
};
if ((((PrimaryState == Enemy.PRI_ST_RUNNING)) || ((PrimaryState == Enemy.PRI_ST_JUMPING)))){
PreviousAbsoluteX = CurrentAbsoluteX;
CurrentAbsoluteX = (CurrentAbsoluteX + (SpeedX * _arg1));
};
} else {
if (SecondaryState != Enemy.SEC_ST_ATTACK){
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_RUN);
};
};
if (SpeedY != 0){
PreviousAbsoluteY = CurrentAbsoluteY;
CurrentAbsoluteY = (CurrentAbsoluteY + (SpeedY * _arg1));
};
};
}
override public function LeftObligatory():void{
if (View.scaleX < 0){
Direction = -1;
View.scaleX = (View.scaleX * -1);
GoOnBen = false;
};
}
public function RangeOfVision():Boolean{
return (true);
}
override public function UpdateAirPose(_arg1:Boolean):void{
if (_jumpingPoseMc != null){
if (_arg1){
if (((!((_jumpingPoseMc.currentFrame == 10))) && ((_jumpingPoseMc.currentFrame < 10)))){
_jumpingPoseMc.gotoAndStop(10);
} else {
if (_jumpingPoseMc.currentFrame < 19){
_jumpingPoseMc.nextFrame();
};
};
};
if (!_arg1){
if (((!((_jumpingPoseMc.currentFrame == 1))) && ((_jumpingPoseMc.currentFrame > 10)))){
_jumpingPoseMc.gotoAndStop(1);
} else {
if (_jumpingPoseMc.currentFrame < 10){
_jumpingPoseMc.nextFrame();
};
};
};
};
}
}
}//package enemies
Section 254
//EnemiesIAMarks (enemies.EnemiesIAMarks)
package enemies {
import flash.display.*;
import flash.geom.*;
import collision.*;
public class EnemiesIAMarks implements ICollidable {
private var _hitArea:MovieClip;
private var _view:MovieClip;
private var _offsetFromLevelLayer:Point;// = null
private var _action:String;
public function EnemiesIAMarks(_arg1:MovieClip, _arg2:Point){
_offsetFromLevelLayer = null;
super();
_view = _arg1;
_offsetFromLevelLayer = _arg2.clone();
_hitArea = (_view.getChildByName("hitArea_mc") as MovieClip);
if (_hitArea == null){
_hitArea = _view;
} else {
_hitArea.alpha = 0;
};
_action = _view.currentLabel;
_view.alpha = 0;
}
public function get View():MovieClip{
return (_view);
}
public function get OffsetFromLevelLayer():Point{
return (_offsetFromLevelLayer);
}
public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.y + _local1.height));
}
public function GetCollisionSprite():Sprite{
if (_hitArea == null){
return (null);
};
return (Sprite(_hitArea));
}
public function GetType():int{
return (8);
}
public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
if ((((_hitArea == null)) || ((_hitArea.stage == null)))){
return (null);
};
_local1 = _hitArea.getBounds(_hitArea.stage);
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
public function get Action():String{
return (_action);
}
public function get TopGlobalY():Number{
return (_hitArea.getBounds(_hitArea.stage).y);
}
public function SetType(_arg1:int):void{
}
public function GetRadio():int{
if (_hitArea == null){
return (0);
};
return (((Math.max(_hitArea.width, _hitArea.height) >> 1) + 1));
}
public function get LeftGlobalX():Number{
return (_hitArea.getBounds(_hitArea.stage).x);
}
public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.x + _local1.width));
}
}
}//package enemies
Section 255
//Enemy (enemies.Enemy)
package enemies {
import flash.display.*;
import flash.utils.*;
import ui.*;
import game.*;
import model.*;
import flash.geom.*;
import collision.*;
import config.*;
public class Enemy implements ICollidable {
private var _direction:int;
private var _speedX:Number;
private var _speedY:Number;
private var _accountantTinte:int;// = 0
private var _type:int;
private var _active:Boolean;
private var gravity:Number;
protected var _secondaryStateMc:MovieClip;
private var _energyToSubtractBenHit:int;
private var _markIAEnable:String;
private var _oldSpeedX:Number;
private var _fragility:Number;
private var _oldSpeedY:Number;
private var _sublevel:int;// = 1
private var max_speed_y:int;
private var _timeOfVariation:int;// = 0
protected var _secondaryStateLabels:Dictionary;
private var _colorTinte:uint;// = 0
protected var _currentPlatform:Platform;
private var _hit:Boolean;// = false
private var _goOnBen:Boolean;
protected var _previousPrimaryState:int;
private var _jumpStrengthRemaining:int;
private var _hitAreaAttack:MovieClip;// = null
protected var _primaryStateLabels:Dictionary;
private var _dead:Boolean;// = false
private var _action:int;
private var _timeOfDuration:int;// = 0
private var running_velocity:int;
protected var _previousSecondaryState:int;
private var _hitArea:MovieClip;
private var _view:MovieClip;// = null
protected var _primaryState:int;// = -1
private var _energyToSubtractBenShot:int;
private var max_jump_strength:int;
private var _energyToSubtractBenAttack:int;
protected var _secondaryState:int;// = -1
private var _energy:Number;
private var _character:Character;
private var _alphaTinte:Number;// = 0
private var _jumping:Boolean;
private var _modSpeed:Number;
private var _offsetFromLevelLayer:Point;// = null
protected var _primaryStateMc:MovieClip;
private var jump_velocity:int;
private var _tinte:Boolean;// = false
private var _scoreForDeath:int;
private var _shotsEnemyManager:ShotsEnemyManager;
private var _oldX:Number;
private var _oldY:Number;
protected var _currentPlatformPreviousX:Number;
protected var _currentPlatformPreviousY:Number;
public static const SEC_ST_LEFTATTACKTWO_LBL:String = "leftAttackTwo";
public static const PRI_ST_JUMPING_LBL:String = "jump";
public static const ACTION_DOWN:uint = 4;
public static const PRI_ST_IDLE_LBL:String = "idle";
public static const SEC_ST_RIGHTATTACKONE:int = 5;
public static const PRI_ST_DIE_LBL:String = "die";
public static const ACTION_FIREX:uint = 6;
public static const ACTION_FIREZ:uint = 5;
public static const ACTION_SPACE:uint = 7;
public static const SEC_ST_LEFTATTACKONE_LBL:String = "leftAttackOne";
public static const ACTION_NONE:uint = 0;
public static const SEC_ST_SUPERATTACK_LBL:String = "superAttack";
public static const PRI_ST_HIT_LBL:String = "hit";
public static const SEC_ST_LEFTATTACKTWO:int = 7;
public static const PRI_ST_JUMPING:int = 2;
public static const SEC_ST_ATTACK_LBL:String = "attack";
public static const ACTION_RIGHT:uint = 2;
public static const PRI_ST_FALL_LBL:String = "fall";
public static const SEC_ST_RUN_LBL:String = "run";
public static const PRI_ST_IDLE:int = 0;
public static const SEC_ST_IDLE_LBL:String = "idle";
public static const PRI_ST_DIE:int = 4;
public static const ACTION_UP:uint = 3;
public static const MAX_SPEED_X:int = 300;
public static const MAX_SPEED_Y:int = 10000;
public static const SEC_ST_LEFTATTACKONE:int = 3;
public static const PRI_ST_HIT:int = 3;
public static const PRI_ST_RUNNING_LBL:String = "run";
public static const SEC_ST_SUPERATTACK:int = 9;
public static const SEC_ST_RIGHTATTACKTWO_LBL:String = "rightAttackTwo";
public static const SEC_ST_ATTACK:int = 2;
public static const SEC_ST_RUN:int = 1;
public static const PRI_ST_FALL:int = 5;
public static const SEC_ST_IDLE:int = 0;
public static const SEC_ST_RIGHTATTACKONE_LBL:String = "rightAttackOne";
public static const ACTION_LEFT:uint = 1;
public static const SEC_ST_RIGHTATTACKTWO:int = 8;
public static const PRI_ST_RUNNING:int = 1;
public static const MAX_JUMP_STRENGTH:int = 400;
public function Enemy(_arg1:MovieClip, _arg2:Character, _arg3:ShotsEnemyManager, _arg4:int, _arg5:Point){
_view = null;
_dead = false;
_primaryState = -1;
_secondaryState = -1;
_hitAreaAttack = null;
_sublevel = 1;
_offsetFromLevelLayer = null;
_hit = false;
_tinte = false;
_accountantTinte = 0;
_timeOfDuration = 0;
_timeOfVariation = 0;
_colorTinte = 0;
_alphaTinte = 0;
super();
_view = _arg1;
_offsetFromLevelLayer = _arg5.clone();
_shotsEnemyManager = _arg3;
_hitArea = (_view.getChildByName("hitArea_mc") as MovieClip);
if (_hitArea == null){
_hitArea = _view;
} else {
_hitArea.alpha = 0;
};
_character = _arg2;
_primaryStateLabels = new Dictionary();
_secondaryStateLabels = new Dictionary();
_primaryStateLabels[Enemy.PRI_ST_IDLE] = Enemy.PRI_ST_IDLE_LBL;
_primaryStateLabels[Enemy.PRI_ST_RUNNING] = Enemy.PRI_ST_RUNNING_LBL;
_primaryStateLabels[Enemy.PRI_ST_JUMPING] = Enemy.PRI_ST_JUMPING_LBL;
_primaryStateLabels[Enemy.PRI_ST_HIT] = Enemy.PRI_ST_HIT_LBL;
_primaryStateLabels[Enemy.PRI_ST_DIE] = Enemy.PRI_ST_DIE_LBL;
_primaryStateLabels[Enemy.PRI_ST_FALL] = Enemy.PRI_ST_FALL_LBL;
_secondaryStateLabels[Enemy.SEC_ST_IDLE] = Enemy.SEC_ST_IDLE_LBL;
_secondaryStateLabels[Enemy.SEC_ST_RUN] = Enemy.SEC_ST_RUN_LBL;
_secondaryStateLabels[Enemy.SEC_ST_ATTACK] = Enemy.SEC_ST_ATTACK_LBL;
_secondaryStateLabels[Enemy.SEC_ST_LEFTATTACKONE] = Enemy.SEC_ST_LEFTATTACKONE_LBL;
_secondaryStateLabels[Enemy.SEC_ST_LEFTATTACKTWO] = Enemy.SEC_ST_LEFTATTACKTWO_LBL;
_secondaryStateLabels[Enemy.SEC_ST_RIGHTATTACKONE] = Enemy.SEC_ST_RIGHTATTACKONE_LBL;
_secondaryStateLabels[Enemy.SEC_ST_RIGHTATTACKTWO] = Enemy.SEC_ST_RIGHTATTACKTWO_LBL;
_secondaryStateLabels[Enemy.SEC_ST_SUPERATTACK] = Enemy.SEC_ST_SUPERATTACK_LBL;
_primaryStateMc = _view;
_secondaryStateMc = null;
Active = false;
Energy = 100;
LoadConfig();
_sublevel = _arg4;
}
public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
if ((((_hitArea == null)) || ((_hitArea.stage == null)))){
return (null);
};
_local1 = _hitArea.getBounds(_hitArea.stage);
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
public function get GoOnBen():Boolean{
return (_goOnBen);
}
public function set GoOnBen(_arg1:Boolean):void{
_goOnBen = _arg1;
}
public function set HitAreaAttack(_arg1:MovieClip):void{
_hitAreaAttack = _arg1;
}
public function get TopGlobalY():Number{
return (_hitArea.getBounds(_hitArea.stage).y);
}
public function set SpeedY(_arg1:Number):void{
_speedY = _arg1;
}
public function get AlphaTinte():Number{
return (_alphaTinte);
}
public function get GRAVITY():int{
return (gravity);
}
public function get AccountantTinte():int{
return (_accountantTinte);
}
public function set SpeedX(_arg1:Number):void{
_speedX = _arg1;
}
public function get MAX_SPEED_Y():int{
return (max_speed_y);
}
public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.y + _local1.height));
}
public function set Active(_arg1:Boolean):void{
_active = _arg1;
}
public function TryNewPrimaryState(_arg1:int):Boolean{
return (true);
}
public function get X():Number{
return (_view.x);
}
public function set AlphaTinte(_arg1:Number):void{
_alphaTinte = _arg1;
}
public function set AccountantTinte(_arg1:int):void{
_accountantTinte = _arg1;
}
public function DownConditional():void{
}
public function GetRadio():int{
if (_hitArea == null){
return (0);
};
return (((Math.max(_hitArea.width, _hitArea.height) >> 1) + 1));
}
public function get PreviousPrimaryState():int{
return (_previousPrimaryState);
}
public function get CurrentAbsoluteX():Number{
return (_view.x);
}
public function get CurrentAbsoluteY():Number{
return (_view.y);
}
public function get PreviousAbsoluteX():Number{
return (_oldX);
}
public function get PreviousAbsoluteY():Number{
return (_oldY);
}
public function get Y():Number{
return (_view.y);
}
public function get PreviousSecondaryState():int{
return (_previousSecondaryState);
}
public function get Dead():Boolean{
return (_dead);
}
public function get ModSpeed():Number{
return (_modSpeed);
}
public function GetCollisionSprite():Sprite{
if (_hitArea == null){
return (null);
};
return (Sprite(_hitArea));
}
public function set ColorTinte(_arg1:uint):void{
_colorTinte = _arg1;
}
public function get HitArea():MovieClip{
return (_hitArea);
}
public function get Energy():Number{
return (_energy);
}
public function SetType(_arg1:int):void{
}
public function get MarkIAEnable():String{
return (_markIAEnable);
}
public function get Tinte():Boolean{
return (_tinte);
}
public function set Y(_arg1:Number):void{
_view.y = _arg1;
}
public function set Type(_arg1:int):void{
_type = _arg1;
}
public function get EnergyToSubtractBenShot():int{
return (_energyToSubtractBenShot);
}
public function get CurrentPlatformPreviousY():Number{
return (_currentPlatformPreviousY);
}
public function set X(_arg1:Number):void{
_view.x = _arg1;
}
public function set EnergyToSubtractBenHit(_arg1:int):void{
_energyToSubtractBenHit = _arg1;
}
public function set TimeOfDuration(_arg1:int):void{
_timeOfDuration = _arg1;
}
public function get CurrentPlatformPreviousX():Number{
return (_currentPlatformPreviousX);
}
public function get View():MovieClip{
return (_view);
}
public function set Sublevel(_arg1:int):void{
_sublevel = _arg1;
}
public function UpConditional():void{
}
public function set PreviousPrimaryState(_arg1:int):void{
_previousPrimaryState = _arg1;
}
public function set Direction(_arg1:int):void{
_direction = _arg1;
}
public function get TimeOfVariation():int{
return (_timeOfVariation);
}
public function set CurrentAbsoluteX(_arg1:Number):void{
_view.x = _arg1;
}
public function set CurrentAbsoluteY(_arg1:Number):void{
_view.y = _arg1;
}
public function DownObligatory():void{
}
public function set PreviousAbsoluteY(_arg1:Number):void{
_oldY = _arg1;
}
public function GotoPrimaryStateAnimation(_arg1:int):void{
}
public function TryNewSecondaryState(_arg1:int):Boolean{
return (true);
}
public function get Jumping():Boolean{
return (_jumping);
}
public function set PreviousSecondaryState(_arg1:int):void{
_previousSecondaryState = _arg1;
}
public function get PreviousSpeedY():Number{
return (_oldSpeedY);
}
public function RightConditional():void{
}
public function set PreviousAbsoluteX(_arg1:Number):void{
_oldX = _arg1;
}
public function set Hit(_arg1:Boolean):void{
_hit = _arg1;
}
public function get LeftGlobalX():Number{
return (_hitArea.getBounds(_hitArea.stage).x);
}
public function get PreviousSpeedX():Number{
return (_oldSpeedX);
}
public function Update(_arg1:Number):void{
}
public function get CurrentPlatform():Platform{
return (_currentPlatform);
}
public function get EnergyToSubtractBenAttack():int{
return (_energyToSubtractBenAttack);
}
public function get OffsetFromLevelLayer():Point{
return (_offsetFromLevelLayer);
}
public function get SpeedY():Number{
return (_speedY);
}
public function get HitAreaAttack():MovieClip{
return (_hitAreaAttack);
}
public function get SpeedX():Number{
return (_speedX);
}
public function set ModSpeed(_arg1:Number):void{
_modSpeed = _arg1;
}
public function Show():void{
_view.visible = true;
}
public function set Dead(_arg1:Boolean):void{
_dead = _arg1;
}
public function get Active():Boolean{
return (_active);
}
public function set SecondaryState(_arg1:int):void{
_previousSecondaryState = _secondaryState;
_secondaryState = _arg1;
}
public function get ColorTinte():uint{
return (_colorTinte);
}
public function set MarkIAEnable(_arg1:String):void{
_markIAEnable = _arg1;
}
public function get TimeOfDuration():int{
return (_timeOfDuration);
}
public function get Type():int{
return (_type);
}
public function set Tinte(_arg1:Boolean):void{
_tinte = _arg1;
}
public function set EnergyToSubtractBenShot(_arg1:int):void{
_energyToSubtractBenShot = _arg1;
}
public function get Direction():int{
return (_direction);
}
public function Hide():void{
_view.visible = false;
}
public function get Sublevel():int{
return (_sublevel);
}
public function get EnergyToSubtractBenHit():int{
return (_energyToSubtractBenHit);
}
public function set Energy(_arg1:Number):void{
_energy = _arg1;
}
public function set CurrentPlatformPreviousX(_arg1:Number):void{
_currentPlatformPreviousX = _arg1;
}
public function set BenTen(_arg1:Character):void{
}
public function set CurrentPlatformPreviousY(_arg1:Number):void{
_currentPlatformPreviousY = _arg1;
}
public function get MAX_JUMP_STRENGTH():int{
return (max_jump_strength);
}
public function set ManagerShotsEnemy(_arg1:ShotsEnemyManager){
_shotsEnemyManager = _arg1;
}
public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.x + _local1.width));
}
public function get Hit():Boolean{
return (_hit);
}
public function get RUNNING_VELOCITY():int{
return (running_velocity);
}
public function UpObligatory():void{
}
public function set ScoreForDeath(_arg1:int):void{
_scoreForDeath = _arg1;
}
public function TryTransformation(_arg1:int):void{
}
public function GetType():int{
return (2);
}
public function GotoSecondaryStateAnimation(_arg1:int):void{
}
public function set TimeOfVariation(_arg1:int):void{
_timeOfVariation = _arg1;
}
public function get SecondaryState():int{
return (_secondaryState);
}
public function set PrimaryState(_arg1:int):void{
_previousPrimaryState = _primaryState;
_primaryState = _arg1;
}
public function set Jumping(_arg1:Boolean):void{
_jumping = _arg1;
}
public function set Fragility(_arg1:Number):void{
_fragility = _arg1;
}
public function get BenTen():Character{
return (_character);
}
public function get ManagerShotsEnemy():ShotsEnemyManager{
return (_shotsEnemyManager);
}
public function get ScoreForDeath():int{
return (_scoreForDeath);
}
public function RightObligatory():void{
}
public function get PrimaryState():int{
return (_primaryState);
}
public function set PreviousSpeedX(_arg1:Number):void{
_oldSpeedX = _arg1;
}
public function get JUMP_VELOCITY():Number{
return (jump_velocity);
}
public function set CurrentPlatform(_arg1:Platform):void{
_currentPlatform = _arg1;
if (PrimaryState == PRI_ST_HIT){
SpeedY = 0;
};
if (_currentPlatform == null){
_jumping = true;
if (PrimaryState != PRI_ST_HIT){
TryNewPrimaryState(PRI_ST_JUMPING);
};
return;
};
_jumping = false;
_jumpStrengthRemaining = MAX_JUMP_STRENGTH;
if (_arg1.Moves){
_currentPlatformPreviousX = _arg1.X;
_currentPlatformPreviousY = _arg1.Y;
};
}
public function get Fragility():Number{
return (_fragility);
}
public function EnergySubtract(_arg1:Number){
var _local2:int;
if (Dead){
return;
};
_energy = (_energy - (_arg1 * Fragility));
if (GameManager.Instance.FinalLevel){
_local2 = (100 - Energy);
if (_local2 > 0){
HUDManager.Instance.LifeBarBossMC.gotoAndStop(_local2);
} else {
if (_local2 == 0){
HUDManager.Instance.LifeBarBossMC.gotoAndStop(1);
} else {
HUDManager.Instance.LifeBarBossMC.gotoAndStop(100);
};
};
};
if (_energy <= 0){
Dead = true;
TryNewPrimaryState(Enemy.PRI_ST_DIE);
PreviousSpeedX = 0;
PreviousSpeedY = 0;
SpeedX = 0;
SpeedY = 0;
if (Type == 5){
Sfx.PlaySound(Sfx.SFX_ENEMY_DIE, false, -1, 0, 2);
} else {
Sfx.PlaySound(Sfx.SFX_ENEMY_DIE);
};
};
}
public function set PreviousSpeedY(_arg1:Number):void{
_oldSpeedY = _arg1;
}
public function LeftConditional():void{
}
public function LoadConfig():void{
running_velocity = ConfigLoader.Instance.Config["EnemyRunningVelocity"];
jump_velocity = ConfigLoader.Instance.Config["EnemyJumpVelocity"];
gravity = ConfigLoader.Instance.Config["EnemyGravity"];
max_speed_y = ConfigLoader.Instance.Config["EnemyMaxSpeedY"];
max_jump_strength = ConfigLoader.Instance.Config["EnemyMaxJumpStrength"];
}
public function LeftObligatory():void{
}
public function set EnergyToSubtractBenAttack(_arg1:int):void{
_energyToSubtractBenAttack = _arg1;
}
public function Flecha(_arg1:Number, _arg2:int):void{
}
public function UpdateAirPose(_arg1:Boolean):void{
}
}
}//package enemies
Section 256
//EnemyManager (enemies.EnemyManager)
package enemies {
import game.*;
import model.*;
public class EnemyManager {
private var _enemies:Array;
private var _character:Character;
public function Initialize():void{
Reset();
}
public function AddEnemy(_arg1:Enemy):void{
_enemies[(_arg1.Sublevel - 1)].push(_arg1);
}
public function Update(_arg1:Number, _arg2:int, _arg3:int):void{
var _local4:Array;
var _local5:int;
var _local6:Enemy;
_local4 = null;
_local5 = (_arg2 - 1);
while (_local5 < _arg3) {
_local4 = (_enemies[_local5] as Array);
for each (_local6 in _local4) {
_local6.Update(_arg1);
};
_local5++;
};
}
public function Reset():void{
var _local1:int;
_enemies = new Array();
_local1 = 0;
while (_local1 < GameManager.Instance.MaxSublevels) {
_enemies.push(new Array());
_local1++;
};
}
}
}//package enemies
Section 257
//FinalBossesOne (enemies.FinalBossesOne)
package enemies {
import flash.events.*;
import flash.display.*;
import ui.*;
import game.*;
import model.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import utils.*;
import config.*;
public class FinalBossesOne extends Enemy {
private var _posXShot:int;
private var _jumpingPoseMc:MovieClip;// = null
private var _globalShotPosition:Point;
private var _accountant:int;
private var MAX_ACCOUNTANT:int;
private var _posYShot:int;
private var _accountTimeTinte:int;// = 0
public function FinalBossesOne(_arg1:MovieClip, _arg2:Character, _arg3:ShotsEnemyManager, _arg4:int, _arg5:Point){
_jumpingPoseMc = null;
_accountTimeTinte = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5);
Type = 4;
Direction = -1;
SpeedX = 0;
SpeedY = 0;
GoOnBen = true;
ModSpeed = (Character.MAX_SPEED_X * 0.2);
_accountant = Math.ceil(((Math.random() * MAX_ACCOUNTANT) / 0.8));
HitAreaAttack = MovieClip(View.getChildByName("hitAreaAttack_mc"));
View.addEventListener("BossesAnimationDieEnd", DispatchEvent);
View.addEventListener("BossesAnimationHitEnd", DispatchEvent);
View.addEventListener("BossesAnimationEnd", DispatchEvent);
View.addEventListener("BossesAnimationAttackEnd", DispatchEvent);
View.addEventListener("BossesAnimationAttackBegin", DispatchEvent);
View.addEventListener("BossesAnimationFallEnd", DispatchEvent);
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
Active = false;
AccountantTinte = 0;
LoadMyConfig();
}
private function ResetSecondStateMc(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, ResetSecondStateMc);
switch (PrimaryState){
case Enemy.PRI_ST_IDLE:
_secondaryStateMc = ((View.getChildByName("view_mc") as MovieClip).getChildByName("brazo_mc") as MovieClip);
break;
case Enemy.PRI_ST_RUNNING:
_secondaryStateMc = ((View.getChildByName("view_mc") as MovieClip).getChildByName("brazo_mc") as MovieClip);
break;
case Enemy.PRI_ST_HIT:
case Enemy.PRI_ST_FALL:
_secondaryStateMc = _primaryStateMc;
break;
case Enemy.PRI_ST_DIE:
_secondaryStateMc = _primaryStateMc;
break;
case Enemy.PRI_ST_JUMPING:
_jumpingPoseMc = MovieClip(View.getChildByName("view_mc"));
_secondaryStateMc = MovieClip(View.getChildByName("view_mc"));
break;
};
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "BossesAnimationHitEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationFallEnd":
TryNewPrimaryState(Enemy.SEC_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationDieEnd":
View.visible = false;
HUDManager.Instance.BossFinal();
if (GameManager.Instance.GameWinner){
Global.DispatchGameEvent("LevelComplete");
} else {
GameManager.Instance.ActivePowerUp();
};
break;
case "BossesAnimationAttackEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationAttackBegin":
_globalShotPosition = View.localToGlobal(new Point());
_globalShotPosition.y = (_globalShotPosition.y + _posYShot);
_globalShotPosition.x = (_globalShotPosition.x + ((Direction)==1) ? _posXShot : -(_posXShot));
ManagerShotsEnemy.AddShot(_globalShotPosition, View.scaleX, Direction, EnergyToSubtractBenShot);
Sfx.PlaySound(Sfx.SFX_ENEMY_SHOT);
break;
};
}
public function LoadMyConfig():void{
Fragility = ConfigLoader.Instance.Config["BossesOneFragility"];
EnergyToSubtractBenAttack = ConfigLoader.Instance.Config["BossesOneEnergySubtractsForAttack"];
EnergyToSubtractBenShot = ConfigLoader.Instance.Config["BossesOneEnergySubtractsForShot"];
EnergyToSubtractBenHit = ConfigLoader.Instance.Config["BossesOneEnergySubtractsForHit"];
MAX_ACCOUNTANT = ConfigLoader.Instance.Config["BossesOneMaxAccountant"];
ScoreForDeath = ConfigLoader.Instance.Config["BossesOneScoreForDeath"];
_posXShot = ConfigLoader.Instance.Config["BossesOnePositionShotX"];
_posYShot = ConfigLoader.Instance.Config["BossesOnePositionShotY"];
TimeOfDuration = ConfigLoader.Instance.Config["BossesOneTimeOfDuration"];
TimeOfVariation = ConfigLoader.Instance.Config["BossesOneTimeOfVariation"];
ColorTinte = ConfigLoader.Instance.Config["BossesOneColorTinte"];
AlphaTinte = ConfigLoader.Instance.Config["BossesOneAlphaTinte"];
}
private function CurrentPlatformIsMoves():void{
if (CurrentPlatform != null){
if (CurrentPlatform.Moves){
PreviousAbsoluteY = CurrentAbsoluteY;
PreviousAbsoluteX = CurrentAbsoluteX;
CurrentAbsoluteX = (CurrentAbsoluteX + (CurrentPlatform.X - CurrentPlatformPreviousX));
CurrentAbsoluteY = (CurrentAbsoluteY + (CurrentPlatform.Y - CurrentPlatformPreviousY));
CurrentPlatformPreviousX = CurrentPlatform.X;
CurrentPlatformPreviousY = CurrentPlatform.Y;
};
};
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_HIT:
if (!Hit){
Hit = true;
};
break;
case Enemy.PRI_ST_RUNNING:
if (Jumping){
break;
};
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_FALL:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_JUMPING:
if ((((SecondaryState == Enemy.SEC_ST_ATTACK)) || ((SecondaryState == Enemy.SEC_ST_SUPERATTACK)))){
break;
};
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_DIE:
PrimaryState = _arg1;
_local2 = true;
Dead = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
override public function DownConditional():void{
}
public function ShotsEnemy():void{
TryNewSecondaryState(Enemy.SEC_ST_SUPERATTACK);
}
override public function UpObligatory():void{
if (((!((CurrentPlatform == null))) && ((PrimaryState == Enemy.PRI_ST_RUNNING)))){
PreviousSpeedY = SpeedY;
SpeedY = -(Enemy.MAX_JUMP_STRENGTH);
CurrentPlatform = null;
Jumping = true;
TryNewPrimaryState(PRI_ST_JUMPING);
Sfx.PlaySound(Sfx.SFX_ENEMY_JUMP);
};
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if (_secondaryStateMc == null){
return;
};
_secondaryStateMc.gotoAndStop(_secondaryStateLabels[_arg1]);
}
override public function UpConditional():void{
if ((BenTen.CurrentAbsoluteY + (View.height / 2)) >= CurrentAbsoluteY){
return;
};
if (CurrentPlatform != null){
PreviousSpeedY = SpeedY;
SpeedY = -(Enemy.MAX_JUMP_STRENGTH);
CurrentPlatform = null;
Jumping = true;
TryNewPrimaryState(PRI_ST_JUMPING);
Sfx.PlaySound(Sfx.SFX_ENEMY_JUMP);
};
}
override public function DownObligatory():void{
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.invalidate();
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
override public function LeftConditional():void{
if (View.scaleX < 0){
Direction = -1;
View.scaleX = (View.scaleX * -1);
GoOnBen = true;
};
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == SecondaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.SEC_ST_IDLE:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_RUN:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_ATTACK:
if ((((((SecondaryState == Enemy.SEC_ST_SUPERATTACK)) || ((PrimaryState == Enemy.PRI_ST_JUMPING)))) || ((PrimaryState == Enemy.PRI_ST_FALL)))){
break;
};
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_SUPERATTACK:
if ((((((SecondaryState == Enemy.SEC_ST_ATTACK)) || ((PrimaryState == Enemy.PRI_ST_JUMPING)))) || ((PrimaryState == Enemy.PRI_ST_FALL)))){
break;
};
SecondaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
override public function RightConditional():void{
if (View.scaleX > 0){
Direction = 1;
View.scaleX = (View.scaleX * -1);
GoOnBen = true;
};
}
override public function RightObligatory():void{
if (View.scaleX > 0){
Direction = 1;
View.scaleX = (View.scaleX * -1);
};
}
override public function Update(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
var _local4:int;
EnergySubtract(0);
if (((Dead) || (BenTen.Dead))){
if (BenTen.Dead){
if (Dead){
View.visible = false;
HUDManager.Instance.BossFinal();
if (GameManager.Instance.GameWinner){
Global.DispatchGameEvent("LevelComplete");
} else {
GameManager.Instance.ActivePowerUp();
};
};
if (CurrentPlatform != null){
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
};
};
this.CurrentPlatformIsMoves();
return;
};
if (PrimaryState == Enemy.PRI_ST_HIT){
this.CurrentPlatformIsMoves();
return;
};
_local2 = MovieClipUtils.Instance.GetScreenPosition(BenTen.View).x;
_local3 = MovieClipUtils.Instance.GetScreenPosition(View).x;
Active = true;
if (Active){
if ((((_local2 < _local3)) && ((Direction == -1)))){
GoOnBen = true;
};
if ((((_local2 > _local3)) && ((Direction == 1)))){
GoOnBen = true;
};
_local4 = (BenTen.X - (View.x + OffsetFromLevelLayer.x));
if ((((((_local4 < -50)) && (GoOnBen))) && (RangeOfVision()))){
View.scaleX = 1;
Direction = -1;
} else {
if ((((((_local4 > 50)) && (GoOnBen))) && (RangeOfVision()))){
View.scaleX = -1;
Direction = 1;
};
};
if (Direction != 0){
PreviousSpeedX = SpeedX;
SpeedX = (ModSpeed * Direction);
};
if (CurrentPlatform == null){
PreviousSpeedY = SpeedY;
SpeedY = (SpeedY + (GRAVITY * _arg1));
if (SpeedY > MAX_SPEED_Y){
SpeedY = MAX_SPEED_Y;
};
UpdateAirPose((SpeedY > 0));
} else {
PreviousSpeedY = SpeedY;
SpeedY = 0;
this.CurrentPlatformIsMoves();
};
if (SpeedX != 0){
if (((((!((SecondaryState == Enemy.SEC_ST_ATTACK))) && (!((SecondaryState == Enemy.SEC_ST_SUPERATTACK))))) && (!((PrimaryState == Enemy.PRI_ST_FALL))))){
TryNewPrimaryState(Enemy.PRI_ST_RUNNING);
};
if ((((PrimaryState == Enemy.PRI_ST_RUNNING)) || ((PrimaryState == Enemy.PRI_ST_JUMPING)))){
PreviousAbsoluteX = CurrentAbsoluteX;
CurrentAbsoluteX = (CurrentAbsoluteX + (SpeedX * _arg1));
};
} else {
if (((!((SecondaryState == Enemy.SEC_ST_ATTACK))) && (!((SecondaryState == Enemy.SEC_ST_SUPERATTACK))))){
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
};
};
if (SpeedY != 0){
PreviousAbsoluteY = CurrentAbsoluteY;
CurrentAbsoluteY = (CurrentAbsoluteY + (SpeedY * _arg1));
};
if (_accountant < MAX_ACCOUNTANT){
_accountant++;
} else {
if (((!((PrimaryState == Enemy.PRI_ST_JUMPING))) && ((((_local3 > -100)) && ((_local3 < 700)))))){
this.ShotsEnemy();
};
_accountant = 0;
};
if (Hit){
_accountTimeTinte++;
if (AccountantTinte < TimeOfDuration){
if (_accountTimeTinte == TimeOfVariation){
if (Tinte){
MovieClipUtils.Instance.PaintMC(View, ColorTinte);
AccountantTinte++;
Tinte = false;
} else {
MovieClipUtils.Instance.PaintMC(View, ColorTinte, AlphaTinte);
AccountantTinte++;
Tinte = true;
};
_accountTimeTinte = 0;
};
} else {
Hit = false;
if (Tinte){
MovieClipUtils.Instance.PaintMC(View, 0);
AccountantTinte++;
};
Tinte = false;
AccountantTinte = 0;
_accountTimeTinte = 0;
};
};
};
}
override public function LeftObligatory():void{
if (View.scaleX < 0){
Direction = -1;
View.scaleX = (View.scaleX * -1);
};
}
public function RangeOfVision():Boolean{
return (true);
}
override public function UpdateAirPose(_arg1:Boolean):void{
if (_jumpingPoseMc != null){
if (_arg1){
if (((!((_jumpingPoseMc.currentFrame == 10))) && ((_jumpingPoseMc.currentFrame < 10)))){
_jumpingPoseMc.gotoAndStop(10);
} else {
if (_jumpingPoseMc.currentFrame < 19){
_jumpingPoseMc.nextFrame();
};
};
};
if (!_arg1){
if (((!((_jumpingPoseMc.currentFrame == 1))) && ((_jumpingPoseMc.currentFrame > 10)))){
_jumpingPoseMc.gotoAndStop(1);
} else {
if (_jumpingPoseMc.currentFrame < 10){
_jumpingPoseMc.nextFrame();
};
};
};
};
}
}
}//package enemies
Section 258
//FinalBossesThree (enemies.FinalBossesThree)
package enemies {
import flash.events.*;
import flash.display.*;
import ui.*;
import model.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import utils.*;
import config.*;
public class FinalBossesThree extends Enemy {
private var _faceMC:MovieClip;// = null
private var _accountantIA:int;
private var _armsRight:Boolean;// = true
private var _accountantTwo:int;
private var _accountantOne:int;
var _center:Boolean;// = false
private var _maxAccountantIA:int;
private var _maxAccountantAttackTwo:int;
private var _armsHitMC:MovieClip;// = null
private var _maxAccountantAttackOne:int;
private var _armsLeft:Boolean;// = true
private var _handHitMC:MovieClip;// = null
private var _maxAccountantCombo:int;
private var _armsAttack:int;
private var _accountantCombo:int;
public static var HIT_AREA:MovieClip = null;
public static var LEFT_MC:MovieClip = null;
public static var HITENABLE:Boolean = false;
public static var RIGHT_MC:MovieClip = null;
public static var ATTACKING:Boolean = false;
public static var _attacking:Boolean;
public function FinalBossesThree(_arg1:MovieClip, _arg2:Character, _arg3:ShotsEnemyManager, _arg4:int, _arg5:Point){
_armsLeft = true;
_armsRight = true;
_armsHitMC = null;
_handHitMC = null;
_faceMC = null;
_center = false;
super(_arg1, _arg2, _arg3, _arg4, _arg5);
Type = 5;
Direction = 0;
SpeedX = 0;
SpeedY = 0;
_attacking = false;
_armsAttack = 0;
Active = false;
_accountantOne = Math.ceil(((Math.random() * _maxAccountantAttackOne) / 0.8));
_accountantTwo = Math.ceil(((Math.random() * _maxAccountantAttackTwo) / 0.7));
_accountantCombo = Math.ceil(((Math.random() * _maxAccountantCombo) / 0.6));
_accountantIA = Math.ceil(((Math.random() * _maxAccountantIA) / 0.5));
View.addEventListener("BossesAnimationDieEnd", DispatchEvent);
View.addEventListener("BossesAnimationHitEnd", DispatchEvent);
View.addEventListener("BossesAnimationEnd", DispatchEvent);
View.addEventListener("BossesAnimationAttackLeftEnd", DispatchEvent);
View.addEventListener("BossesAnimationAttackRightEnd", DispatchEvent);
View.addEventListener("BossesAnimationSuperAttackEnd", DispatchEvent);
View.addEventListener("BossesAnimationHitEnableBegin", DispatchEvent);
View.addEventListener("BossesAnimationHitEnableEnd", DispatchEvent);
View.addEventListener("BossesSoundBegin", DispatchEvent);
View.addEventListener("BossesSoundSuperAttackBegin", DispatchEvent);
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
LoadMyConfig();
}
public function get ArmsAttack():int{
return (_armsAttack);
}
private function ResetSecondStateMc(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, ResetSecondStateMc);
if (PrimaryState == Enemy.PRI_ST_DIE){
_secondaryStateMc = _primaryStateMc;
};
_secondaryStateMc = _primaryStateMc;
_faceMC = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("cara_mc"));
if (_faceMC != null){
_faceMC.gotoAndStop(_primaryStateLabels[PrimaryState]);
};
if (PrimaryState == Enemy.PRI_ST_IDLE){
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
};
}
private function AttackThree(_arg1:Number):void{
if (_accountantCombo < _maxAccountantCombo){
_accountantCombo++;
} else {
_accountantCombo = 0;
if (!_attacking){
_attacking = true;
TryNewSecondaryState(Enemy.SEC_ST_SUPERATTACK);
};
};
}
private function LoadMC(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, LoadMC);
if ((((SecondaryState == Enemy.SEC_ST_LEFTATTACKONE)) || ((SecondaryState == Enemy.SEC_ST_LEFTATTACKTWO)))){
LEFT_MC = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("mano_mc"));
if (LEFT_MC != null){
LEFT_MC.alpha = 1;
ATTACKING = true;
};
HIT_AREA = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("hitArea_mc"));
};
if ((((SecondaryState == Enemy.SEC_ST_RIGHTATTACKONE)) || ((SecondaryState == Enemy.SEC_ST_RIGHTATTACKTWO)))){
RIGHT_MC = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("mano_mc"));
if (RIGHT_MC != null){
ATTACKING = true;
RIGHT_MC.alpha = 1;
};
HIT_AREA = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("hitArea_mc"));
};
if (SecondaryState == Enemy.SEC_ST_SUPERATTACK){
LEFT_MC = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("manoIzq_mc"));
RIGHT_MC = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("manoDer_mc"));
if (((!((LEFT_MC == null))) && (!((RIGHT_MC == null))))){
ATTACKING = true;
};
};
_faceMC = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("cara_mc"));
if (SecondaryState == Enemy.SEC_ST_SUPERATTACK){
_faceMC.gotoAndStop(_secondaryStateLabels[SecondaryState]);
};
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "BossesAnimationHitEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationDieEnd":
View.visible = false;
HUDManager.Instance.BossFinal();
Global.DispatchGameEvent("OnGameWon");
break;
case "BossesAnimationAttackLeftEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
_attacking = false;
ATTACKING = false;
break;
case "BossesAnimationAttackRightEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
_attacking = false;
ATTACKING = false;
break;
case "BossesAnimationSuperAttackEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
_attacking = false;
break;
case "BossesAnimationHitEnableBegin":
_handHitMC = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("manoHit_mc"));
_armsHitMC = MovieClip(MovieClip(View.getChildByName("view_mc")).getChildByName("brazoHit_mc"));
HITENABLE = true;
break;
case "BossesAnimationHitEnableEnd":
HITENABLE = false;
_handHitMC = null;
_armsHitMC = null;
break;
case "BossesSoundBegin":
Sfx.PlaySound(Sfx.SFX_ENEMY_ATTACK_KENKO);
break;
case "BossesSoundSuperAttackBegin":
trace("SUPER ATTACK");
Sfx.PlaySound(Sfx.SFX_ENEMY_SUPERATTACK_KENKO);
break;
};
}
public function LoadMyConfig():void{
Fragility = ConfigLoader.Instance.Config["BossesThreeFragility"];
EnergyToSubtractBenAttack = ConfigLoader.Instance.Config["BossesThreeEnergySubtractsForAttack"];
EnergyToSubtractBenShot = ConfigLoader.Instance.Config["BossesThreeEnergySubtractsForShot"];
EnergyToSubtractBenHit = ConfigLoader.Instance.Config["BossesThreeEnergySubtractsForHit"];
_maxAccountantAttackOne = ConfigLoader.Instance.Config["BossesThreeMaxAccountantAttackOne"];
_maxAccountantAttackTwo = ConfigLoader.Instance.Config["BossesThreeMaxAccountantAttackTwo"];
_maxAccountantCombo = ConfigLoader.Instance.Config["BossesThreeMaxAccountantCombo"];
_maxAccountantIA = ConfigLoader.Instance.Config["BossesThreeMaxAccountantIA"];
ScoreForDeath = ConfigLoader.Instance.Config["BossesThreeScoreForDeath"];
}
public function set ArmsAttack(_arg1:int):void{
_armsAttack = _arg1;
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_HIT:
if (HITENABLE){
PrimaryState = _arg1;
_local2 = true;
};
break;
case Enemy.PRI_ST_DIE:
PrimaryState = _arg1;
_local2 = true;
Dead = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if (_secondaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.stage.addEventListener(Event.RENDER, LoadMC);
GameTemplateMainApp.MyStage.stage.invalidate();
_secondaryStateMc.gotoAndStop(_secondaryStateLabels[_arg1]);
}
private function AttackTwo(_arg1:Number):void{
if (_accountantTwo < _maxAccountantAttackTwo){
_accountantTwo++;
} else {
_accountantTwo = 0;
if (!_attacking){
_attacking = true;
if (_arg1 > 0){
TryNewSecondaryState(Enemy.SEC_ST_LEFTATTACKTWO);
} else {
TryNewSecondaryState(Enemy.SEC_ST_RIGHTATTACKTWO);
};
};
};
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.stage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.stage.invalidate();
if (_arg1 == Enemy.PRI_ST_HIT){
Sfx.PlaySound(Sfx.SFX_ENEMY_KENKO_HIT);
_armsHitMC.gotoAndStop(_primaryStateLabels[_arg1]);
_handHitMC.gotoAndStop(_primaryStateLabels[_arg1]);
} else {
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
};
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == SecondaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.SEC_ST_IDLE:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_LEFTATTACKONE:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_RIGHTATTACKONE:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_LEFTATTACKTWO:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_RIGHTATTACKTWO:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_SUPERATTACK:
SecondaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
private function AttackOne(_arg1:Number):void{
if (_accountantOne < _maxAccountantAttackOne){
_accountantOne++;
} else {
_accountantOne = 0;
if (!_attacking){
_attacking = true;
if (_arg1 > 0){
TryNewSecondaryState(Enemy.SEC_ST_LEFTATTACKONE);
} else {
TryNewSecondaryState(Enemy.SEC_ST_RIGHTATTACKONE);
};
};
};
}
override public function Update(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
EnergySubtract(0);
if (Dead){
return;
};
if (PrimaryState == Enemy.PRI_ST_HIT){
return;
};
_local2 = MovieClipUtils.Instance.GetScreenPosition(View).x;
_local3 = MovieClipUtils.Instance.GetScreenPosition(BenTen.View).x;
_local4 = (_local2 - _local3);
if (_accountantIA < _maxAccountantIA){
_accountantIA++;
AttackOne(_local4);
AttackTwo(_local4);
AttackThree(_local4);
} else {
_accountantIA = 0;
if (!_attacking){
_attacking = true;
if (_local4 > 150){
TryNewSecondaryState(Enemy.SEC_ST_LEFTATTACKTWO);
} else {
if (_local4 < -150){
TryNewSecondaryState(Enemy.SEC_ST_RIGHTATTACKTWO);
} else {
TryNewSecondaryState(Enemy.SEC_ST_SUPERATTACK);
};
};
};
};
}
}
}//package enemies
Section 259
//FinalBossesTwo (enemies.FinalBossesTwo)
package enemies {
import flash.events.*;
import flash.display.*;
import ui.*;
import game.*;
import model.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import utils.*;
import config.*;
public class FinalBossesTwo extends Enemy {
private var _posXShot:int;
private var _jumpingPoseMc:MovieClip;// = null
private var _globalShotPosition:Point;
private var _accountant:int;
private var MAX_ACCOUNTANT:int;
private var _posYShot:int;
private var _accountTimeTinte:int;// = 0
public function FinalBossesTwo(_arg1:MovieClip, _arg2:Character, _arg3:ShotsEnemyManager, _arg4:int, _arg5:Point){
_jumpingPoseMc = null;
_accountTimeTinte = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5);
Type = 4;
Direction = -1;
SpeedX = 0;
SpeedY = 0;
GoOnBen = true;
ModSpeed = (Character.MAX_SPEED_X * 0.4);
_accountant = Math.ceil(((Math.random() * MAX_ACCOUNTANT) / 0.8));
HitAreaAttack = MovieClip(View.getChildByName("hitAreaAttack_mc"));
View.addEventListener("BossesAnimationDieEnd", DispatchEvent);
View.addEventListener("BossesAnimationHitEnd", DispatchEvent);
View.addEventListener("BossesAnimationEnd", DispatchEvent);
View.addEventListener("BossesAnimationAttackEnd", DispatchEvent);
View.addEventListener("BossesAnimationAttackBegin", DispatchEvent);
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
Active = false;
AccountantTinte = 0;
LoadMyConfig();
}
private function ResetSecondStateMc(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, ResetSecondStateMc);
switch (PrimaryState){
case Enemy.PRI_ST_IDLE:
_secondaryStateMc = ((View.getChildByName("view_mc") as MovieClip).getChildByName("brazo_mc") as MovieClip);
break;
case Enemy.PRI_ST_RUNNING:
_secondaryStateMc = ((View.getChildByName("view_mc") as MovieClip).getChildByName("brazo_mc") as MovieClip);
break;
case Enemy.PRI_ST_HIT:
_secondaryStateMc = _primaryStateMc;
break;
case Enemy.PRI_ST_DIE:
_secondaryStateMc = _primaryStateMc;
break;
};
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "BossesAnimationHitEnd":
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationDieEnd":
View.visible = false;
HUDManager.Instance.BossFinal();
if (GameManager.Instance.GameWinner){
Global.DispatchGameEvent("LevelComplete");
} else {
GameManager.Instance.ActivePowerUp();
};
break;
case "BossesAnimationAttackEnd":
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
break;
case "BossesAnimationAttackBegin":
_globalShotPosition = View.localToGlobal(new Point());
_globalShotPosition.y = (_globalShotPosition.y + _posYShot);
_globalShotPosition.x = (_globalShotPosition.x + ((Direction)==1) ? _posXShot : -(_posXShot));
ManagerShotsEnemy.AddShot(_globalShotPosition, View.scaleX, Direction, EnergyToSubtractBenShot);
Sfx.PlaySound(Sfx.SFX_ENEMY_SHOT);
break;
};
}
public function LoadMyConfig():void{
Fragility = ConfigLoader.Instance.Config["BossesTwoFragility"];
EnergyToSubtractBenAttack = ConfigLoader.Instance.Config["BossesTwoEnergySubtractsForAttack"];
EnergyToSubtractBenShot = ConfigLoader.Instance.Config["BossesTwoEnergySubtractsForShot"];
EnergyToSubtractBenHit = ConfigLoader.Instance.Config["BossesTwoEnergySubtractsForHit"];
MAX_ACCOUNTANT = ConfigLoader.Instance.Config["BossesTwoMaxAccountant"];
ScoreForDeath = ConfigLoader.Instance.Config["BossesTwoScoreForDeath"];
_posXShot = ConfigLoader.Instance.Config["BossesTwoPositionShotX"];
_posYShot = ConfigLoader.Instance.Config["BossesTwoPositionShotY"];
TimeOfDuration = ConfigLoader.Instance.Config["BossesTwoTimeOfDuration"];
TimeOfVariation = ConfigLoader.Instance.Config["BossesTwoTimeOfVariation"];
ColorTinte = ConfigLoader.Instance.Config["BossesTwoColorTinte"];
AlphaTinte = ConfigLoader.Instance.Config["BossesTwoAlphaTinte"];
}
private function CurrentPlatformIsMoves():void{
if (CurrentPlatform != null){
if (CurrentPlatform.Moves){
PreviousAbsoluteY = CurrentAbsoluteY;
PreviousAbsoluteX = CurrentAbsoluteX;
CurrentAbsoluteX = (CurrentAbsoluteX + (CurrentPlatform.X - CurrentPlatformPreviousX));
CurrentAbsoluteY = (CurrentAbsoluteY + (CurrentPlatform.Y - CurrentPlatformPreviousY));
CurrentPlatformPreviousX = CurrentPlatform.X;
CurrentPlatformPreviousY = CurrentPlatform.Y;
};
};
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_HIT:
if (!Hit){
Hit = true;
};
break;
case Enemy.PRI_ST_RUNNING:
if (Jumping){
break;
};
PrimaryState = _arg1;
_local2 = true;
break;
case Enemy.PRI_ST_DIE:
PrimaryState = _arg1;
_local2 = true;
Dead = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
override public function DownConditional():void{
}
public function ShotsEnemy():void{
TryNewSecondaryState(Enemy.SEC_ST_SUPERATTACK);
}
override public function UpObligatory():void{
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if (_secondaryStateMc == null){
return;
};
_secondaryStateMc.gotoAndStop(_secondaryStateLabels[_arg1]);
}
override public function UpConditional():void{
}
override public function DownObligatory():void{
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.invalidate();
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
override public function LeftConditional():void{
if (View.scaleX < 0){
Direction = -1;
View.scaleX = -(Direction);
GoOnBen = true;
};
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == SecondaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Enemy.SEC_ST_IDLE:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_RUN:
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_ATTACK:
if (((!((PrimaryState == Enemy.PRI_ST_RUNNING))) || ((SecondaryState == Enemy.SEC_ST_SUPERATTACK)))){
break;
};
SecondaryState = _arg1;
_local2 = true;
break;
case Enemy.SEC_ST_SUPERATTACK:
if (((!((PrimaryState == Enemy.PRI_ST_RUNNING))) || ((SecondaryState == Enemy.SEC_ST_ATTACK)))){
break;
};
SecondaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
override public function RightConditional():void{
if (View.scaleX > 0){
Direction = 1;
View.scaleX = -(Direction);
GoOnBen = true;
};
}
override public function RightObligatory():void{
Direction = 1;
View.scaleX = -(Direction);
View.scaleX = -(Direction);
}
override public function Update(_arg1:Number):void{
var _local2:int;
var _local3:Number;
var _local4:Number;
EnergySubtract(0);
if (((Dead) || (BenTen.Dead))){
if (BenTen.Dead){
if (Dead){
View.visible = false;
HUDManager.Instance.BossFinal();
if (GameManager.Instance.GameWinner){
Global.DispatchGameEvent("LevelComplete");
} else {
GameManager.Instance.ActivePowerUp();
};
};
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
};
this.CurrentPlatformIsMoves();
return;
};
if (PrimaryState == Enemy.PRI_ST_HIT){
this.CurrentPlatformIsMoves();
return;
};
_local2 = (BenTen.X - (View.x + OffsetFromLevelLayer.x));
_local3 = MovieClipUtils.Instance.GetScreenPosition(View).x;
_local4 = MovieClipUtils.Instance.GetScreenPosition(BenTen.View).x;
if ((((_local3 > -600)) && ((_local3 < 1200)))){
Active = true;
} else {
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
Active = false;
};
if (CurrentPlatform != null){
if (CurrentPlatform.Moves){
Active = true;
};
};
Active = true;
if (Active){
GoOnBen = true;
if ((((BenTen.X > 400)) && ((BenTen.X < 1100)))){
if ((((((_local2 < -50)) && (GoOnBen))) && (RangeOfVision()))){
Direction = -1;
View.scaleX = -(Direction);
} else {
if ((((((_local2 > 50)) && (GoOnBen))) && (RangeOfVision()))){
Direction = 1;
View.scaleX = -(Direction);
};
};
};
if (Direction != 0){
PreviousSpeedX = SpeedX;
SpeedX = (ModSpeed * Direction);
};
if (CurrentPlatform == null){
PreviousSpeedY = SpeedY;
SpeedY = (SpeedY + (GRAVITY * _arg1));
if (SpeedY > MAX_SPEED_Y){
SpeedY = MAX_SPEED_Y;
};
UpdateAirPose((SpeedY > 0));
} else {
PreviousSpeedY = SpeedY;
SpeedY = 0;
this.CurrentPlatformIsMoves();
};
if (SpeedX != 0){
if (((((!((SecondaryState == Enemy.SEC_ST_ATTACK))) && (!((SecondaryState == Enemy.SEC_ST_SUPERATTACK))))) && (!((PrimaryState == Enemy.PRI_ST_FALL))))){
TryNewPrimaryState(Enemy.PRI_ST_RUNNING);
};
if (PrimaryState == Enemy.PRI_ST_RUNNING){
PreviousAbsoluteX = CurrentAbsoluteX;
CurrentAbsoluteX = (CurrentAbsoluteX + (SpeedX * _arg1));
};
} else {
if (((!((SecondaryState == Enemy.SEC_ST_ATTACK))) && (!((SecondaryState == Enemy.SEC_ST_SUPERATTACK))))){
TryNewPrimaryState(Enemy.PRI_ST_IDLE);
TryNewSecondaryState(Enemy.SEC_ST_IDLE);
};
};
if (SpeedY != 0){
PreviousAbsoluteY = CurrentAbsoluteY;
CurrentAbsoluteY = (CurrentAbsoluteY + (SpeedY * _arg1));
};
if (_accountant < MAX_ACCOUNTANT){
_accountant++;
} else {
if (((!((PrimaryState == Enemy.PRI_ST_JUMPING))) && ((((_local3 > -100)) && ((_local3 < 700)))))){
this.ShotsEnemy();
};
_accountant = 0;
};
if (Hit){
_accountTimeTinte++;
if (AccountantTinte < TimeOfDuration){
if (_accountTimeTinte == TimeOfVariation){
if (Tinte){
MovieClipUtils.Instance.PaintMC(View, ColorTinte);
AccountantTinte++;
Tinte = false;
} else {
MovieClipUtils.Instance.PaintMC(View, ColorTinte, AlphaTinte);
AccountantTinte++;
Tinte = true;
};
_accountTimeTinte = 0;
};
} else {
Hit = false;
if (Tinte){
MovieClipUtils.Instance.PaintMC(View, 0);
AccountantTinte++;
};
Tinte = false;
AccountantTinte = 0;
_accountTimeTinte = 0;
};
};
};
}
override public function LeftObligatory():void{
Direction = -1;
View.scaleX = -(Direction);
View.scaleX = -(Direction);
}
public function RangeOfVision():Boolean{
var _local1:Point;
var _local2:Point;
var _local3:Number;
_local1 = MovieClipUtils.Instance.GetScreenPosition(View);
_local2 = MovieClipUtils.Instance.GetScreenPosition(BenTen.View);
_local3 = Math.atan2(Math.abs((_local2.y - _local1.y)), Math.abs((_local2.x - _local1.x)));
if (_local3 <= (Math.PI / 4)){
return (true);
};
return (false);
}
}
}//package enemies
Section 260
//ShotEnemy (enemies.ShotEnemy)
package enemies {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import collision.*;
import config.*;
import view.*;
public class ShotEnemy implements ICollidable {
private var _hitArea:MovieClip;
private var _view:MovieClip;
private var _primaryState:int;
private var _speedX:Number;
private var _speedY:Number;
private var _primaryStateMC:MovieClip;
private var _active:Boolean;
private var _primaryStateLabels:Dictionary;
private var _energy:Number;
private var _currentTime:int;
private var _offsetFromLevelLayer:Point;// = null
private var _secondsPassed:Number;
private var _lastTime:int;
private var _start:Boolean;// = false
public static const PRI_ST_IDLE_LBL:String = "idle";
public static const PRI_ST_DESTROYED:int = 1;
public static const PRI_ST_IDLE:int = 0;
public static const PRI_ST_DESTROYED_LBL:String = "destroyed";
public static var VELOCITY:Number;
public function ShotEnemy(_arg1:Number, _arg2:Number, _arg3:int, _arg4:Point){
_start = false;
_offsetFromLevelLayer = null;
super();
_view = new ShotEnemyAsset();
_offsetFromLevelLayer = _arg4.clone();
_hitArea = (_view.getChildByName("hitArea_mc") as MovieClip);
if (_hitArea == null){
_hitArea = _view;
} else {
_hitArea.alpha = 0;
};
CurrentAbsoluteX = _arg1;
CurrentAbsoluteY = _arg2;
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).addChild(_view);
_lastTime = 0;
Active = false;
_speedX = 0;
_speedY = 0;
_primaryStateMC = _view;
_primaryStateLabels = new Dictionary();
_primaryStateLabels[PRI_ST_IDLE] = PRI_ST_IDLE_LBL;
_primaryStateLabels[PRI_ST_DESTROYED] = PRI_ST_DESTROYED_LBL;
PrimaryState = -1;
View.addEventListener("ShotEnemyAnimationDestroyedEnd", DispatchEvent);
Hide();
LoadConfig();
}
public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
if ((((_hitArea == null)) || ((_hitArea.stage == null)))){
return (null);
};
_local1 = _hitArea.getBounds(_hitArea.stage);
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
public function get OffsetFromLevelLayer():Point{
return (_offsetFromLevelLayer);
}
public function GetType():int{
return (3);
}
public function get SpeedX():Number{
return (_speedX);
}
public function get SpeedY():Number{
return (_speedY);
}
public function Show():void{
View.alpha = 1;
}
public function set PrimaryState(_arg1:int):void{
_primaryState = _arg1;
}
public function get TopGlobalY():Number{
return (_hitArea.getBounds(_hitArea.stage).y);
}
public function SetType(_arg1:int):void{
}
public function get Active():Boolean{
return (_active);
}
public function get Energy():Number{
return (_energy);
}
public function set SpeedX(_arg1:Number):void{
_speedX = _arg1;
}
public function set SpeedY(_arg1:Number):void{
_speedY = _arg1;
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "ShotEnemyAnimationDestroyedEnd":
Hide();
Active = false;
break;
};
}
public function get PrimaryStateLabels():Dictionary{
return (_primaryStateLabels);
}
public function GetCollisionSprite():Sprite{
if (_hitArea == null){
return (null);
};
return (Sprite(_hitArea));
}
public function RotateView(_arg1:Number):void{
View.rotation = _arg1;
}
public function get View():MovieClip{
return (_view);
}
public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.y + _local1.height));
}
public function set Active(_arg1:Boolean):void{
_active = _arg1;
}
public function get PrimaryState():int{
return (_primaryState);
}
public function set CurrentAbsoluteY(_arg1:Number):void{
_view.y = _arg1;
}
public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case ShotEnemy.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case ShotEnemy.PRI_ST_DESTROYED:
PrimaryState = _arg1;
_local2 = true;
Active = false;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
public function Pause():void{
_lastTime = 0;
}
public function set Energy(_arg1:Number):void{
_energy = _arg1;
}
public function FlipView(_arg1:Number):void{
View.scaleX = ((_arg1)>0) ? -(Math.abs(View.scaleX)) : Math.abs(View.scaleX);
}
public function set CurrentAbsoluteX(_arg1:Number):void{
_view.x = _arg1;
}
public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMC == null){
return;
};
_primaryStateMC.gotoAndStop(_primaryStateLabels[_arg1]);
}
public function GetRadio():int{
if (_hitArea == null){
return (0);
};
return (((Math.max(_hitArea.width, _hitArea.height) >> 1) + 1));
}
public function get CurrentAbsoluteX():Number{
return (_view.x);
}
public function get CurrentAbsoluteY():Number{
return (_view.y);
}
public function get LeftGlobalX():Number{
return (_hitArea.getBounds(_hitArea.stage).x);
}
public function LoadConfig():void{
VELOCITY = ConfigLoader.Instance.Config["ShotEnemyVelocity"];
}
public function Update():void{
if (!_active){
_lastTime = 0;
} else {
if (_lastTime == 0){
_lastTime = getTimer();
return;
};
_currentTime = getTimer();
_secondsPassed = ((_currentTime - _lastTime) * 0.001);
CurrentAbsoluteX = (CurrentAbsoluteX + (_speedX * _secondsPassed));
CurrentAbsoluteY = (CurrentAbsoluteY + (_speedY * _secondsPassed));
_lastTime = _currentTime;
};
}
public function Hide():void{
View.alpha = 0;
}
public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.x + _local1.width));
}
}
}//package enemies
Section 261
//ShotsEnemyManager (enemies.ShotsEnemyManager)
package enemies {
import flash.geom.*;
import view.*;
public class ShotsEnemyManager {
private var _container:Array;
private var _modSpeed:Number;
private var DXY:Number;// = 100
private var _next:int;// = 0
private var _localShotPosition:Point;
private var MAX_SHOTS:int;// = 14
private static const RAD_TO_DEG:Number = 57.2957795130823;
public function ShotsEnemyManager(){
MAX_SHOTS = 14;
_next = 0;
DXY = 100;
super();
Reset();
}
public function Update():void{
var _local1:*;
for each (_local1 in _container) {
ShotEnemy(_local1).Update();
};
}
public function DeleteShots():void{
var _local1:int;
var _local2:int;
if (_container.length != 0){
_local1 = _container.length;
while (_local2 < _local1) {
if (!ShotEnemy(_container[_local2]).Active){
_container.splice(_local2, 1);
};
_local2++;
};
};
}
public function get Container():Array{
return (_container);
}
public function Reset():void{
_container = new Array();
_next = 0;
while (_next <= MAX_SHOTS) {
_container.push(new ShotEnemy(0, 0, 1, new Point()));
_next++;
};
_next = 0;
}
public function AddShot(_arg1:Point, _arg2:Number, _arg3:Number, _arg4:int, _arg5:Point=null):void{
var _local6:Number;
var _local7:Number;
var _local8:Number;
_localShotPosition = LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).globalToLocal(_arg1);
if (_arg2 != 0){
ShotEnemy(_container[_next]).FlipView(_arg2);
};
if (_arg3 != 0){
ShotEnemy(_container[_next]).RotateView(_arg3);
};
ShotEnemy(_container[_next]).CurrentAbsoluteX = _localShotPosition.x;
ShotEnemy(_container[_next]).CurrentAbsoluteY = _localShotPosition.y;
ShotEnemy(_container[_next]).Energy = _arg4;
ShotEnemy(_container[_next]).Active = true;
ShotEnemy(_container[_next]).TryNewPrimaryState(ShotEnemy.PRI_ST_IDLE);
ShotEnemy(_container[_next]).Show();
if (_arg5 != null){
_local6 = (_arg5.x - _arg1.x);
_local7 = (_arg5.y - _arg1.y);
_local8 = Math.atan2(_local7, _local6);
ShotEnemy(_container[_next]).RotateView((_local8 * RAD_TO_DEG));
ShotEnemy(_container[_next]).SpeedX = (Math.abs(ShotEnemy.VELOCITY) * Math.cos(_local8));
ShotEnemy(_container[_next]).SpeedY = (Math.abs(ShotEnemy.VELOCITY) * Math.sin(_local8));
} else {
ShotEnemy(_container[_next]).SpeedX = ((_arg2)<0) ? Math.abs(ShotEnemy.VELOCITY) : -(Math.abs(ShotEnemy.VELOCITY));
};
_next++;
if (_next > MAX_SHOTS){
_next = 0;
};
}
public function Pause():void{
var _local1:*;
for each (_local1 in _container) {
ShotEnemy(_local1).Pause();
};
}
}
}//package enemies
Section 262
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintMultiplier:Number;// = 0
private var _tintColor:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
_tintColor = 0;
_tintMultiplier = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setTint(_arg1:uint, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
private function deriveTintColor():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 = (1 / this.tintMultiplier);
_local2 = Math.round((this.redOffset * _local1));
_local3 = Math.round((this.greenOffset * _local1));
_local4 = Math.round((this.blueOffset * _local1));
_local5 = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set brightness(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
_local2 = (1 - Math.abs(_arg1));
_local3 = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local2:XML;
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
_local2 = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
_local4 = (1 - _arg3);
_local5 = ((_arg1 >> 24) & 0xFF);
_local6 = ((_arg1 >> 16) & 0xFF);
_local7 = ((_arg1 >> 8) & 0xFF);
_local8 = (_arg1 & 0xFF);
_local9 = ((_arg2 >> 24) & 0xFF);
_local10 = ((_arg2 >> 16) & 0xFF);
_local11 = ((_arg2 >> 8) & 0xFF);
_local12 = (_arg2 & 0xFF);
_local13 = ((_local5 * _local4) + (_local9 * _arg3));
_local14 = ((_local6 * _local4) + (_local10 * _arg3));
_local15 = ((_local7 * _local4) + (_local11 * _arg3));
_local16 = ((_local8 * _local4) + (_local12 * _arg3));
_local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number;
var _local5:ColorTransform;
_local4 = (1 - _arg3);
_local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 263
//GameManager (game.GameManager)
package game {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import ui.*;
import model.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import collision.*;
import enemies.*;
import utils.*;
import scroll.*;
import flash.net.*;
import config.*;
import view.*;
import assets.*;
public class GameManager {
private var _levelLimitsContainer:MovieClip;
private var _scorePerBoss:int;
private var _scorePerEnemy:int;
private var _currentBackground:ScrollableScreenElement;// = null
private var _activeFourArms:Boolean;// = false
private var _levelLoader:Loader;// = null
private var _pauseProcessed:Boolean;// = false
private var _currentTime:int;
private var _lastTime:int;
private var _wallBlockedManager:WallBlockedManager;
private var _activeCannonBolt:Boolean;// = false
private var _forzeNotUpdate:Boolean;// = false
private var _finalLevel:Boolean;// = false
private var _finalScore:int;// = 0
private var _sectionLimits:Array;// = null
private var _gameWinner:Boolean;// = false
private var _mainCharacter:Character;
public var Canvas:MovieClip;
private var _collisionManager:CollisionManager;
private var _fourarmsInstruccion:Boolean;// = false
private var _ShotsFriendlyManager:ShotsFriendlyManager;
private var _maxSublevels:int;// = 4
private var _enemysDead:int;
private var _levelLimitsLocalOffset:Number;
private var _scorePerLife:int;
private var _specialWallManager:SpecialWallManager;
private var _numberSubLevel:int;
private var _scorePerEnergy:int;
private var _sublevelInitialPlatform:Platform;// = null
private var _powerUpFinal:PowerUp;
private var _ShotsEnemyManager:ShotsEnemyManager;
private var _cannonboltInstruccion:Boolean;// = false
private var _secondsPassed:Number;
private var _currentSectionOffsetFromLevelLayer:Point;// = null
private var _enemyManager:EnemyManager;
private var _update:Boolean;// = false
private var _sectionExtraPixelsToCheck:int;// = 200
private var _numberLevel:int;
private static var _instance:GameManager = null;
public function GameManager(_arg1:SingletonBlocker){
_levelLoader = null;
_update = false;
_forzeNotUpdate = false;
_activeCannonBolt = false;
_activeFourArms = false;
_gameWinner = false;
_cannonboltInstruccion = false;
_fourarmsInstruccion = false;
_finalScore = 0;
_finalLevel = false;
_pauseProcessed = false;
_maxSublevels = 4;
_sectionExtraPixelsToCheck = 200;
_sectionLimits = null;
_currentSectionOffsetFromLevelLayer = null;
_sublevelInitialPlatform = null;
_currentBackground = null;
super();
if (_arg1 == null){
return;
};
}
public function CharacterDead():void{
var _local1:Point;
var _local2:Number;
var _local3:Number;
var _local4:int;
_mainCharacter.PreviousAbsoluteX = _mainCharacter.CurrentAbsoluteX;
_mainCharacter.PreviousAbsoluteY = _mainCharacter.CurrentAbsoluteY;
_local1 = MovieClipUtils.Instance.GetScreenPosition(_mainCharacter.View);
_mainCharacter.View.x = (_mainCharacter.View.x + (ScrollManager.MIN_SCREEN_X - _local1.x));
_mainCharacter.View.y = (_mainCharacter.View.y + (ScrollManager.MAX_SCREEN_Y - _local1.y));
if (((!((_mainCharacter.LastSecurePlatform == null))) && (!((NumberSubLevel == 4))))){
_local2 = (_mainCharacter.LastSecurePlatform.LeftGlobalX - _mainCharacter.View.localToGlobal(new Point()).x);
_local3 = (_mainCharacter.LastSecurePlatform.TopGlobalY - _mainCharacter.View.localToGlobal(new Point()).y);
if (_mainCharacter.LastSecurePlatform.Type == Platform.FLOOR){
_mainCharacter.CurrentAbsoluteX = (_mainCharacter.CurrentAbsoluteX + (_local2 + int(ConfigLoader.Instance.Config["CharacterDeadOffsetXOnFloor"])));
} else {
if (NumberSubLevel != 4){
_local4 = int(ConfigLoader.Instance.Config[("CharacterDeadOffsetXLevel" + NumberLevel.toString())]);
_mainCharacter.CurrentAbsoluteX = (_mainCharacter.CurrentAbsoluteX + (_local2 + _local4));
} else {
_mainCharacter.CurrentAbsoluteX = (_mainCharacter.CurrentAbsoluteX + (_local2 + int(ConfigLoader.Instance.Config["CharacterDeadOffsetX"])));
};
};
_mainCharacter.CurrentAbsoluteY = (_mainCharacter.CurrentAbsoluteY + (_local3 - int(ConfigLoader.Instance.Config["CharacterDeadOffsetY"])));
ScrollManager.Instance.Unfreeze();
_mainCharacter.X = (_mainCharacter.X + (_mainCharacter.CurrentAbsoluteX - _mainCharacter.PreviousAbsoluteX));
_mainCharacter.Y = (_mainCharacter.Y + (_mainCharacter.CurrentAbsoluteY - _mainCharacter.PreviousAbsoluteY));
ScrollManager.Instance.UpdateScrollsImmediately();
_mainCharacter.PreviousAbsoluteX = _mainCharacter.CurrentAbsoluteX;
_mainCharacter.PreviousAbsoluteY = _mainCharacter.CurrentAbsoluteY;
} else {
PositionResetCharacter(true);
};
if (_mainCharacter.View.scaleX < 0){
_mainCharacter.View.scaleX = (_mainCharacter.View.scaleX * -1);
};
_mainCharacter.Reset(true);
_mainCharacter.Dead = false;
_mainCharacter.Show();
_forzeNotUpdate = false;
_mainCharacter.Invincible = true;
Pause();
}
public function RemoveViewOfLayer(_arg1:Boolean=false, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:Boolean=false):void{
var _local6:int;
_local6 = 0;
if (((_arg1) && (!((LayerFactory.Instance.GetLayer(LayerFactory.LAYER_BACKGROUND).numChildren == 0))))){
_local6 = (LayerFactory.Instance.GetLayer(LayerFactory.LAYER_BACKGROUND).numChildren - 1);
while (_local6 >= 0) {
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_BACKGROUND).removeChildAt(_local6);
_local6--;
};
};
if (((_arg2) && (!((LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).numChildren == 0))))){
_local6 = (LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).numChildren - 1);
while (_local6 >= 0) {
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).removeChildAt(_local6);
_local6--;
};
};
if (((_arg3) && (!((LayerFactory.Instance.GetLayer(LayerFactory.LAYER_CHARACTER).numChildren == 0))))){
_local6 = (LayerFactory.Instance.GetLayer(LayerFactory.LAYER_CHARACTER).numChildren - 1);
while (_local6 >= 0) {
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_CHARACTER).removeChildAt(_local6);
_local6--;
};
};
if (((_arg4) && (!((LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).numChildren == 0))))){
_local6 = (LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).numChildren - 1);
while (_local6 >= 0) {
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).removeChildAt(_local6);
_local6--;
};
};
if (((_arg5) && (!((LayerFactory.Instance.GetLayer(LayerFactory.LAYER_FOREGROUND).numChildren == 0))))){
_local6 = (LayerFactory.Instance.GetLayer(LayerFactory.LAYER_FOREGROUND).numChildren - 1);
while (_local6 >= 0) {
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_FOREGROUND).removeChildAt(_local6);
_local6--;
};
};
}
public function set ForceNotUpdate(_arg1:Boolean):void{
_forzeNotUpdate = _arg1;
}
public function get ActiveFourArms():Boolean{
return (_activeFourArms);
}
public function get FourarmsInstruccion():Boolean{
return (_fourarmsInstruccion);
}
public function LoadLevel(_arg1:int):void{
var level = _arg1;
trace("LOAD LEVEL");
_numberLevel = level;
_numberSubLevel = 1;
_collisionManager.Reset();
InitializeCharacter();
EffectManager.Instance.Initialize();
InitializeBackground();
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).x = 0;
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).y = 0;
_ShotsEnemyManager = new ShotsEnemyManager();
_collisionManager.AddICollidableOfArray(_ShotsEnemyManager.Container, 0);
_levelLoader.load(new URLRequest((((((GameContext.Instance.BasePath + "levels/Level") + _numberLevel) + "_") + _numberSubLevel) + ".swf")));
_levelLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, InitializeLevel);
try {
new LocalConnection().connect("foo");
new LocalConnection().connect("foo");
} catch(e) {
};
}
public function Reset():void{
_collisionManager.Reset();
_enemyManager.Reset();
_ShotsEnemyManager.Reset();
_mainCharacter.View = null;
_mainCharacter = null;
_ShotsFriendlyManager.Reset();
_wallBlockedManager.Reset();
_specialWallManager.Reset();
MovieClipUtils.Instance.Reset();
_powerUpFinal = null;
RemoveViewOfLayer(true, true, true, true, true);
_sectionLimits = new Array();
}
private function AddElementOfLevel(_arg1:MovieClip, _arg2:int):void{
var _local3:int;
var _local4:int;
var _local5:DisplayObject;
var _local6:DisplayObject;
var _local7:Enemy;
var _local8:Enemy;
var _local9:Enemy;
var _local10:SpecialWall;
var _local11:PowerUp;
var _local12:Enemy;
var _local13:Enemy;
var _local14:Enemy;
var _local15:WallBlocked;
_local3 = 0;
while (_local3 < _arg1.numChildren) {
_local5 = _arg1.getChildAt(_local3);
if ((_local5 is PlatformAsset)){
_sublevelInitialPlatform = new Platform(MovieClip(_local5), _arg2, _currentSectionOffsetFromLevelLayer);
if (_local5.name.indexOf("00") != -1){
_mainCharacter.CurrentPlatform = _sublevelInitialPlatform;
};
_collisionManager.AddICollidable(_sublevelInitialPlatform, _arg2);
};
if ((_local5 is PlatformContainerAsset)){
_local4 = 0;
while (_local4 < MovieClip(_local5).numChildren) {
_local6 = MovieClip(_local5).getChildAt(_local4);
if ((_local6 is PlatformAsset)){
_collisionManager.AddICollidable(new Platform(MovieClip(_local6), _arg2, _currentSectionOffsetFromLevelLayer), _arg2);
};
_local4++;
};
};
if ((_local5 is DroideBlueAsset)){
_local7 = new DroideBlue(MovieClip(_local5), _mainCharacter, _ShotsEnemyManager, _arg2, _currentSectionOffsetFromLevelLayer);
_enemyManager.AddEnemy(_local7);
_collisionManager.AddICollidable(_local7, _arg2);
};
if ((_local5 is DroideRedAsset)){
_local8 = new DroideRed(MovieClip(_local5), _mainCharacter, _ShotsEnemyManager, _arg2, _currentSectionOffsetFromLevelLayer);
_enemyManager.AddEnemy(_local8);
_collisionManager.AddICollidable(_local8, _arg2);
};
if ((_local5 is DroideGreenAsset)){
_local9 = new DroideGreen(MovieClip(_local5), _mainCharacter, _ShotsEnemyManager, _arg2, _currentSectionOffsetFromLevelLayer);
_enemyManager.AddEnemy(_local9);
_collisionManager.AddICollidable(_local9, _arg2);
};
if ((_local5 is SpecialWallAsset)){
_local10 = new SpecialWall(MovieClip(_local5), _mainCharacter, _currentSectionOffsetFromLevelLayer);
_specialWallManager.AddSpecialWall(_local10);
_collisionManager.AddICollidable(_local10, _arg2);
};
if ((_local5 is PowerUpAsset)){
_local11 = new PowerUp(MovieClip(_local5), _currentSectionOffsetFromLevelLayer);
if ((((_local11.View is PowerUpFourArmsAsset)) && (!(FourarmsInstruccion)))){
if (_local11.View.alpha == 0){
_local11.ActiveInstruccion = true;
} else {
_powerUpFinal = _local11;
_powerUpFinal.Hide();
};
if (GameWinner){
_powerUpFinal = null;
_local11.Hide();
} else {
_collisionManager.AddICollidable(_local11, _arg2);
};
} else {
if ((((_local11.View is PowerUpCannonBoltAsset)) && (!(CannonboltInstruccion)))){
if (_local11.View.alpha == 0){
_local11.ActiveInstruccion = true;
} else {
_powerUpFinal = _local11;
_powerUpFinal.Hide();
};
if (GameWinner){
_powerUpFinal = null;
_local11.Hide();
} else {
_collisionManager.AddICollidable(_local11, _arg2);
};
} else {
_collisionManager.AddICollidable(_local11, _arg2);
};
};
};
if ((_local5 is FinalBossesOneAsset)){
_local12 = new FinalBossesOne(MovieClip(_local5), _mainCharacter, _ShotsEnemyManager, _arg2, _currentSectionOffsetFromLevelLayer);
_enemyManager.AddEnemy(_local12);
_collisionManager.AddICollidable(_local12, _arg2);
};
if ((_local5 is FinalBossesTwoAsset)){
_local13 = new FinalBossesTwo(MovieClip(_local5), _mainCharacter, _ShotsEnemyManager, _arg2, _currentSectionOffsetFromLevelLayer);
_enemyManager.AddEnemy(_local13);
_collisionManager.AddICollidable(_local13, _arg2);
};
if ((_local5 is FinalBossesThreeAsset)){
_local14 = new FinalBossesThree(MovieClip(_local5), _mainCharacter, _ShotsEnemyManager, _arg2, _currentSectionOffsetFromLevelLayer);
_enemyManager.AddEnemy(_local14);
_collisionManager.AddICollidable(_local14, _arg2);
};
if ((_local5 is EnemiesIAMarksAsset)){
_collisionManager.AddICollidable(new EnemiesIAMarks(MovieClip(_local5), _currentSectionOffsetFromLevelLayer), _arg2);
};
if ((_local5 is WallBlockedAsset)){
_local15 = new WallBlocked(MovieClip(_local5), _mainCharacter, _currentSectionOffsetFromLevelLayer);
_wallBlockedManager.AddWallBlocked(_local15);
_collisionManager.AddICollidable(_local15, _arg2);
};
if ((_local5 is AnimationPlatformAsset)){
MovieClipUtils.Instance.AddMovieClip(MovieClip(_local5));
};
_local3++;
};
}
private function LoadMyConfig():void{
_scorePerEnemy = ConfigLoader.Instance.Config["GameManagerScorePerEnemy"];
_scorePerEnergy = ConfigLoader.Instance.Config["GameManagerScorePerEnergy"];
_scorePerLife = ConfigLoader.Instance.Config["GameManagerScorePerLife"];
_scorePerBoss = ConfigLoader.Instance.Config["GameManagerScorePerBoss"];
_sectionExtraPixelsToCheck = ConfigLoader.Instance.Config["SectionExtraPixelsToCheck"];
_maxSublevels = ConfigLoader.Instance.Config["MaxSublevels"];
}
public function set NumberLevel(_arg1:int):void{
_numberLevel = _arg1;
}
public function Finalize():void{
GameTemplateMainApp.MyStage.removeEventListener(Event.ENTER_FRAME, GameLoop);
InputManager.Instance.RemoveCharacters(_mainCharacter);
InputManager.Finalize();
_collisionManager.Initialize();
if (_enemyManager != null){
_enemyManager.Reset();
};
if (_ShotsEnemyManager != null){
_ShotsEnemyManager.Reset();
};
if (_ShotsFriendlyManager != null){
_ShotsFriendlyManager.Reset();
};
ScrollManager.Instance.Remove();
}
private function PositionResetCharacter(_arg1:Boolean=false):void{
if (_mainCharacter.View.scaleX < 0){
_mainCharacter.View.scaleX = (_mainCharacter.View.scaleX * -1);
};
_mainCharacter.PreviousAbsoluteX = _mainCharacter.X;
_mainCharacter.PreviousAbsoluteY = _mainCharacter.Y;
_mainCharacter.X = ConfigLoader.Instance.Config[((("CharacterPositionXReset" + NumberLevel) + "_") + _numberSubLevel)];
_mainCharacter.Y = ConfigLoader.Instance.Config[((("CharacterPositionYReset" + NumberLevel) + "_") + _numberSubLevel)];
_mainCharacter.CurrentAbsoluteX = _mainCharacter.X;
_mainCharacter.CurrentAbsoluteY = _mainCharacter.Y;
_mainCharacter.SpeedX = (_mainCharacter.SpeedY = 0);
if (_arg1){
ScrollManager.Instance.Unfreeze();
ScrollManager.Instance.UpdateScrollsImmediately();
};
_mainCharacter.PreviousAbsoluteX = _mainCharacter.CurrentAbsoluteX;
_mainCharacter.PreviousAbsoluteY = _mainCharacter.CurrentAbsoluteY;
}
public function set ActiveFourArms(_arg1:Boolean):void{
_activeFourArms = _arg1;
}
public function LoadSubLevel(_arg1:int):void{
var subLevel = _arg1;
_numberSubLevel = subLevel;
RemoveViewOfLayer(false, true, false, true, true);
if (NumberLevel == 1){
ScrollManager.Instance.Reset(false);
} else {
ScrollManager.Instance.Reset(false, false);
};
_collisionManager.Reset();
_wallBlockedManager.Reset();
_specialWallManager.Reset();
MovieClipUtils.Instance.Reset();
_ShotsEnemyManager.Reset();
_ShotsFriendlyManager.Reset();
_enemyManager.Reset();
_collisionManager.AddICollidableOfArray(_ShotsEnemyManager.Container, 0);
_collisionManager.AddICollidableOfArray(_ShotsFriendlyManager.Container, 0);
_ShotsFriendlyManager.InitializeShots();
_mainCharacter.ShotsFriendlyManagerOfBen = _ShotsFriendlyManager;
_powerUpFinal = null;
PositionResetCharacter(true);
_mainCharacter.Show();
_levelLoader.load(new URLRequest((((((GameContext.Instance.BasePath + "levels/Level") + _numberLevel) + "_") + _numberSubLevel) + ".swf")));
_levelLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, InitializeLevel);
try {
new LocalConnection().connect("foo");
new LocalConnection().connect("foo");
} catch(e) {
};
}
public function set FourarmsInstruccion(_arg1:Boolean):void{
_fourarmsInstruccion = _arg1;
}
public function get MainCharacter():Character{
return (_mainCharacter);
}
public function get ScorePerBoss():Number{
return ((_scorePerBoss * _numberLevel));
}
private function InitializeCharacter():void{
_ShotsFriendlyManager = new ShotsFriendlyManager();
_mainCharacter = new Character(new MovieClip(), _ShotsFriendlyManager, new Point(0, 0));
InputManager.Instance.AddCharacter(_mainCharacter);
_collisionManager.AddICollidable(_mainCharacter, 0);
ScrollManager.Instance.Initialize(_mainCharacter);
_ShotsFriendlyManager.InitializeShots();
_collisionManager.AddICollidableOfArray(_ShotsFriendlyManager.Container, 0);
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_CHARACTER).addChild(_mainCharacter.View);
PositionResetCharacter();
}
public function set CannonboltInstruccion(_arg1:Boolean):void{
_cannonboltInstruccion = _arg1;
}
private function AddNewLevel(_arg1:Number=0, _arg2:Number=0):void{
var _local3:Number;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:ScrollableScreenElement;
var _local8:MovieClip;
_local3 = 0;
_local5 = MovieClip(_levelLoader.content).numChildren;
if (_local5 == 1){
_finalLevel = true;
HUDManager.Instance.BossFinal(true, NumberLevel);
Sfx.PlayMusic(Sfx.MUSIC_ENEMY_FINAL);
} else {
_finalLevel = false;
HUDManager.Instance.BossFinal(false, NumberLevel);
};
_local6 = 1;
while (_local6 <= _local5) {
_local4 = (("subLevel" + _local6) + "_mc");
_local8 = MovieClip(MovieClip(_levelLoader.content).getChildByName(_local4));
if (_local8 == null){
} else {
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).addChild(_local8);
if (_local6 == 1){
_local8.x = _arg1;
} else {
_local8.x = _local3;
};
_local8.y = _arg2;
_currentSectionOffsetFromLevelLayer = new Point(_local8.x, _local8.y);
_local3 = (_local3 + MovieClip(_local8.getChildByName("levelLimit_mc")).width);
AddElementOfLevel(_local8, _local6);
if (_local6 == 1){
ScrollManager.Instance.LevelLimits = MovieClip(_local8.getChildByName("levelLimit_mc"));
ScrollManager.Instance.LevelHeight = MovieClip(_local8.getChildByName("levelLimit_mc")).height;
_sectionLimits = new Array();
_levelLimitsLocalOffset = MovieClip(_local8.getChildByName("levelLimit_mc")).x;
};
MovieClip(_local8.getChildByName("levelLimit_mc")).visible = false;
_sectionLimits.push(_local3);
_levelLimitsContainer = LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL);
};
_local6++;
};
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).addChild(LayerFactory.Instance.GetLayer(LayerFactory.LAYER_CHARACTER));
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).addChild(LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER));
ScrollManager.Instance.LevelWidth = _local3;
_local7 = new ScrollableScreenElement(LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL), 1, 1, GameTemplateMainApp.SCREEN_WIDTH, GameTemplateMainApp.SCREEN_HEIGHT, false, false);
ScrollManager.Instance.AddScrollable(_local7);
}
public function ActivePowerUp():void{
if (_powerUpFinal == null){
return;
};
_powerUpFinal.Show();
_powerUpFinal.Active = true;
}
public function get NumberLevel():int{
return (_numberLevel);
}
public function get NumberSubLevel():int{
return (_numberSubLevel);
}
public function Initialize():void{
LoadMyConfig();
_collisionManager = new CollisionManager();
_collisionManager.Initialize();
_enemyManager = new EnemyManager();
_enemyManager.Initialize();
_specialWallManager = new SpecialWallManager();
_wallBlockedManager = new WallBlockedManager();
_levelLoader = new Loader();
_numberLevel = 0;
_numberSubLevel = 0;
_sectionLimits = new Array();
GameTemplateMainApp.MyStage.addEventListener(Event.ENTER_FRAME, GameLoop);
}
public function get ScorePerEnergy():Number{
if (_mainCharacter.Energy < 0){
return (_scorePerEnergy);
};
return ((_scorePerEnergy * _mainCharacter.Energy));
}
public function set FinalScore(_arg1:int):void{
_finalScore = (_finalScore + _arg1);
}
private function InitializeLevel(_arg1:Event):void{
var _local2:int;
var _local3:String;
var _local4:ScrollableScreenElement;
var _local5:Number;
var _local6:Number;
var _local7:String;
var _local8:int;
var _local9:MovieClip;
var _local10:Boolean;
_local2 = MovieClip(_levelLoader.content).numChildren;
_local4 = null;
_local8 = 1;
while (_local8 <= _local2) {
_local3 = (("loopLayer" + _local8) + "_mc");
_local9 = MovieClip(MovieClip(_levelLoader.content).getChildByName(_local3));
if (_local9 == null){
} else {
_local5 = ConfigLoader.Instance.Config[(((("Level" + _numberLevel) + "Loop") + _local8) + "HorizontalDepth")];
_local6 = ConfigLoader.Instance.Config[(((("Level" + _numberLevel) + "Loop") + _local8) + "VerticalDepth")];
_local4 = new ScrollableScreenElement(_local9, _local5, _local6, GameTemplateMainApp.SCREEN_WIDTH, GameTemplateMainApp.SCREEN_HEIGHT, true, false);
_local7 = ((((_local5 >= 1)) || ((_local6 >= 1)))) ? LayerFactory.LAYER_FOREGROUND : LayerFactory.LAYER_BACKGROUND;
_local10 = false;
if (_local7 == LayerFactory.LAYER_BACKGROUND){
_local10 = true;
};
ScrollManager.Instance.AddScrollable(_local4, false, _local10);
LayerFactory.Instance.GetLayer(_local7).addChild(_local9);
};
_local8++;
};
AddNewLevel(-30, -250.4);
_lastTime = 0;
if ((((NumberLevel == 1)) && ((NumberSubLevel == 1)))){
GameTemplateMainApp.Instance.LoadingLevelEnd(true);
} else {
GameTemplateMainApp.Instance.LoadingLevelEnd();
};
_currentBackground.Reset();
}
public function get CannonboltInstruccion():Boolean{
return (_cannonboltInstruccion);
}
public function get MaxSublevels():int{
return (_maxSublevels);
}
public function Pause():void{
var _local1:int;
var _local2:Array;
var _local3:int;
var _local4:Enemy;
if (_update){
_update = false;
_local1 = _collisionManager.Enemies.length;
_local2 = new Array();
_local3 = 0;
while (_local3 < _local1) {
_local2 = (_collisionManager.Enemies[_local3] as Array);
for each (_local4 in _local2) {
if (((Enemy(_local4).Dead) && (Enemy(_local4).View.visible))){
Enemy(_local4).View.visible = false;
};
Enemy(_local4).TryNewPrimaryState(Enemy.PRI_ST_IDLE);
Enemy(_local4).TryNewSecondaryState(Enemy.SEC_ST_IDLE);
FinalBossesThree._attacking = false;
};
_local3++;
};
} else {
if (MovieClipUtils.Instance.Stop){
MovieClipUtils.Instance.AnimationMovieClipStart();
};
_update = true;
if (_forzeNotUpdate){
HUDManager.Instance.Show();
_forzeNotUpdate = false;
};
if (GameTemplateMainApp.StateGame != GameTemplateMainApp.STATE_IN_GAME){
UIFactory.Instance.LevelIndicator.SetTexts();
UIFactory.Instance.LevelIndicator.FadeIn();
GameTemplateMainApp.StateGame = GameTemplateMainApp.STATE_IN_GAME;
};
};
_lastTime = 0;
}
public function get FinalScore():int{
return (_finalScore);
}
public function get FinalLevel():Boolean{
return (_finalLevel);
}
public function set GameWinner(_arg1:Boolean):void{
_gameWinner = _arg1;
}
public function RepositionAfterTransforming():void{
var _local1:Number;
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:int;
var _local6:int;
var _local7:int;
_local1 = _levelLimitsContainer.x;
_local2 = 1;
_local3 = 1;
_local5 = _sectionLimits.length;
_local6 = 0;
while (_local6 < _local5) {
_local4 = (_local1 + _sectionLimits[_local6]);
if (_local4 < 0){
_local2 = (_local6 + 2);
};
if (_local4 < 600){
_local3 = (_local6 + 2);
};
_local6++;
};
_mainCharacter.CurrentAbsoluteX = _mainCharacter.PreviousAbsoluteX;
_local7 = -1;
if ((((_mainCharacter.View.scaleX > 0)) && ((_mainCharacter.CurrentTransformationId == Character.TRANSFORMATION_FOUR_ARMS)))){
_local7 = 1;
};
_mainCharacter.CurrentAbsoluteX = (_mainCharacter.CurrentAbsoluteX + _local7);
_mainCharacter.X = (_mainCharacter.X + _local7);
_collisionManager.Update(_local2, _local3);
}
public function get ScorePerLife():Number{
return ((_scorePerLife * _mainCharacter.LifeNumber));
}
public function get Update():Boolean{
return (_update);
}
public function GameLoop(_arg1:Event):void{
var _local2:int;
var _local3:Array;
var _local4:int;
var _local5:Enemy;
var _local6:Number;
var _local7:int;
var _local8:int;
var _local9:Number;
var _local10:int;
var _local11:int;
InputManager.Instance.Update();
if (_update){
if (_lastTime == 0){
_lastTime = getTimer();
return;
};
_currentTime = getTimer();
_secondsPassed = ((_currentTime - _lastTime) * 0.001);
if (((_mainCharacter.Pause) || (_mainCharacter.PauseComplete))){
if (!_pauseProcessed){
_pauseProcessed = true;
_lastTime = 0;
_mainCharacter.SpeedX = 0;
_mainCharacter.SpeedY = 0;
_ShotsEnemyManager.Pause();
_ShotsFriendlyManager.Pause();
_local2 = _collisionManager.Enemies.length;
_local3 = new Array();
_local4 = 0;
while (_local4 < _local2) {
_local3 = (_collisionManager.Enemies[_local4] as Array);
for each (_local5 in _local3) {
if (((Enemy(_local5).Dead) && (Enemy(_local5).View.visible))){
Enemy(_local5).View.visible = false;
};
Enemy(_local5).TryNewPrimaryState(Enemy.PRI_ST_IDLE);
Enemy(_local5).TryNewSecondaryState(Enemy.SEC_ST_IDLE);
FinalBossesThree._attacking = false;
};
_local4++;
};
if (!MovieClipUtils.Instance.Stop){
MovieClipUtils.Instance.AnimationMovieClipStop();
};
};
} else {
if (_pauseProcessed){
_pauseProcessed = false;
if (MovieClipUtils.Instance.Stop){
MovieClipUtils.Instance.AnimationMovieClipStart();
};
};
_local6 = _levelLimitsContainer.x;
_local7 = 1;
_local8 = 1;
_local10 = _sectionLimits.length;
_local11 = 0;
while (_local11 < _local10) {
_local9 = (_local6 + _sectionLimits[_local11]);
if (_local9 < 0){
_local7 = (_local11 + 2);
};
if (_local9 < 600){
_local8 = (_local11 + 2);
};
_local11++;
};
_mainCharacter.Update(_secondsPassed);
_mainCharacter.X = (_mainCharacter.X + (_mainCharacter.CurrentAbsoluteX - _mainCharacter.PreviousAbsoluteX));
_mainCharacter.Y = (_mainCharacter.Y + (_mainCharacter.CurrentAbsoluteY - _mainCharacter.PreviousAbsoluteY));
_enemyManager.Update(_secondsPassed, _local7, _local8);
_ShotsFriendlyManager.Update();
_ShotsEnemyManager.Update();
_specialWallManager.Update();
_wallBlockedManager.Update();
_collisionManager.Update(_local7, _local8);
ScrollManager.Instance.Update();
};
_lastTime = _currentTime;
} else {
if (GameTemplateMainApp.StateGame == GameTemplateMainApp.STATE_INSTRUCTIONS){
MovieClipUtils.Instance.AnimationMovieClipStop();
};
_lastTime = 0;
};
}
public function get GameWinner():Boolean{
return (_gameWinner);
}
public function EnemyDead():void{
_enemysDead++;
}
public function set ActiveCannonBolt(_arg1:Boolean):void{
_activeCannonBolt = _arg1;
}
public function get ActiveCannonBolt():Boolean{
return (_activeCannonBolt);
}
public function get ScorePerEnemy():Number{
return ((_scorePerEnemy * _enemysDead));
}
private function InitializeBackground():void{
var _local1:MovieClip;
if (_numberLevel == 1){
_local1 = new Background1Asset();
} else {
if (_numberLevel == 2){
_local1 = new Background2Asset();
} else {
_local1 = new Background3Asset();
};
};
_currentBackground = new ScrollableScreenElement(_local1, ConfigLoader.Instance.Config["BackgroundDepthHorizontal"], ConfigLoader.Instance.Config["BackgroundDepthVertical"], GameTemplateMainApp.SCREEN_WIDTH, GameTemplateMainApp.SCREEN_HEIGHT, false, false);
ScrollManager.Instance.AddScrollable(_currentBackground, true);
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_BACKGROUND).addChild(_local1);
}
public static function GetInstance():GameManager{
if (!(GameManager._instance is GameManager)){
GameManager._instance = new GameManager(new SingletonBlocker());
};
return (_instance);
}
public static function get Instance():GameManager{
return (GetInstance());
}
}
}//package game
class SingletonBlocker {
private function SingletonBlocker(){
}
}
Section 264
//InputManager (game.InputManager)
package game {
import flash.display.*;
import ui.*;
import model.*;
import com.gamesandweb.game.*;
import config.*;
import com.gamesandweb.utils.*;
public class InputManager {
private var _character:Character;// = null
private var _actions:uint;// = 0
private static var _instance:InputManager = null;
public function InputManager(_arg1:SingletonBlocker){
_character = null;
_actions = 0;
super();
if (_arg1 == null){
throw (new Error(("Public construction not allowed. " + "Use getInstance()")));
};
}
private function _RemoveCursorActions():void{
_actions = (_actions & ~(Character.ACTION_UP));
_actions = (_actions & ~(Character.ACTION_DOWN));
_actions = (_actions & ~(Character.ACTION_LEFT));
_actions = (_actions & ~(Character.ACTION_RIGHT));
}
public function AddCharacter(_arg1:Character):void{
_character = _arg1;
}
public function Update():void{
_actions = Character.ACTION_NONE;
if (Key.isDown(Key.Left)){
_actions = (_actions | Character.ACTION_LEFT);
} else {
if (Key.isDown(Key.Right)){
_actions = (_actions | Character.ACTION_RIGHT);
};
};
if (Key.isDown(Key.Up)){
_actions = (_actions | Character.ACTION_UP);
} else {
if (Key.isDown(Key.Down)){
_actions = (_actions | Character.ACTION_DOWN);
};
};
if (((Key.isDown(Key.Shift)) || (Key.isDown(Key.x)))){
_actions = (_actions | Character.ACTION_FIREZ);
} else {
if (((Key.isDown(Key.Control)) || (Key.isDown(Key.z)))){
_actions = (_actions | Character.ACTION_FIREX);
};
};
if (Key.isDown(Key.Spacebar)){
_actions = (_actions | Character.ACTION_SPACE);
if (GameTemplateMainApp.StateGame != GameTemplateMainApp.STATE_IN_GAME){
GameTemplateMainApp.Instance.OnSpacePress(_actions);
};
};
if (ConfigLoader.Instance.Config["DebugMode"] == "true"){
if (Key.isDown(Key.n1)){
if (GameManager.Instance.NumberSubLevel < 4){
Global.DispatchGameEvent("SubLevelComplete");
};
};
if (Key.isDown(Key.n2)){
Global.DispatchGameEvent("LevelComplete");
if (GameManager.Instance.NumberLevel < 3){
if (GameManager.Instance.NumberLevel == 1){
GameManager.Instance.ActiveFourArms = true;
} else {
GameManager.Instance.ActiveCannonBolt = true;
};
} else {
Global.DispatchGameEvent("OnGameWon");
UIFactory.Instance.ResultScreen.FadeOut();
};
};
if (Key.isDown(Key.n3)){
if (!_character.Dead){
_character.EnergySubtract(100);
};
};
};
if (_character != null){
_character.UpdateAction(_actions);
};
}
private function _RemoveFireActions():void{
_actions = (_actions & ~(Character.ACTION_FIREZ));
_actions = (_actions & ~(Character.ACTION_FIREX));
_actions = (_actions & ~(Character.ACTION_SPACE));
}
public function RemoveCharacters(_arg1:Character):void{
_character = null;
}
public static function get Instance():InputManager{
if (!(InputManager._instance is InputManager)){
InputManager._instance = new InputManager(new SingletonBlocker());
};
return (_instance);
}
public static function Finalize():void{
Key.finalize();
}
public static function Initialize(_arg1:Stage):void{
Key.initialize(_arg1);
}
}
}//package game
class SingletonBlocker {
private function SingletonBlocker(){
}
}
Section 265
//TweenLite (gs.TweenLite)
package gs {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class TweenLite {
public var delay:Number;
protected var _hasUpdate:Boolean;
public var started:Boolean;
protected var _subTweens:Array;
public var initted:Boolean;
public var active:Boolean;
public var startTime:Number;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
protected var _isDisplayObject:Boolean;
public var gc:Boolean;
public var vars:Object;
public var ease:Function;
public var tweens:Array;
protected var _specialVars:Object;
public var combinedTimeScale:Number;
public var initTime:Number;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 9.3;
public static var masterList:Dictionary = new Dictionary(false);
public static var currentTime:uint;
public static var overwriteManager:Object;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var timingSprite:Sprite = new Sprite();
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local4:int;
super();
if (_arg1 == null){
return;
};
if (!_classInitted){
currentTime = getTimer();
timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
_timer.addEventListener("timer", killGarbage, false, 0, true);
_timer.start();
_classInitted = true;
};
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
this.combinedTimeScale = ((_arg3.timeScale) || (1));
this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0))));
this.target = _arg1;
_isDisplayObject = Boolean((((_arg1 is DisplayObject)) || (_arg1.hasOwnProperty("isTweenProxy"))));
if (!(this.vars.ease is Function)){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
this.ease = this.vars.ease;
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
this.vars.visible = Boolean((this.vars.alpha > 0));
};
_specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars;
this.tweens = [];
_subTweens = [];
_hst = (this.initted = false);
this.initTime = currentTime;
this.startTime = (this.initTime + (this.delay * 1000));
_local4 = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
if ((((masterList[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){
masterList[_arg1] = [];
};
masterList[_arg1].push(this);
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){
initTweenVals();
if (this.active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
if (((((!((_specialVars.visible == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){
this.target.visible = _specialVars.visible;
};
};
}
public function set enabled(_arg1:Boolean):void{
var _local2:Array;
var _local3:Boolean;
var _local4:int;
if (_arg1){
if (masterList[this.target] == undefined){
masterList[this.target] = [this];
} else {
_local2 = masterList[this.target];
_local4 = (_local2.length - 1);
while (_local4 > -1) {
if (_local2[_local4] == this){
_local3 = true;
break;
};
_local4--;
};
if (!_local3){
masterList[this.target].push(this);
};
};
};
this.gc = (_arg1) ? false : true;
if (this.gc){
this.active = false;
} else {
this.active = this.started;
};
}
public function render(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
_local2 = ((_arg1 - this.startTime) * 0.001);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
_local5--;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5], _local2);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function activate():void{
this.started = (this.active = true);
if (!this.initted){
initTweenVals();
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
}
public function clear():void{
this.tweens = [];
_subTweens = [];
this.vars = {};
_hst = (_hasUpdate = false);
}
protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{
var _local6:String;
_subTweens[_subTweens.length] = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5};
for (_local6 in _arg4) {
if (typeof(_arg4[_local6]) == "number"){
this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], (_arg4[_local6] - _arg3[_local6]), _arg1];
} else {
this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], Number(_arg4[_local6]), _arg1];
};
};
_hst = true;
}
public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Array;
var _local6:ColorTransform;
var _local7:ColorTransform;
var _local8:Object;
if (((!(_arg1)) && (overwriteManager.enabled))){
overwriteManager.manageOverwrites(this, masterList[this.target]);
};
if ((this.target is Array)){
_local5 = ((this.vars.endArray) || ([]));
_local4 = 0;
while (_local4 < _local5.length) {
if (((!((this.target[_local4] == _local5[_local4]))) && (!((this.target[_local4] == undefined))))){
this.tweens[this.tweens.length] = [this.target, _local4.toString(), this.target[_local4], (_local5[_local4] - this.target[_local4]), _local4.toString()];
};
_local4++;
};
} else {
if (((((!((typeof(_specialVars.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (this.target.hasOwnProperty("transform")))){
_local6 = this.target.transform.colorTransform;
_local7 = new ColorTransform();
if (_specialVars.alpha != undefined){
_local7.alphaMultiplier = _specialVars.alpha;
delete _specialVars.alpha;
} else {
_local7.alphaMultiplier = this.target.alpha;
};
if (((!((this.vars.removeTint == true))) && (((((!((_specialVars.tint == null))) && (!((_specialVars.tint == ""))))) || ((_specialVars.tint == 0)))))){
_local7.color = _specialVars.tint;
};
addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local6, endColor:_local7});
};
if (((!((_specialVars.frame == null))) && (_isDisplayObject))){
addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_specialVars.frame}, {target:this.target});
};
if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){
addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target});
};
if (((!((_specialVars.visible == null))) && (_isDisplayObject))){
addSubTween("visible", visibleProxy, {}, {}, {tween:this});
};
for (_local3 in _specialVars) {
if ((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){
} else {
if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){
if (typeof(_specialVars[_local3]) == "number"){
this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], (_specialVars[_local3] - this.target[_local3]), _local3];
} else {
this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], Number(_specialVars[_local3]), _local3];
};
};
};
};
};
if (this.vars.runBackwards == true){
_local4 = (this.tweens.length - 1);
while (_local4 > -1) {
_local8 = this.tweens[_local4];
_local8[2] = (_local8[2] + _local8[3]);
_local8[3] = (_local8[3] * -1);
_local4--;
};
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
this.initted = true;
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function killVars(_arg1:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []);
};
}
public function get enabled():Boolean{
return ((this.gc) ? false : true);
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
if (!this.initted){
initTweenVals();
};
this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale));
render(currentTime);
return;
};
if (this.vars.persist != true){
this.enabled = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public static function frameProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame));
}
public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{
if (_arg1 != null){
if (_arg2){
_arg1.clear();
};
_arg1.enabled = false;
};
}
public static function visibleProxy(_arg1:Object, _arg2:Number):void{
var _local3:TweenLite;
_local3 = _arg1.info.tween;
if (_local3.duration == _arg2){
if (((!((_local3.vars.runBackwards == true))) && ((_local3.ease == _local3.vars.ease)))){
_local3.target.visible = _local3.vars.visible;
};
} else {
if (_local3.target.visible != true){
_local3.target.visible = true;
};
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
if (((!((_arg1 == null))) && (!((masterList[_arg1] == undefined))))){
_local3 = masterList[_arg1];
_local4 = (_local3.length - 1);
while (_local4 > -1) {
_local5 = _local3[_local4];
if (((_arg2) && (!(_local5.gc)))){
_local5.complete(false);
};
_local5.clear();
_local4--;
};
delete masterList[_arg1];
};
}
public static function updateAll(_arg1:Event=null):void{
var _local2:uint;
var _local3:Dictionary;
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
_local2 = (currentTime = getTimer());
_local3 = masterList;
for each (_local4 in _local3) {
_local5 = (_local4.length - 1);
while (_local5 > -1) {
_local6 = _local4[_local5];
if (_local6 == null){
} else {
if (_local6.active){
_local6.render(_local2);
} else {
if (_local6.gc){
_local4.splice(_local5, 1);
} else {
if (_local2 >= _local6.startTime){
_local6.activate();
_local6.render(_local2);
};
};
};
};
_local5--;
};
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function tintProxy(_arg1:Object, _arg2:Number=0):void{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
_local3 = _arg1.target.progress;
_local4 = (1 - _local3);
_local5 = _arg1.info.color;
_local6 = _arg1.info.endColor;
_arg1.info.target.transform.colorTransform = new ColorTransform(((_local5.redMultiplier * _local4) + (_local6.redMultiplier * _local3)), ((_local5.greenMultiplier * _local4) + (_local6.greenMultiplier * _local3)), ((_local5.blueMultiplier * _local4) + (_local6.blueMultiplier * _local3)), ((_local5.alphaMultiplier * _local4) + (_local6.alphaMultiplier * _local3)), ((_local5.redOffset * _local4) + (_local6.redOffset * _local3)), ((_local5.greenOffset * _local4) + (_local6.greenOffset * _local3)), ((_local5.blueOffset * _local4) + (_local6.blueOffset * _local3)), ((_local5.alphaOffset * _local4) + (_local6.alphaOffset * _local3)));
}
public static function volumeProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target.soundTransform = _arg1.target;
}
protected static function killGarbage(_arg1:TimerEvent):void{
var _local2:Dictionary;
var _local3:Object;
var _local4:Array;
_local2 = masterList;
for (_local3 in _local2) {
if (_local2[_local3].length == 0){
delete _local2[_local3];
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 266
//BenSamurai (model.BenSamurai)
package model {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import config.*;
public class BenSamurai extends Transformation {
private var _direction:int;
private var _jumpingPoseMc:MovieClip;// = null
private var _globalPositionShuriken:Point;
private var _globalPositionShurikenMC:MovieClip;// = null
private var _attack:Boolean;
public function BenSamurai(_arg1:MovieClip, _arg2:Character):void{
_jumpingPoseMc = null;
_globalPositionShurikenMC = null;
_globalPositionShuriken = new Point();
super(_arg1, _arg2);
_attack = false;
LoadConfig();
}
override public function TryTransformation(_arg1:int):void{
switch (_arg1){
case Character.TRANSFORMATION_BEN_SAMURAI:
break;
case Character.TRANSFORMATION_CANNONBOLT:
_primaryStateMc.gotoAndStop("CannonBolt_idle");
_character.X = (_character.X - 20);
break;
case Character.TRANSFORMATION_FOUR_ARMS:
_primaryStateMc.gotoAndStop("FourArms_idle");
_character.X = (_character.X - 20);
break;
};
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if (_secondaryStateMc == null){
return;
};
if (_arg1 == Character.SEC_STATE_SWINGING_SWORD){
_character.HitAreaAttack = MovieClip(_primaryStateMc.getChildByName("hitAreaAttack_mc"));
Sfx.PlaySound(Sfx.SFX_BEN_SWORD);
};
if ((((((_character.SecondaryState == Character.SEC_STATE_THROWING_SHURIKEN)) || ((_character.SecondaryState == Character.SEC_STATE_SWINGING_SWORD)))) && (_attack))){
_attack = false;
};
_secondaryStateMc.gotoAndStop(_secondaryStateLabels[_arg1]);
}
override public function Shot():void{
_globalPositionShurikenMC = MovieClip(_primaryStateMc.getChildByName("LugarSuriken_mc"));
_globalPositionShuriken = _globalPositionShurikenMC.localToGlobal(new Point(0, 0));
if (_character.View.scaleX >= 0){
_direction = 1;
_character.ShotsFriendlyManagerOfBen.AddShot(_globalPositionShuriken, _direction);
} else {
_direction = -1;
_character.ShotsFriendlyManagerOfBen.AddShot(_globalPositionShuriken, _direction);
};
}
private function ResetSecondStateMc(_arg1:Event):void{
GameTemplateMainApp.MyStage.stage.removeEventListener(Event.RENDER, ResetSecondStateMc);
switch (_character.PrimaryState){
case Character.PRI_ST_IDLE:
case Character.PRI_ST_DIE:
_secondaryStateMc = (_view.getChildByName("ben_mc") as MovieClip);
break;
case Character.PRI_ST_HIT:
_secondaryStateMc = MovieClip(MovieClip(_view.getChildByName("ben_mc")).getChildByName("ben1_mc"));
break;
case Character.PRI_ST_CROUCHING:
case Character.PRI_ST_RUNNING:
_secondaryStateMc = MovieClip(MovieClip(MovieClip(_view.getChildByName("ben_mc")).getChildByName("ben2_mc")).getChildByName("ben3_mc"));
break;
case Character.PRI_ST_JUMPING:
_jumpingPoseMc = MovieClip(MovieClip(_view.getChildByName("ben_mc")).getChildByName("ben2_mc"));
_secondaryStateMc = MovieClip(_jumpingPoseMc.getChildByName("ben3_mc"));
break;
};
if ((((((_character.SecondaryState == Character.SEC_STATE_THROWING_SHURIKEN)) || ((_character.SecondaryState == Character.SEC_STATE_SWINGING_SWORD)))) && (_attack))){
_attack = false;
};
if (_character.PrimaryState != Character.PRI_ST_HIT){
TryNewSecondaryState(Character.SEC_STATE_IDLE);
};
}
override public function UpdateAirPose(_arg1:Boolean):void{
if (_jumpingPoseMc != null){
if (_arg1){
if (((!((_jumpingPoseMc.currentFrame == 6))) && ((_jumpingPoseMc.currentFrame <= 5)))){
_jumpingPoseMc.gotoAndStop(6);
} else {
if (_jumpingPoseMc.currentFrame < 10){
_jumpingPoseMc.nextFrame();
};
};
};
if (!_arg1){
if (((!((_jumpingPoseMc.currentFrame == 1))) && ((_jumpingPoseMc.currentFrame >= 6)))){
_jumpingPoseMc.gotoAndStop(1);
} else {
if (_jumpingPoseMc.currentFrame < 5){
_jumpingPoseMc.nextFrame();
};
};
};
};
}
public function set Attack(_arg1):void{
_attack = _arg1;
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == _character.PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Character.PRI_ST_IDLE:
_character.Crouching = false;
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_CROUCHING:
if (_character.Jumping){
break;
};
_character.Crouching = true;
_character.PrimaryState = _arg1;
_local2 = true;
Sfx.PlaySound(Sfx.SFX_BEN_CROUCHING);
break;
case Character.PRI_ST_HIT:
_character.Crouching = false;
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_RUNNING:
if (((_character.Jumping) || (_character.Crouching))){
break;
};
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_JUMPING:
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_DIE:
_character.PrimaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == _character.SecondaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Character.SEC_STATE_IDLE:
_character.SecondaryState = _arg1;
_local2 = true;
break;
case Character.SEC_STATE_SWINGING_SWORD:
if (_character.SecondaryState == Character.SEC_STATE_IDLE){
_character.SecondaryState = _arg1;
_onCurrentAnimationEnd = SetSecondaryStateIdle;
_local2 = true;
_character.AttackCollision = true;
};
break;
case Character.SEC_STATE_THROWING_SHURIKEN:
if (_character.SecondaryState == Character.SEC_STATE_IDLE){
_character.SecondaryState = _arg1;
_onCurrentAnimationEnd = SetSecondaryStateIdle;
_local2 = true;
_character.AttackCollision = true;
};
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
public function get Attack():Boolean{
return (_attack);
}
override public function Update(_arg1:Number):void{
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.stage.invalidate();
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
public function LoadConfig():void{
Fragility = ConfigLoader.Instance.Config["BenFragility"];
EnergyToSubtractEnemyAttack = ConfigLoader.Instance.Config["BenEnergySubtractsForAttack"];
EnergyToSubtractEnemyShot = ConfigLoader.Instance.Config["BenEnergySubtractsForShot"];
EnergyToSubtractEnemySuperAttack = ConfigLoader.Instance.Config["BenEnergySubtractsForSuperAttack"];
}
override public function UpdateAction(_arg1:uint):void{
if (_character.Transforming){
return;
};
if ((_arg1 & Character.ACTION_UP) == Character.ACTION_UP){
};
if ((_arg1 & Character.ACTION_DOWN) == Character.ACTION_DOWN){
TryNewPrimaryState(Character.PRI_ST_CROUCHING);
} else {
if (_character.Crouching){
TryNewPrimaryState(Character.PRI_ST_IDLE);
};
};
if (((!(_character.Crouching)) && (!(_character.Jumping)))){
if ((_arg1 & Character.ACTION_LEFT) == Character.ACTION_LEFT){
if (((!(_character.OnPressSPACE)) && (!((_character.PrimaryState == Character.PRI_ST_HIT))))){
TryNewPrimaryState(Character.PRI_ST_RUNNING);
};
} else {
if ((_arg1 & Character.ACTION_RIGHT) == Character.ACTION_RIGHT){
if (((!(_character.OnPressSPACE)) && (!((_character.PrimaryState == Character.PRI_ST_HIT))))){
TryNewPrimaryState(Character.PRI_ST_RUNNING);
};
} else {
if (_character.PrimaryState != Character.PRI_ST_HIT){
TryNewPrimaryState(Character.PRI_ST_IDLE);
};
};
};
};
if ((_arg1 & Character.ACTION_FIREX) == Character.ACTION_FIREX){
TryNewSecondaryState(Character.SEC_STATE_SWINGING_SWORD);
_attack = true;
};
if ((_arg1 & Character.ACTION_FIREZ) == Character.ACTION_FIREZ){
if (!_attack){
TryNewSecondaryState(Character.SEC_STATE_THROWING_SHURIKEN);
_attack = true;
};
};
if ((_arg1 & Character.ACTION_SPACE) == Character.ACTION_SPACE){
};
}
}
}//package model
Section 267
//CannonBolt (model.CannonBolt)
package model {
import flash.events.*;
import flash.display.*;
import config.*;
public class CannonBolt extends Transformation {
private var _direction:int;
private var ACCELERATION_X_CANNONBOLT:int;
private var SPEED_ATTACK_X:int;
private var _notPressZ:Boolean;// = false
private var _fast:Boolean;// = false
private var _attack:Boolean;// = false
private var _account:int;
private var SPEED_ATTACK_LIMIT:int;
public function CannonBolt(_arg1:MovieClip, _arg2:Character){
_fast = false;
_attack = false;
_notPressZ = false;
super(_arg1, _arg2);
_account = 0;
LoadConfig();
}
override public function TryTransformation(_arg1:int):void{
switch (_arg1){
case Character.TRANSFORMATION_CANNONBOLT:
case Character.TRANSFORMATION_FOUR_ARMS:
break;
case Character.TRANSFORMATION_BEN_SAMURAI:
_primaryStateMc.gotoAndStop("BenSamurai_idle");
break;
};
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if (_secondaryStateMc == null){
return;
};
if ((((_arg1 == Character.SEC_STATE_FAST)) || ((_arg1 == Character.SEC_STATE_ATTACK)))){
_character.HitAreaAttack = MovieClip(_primaryStateMc.getChildByName("hitAreaAttack_mc"));
};
_secondaryStateMc.gotoAndStop(_secondaryStateLabels[_arg1]);
}
private function ResetSecondStateMc(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, ResetSecondStateMc);
_secondaryStateMc = _primaryStateMc;
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == _character.PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Character.PRI_ST_IDLE:
_character.Crouching = false;
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_HIT:
_character.Crouching = false;
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_RUNNING:
_character.PrimaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == _character.SecondaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Character.SEC_STATE_IDLE:
_character.SecondaryState = _arg1;
_local2 = true;
break;
case Character.SEC_STATE_RUN:
_character.SecondaryState = _arg1;
_local2 = true;
break;
case Character.SEC_STATE_FAST:
_character.SecondaryState = _arg1;
_local2 = true;
_character.AttackCollision = true;
break;
case Character.SEC_STATE_ATTACK:
Sfx.PlaySound(Sfx.SFX_BEN_SONIC);
_character.SecondaryState = _arg1;
_local2 = true;
_character.AttackCollision = true;
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
public function LoadConfig():void{
Fragility = ConfigLoader.Instance.Config["CannonboltFragility"];
EnergyToSubtractEnemyAttack = ConfigLoader.Instance.Config["CannonboltEnergySubtractsForAttack"];
EnergyToSubtractEnemyShot = ConfigLoader.Instance.Config["CannonboltEnergySubtractsForShot"];
EnergyToSubtractEnemySuperAttack = ConfigLoader.Instance.Config["CannonboltEnergySubtractsForSuperAttack"];
SPEED_ATTACK_X = ConfigLoader.Instance.Config["CannonboltSpeedAttackX"];
SPEED_ATTACK_LIMIT = ConfigLoader.Instance.Config["CannonboltSpeedAttackLimit"];
ACCELERATION_X_CANNONBOLT = ConfigLoader.Instance.Config["CannonboltAcelerationX"];
}
override public function Update(_arg1:Number):void{
if (_character.Transforming){
return;
};
if (_attack){
if (_direction == 1){
_character.SpeedX = SPEED_ATTACK_X;
} else {
if (_direction == -1){
_character.SpeedX = -(SPEED_ATTACK_X);
};
};
_account = (_account + _character.SpeedX);
if (Math.abs(_account) > SPEED_ATTACK_LIMIT){
_attack = false;
TryNewPrimaryState(Character.SEC_STATE_RUN);
_account = 0;
};
};
if (((!(_fast)) && ((_character.SecondaryState == Character.SEC_STATE_FAST)))){
TryNewPrimaryState(Character.SEC_STATE_RUN);
};
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.invalidate();
if (_arg1 == Character.PRI_ST_HIT){
_primaryStateMc.gotoAndStop((_primaryStateLabels[_arg1] + _primaryStateLabels[_character.PreviousPrimaryState]));
return;
};
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
override public function UpdateAction(_arg1:uint):void{
if (_character.Transforming){
return;
};
if (!_character.Crouching){
if ((_arg1 & Character.ACTION_LEFT) == Character.ACTION_LEFT){
if (!_character.OnPressSPACE){
TryNewPrimaryState(Character.PRI_ST_RUNNING);
if (((!(_fast)) && (!(_attack)))){
_character.SpeedX = -(Character.MAX_SPEED_X);
};
if (((_fast) && (!(_attack)))){
_character.SpeedX = (_character.SpeedX - ACCELERATION_X_CANNONBOLT);
};
};
} else {
if ((_arg1 & Character.ACTION_RIGHT) == Character.ACTION_RIGHT){
if (!_character.OnPressSPACE){
TryNewPrimaryState(Character.PRI_ST_RUNNING);
if (((!(_fast)) && (!(_attack)))){
_character.SpeedX = Character.MAX_SPEED_X;
};
if (((_fast) && (!(_attack)))){
_character.SpeedX = (_character.SpeedX + ACCELERATION_X_CANNONBOLT);
};
};
} else {
TryNewPrimaryState(Character.PRI_ST_IDLE);
};
};
};
if ((_arg1 & Character.ACTION_FIREZ) == Character.ACTION_FIREZ){
if (_character.PrimaryState == Character.PRI_ST_RUNNING){
TryNewSecondaryState(Character.SEC_STATE_FAST);
};
_fast = true;
} else {
_fast = false;
};
if ((_arg1 & Character.ACTION_FIREX) == Character.ACTION_FIREX){
if (((((!(_attack)) && (!(_notPressZ)))) && ((_character.PrimaryState == Character.PRI_ST_RUNNING)))){
_attack = true;
if (_character.PreviousSpeedX != 0){
if (_character.PreviousSpeedX >= 0){
_direction = 1;
} else {
_direction = -1;
};
} else {
if (_character.PreviousSpeedXNotZero >= 0){
_direction = 1;
} else {
_direction = -1;
};
};
TryNewSecondaryState(Character.SEC_STATE_ATTACK);
};
_notPressZ = true;
} else {
_notPressZ = false;
if (_character.SecondaryState != Character.SEC_STATE_FAST){
_character.SecondaryState = _character.PrimaryState;
};
};
}
}
}//package model
Section 268
//Character (model.Character)
package model {
import flash.display.*;
import ui.*;
import game.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import collision.*;
import utils.*;
import scroll.*;
import com.gamesandweb.game.events.*;
import config.*;
public class Character implements ICollidable {
private var _y:Number;
private var _selectTransformation:int;
private var _speedX:Number;
private var _speedY:Number;
private var _numberSuriken:int;
private var _accountantTinte:int;// = 0
private var _pointPlatform:Point;
private var _wasRunning:Boolean;// = false
private var _enableTransformation:Boolean;
private var _reset:Boolean;// = false
protected var _currentTransformationId:int;
protected var _crouching:Boolean;
private var _oldSpeedX:Number;
private var _oldSpeedY:Number;
private var _energyOmnitrix:Number;
private var _point:int;
private var _BenSamurai:BenSamurai;
private var _previousSelectTransformation:int;
private var _timeOfVariation:int;// = 0
private var _colorTinte:uint;// = 0
private var _currentPlatform:Platform;
private var _transforming:Boolean;// = false
private var _timeOfDischargeOnmitrix:int;
private var _CannonBolt:CannonBolt;
private var _pause:Boolean;// = false
private var _timeOfRechargeOnmitrix:int;
private var _currentTimeOmnitrix:int;
private var _jumpDead:Boolean;// = false
protected var _previousPrimaryState:int;
private var _jumpStrengthRemaining:int;
private var _activeFourArms:Boolean;
private var _activeCannonBolt:Boolean;
private var _hitAreaAttack:MovieClip;// = null
private var _dead:Boolean;// = false
private var _pauseComplete:Boolean;// = false
private var _timeOfDuration:int;// = 0
private var _FourArms:FourArms;
private var running_velocity:int;
private var _oldSpeedXNotZero:Number;
private var _shotsFriendlyManager;
private var _coin:int;
protected var _previousSecondaryState:int;
private var _stateOmnitrix:int;
protected var _view:MovieClip;// = null
private var _attackCollision:Boolean;// = false
protected var _primaryState:int;
private var _state:Boolean;
private var _rangeIncrementEnergyOmnitrix:int;
private var _onPressSPACE:Boolean;// = false
protected var _secondaryState:int;
private var _energy:Number;
private var _alphaTinte:Number;// = 0
private var _accountInvincible:int;// = 0
protected var _jumping:Boolean;
private var _localPosition:Point;
private var _invincible:Boolean;// = false
private var _rangeDecrementEnergyOmnitrix:int;
private var _offsetFromLevelLayer:Point;// = null
private var _tinte:Boolean;// = false
private var jump_velocity:int;
private var _life:int;
private var _lastSecurePlatform:Platform;// = null
private var _currentTransformation:Transformation;
private var _numberFrame:int;// = 0
private var _oldX:Number;
private var _useTransformation:Boolean;
protected var _currentPlatformPreviousX:Number;
protected var _currentPlatformPreviousY:Number;
private var _oldY:Number;
private var _x:Number;
public static const LEFT:int = 1;
public static const TRANSFORMATION_CANNONBOLT:int = 1;
public static const ACTION_DOWN:uint = 8;
public static const SEC_STATE_RUN:int = 3;
public static const PRI_ST_IDLE_LBL:String = "idle";
public static const PRI_ST_DIE_LBL:String = "die";
public static const SEC_STATE_THROWING_SHURIKEN_LBL:String = "shuriken";
public static const SEC_STATE_ATTACK:int = 7;
public static const SEC_STATE_FAST_LBL:String = "fast";
public static const PRI_ST_CROUCHING:int = 1;
public static const SEC_STATE_FAST:int = 6;
public static const PRI_ST_IDLE:int = 0;
public static const PRI_ST_DIE:int = 6;
public static const ACTION_UP:uint = 4;
public static const PRI_ST_HIT:int = 5;
public static const TRANSFORMATION_FOUR_ARMS:int = 2;
public static const SEC_STATE_THROWING_SHURIKEN:int = 2;
public static const SEC_STATE_ARMSRIGHT:int = 4;
public static const SEC_STATE_RUN_LBL:String = "run";
public static const ACTION_ENTER:uint = 128;
public static const ACTION_LEFT:uint = 1;
public static const SEC_STATE_ARMS:int = 7;
public static const PRI_ST_RUNNING:int = 2;
public static const PRI_ST_JUMPING_LBL:String = "jump";
public static const SEC_STATE_IDLE_LBL:String = "idle";
public static const ACTION_FIREX:uint = 32;
public static const ACTION_FIREZ:uint = 16;
public static const ACTION_SPACE:uint = 64;
public static const ACTION_NONE:uint = 0;
public static const DOWN:int = 3;
public static const PRI_ST_HIT_LBL:String = "hit";
public static const UP:int = 2;
public static const PRI_ST_JUMPING:int = 3;
public static const SEC_STATE_IDLE:int = 0;
public static const ACTION_RIGHT:uint = 2;
public static const SEC_STATE_SWINGING_SWORD_LBL:String = "sword";
public static const TRANSFORMATION_BEN_SAMURAI:int = 0;
public static const SEC_STATE_ARMSRIGHT_LBL:String = "armsRight";
public static const SEC_STATE_ARMS_LBL:String = "arms";
public static const PRI_ST_RUNNING_LBL:String = "run";
public static const SEC_STATE_ARMSLEFT_LBL:String = "armsLeft";
public static const SEC_STATE_SWINGING_SWORD:int = 1;
public static const PRI_ST_CROUCHING_LBL:String = "crouch";
public static const SEC_STATE_ARMSLEFT:int = 5;
public static const SEC_STATE_ATTACK_LBL:String = "attack";
public static const RIGHT:int = 0;
public static var GRAVITY:int;
public static var MAX_SPEED_Y:int;
public static var MAX_SPEED_X:int;
public static var MAX_JUMP_STRENGTH:int;
public static var TIME_INVINCIBLE:int;
public function Character(_arg1:MovieClip, _arg2:ShotsFriendlyManager, _arg3:Point):void{
_view = null;
_invincible = false;
_accountInvincible = 0;
_tinte = false;
_accountantTinte = 0;
_timeOfDuration = 0;
_timeOfVariation = 0;
_colorTinte = 0;
_alphaTinte = 0;
_offsetFromLevelLayer = null;
_dead = false;
_onPressSPACE = false;
_transforming = false;
_shotsFriendlyManager = new ShotsFriendlyManager();
_hitAreaAttack = null;
_attackCollision = false;
_numberFrame = 0;
_reset = false;
_pause = false;
_pauseComplete = false;
_jumpDead = false;
_lastSecurePlatform = null;
_wasRunning = false;
_localPosition = new Point();
super();
_view = _arg1;
_offsetFromLevelLayer = _arg3.clone();
ShotsFriendlyManagerOfBen = _arg2;
_BenSamurai = new BenSamurai(new BenSamuraiAsset(), this);
_CannonBolt = new CannonBolt(new CannonBoltAsset(), this);
_FourArms = new FourArms(new FourArmsAsset(), this);
_BenSamurai.Hide();
_CannonBolt.Hide();
_FourArms.Hide();
_view.addChild(_BenSamurai.View);
_view.addChild(_CannonBolt.View);
_view.addChild(_FourArms.View);
LoadConfig();
_pointPlatform = new Point();
Reset();
Global.AddEventListener(GameEvent.MILESTONE_REACH, OnGameEvent);
}
public function GetGlobalCenterPoint():Point{
return (_currentTransformation.GetGlobalCenterPoint());
}
public function get PointPlatform():Point{
return (_pointPlatform);
}
public function set PointPlatform(_arg1:Point):void{
_pointPlatform = _arg1.clone();
}
public function get ShotsFriendlyManagerOfBen():ShotsFriendlyManager{
return (_shotsFriendlyManager);
}
public function BenDie():void{
if (HUDManager.Instance.RemoveLife()){
if (GameManager.Instance.Update){
GameManager.Instance.Pause();
};
ScrollManager.Instance.Freeze();
GameTemplateMainApp.Instance.ResetCharacterDead();
} else {
if (GameManager.Instance.Update){
GameManager.Instance.Pause();
};
Global.DispatchGameEvent("OnGameLost");
};
}
public function set ShotsFriendlyManagerOfBen(_arg1:ShotsFriendlyManager):void{
_shotsFriendlyManager = _arg1;
}
public function set HitAreaAttack(_arg1:MovieClip):void{
_hitAreaAttack = _arg1;
}
public function get TopGlobalY():Number{
return (_currentTransformation.TopGlobalY);
}
public function get PreviousSpeedXNotZero():Number{
return (_oldSpeedXNotZero);
}
public function get AlphaTinte():Number{
return (_alphaTinte);
}
public function set PreviousSpeedXNotZero(_arg1:Number):void{
if (_arg1 != 0){
_oldSpeedX = _arg1;
};
}
public function get AccountantTinte():int{
return (_accountantTinte);
}
public function set SpeedY(_arg1:Number):void{
_speedY = _arg1;
}
public function get Invincible():Boolean{
return (_invincible);
}
private function Jump():void{
if (CurrentPlatform != null){
PreviousSpeedY = SpeedY;
SpeedY = -(MAX_JUMP_STRENGTH);
if (CurrentPlatform.Type == Platform.FLOOR){
_localPosition.x = X;
_localPosition.y = Y;
EffectManager.Instance.PlayEffect(EffectManager.EFFECT_JUMP, _localPosition);
};
CurrentPlatform = null;
_jumping = true;
_currentTransformation.TryNewPrimaryState(PRI_ST_JUMPING);
Sfx.PlaySound(Sfx.SFX_BEN_JUMP);
};
}
public function set SpeedX(_arg1:Number):void{
_speedX = _arg1;
}
public function GotoStateAnimation():void{
}
public function set AlphaTinte(_arg1:Number):void{
_alphaTinte = _arg1;
}
public function get Y():Number{
return (_view.y);
}
public function get BottomGlobalY():Number{
return (_currentTransformation.BottomGlobalY);
}
public function get X():Number{
return (_view.x);
}
public function set AccountantTinte(_arg1:int):void{
_accountantTinte = _arg1;
}
public function set PauseComplete(_arg1:Boolean):void{
_pauseComplete = _arg1;
}
public function get PreviousPrimaryState():int{
return (_previousPrimaryState);
}
public function get CurrentAbsoluteX():Number{
return (_x);
}
public function get PreviousAbsoluteY():Number{
return (_oldY);
}
public function GetRadio():int{
return (_currentTransformation.GetRadio());
}
public function RemoveSuriken(_arg1:int):void{
if (_numberSuriken > 0){
_numberSuriken = (_numberSuriken - _arg1);
};
}
public function get CurrentAbsoluteY():Number{
return (_y);
}
public function get PreviousAbsoluteX():Number{
return (_oldX);
}
public function get PreviousSecondaryState():int{
return (_previousSecondaryState);
}
public function set Invincible(_arg1:Boolean):void{
_invincible = _arg1;
}
public function UpdateAction(_arg1:uint):void{
if (((((((((Dead) || (_transforming))) || ((PrimaryState == PRI_ST_HIT)))) || (_jumpDead))) || (!(GameManager.Instance.Update)))){
return;
};
PreviousSpeedXNotZero = SpeedX;
_speedX = 0;
if ((_arg1 & ACTION_LEFT) == ACTION_LEFT){
if (((((_onPressSPACE) && (_activeCannonBolt))) && (_enableTransformation))){
_selectTransformation = TRANSFORMATION_CANNONBOLT;
HUDManager.Instance.CharactersElectionMC.gotoAndStop(3);
if ((((_currentTransformationId == TRANSFORMATION_FOUR_ARMS)) || ((_currentTransformationId == TRANSFORMATION_CANNONBOLT)))){
_selectTransformation = TRANSFORMATION_BEN_SAMURAI;
HUDManager.Instance.CharactersElectionMC.gotoAndStop(1);
};
} else {
if (!_onPressSPACE){
if (CurrentTransformationId != TRANSFORMATION_CANNONBOLT){
PreviousSpeedX = SpeedX;
_speedX = -(MAX_SPEED_X);
};
};
};
};
if ((_arg1 & ACTION_RIGHT) == ACTION_RIGHT){
if (((((_onPressSPACE) && (_activeFourArms))) && (_enableTransformation))){
_selectTransformation = TRANSFORMATION_FOUR_ARMS;
HUDManager.Instance.CharactersElectionMC.gotoAndStop(2);
if ((((_currentTransformationId == TRANSFORMATION_CANNONBOLT)) || ((_currentTransformationId == TRANSFORMATION_FOUR_ARMS)))){
_selectTransformation = TRANSFORMATION_BEN_SAMURAI;
HUDManager.Instance.CharactersElectionMC.gotoAndStop(1);
};
} else {
if (!_onPressSPACE){
if (CurrentTransformationId != TRANSFORMATION_CANNONBOLT){
PreviousSpeedX = SpeedX;
_speedX = MAX_SPEED_X;
};
};
};
};
if ((_arg1 & ACTION_UP) == ACTION_UP){
if (((((!(Transforming)) && ((CurrentTransformationId == TRANSFORMATION_BEN_SAMURAI)))) && (!(_onPressSPACE)))){
Jump();
};
} else {
_jumpStrengthRemaining = 0;
};
if ((_arg1 & ACTION_DOWN) == ACTION_DOWN){
};
if ((_arg1 & ACTION_FIREX) == ACTION_FIREX){
};
if ((_arg1 & ACTION_FIREZ) == ACTION_FIREZ){
};
if ((_arg1 & Character.ACTION_SPACE) == Character.ACTION_SPACE){
if (((((!(_onPressSPACE)) && (!(_jumping)))) && (!(_crouching)))){
_onPressSPACE = true;
Pause = true;
_currentTransformation.TryNewPrimaryState(PRI_ST_IDLE);
_selectTransformation = TRANSFORMATION_BEN_SAMURAI;
HUDManager.Instance.CharactersElectionMC.visible = true;
HUDManager.Instance.CharactersElectionMC.gotoAndStop(1);
ScrollManager.Instance.Freeze();
if (((UIFactory.Instance.LevelIndicator.HasFadeIn) || (UIFactory.Instance.LevelIndicator.HasFadeOut))){
UIFactory.Instance.LevelIndicator.Hide();
};
};
} else {
_onPressSPACE = false;
Pause = false;
ScrollManager.Instance.Unfreeze();
if (((!((_selectTransformation == _currentTransformationId))) && (!((_previousSelectTransformation == _selectTransformation))))){
_currentTransformation.TryTransformation(_selectTransformation);
_transforming = true;
PauseComplete = true;
if (_selectTransformation == TRANSFORMATION_BEN_SAMURAI){
HUDManager.Instance.CharacterMC.gotoAndStop(1);
} else {
if (_selectTransformation == TRANSFORMATION_FOUR_ARMS){
HUDManager.Instance.CharacterMC.gotoAndStop(2);
} else {
HUDManager.Instance.CharacterMC.gotoAndStop(3);
};
};
Sfx.PlaySound(Sfx.SFX_BEN_TRANSFORMATION);
};
if (HUDManager.Instance.CharactersElectionMC.visible){
HUDManager.Instance.CharactersElectionMC.visible = false;
};
_previousSelectTransformation = _selectTransformation;
};
if (!Pause){
_currentTransformation.UpdateAction(_arg1);
};
}
public function get Dead():Boolean{
return (_dead);
}
public function GetCollisionSprite():Sprite{
return (_currentTransformation.GetCollisionSprite());
}
public function OnGameEvent(_arg1:GameEvent):void{
switch (_arg1.name){
case "CharacterAnimationEnd":
if (View == null){
break;
};
if (_primaryState == Character.PRI_ST_HIT){
if (_currentTransformationId == Character.TRANSFORMATION_CANNONBOLT){
_currentTransformation.TryNewPrimaryState(PreviousPrimaryState);
} else {
_currentTransformation.TryNewPrimaryState(PRI_ST_IDLE);
};
} else {
_currentTransformation.TryNewSecondaryState(Character.SEC_STATE_IDLE);
};
break;
case "CharacterAnimationShurikenEnd":
if (View == null){
break;
};
_currentTransformation.TryNewSecondaryState(SEC_STATE_IDLE);
if (_currentTransformationId == TRANSFORMATION_BEN_SAMURAI){
BenSamurai(_currentTransformation).Attack = false;
};
break;
case "CharacterAnimationSwordEnd":
if (View == null){
break;
};
_currentTransformation.TryNewSecondaryState(SEC_STATE_IDLE);
if (_currentTransformationId == TRANSFORMATION_BEN_SAMURAI){
BenSamurai(_currentTransformation).Attack = false;
};
break;
case "ArmsRightAnimationEnd":
if (View == null){
break;
};
FourArms._attackingArmsRight = false;
FourArms._attacking = false;
if (PrimaryState == PRI_ST_RUNNING){
_currentTransformation.TryNewSecondaryState(SEC_STATE_RUN);
} else {
_currentTransformation.TryNewSecondaryState(SEC_STATE_IDLE);
};
break;
case "ArmsLeftAnimationEnd":
if (View == null){
break;
};
FourArms._attackingArmsLeft = false;
FourArms._attacking = false;
if (PrimaryState == PRI_ST_RUNNING){
_currentTransformation.TryNewSecondaryState(SEC_STATE_RUN);
} else {
_currentTransformation.TryNewSecondaryState(SEC_STATE_IDLE);
};
break;
case "EndTransformations":
if (View == null){
break;
};
TransformTo(_selectTransformation);
_transforming = false;
PauseComplete = false;
if (_selectTransformation != TRANSFORMATION_BEN_SAMURAI){
GameManager.Instance.RepositionAfterTransforming();
};
break;
case "CharacterAnimationAttackEnd":
if (View == null){
break;
};
_currentTransformation.TryNewSecondaryState(SEC_STATE_RUN);
break;
case "CharacterAnimationDieEnd":
if ((((View == null)) || (!(_state)))){
break;
};
Hide();
_currentTransformation.TryNewPrimaryState(Character.PRI_ST_IDLE);
BenDie();
_state = false;
break;
case "CharacterShurikenBegin":
if (View == null){
break;
};
if (CurrentTransformationId == TRANSFORMATION_BEN_SAMURAI){
_currentTransformation.Shot();
};
break;
};
}
public function get EnergyOmnitrix():Number{
return (_energyOmnitrix);
}
public function set ColorTinte(_arg1:uint):void{
_colorTinte = _arg1;
}
public function AddPowerUpType(_arg1:int, _arg2:Number, _arg3:Boolean=false):void{
switch (_arg1){
case 1:
LifeNumber = (LifeNumber + _arg2);
HUDManager.Instance.AddLife();
break;
case 2:
PointNumber = (PointNumber + _arg2);
HUDManager.Instance.AddScore(_arg2);
break;
case 3:
GameTemplateMainApp.StateGame = GameTemplateMainApp.STATE_CREDITOS;
GameTemplateMainApp.Instance.Pause();
if (GameManager.Instance.Update){
GameManager.Instance.Pause();
};
UIFactory.Instance.Creditos.FadeIn();
break;
case 4:
if (_arg3){
GameTemplateMainApp.StateGame = GameTemplateMainApp.STATE_INSTRUCTIONS;
GameTemplateMainApp.Instance.Pause();
UIFactory.Instance.InstructionsFourArms.FadeIn();
GameManager.Instance.FourarmsInstruccion = true;
};
break;
case 5:
if (_arg3){
GameTemplateMainApp.StateGame = GameTemplateMainApp.STATE_INSTRUCTIONS;
GameTemplateMainApp.Instance.Pause();
UIFactory.Instance.InstructionsCannonBolt.FadeIn();
GameManager.Instance.CannonboltInstruccion = true;
};
break;
case 6:
AddSuriken(_arg2);
break;
case 7:
PointNumber = (PointNumber + _arg2);
HUDManager.Instance.AddScore(_arg2);
break;
};
}
public function SetType(_arg1:int):void{
}
public function get Energy():Number{
return (_energy);
}
public function get Tinte():Boolean{
return (_tinte);
}
public function set Y(_arg1:Number):void{
_view.y = _arg1;
}
public function set CoinNumber(_arg1:int):void{
_coin = _arg1;
}
public function set TimeOfDuration(_arg1:int):void{
_timeOfDuration = _arg1;
}
public function set X(_arg1:Number):void{
_view.x = _arg1;
}
public function get CurrentTransformation():Transformation{
return (_currentTransformation);
}
public function get View():MovieClip{
return (_view);
}
public function set PreviousPrimaryState(_arg1:int):void{
_previousPrimaryState = _arg1;
}
public function get TimeOfVariation():int{
return (_timeOfVariation);
}
public function set CurrentAbsoluteX(_arg1:Number):void{
_x = _arg1;
}
public function set PreviousAbsoluteX(_arg1:Number):void{
_oldX = _arg1;
}
public function set PreviousAbsoluteY(_arg1:Number):void{
_oldY = _arg1;
}
public function get PointNumber():int{
return (_point);
}
public function get Jumping():Boolean{
return (_jumping);
}
public function get ResetBen():Boolean{
return (_reset);
}
public function set CurrentAbsoluteY(_arg1:Number):void{
_y = _arg1;
}
public function get PreviousSpeedX():Number{
return (_oldSpeedX);
}
public function get PreviousSpeedY():Number{
return (_oldSpeedY);
}
public function get CurrentPlatform():Platform{
return (_currentPlatform);
}
private function TransformTo(_arg1:int):void{
_currentTransformation.Hide();
switch (_arg1){
case TRANSFORMATION_BEN_SAMURAI:
_currentTransformation = _BenSamurai;
break;
case TRANSFORMATION_CANNONBOLT:
_currentTransformation = _CannonBolt;
break;
case TRANSFORMATION_FOUR_ARMS:
_currentTransformation = _FourArms;
break;
};
_currentTransformationId = _arg1;
_currentTransformation.Show();
PrimaryState = PRI_ST_HIT;
_currentTransformation.TryNewPrimaryState(PRI_ST_IDLE);
SecondaryState = SEC_STATE_RUN;
}
public function set PreviousSecondaryState(_arg1:int):void{
_previousSecondaryState = _arg1;
}
public function get LeftGlobalX():Number{
return (_currentTransformation.LeftGlobalX);
}
public function Update(_arg1:Number):void{
if (((((((Dead) || (_transforming))) || ((PrimaryState == PRI_ST_HIT)))) || (Pause))){
PreviousSpeedY = 0;
SpeedY = 0;
PreviousAbsoluteX = CurrentAbsoluteX;
PreviousAbsoluteY = CurrentAbsoluteY;
this.CurrentPlatformIsMoves();
return;
};
if (_reset){
if (HUDManager.Instance.TransformationCorrect != null){
HUDManager.Instance.TransformationCorrect.gotoAndStop(100);
_enableTransformation = true;
_stateOmnitrix = 2;
HUDManager.Instance.TransformationBarFrame(_stateOmnitrix);
};
_reset = false;
} else {
if (_stateOmnitrix == 1){
if (_useTransformation){
if (HUDManager.Instance.TransformationCorrect != null){
HUDManager.Instance.TransformationCorrect.gotoAndStop((100 - _numberFrame));
_currentTimeOmnitrix = (((100 - _numberFrame) * _timeOfRechargeOnmitrix) / 100);
_numberFrame = 0;
_useTransformation = false;
};
};
if (((((!(_useTransformation)) && ((_currentTimeOmnitrix < _timeOfRechargeOnmitrix)))) && (!(_enableTransformation)))){
if ((_currentTimeOmnitrix % _rangeIncrementEnergyOmnitrix) == 0){
if (HUDManager.Instance.TransformationCorrect != null){
if (HUDManager.Instance.TransformationCorrect.currentFrame < 100){
HUDManager.Instance.TransformationCorrect.nextFrame();
EnergyOmnitrix++;
_currentTimeOmnitrix++;
} else {
_currentTimeOmnitrix = (_timeOfRechargeOnmitrix + 1);
};
};
} else {
_currentTimeOmnitrix++;
};
} else {
if (!_useTransformation){
if (HUDManager.Instance.TransformationCorrect.currentFrame < 100){
HUDManager.Instance.TransformationCorrect.gotoAndStop(100);
};
_currentTimeOmnitrix = 0;
_enableTransformation = true;
_stateOmnitrix = 2;
HUDManager.Instance.TransformationBarFrame(_stateOmnitrix);
Sfx.PlaySound(Sfx.SFX_OTHERS_ENERGY_COMPLETE);
};
};
} else {
if (CurrentTransformationId != TRANSFORMATION_BEN_SAMURAI){
if ((((_currentTimeOmnitrix < _timeOfDischargeOnmitrix)) && (_enableTransformation))){
_useTransformation = true;
if ((_currentTimeOmnitrix % _rangeDecrementEnergyOmnitrix) == 0){
if (HUDManager.Instance.TransformationCorrect != null){
HUDManager.Instance.TransformationCorrect.nextFrame();
_currentTimeOmnitrix++;
EnergyOmnitrix--;
};
} else {
_currentTimeOmnitrix++;
};
} else {
if (HUDManager.Instance.TransformationCorrect.currentFrame < 100){
HUDManager.Instance.TransformationCorrect.gotoAndStop(100);
};
_currentTimeOmnitrix = 0;
_enableTransformation = false;
_useTransformation = false;
_transforming = true;
PauseComplete = true;
_previousSelectTransformation = _selectTransformation;
_selectTransformation = TRANSFORMATION_BEN_SAMURAI;
_currentTransformation.TryTransformation(_selectTransformation);
if (_selectTransformation == TRANSFORMATION_BEN_SAMURAI){
HUDManager.Instance.CharacterMC.gotoAndStop(1);
} else {
if (_selectTransformation == TRANSFORMATION_FOUR_ARMS){
HUDManager.Instance.CharacterMC.gotoAndStop(2);
} else {
HUDManager.Instance.CharacterMC.gotoAndStop(3);
};
};
Sfx.PlaySound(Sfx.SFX_BEN_TRANSFORMATION);
_stateOmnitrix = 1;
HUDManager.Instance.TransformationBarFrame(_stateOmnitrix);
};
} else {
if (_useTransformation){
_numberFrame = HUDManager.Instance.TransformationCorrect.currentFrame;
_enableTransformation = false;
_stateOmnitrix = 1;
HUDManager.Instance.TransformationBarFrame(_stateOmnitrix);
if (HUDManager.Instance.TransformationCorrect != null){
HUDManager.Instance.TransformationCorrect.gotoAndStop((100 - _numberFrame));
_currentTimeOmnitrix = (((100 - _numberFrame) * _timeOfRechargeOnmitrix) / 100);
_numberFrame = 0;
_useTransformation = false;
};
};
};
};
};
if (Invincible){
_accountInvincible++;
if (AccountantTinte < TimeOfDuration){
if (_accountInvincible == TimeOfVariation){
if (Tinte){
MovieClipUtils.Instance.PaintMC(View, ColorTinte);
AccountantTinte++;
Tinte = false;
} else {
MovieClipUtils.Instance.PaintMC(View, ColorTinte, AlphaTinte);
AccountantTinte++;
Tinte = true;
};
_accountInvincible = 0;
};
} else {
Invincible = false;
if (Tinte){
MovieClipUtils.Instance.PaintMC(View, 0);
AccountantTinte++;
};
Tinte = false;
AccountantTinte = 0;
_accountInvincible = 0;
};
};
if ((((PrimaryState == Character.PRI_ST_RUNNING)) && (!(_wasRunning)))){
Sfx.PlaySoundLoop(Sfx.SFX_BEN_RUN, false);
} else {
if (((!((PrimaryState == Character.PRI_ST_RUNNING))) && (_wasRunning))){
Sfx.StopSound(Sfx.SFX_BEN_RUN);
};
};
_wasRunning = (PrimaryState == Character.PRI_ST_RUNNING);
PreviousAbsoluteX = CurrentAbsoluteX;
PreviousAbsoluteY = CurrentAbsoluteY;
_currentTransformation.Update(_arg1);
if (CurrentPlatform == null){
PreviousSpeedY = SpeedY;
SpeedY = (SpeedY + (GRAVITY * _arg1));
if (SpeedY > MAX_SPEED_Y){
SpeedY = MAX_SPEED_Y;
};
_currentTransformation.UpdateAirPose((SpeedY > 0));
} else {
PreviousSpeedY = SpeedY;
SpeedY = 0;
this.CurrentPlatformIsMoves();
if (_jumpDead){
_currentTransformation.TryNewPrimaryState(Character.PRI_ST_IDLE);
};
EnergySubtract(0);
};
if ((((((_speedX > 0)) && ((_view.scaleX < 0)))) || ((((_speedX < 0)) && ((_view.scaleX > 0)))))){
_view.scaleX = (_view.scaleX * -1);
};
if (Crouching){
_speedX = 0;
};
if (_speedX != 0){
CurrentAbsoluteX = (CurrentAbsoluteX + (_speedX * _arg1));
};
if (_speedY != 0){
CurrentAbsoluteY = (CurrentAbsoluteY + (_speedY * _arg1));
};
}
public function set RUNNING_VELOCITY(_arg1:int):void{
}
public function get OffsetFromLevelLayer():Point{
return (_offsetFromLevelLayer);
}
public function get SpeedY():Number{
return (_speedY);
}
public function get HitAreaAttack():MovieClip{
return (_hitAreaAttack);
}
public function set LifeNumber(_arg1:int):void{
_life = _arg1;
}
public function Show():void{
_view.alpha = 1;
}
public function get SpeedX():Number{
return (_speedX);
}
public function set EnergyOmnitrix(_arg1:Number):void{
_energyOmnitrix = _arg1;
}
public function set Dead(_arg1:Boolean):void{
_dead = _arg1;
}
private function CurrentPlatformIsMoves():void{
if (CurrentPlatform != null){
if (CurrentPlatform.Moves){
PreviousAbsoluteX = CurrentAbsoluteX;
PreviousAbsoluteY = CurrentAbsoluteY;
CurrentAbsoluteX = (CurrentAbsoluteX + (CurrentPlatform.X - _currentPlatformPreviousX));
CurrentAbsoluteY = (CurrentAbsoluteY + (CurrentPlatform.Y - _currentPlatformPreviousY));
CurrentAbsoluteX = (CurrentAbsoluteX + (Math.abs((CurrentPlatform.X - _currentPlatformPreviousX)) * ConfigLoader.Instance.Config["MovingPlatformXCorrectionFactor"]));
CurrentAbsoluteY = (CurrentAbsoluteY + (Math.abs((CurrentPlatform.Y - _currentPlatformPreviousY)) * ConfigLoader.Instance.Config["MovingPlatformYCorrectionFactor"]));
_currentPlatformPreviousX = CurrentPlatform.X;
_currentPlatformPreviousY = CurrentPlatform.Y;
};
};
}
public function get Transforming():Boolean{
return (_transforming);
}
public function get PauseComplete():Boolean{
return (_pauseComplete);
}
public function set SecondaryState(_arg1:int):void{
_previousSecondaryState = _secondaryState;
_secondaryState = _arg1;
}
public function get ColorTinte():uint{
return (_colorTinte);
}
public function Reset(_arg1:Boolean=false):void{
_reset = true;
_CannonBolt.Hide();
_FourArms.Hide();
_BenSamurai.Hide();
_currentTransformation = _BenSamurai;
TransformTo(TRANSFORMATION_BEN_SAMURAI);
_selectTransformation = TRANSFORMATION_BEN_SAMURAI;
_previousSelectTransformation = _selectTransformation;
SpeedX = 0;
SpeedY = 0;
_currentTimeOmnitrix = 0;
PreviousPrimaryState = -1;
PreviousSecondaryState = -1;
PrimaryState = -1;
SecondaryState = -1;
Crouching = false;
Jumping = false;
if (_arg1){
CoinNumber = 0;
PointNumber = 0;
};
_activeCannonBolt = GameManager.Instance.ActiveCannonBolt;
_activeFourArms = GameManager.Instance.ActiveFourArms;
if (((_activeCannonBolt) || (_activeFourArms))){
_enableTransformation = true;
} else {
_enableTransformation = false;
};
_useTransformation = false;
CurrentPlatform = null;
_currentTransformation.TryNewPrimaryState(PRI_ST_IDLE);
_currentTransformation.TryNewSecondaryState(SEC_STATE_IDLE);
_rangeIncrementEnergyOmnitrix = Math.ceil((_timeOfRechargeOnmitrix / 100));
_rangeDecrementEnergyOmnitrix = Math.ceil((_timeOfDischargeOnmitrix / 100));
if (HUDManager.Instance.TransformationBar.currentFrame == 2){
_stateOmnitrix = 1;
HUDManager.Instance.TransformationBarFrame(_stateOmnitrix);
};
if (HUDManager.Instance.CharacterMC.currentFrame != 1){
HUDManager.Instance.CharacterMC.gotoAndStop(1);
};
Energy = ConfigLoader.Instance.Config["CharacterEnergy"];
EnergySubtract(0);
_state = true;
Pause = false;
PauseComplete = false;
if (GameManager.Instance.GameWinner){
_activeCannonBolt = true;
_activeFourArms = true;
};
}
public function set Tinte(_arg1:Boolean):void{
_tinte = _arg1;
}
public function get TimeOfDuration():int{
return (_timeOfDuration);
}
public function set AttackCollision(_arg1:Boolean):void{
_attackCollision = _arg1;
}
public function set Energy(_arg1:Number):void{
_energy = _arg1;
}
public function get CoinNumber():int{
return (_coin);
}
public function get LastSecurePlatform():Platform{
return (_lastSecurePlatform);
}
public function Hide():void{
_view.alpha = 0;
}
public function get RightGlobalX():Number{
return (_currentTransformation.RightGlobalX);
}
public function get RUNNING_VELOCITY():int{
return (running_velocity);
}
public function get LifeNumber():int{
return (_life);
}
public function set View(_arg1:MovieClip):void{
_view = _arg1;
}
public function set Crouching(_arg1:Boolean):void{
_crouching = _arg1;
}
public function get CurrentTransformationId():int{
return (_currentTransformationId);
}
public function GetType():int{
return (1);
}
public function get SecondaryState():int{
return (_secondaryState);
}
public function set TimeOfVariation(_arg1:int):void{
_timeOfVariation = _arg1;
}
public function set PrimaryState(_arg1:int):void{
_previousPrimaryState = _primaryState;
_primaryState = _arg1;
}
public function set Jumping(_arg1:Boolean):void{
_jumping = _arg1;
}
public function set Pause(_arg1:Boolean):void{
_pause = _arg1;
}
public function get AttackCollision():Boolean{
return (_attackCollision);
}
public function set PointNumber(_arg1:int){
_point = _arg1;
}
public function set JUMP_VELOCITY(_arg1:Number):void{
}
public function get Crouching():Boolean{
return (_crouching);
}
public function get JUMP_VELOCITY():Number{
return (jump_velocity);
}
public function get PrimaryState():int{
return (_primaryState);
}
public function set PreviousSpeedX(_arg1:Number):void{
_oldSpeedX = _arg1;
}
public function set PreviousSpeedY(_arg1:Number):void{
_oldSpeedY = _arg1;
}
public function get Pause():Boolean{
return (_pause);
}
public function set CurrentPlatform(_arg1:Platform):void{
_currentPlatform = _arg1;
if (PrimaryState == PRI_ST_HIT){
SpeedY = 0;
};
if (_currentPlatform == null){
_jumping = true;
if (PrimaryState != PRI_ST_HIT){
_currentTransformation.TryNewPrimaryState(PRI_ST_JUMPING);
};
return;
};
_jumping = false;
_jumpStrengthRemaining = MAX_JUMP_STRENGTH;
if (_arg1.Moves){
_currentPlatformPreviousX = _arg1.X;
_currentPlatformPreviousY = _arg1.Y;
};
if (((!(_currentPlatform.Moves)) && (!((_currentPlatform == null))))){
_pointPlatform.x = CurrentAbsoluteX;
_pointPlatform.y = CurrentAbsoluteY;
};
if (!_currentPlatform.Moves){
_lastSecurePlatform = _currentPlatform;
};
}
public function AddSuriken(_arg1:int):void{
_numberSuriken = (_numberSuriken + _arg1);
}
public function EnergySubtract(_arg1:Number){
var _local2:int;
Energy = (Energy - (_arg1 * CurrentTransformation.Fragility));
_local2 = (100 - Energy);
if (_local2 > 0){
HUDManager.Instance.LifeBarMC.gotoAndStop(_local2);
} else {
if (_local2 == 0){
HUDManager.Instance.LifeBarMC.gotoAndStop(1);
} else {
HUDManager.Instance.LifeBarMC.gotoAndStop(100);
};
};
if (Energy <= 0){
if (CurrentTransformationId == TRANSFORMATION_BEN_SAMURAI){
if (PrimaryState != Character.PRI_ST_JUMPING){
_jumpDead = false;
Dead = true;
_currentTransformation.TryNewPrimaryState(PRI_ST_DIE);
PreviousSpeedX = 0;
PreviousSpeedY = 0;
SpeedX = 0;
SpeedY = 0;
PreviousAbsoluteX = CurrentAbsoluteX;
PreviousAbsoluteY = CurrentAbsoluteY;
Sfx.PlaySound(Sfx.SFX_BEN_DIE);
} else {
_jumpDead = true;
};
} else {
_transforming = true;
PauseComplete = true;
_enableTransformation = false;
_previousSelectTransformation = _selectTransformation;
_selectTransformation = TRANSFORMATION_BEN_SAMURAI;
_currentTransformation.TryTransformation(_selectTransformation);
if (_selectTransformation == TRANSFORMATION_BEN_SAMURAI){
HUDManager.Instance.CharacterMC.gotoAndStop(1);
} else {
if (_selectTransformation == TRANSFORMATION_FOUR_ARMS){
HUDManager.Instance.CharacterMC.gotoAndStop(2);
} else {
HUDManager.Instance.CharacterMC.gotoAndStop(3);
};
};
};
};
}
public function get OnPressSPACE():Boolean{
return (_onPressSPACE);
}
public function LoadConfig():void{
Energy = ConfigLoader.Instance.Config["CharacterEnergy"];
EnergyOmnitrix = ConfigLoader.Instance.Config["CharacterOmnitrixEnergy"];
LifeNumber = ConfigLoader.Instance.Config["CharacterNumLives"];
MAX_SPEED_X = ConfigLoader.Instance.Config["CharacterMaxSpeedX"];
MAX_SPEED_Y = ConfigLoader.Instance.Config["CharacterMaxSpeedY"];
GRAVITY = ConfigLoader.Instance.Config["CharacterGravity"];
MAX_JUMP_STRENGTH = ConfigLoader.Instance.Config["CharacterMaxJumpStrength"];
TIME_INVINCIBLE = ConfigLoader.Instance.Config["CharacterTimeInvincible"];
RUNNING_VELOCITY = ConfigLoader.Instance.Config["CharacterRunningVelocity"];
JUMP_VELOCITY = ConfigLoader.Instance.Config["CharacterJumpVelocity"];
_timeOfRechargeOnmitrix = ConfigLoader.Instance.Config["CharacterTimeOfRechargeOnmitrix"];
_timeOfDischargeOnmitrix = ConfigLoader.Instance.Config["CharacterTimeOfDischargeOnmitrix"];
_numberSuriken = ConfigLoader.Instance.Config["CharacterNumberSuriken"];
TimeOfDuration = ConfigLoader.Instance.Config["CharacterTimeOfDuration"];
TimeOfVariation = ConfigLoader.Instance.Config["CharacterTimeOfVariation"];
ColorTinte = ConfigLoader.Instance.Config["CharacterColorTinte"];
AlphaTinte = ConfigLoader.Instance.Config["CharacterAlphaTinte"];
}
public function get NumberSurike():int{
return (_numberSuriken);
}
public function set NumberSurike(_arg1:int):void{
_numberSuriken = _arg1;
}
}
}//package model
Section 269
//EffectManager (model.EffectManager)
package model {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import view.*;
import assets.*;
public class EffectManager {
private var _view:MovieClip;
protected var _initialized:Boolean;// = false
private var _active:Boolean;
private var _effectMC1:MovieClip;
private var _effectMC2:MovieClip;
private var _effectMC3:MovieClip;
public static const EFFECT_ATTACK:int = 1;
public static const EFFECT_JUMP:int = 0;
public static const EFFECT_SWORD:int = 2;
private static var _instance:EffectManager = null;
public function EffectManager(_arg1:SingletonEnforcer){
_initialized = false;
super();
}
public function PlayEffect(_arg1:int, _arg2:Point):Boolean{
if (_effectMC1.alpha == 0){
_effectMC1 = LoadMC(_arg1);
_effectMC1.x = _arg2.x;
_effectMC1.y = _arg2.y;
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).addChild(_effectMC1);
Show(_effectMC1);
_effectMC1.gotoAndStop(1);
_effectMC1.addEventListener("AnimationEnd", AnimationEnd);
return (true);
};
if (_effectMC2.alpha == 0){
_effectMC2 = LoadMC(_arg1);
_effectMC2.x = _arg2.x;
_effectMC2.y = _arg2.y;
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).addChild(_effectMC2);
Show(_effectMC2);
_effectMC2.gotoAndStop(1);
_effectMC2.addEventListener("AnimationEnd", AnimationEnd);
return (true);
};
if (_effectMC3.alpha == 0){
_effectMC3 = LoadMC(_arg1);
_effectMC3.x = _arg2.x;
_effectMC3.y = _arg2.y;
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL).addChild(_effectMC3);
Show(_effectMC3);
_effectMC3.gotoAndStop(1);
_effectMC3.addEventListener("AnimationEnd", AnimationEnd);
return (true);
};
return (false);
}
public function Position(_arg1:int=0, _arg2:int=0):void{
_view.x = _arg1;
_view.y = _arg2;
}
public function get View():MovieClip{
return (_view);
}
public function Flip(_arg1:int=1):void{
_view.scaleX = (_view.scaleX * _arg1);
}
public function AnimationEnd(_arg1:Event):void{
Hide(MovieClip(_arg1.target));
}
private function LoadMC(_arg1:int):MovieClip{
if (_arg1 == EFFECT_JUMP){
return (new Effect1Asset());
};
if (_arg1 == EFFECT_ATTACK){
return (new Effect2Asset());
};
if (_arg1 == EFFECT_SWORD){
return (new Effect3Asset());
};
return (null);
}
public function Show(_arg1:MovieClip):void{
_arg1.alpha = 1;
}
public function Hide(_arg1:MovieClip):void{
_arg1.alpha = 0;
}
public function Initialize():void{
if (!_initialized){
_initialized = true;
_active = false;
_view = new EffectAsset();
_effectMC1 = new MovieClip();
_effectMC2 = new MovieClip();
_effectMC3 = new MovieClip();
Hide(_view);
Hide(_effectMC1);
Hide(_effectMC2);
Hide(_effectMC3);
};
}
public function Scale(_arg1:int=1, _arg2:int=1):void{
_view.scaleX = _arg1;
_view.scaleY = _arg2;
}
private function AddEffect(_arg1:MovieClip, _arg2:Number, _arg3:Number):void{
}
public static function GetInstance():EffectManager{
if (_instance == null){
_instance = new EffectManager(new SingletonEnforcer());
};
return (_instance);
}
public static function get Instance():EffectManager{
return (GetInstance());
}
}
}//package model
class SingletonEnforcer {
private function SingletonEnforcer(){
}
}
Section 270
//EnvironmentElement (model.EnvironmentElement)
package model {
import flash.display.*;
import flash.geom.*;
import collision.*;
public class EnvironmentElement implements ICollidable {
protected var _view:MovieClip;
protected var _stopsDownUp:Boolean;
protected var _stopsRightLeft:Boolean;
protected var _stopsUpDown:Boolean;
protected var _stopsLeftRight:Boolean;
private var _offsetFromLevelLayer:Point;// = null
protected var _moves:Boolean;
public function EnvironmentElement(_arg1:MovieClip, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean, _arg6:Point, _arg7:Boolean=false){
_offsetFromLevelLayer = null;
super();
_view = _arg1;
_stopsUpDown = _arg2;
_stopsDownUp = _arg3;
_stopsLeftRight = _arg4;
_stopsRightLeft = _arg5;
_moves = _arg7;
_offsetFromLevelLayer = _arg6.clone();
_arg1.alpha = 0;
}
public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
if ((((_view == null)) || ((_view.stage == null)))){
return (null);
};
_local1 = _view.getBounds(_view.stage);
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
public function set View(_arg1:MovieClip):void{
_view = _arg1;
}
public function set Height(_arg1:Number):void{
_view.height = _arg1;
}
public function GetType():int{
return (0);
}
public function get OffsetFromLevelLayer():Point{
return (_offsetFromLevelLayer);
}
public function set StopsLeftRight(_arg1:Boolean):void{
_stopsLeftRight = _arg1;
}
public function set StopsUpDown(_arg1:Boolean):void{
_stopsUpDown = _arg1;
}
public function Show():void{
_view.visible = true;
}
public function get TopGlobalY():Number{
return (_view.getBounds(_view.stage).y);
}
public function set StopsDownUp(_arg1:Boolean):void{
_stopsDownUp = _arg1;
}
public function get Width():Number{
return (_view.width);
}
public function get Moves():Boolean{
return (_moves);
}
public function SetType(_arg1:int):void{
}
public function GetCollisionSprite():Sprite{
if (_view == null){
return (null);
};
return (Sprite(_view));
}
public function set X(_arg1:Number):void{
_view.x = _arg1;
}
public function get StopsRightLeft():Boolean{
return (_stopsRightLeft);
}
public function set Y(_arg1:Number):void{
_view.y = _arg1;
}
public function get StopsLeftRight():Boolean{
return (_stopsLeftRight);
}
public function get View():MovieClip{
return (_view);
}
public function get Height():Number{
return (_view.height);
}
public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _view.getBounds(_view.stage);
return ((_local1.y + _local1.height));
}
public function set Width(_arg1:Number):void{
_view.width = _arg1;
}
public function get StopsUpDown():Boolean{
return (_stopsUpDown);
}
public function get StopsDownUp():Boolean{
return (_stopsDownUp);
}
public function get X():Number{
return (_view.x);
}
public function get Y():Number{
return (_view.y);
}
public function set StopsRightLeft(_arg1:Boolean):void{
_stopsRightLeft = _arg1;
}
public function Hide():void{
_view.visible = false;
}
public function get LeftGlobalX():Number{
return (_view.getBounds(_view.stage).x);
}
public function GetRadio():int{
return (0);
}
public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _view.getBounds(_view.stage);
return ((_local1.x + _local1.width));
}
}
}//package model
Section 271
//FourArms (model.FourArms)
package model {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import config.*;
public class FourArms extends Transformation {
private var _armsRightBoolean:Boolean;// = false
private var _armsLeftMc:MovieClip;// = null
private var _armsLeftBoolean:Boolean;// = false
private var _armsRightMc:MovieClip;// = null
public static var _attackingArmsLeft:Boolean = false;
public static var _attackingArmsRight:Boolean = false;
public static var _attacking:Boolean = false;
public function FourArms(_arg1:MovieClip, _arg2:Character){
_armsLeftMc = null;
_armsRightMc = null;
_armsLeftBoolean = false;
_armsRightBoolean = false;
super(_arg1, _arg2);
LoadConfig();
}
override public function TryTransformation(_arg1:int):void{
switch (_arg1){
case Character.TRANSFORMATION_CANNONBOLT:
case Character.TRANSFORMATION_FOUR_ARMS:
break;
case Character.TRANSFORMATION_BEN_SAMURAI:
_primaryStateMc.gotoAndStop("BenSamurai_idle");
break;
};
}
override public function GotoSecondaryStateAnimation(_arg1:int):void{
if ((((_armsLeftMc == null)) && ((_armsRightMc == null)))){
return;
};
if ((((_arg1 == Character.SEC_STATE_ARMSLEFT)) || ((_arg1 == Character.SEC_STATE_ARMSRIGHT)))){
_character.HitAreaAttack = MovieClip(_primaryStateMc.getChildByName("hitAreaAttack_mc"));
};
if (_arg1 == Character.SEC_STATE_ARMSLEFT){
if (((_armsLeftBoolean) && (!(_attackingArmsLeft)))){
if (_armsLeftMc.currentLabel == _secondaryStateLabels[Character.SEC_STATE_ARMSLEFT]){
_armsLeftMc.gotoAndStop(_secondaryStateLabels[_character.PrimaryState]);
};
_armsLeftMc.gotoAndStop(_secondaryStateLabels[_arg1]);
_armsRightMc.gotoAndStop(_secondaryStateLabels[_arg1]);
FourArms._attackingArmsLeft = true;
};
} else {
if (_arg1 == Character.SEC_STATE_ARMSRIGHT){
if (((_armsRightBoolean) && (!(_attackingArmsRight)))){
if (_armsRightMc.currentLabel == _secondaryStateLabels[Character.SEC_STATE_ARMSRIGHT]){
_armsRightMc.gotoAndStop(_secondaryStateLabels[_character.PrimaryState]);
};
_armsRightMc.gotoAndStop(_secondaryStateLabels[_arg1]);
_armsLeftMc.gotoAndStop(_secondaryStateLabels[_arg1]);
FourArms._attackingArmsRight = true;
};
} else {
if (!_attackingArmsLeft){
_armsLeftMc.gotoAndStop(_secondaryStateLabels[_arg1]);
};
if (!_attackingArmsRight){
_armsRightMc.gotoAndStop(_secondaryStateLabels[_arg1]);
};
};
};
}
private function ResetSecondStateMc(_arg1:Event):void{
GameTemplateMainApp.MyStage.stage.removeEventListener(Event.RENDER, ResetSecondStateMc);
switch (_character.PrimaryState){
case Character.PRI_ST_IDLE:
case Character.PRI_ST_RUNNING:
_armsLeftMc = MovieClip(MovieClip(MovieClip(_view.getChildByName("FourArms_mc")).getChildByName("FourArms2_mc")).getChildByName("ArmsLeft_mc"));
_armsRightMc = MovieClip(MovieClip(MovieClip(_view.getChildByName("FourArms_mc")).getChildByName("FourArms2_mc")).getChildByName("ArmsRight_mc"));
break;
};
Global.DispatchGameEvent("ArmsRightAnimationEnd");
Global.DispatchGameEvent("ArmsLeftAnimationEnd");
if (_character.PrimaryState == Character.PRI_ST_RUNNING){
TryNewSecondaryState(Character.SEC_STATE_RUN);
} else {
if (_character.PrimaryState == Character.PRI_ST_IDLE){
TryNewSecondaryState(Character.SEC_STATE_IDLE);
};
};
}
override public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == _character.PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case Character.PRI_ST_IDLE:
_character.Crouching = false;
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_HIT:
_character.Crouching = false;
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_RUNNING:
_character.PrimaryState = _arg1;
_local2 = true;
break;
case Character.PRI_ST_JUMPING:
_character.PrimaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
override public function TryNewSecondaryState(_arg1:int):Boolean{
var _local2:Boolean;
if ((((((_arg1 == _character.SecondaryState)) && (!((_arg1 == Character.SEC_STATE_ARMSLEFT))))) && (!((_arg1 == Character.SEC_STATE_ARMSRIGHT))))){
return (false);
};
_local2 = false;
switch (_arg1){
case Character.SEC_STATE_IDLE:
_character.SecondaryState = _arg1;
_local2 = true;
break;
case Character.SEC_STATE_RUN:
_character.SecondaryState = _arg1;
_local2 = true;
break;
case Character.SEC_STATE_ARMSLEFT:
if (((((((!(FourArms._attackingArmsLeft)) && (_armsLeftBoolean))) && (!(FourArms._attackingArmsRight)))) && (!(_armsRightBoolean)))){
_character.SecondaryState = _arg1;
_local2 = true;
_character.AttackCollision = true;
Sfx.PlaySound(Sfx.SFX_BEN_ARMS_LEFT);
};
break;
case Character.SEC_STATE_ARMSRIGHT:
if (((((((!(FourArms._attackingArmsRight)) && (_armsRightBoolean))) && (!(FourArms._attackingArmsLeft)))) && (!(_armsLeftBoolean)))){
_character.SecondaryState = _arg1;
_local2 = true;
_character.AttackCollision = true;
Sfx.PlaySound(Sfx.SFX_BEN_ARMS_RIGHT);
};
break;
};
if (_local2){
GotoSecondaryStateAnimation(_arg1);
};
return (_local2);
}
public function LoadConfig():void{
Fragility = ConfigLoader.Instance.Config["FourArmsFragility"];
EnergyToSubtractEnemyAttack = ConfigLoader.Instance.Config["FourArmsEnergySubtractsForAttack"];
EnergyToSubtractEnemyShot = ConfigLoader.Instance.Config["FourArmsEnergySubtractsForShot"];
EnergyToSubtractEnemySuperAttack = ConfigLoader.Instance.Config["FourArmsEnergySubtractsForSuperAttack"];
}
override public function Update(_arg1:Number):void{
}
override public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, ResetSecondStateMc);
GameTemplateMainApp.MyStage.stage.invalidate();
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
override public function UpdateAction(_arg1:uint):void{
if (_character.Transforming){
return;
};
if ((_arg1 & Character.ACTION_UP) == Character.ACTION_UP){
};
if ((_arg1 & Character.ACTION_DOWN) == Character.ACTION_DOWN){
};
if (((!(_character.Crouching)) && (!(_character.Jumping)))){
if ((_arg1 & Character.ACTION_LEFT) == Character.ACTION_LEFT){
if (!_character.OnPressSPACE){
TryNewPrimaryState(Character.PRI_ST_RUNNING);
};
} else {
if ((_arg1 & Character.ACTION_RIGHT) == Character.ACTION_RIGHT){
if (!_character.OnPressSPACE){
TryNewPrimaryState(Character.PRI_ST_RUNNING);
};
} else {
TryNewPrimaryState(Character.PRI_ST_IDLE);
};
};
};
_armsRightBoolean = false;
_armsLeftBoolean = false;
if ((_arg1 & Character.ACTION_FIREZ) == Character.ACTION_FIREZ){
_armsRightBoolean = true;
TryNewSecondaryState(Character.SEC_STATE_ARMSRIGHT);
};
_armsRightBoolean = false;
if ((_arg1 & Character.ACTION_FIREX) == Character.ACTION_FIREX){
_armsLeftBoolean = true;
TryNewSecondaryState(Character.SEC_STATE_ARMSLEFT);
};
_armsLeftBoolean = false;
if ((_arg1 & Character.ACTION_SPACE) == Character.ACTION_SPACE){
};
}
}
}//package model
Section 272
//Platform (model.Platform)
package model {
import flash.display.*;
import flash.geom.*;
import utils.*;
import assets.*;
public class Platform extends EnvironmentElement {
private var _type:int;
private var _sublevel:int;// = 1
private var _innerPlatform:MovieClip;// = null
public static const PLATFORM:int = 4;
public static const ROOF:int = 3;
public static const BOX:int = 2;
public static const FLOOR:int = 1;
public function Platform(_arg1:MovieClip, _arg2:int, _arg3:Point){
_sublevel = 1;
_innerPlatform = null;
_type = 0;
super(_arg1, !((_arg1.name.indexOf("u") == -1)), !((_arg1.name.indexOf("d") == -1)), !((_arg1.name.indexOf("l") == -1)), !((_arg1.name.indexOf("r") == -1)), _arg3, (_arg1 is MovingPlatformAsset));
if ((_arg1 is MovingPlatformAsset)){
MovieClipUtils.Instance.AddMovieClip(_arg1);
};
if ((((_type == 0)) && (!((_arg1.name.indexOf("1") == -1))))){
_type = FLOOR;
};
if ((((_type == 0)) && (!((_arg1.name.indexOf("2") == -1))))){
_type = BOX;
};
if ((((_type == 0)) && (!((_arg1.name.indexOf("3") == -1))))){
_type = ROOF;
};
if ((((_type == 0)) && (!((_arg1.name.indexOf("4") == -1))))){
_type = PLATFORM;
};
_sublevel = _arg2;
if (Moves){
_innerPlatform = (_view.getChildByName("platform_mc") as MovieClip);
};
}
override public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _view.getBounds(_view.stage);
return ((_local1.x + _local1.width));
}
override public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
var _local2:Number;
var _local3:Number;
if ((((_view == null)) || ((_view.stage == null)))){
return (null);
};
_local1 = _view.getBounds(_view.stage);
_local2 = _view.localToGlobal(new Point(0, 0)).x;
_local3 = _view.localToGlobal(new Point(0, (-(_view.height) >> 1))).y;
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
override public function GetType():int{
return (5);
}
override public function get TopGlobalY():Number{
return (_view.getBounds(_view.stage).y);
}
override public function SetType(_arg1:int):void{
}
override public function GetCollisionSprite():Sprite{
if (_view == null){
return (null);
};
return (Sprite(_view));
}
public function set Sublevel(_arg1:int):void{
_sublevel = _arg1;
}
override public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _view.getBounds(_view.stage);
return ((_local1.y + _local1.height));
}
override public function get X():Number{
if (Moves){
return (_innerPlatform.x);
};
return (_view.x);
}
override public function get Y():Number{
if (Moves){
return (_innerPlatform.y);
};
return (_view.y);
}
public function get Type():int{
return (_type);
}
public function GetGlobalCenterPointOld():Point{
var _local1:Number;
var _local2:Number;
if (_view == null){
return (new Point(0, 0));
};
_local1 = _view.localToGlobal(new Point((_view.width >> 1), 0)).x;
_local2 = _view.localToGlobal(new Point(0, (_view.height >> 1))).y;
return (new Point(_local1, _local2));
}
public function get Sublevel():int{
return (_sublevel);
}
override public function get LeftGlobalX():Number{
return (_view.getBounds(_view.stage).x);
}
override public function GetRadio():int{
if (_view == null){
return (0);
};
return ((Math.max(_view.width, _view.height) / 2));
}
}
}//package model
Section 273
//PowerUp (model.PowerUp)
package model {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import game.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import collision.*;
import flash.text.*;
import config.*;
import assets.*;
public class PowerUp implements ICollidable {
public var SCORE_FOUR_ARMS:int;
private var _view:MovieClip;
private var _hitArea:MovieClip;
private var _primaryState:int;
private var _score:int;
private var _type:int;
private var _primaryStateMC:MovieClip;
private var _active:Boolean;
public var SCORE_LIFE:int;
private var _primaryStateLabels:Dictionary;
public var SCORE_SURIKEN:int;
public var SCORE_COIN_SHADOW:int;
private var _offsetFromLevelLayer:Point;// = null
public var SCORE_COIN_NOT_SHADOW:int;
private var _scoreTXT:TextField;
public var SCORE_OMNITRIX:int;
private var _activeInstruccion:Boolean;
public var SCORE_CANNONBOLT:int;
public static const PRI_ST_IDLE_LBL:String = "idle";
public static const PRI_ST_DESTROYED:int = 1;
public static const PRI_ST_IDLE:int = 0;
public static const PRI_ST_DESTROYED_LBL:String = "destroyed";
public function PowerUp(_arg1:MovieClip, _arg2:Point){
_offsetFromLevelLayer = null;
super();
_view = _arg1;
_offsetFromLevelLayer = _arg2.clone();
_hitArea = (_view.getChildByName("hitArea_mc") as MovieClip);
if (_hitArea == null){
_hitArea = _view;
} else {
_hitArea.alpha = 0;
};
_primaryStateMC = _view;
_primaryStateLabels = new Dictionary();
_primaryStateLabels[PRI_ST_IDLE] = PRI_ST_IDLE_LBL;
_primaryStateLabels[PRI_ST_DESTROYED] = PRI_ST_DESTROYED_LBL;
Active = true;
ActiveInstruccion = false;
TypePowerUp();
TryNewPrimaryState(PowerUp.PRI_ST_IDLE);
View.addEventListener("PowerUpAnimationDestroyedEnd", DispatchEvent);
LoadConfig();
}
public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.x + _local1.width));
}
public function get OffsetFromLevelLayer():Point{
return (_offsetFromLevelLayer);
}
public function GetType():int{
return (7);
}
public function Show():void{
View.alpha = 1;
}
public function set PrimaryState(_arg1:int):void{
_primaryState = _arg1;
}
private function SeekScore(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, SeekScore);
if (PrimaryState == PRI_ST_DESTROYED){
_scoreTXT = (((View.getChildByName("view_mc") as MovieClip).getChildByName("puntajePowerUp_mc") as MovieClip).getChildByName("puntajePowerUp_txt") as TextField);
if (Type == 1){
_score = SCORE_LIFE;
_scoreTXT.text = String(SCORE_LIFE);
GameManager.Instance.MainCharacter.AddPowerUpType(_type, _score);
return;
};
if (Type == 2){
_score = SCORE_COIN_SHADOW;
_scoreTXT.text = String(SCORE_COIN_SHADOW);
GameManager.Instance.MainCharacter.AddPowerUpType(_type, _score);
return;
};
if (Type == 3){
_score = SCORE_OMNITRIX;
_scoreTXT.text = String(SCORE_OMNITRIX);
GameManager.Instance.MainCharacter.AddPowerUpType(_type, _score);
return;
};
if (Type == 4){
_score = SCORE_FOUR_ARMS;
_scoreTXT.text = String(SCORE_FOUR_ARMS);
GameManager.Instance.ActiveFourArms = true;
return;
};
if (Type == 5){
_score = SCORE_CANNONBOLT;
_scoreTXT.text = String(SCORE_CANNONBOLT);
GameManager.Instance.ActiveCannonBolt = true;
return;
};
if (Type == 6){
_score = SCORE_SURIKEN;
_scoreTXT.text = String(SCORE_SURIKEN);
return;
};
if (Type == 7){
_score = SCORE_COIN_NOT_SHADOW;
_scoreTXT.text = String(SCORE_COIN_NOT_SHADOW);
GameManager.Instance.MainCharacter.AddPowerUpType(_type, _score);
return;
};
};
}
public function get TopGlobalY():Number{
return (_hitArea.getBounds(_hitArea.stage).y);
}
public function SetType(_arg1:int):void{
}
public function get Active():Boolean{
return (_active);
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "PowerUpAnimationDestroyedEnd":
Hide();
if ((((_score == SCORE_FOUR_ARMS)) || ((_score == SCORE_CANNONBOLT)))){
Global.DispatchGameEvent("LevelComplete");
};
break;
};
}
public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
if ((((_hitArea == null)) || ((_hitArea.stage == null)))){
return (null);
};
_local1 = _hitArea.getBounds(_hitArea.stage);
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
public function get ActiveInstruccion():Boolean{
return (_activeInstruccion);
}
public function get PrimaryStateLabels():Dictionary{
return (_primaryStateLabels);
}
public function get View():MovieClip{
return (_view);
}
private function TypePowerUp():void{
if ((View is PowerUpLifeAsset)){
_type = 1;
return;
};
if ((View is PowerUpCoinShadowAsset)){
_type = 2;
return;
};
if ((View is PowerUpOmnitrixAsset)){
_type = 3;
return;
};
if ((View is PowerUpFourArmsAsset)){
_type = 4;
return;
};
if ((View is PowerUpCannonBoltAsset)){
_type = 5;
return;
};
if ((View is PowerUpSurikenAsset)){
_type = 6;
return;
};
if ((View is PowerUpCoinNotShadowAsset)){
_type = 7;
return;
};
}
public function GetCollisionSprite():Sprite{
if (_hitArea == null){
return (null);
};
return (Sprite(_hitArea));
}
public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.y + _local1.height));
}
public function set Active(_arg1:Boolean):void{
_active = _arg1;
}
public function get PrimaryState():int{
return (_primaryState);
}
public function set CurrentAbsoluteX(_arg1:Number):void{
}
public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case PowerUp.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case PowerUp.PRI_ST_DESTROYED:
PrimaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
public function set CurrentAbsoluteY(_arg1:Number):void{
}
public function get Type():int{
return (_type);
}
public function Hide():void{
View.alpha = 0;
}
public function GetRadio():int{
if (_hitArea == null){
return (0);
};
return (((Math.max(_hitArea.width, _hitArea.height) >> 1) + 1));
}
public function get CurrentAbsoluteX():Number{
return (_view.x);
}
public function get CurrentAbsoluteY():Number{
return (_view.y);
}
public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMC == null){
return;
};
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, SeekScore);
GameTemplateMainApp.MyStage.invalidate();
_primaryStateMC.gotoAndStop(_primaryStateLabels[_arg1]);
}
public function get LeftGlobalX():Number{
return (_hitArea.getBounds(_hitArea.stage).x);
}
public function LoadConfig():void{
SCORE_LIFE = ConfigLoader.Instance.Config["ScoreLife"];
SCORE_COIN_SHADOW = ConfigLoader.Instance.Config["ScoreCoinShadow"];
SCORE_COIN_NOT_SHADOW = ConfigLoader.Instance.Config["ScoreCoinNotShadow"];
SCORE_OMNITRIX = ConfigLoader.Instance.Config["ScoreOmnitrix"];
SCORE_FOUR_ARMS = ConfigLoader.Instance.Config["ScoreFourArms"];
SCORE_CANNONBOLT = ConfigLoader.Instance.Config["ScoreCannonBolt"];
SCORE_SURIKEN = ConfigLoader.Instance.Config["ScoreSuriken"];
}
public function Update():void{
}
public function get Score():int{
return (_score);
}
public function set ActiveInstruccion(_arg1:Boolean):void{
_activeInstruccion = _arg1;
}
}
}//package model
Section 274
//ShotFriendly (model.ShotFriendly)
package model {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import collision.*;
import config.*;
import view.*;
public class ShotFriendly implements ICollidable {
private var _direction:int;// = 0
private var _hitArea:MovieClip;
private var _view:MovieClip;
private var _primaryState:int;
private var _primaryStateMC:MovieClip;
private var _active:Boolean;
private var _energy:Number;// = 50
private var _primaryStateLabels:Dictionary;
private var _currentTime:int;
private var _offsetFromLevelLayer:Point;// = null
private var _timeLeft:int;// = 0
private var VELOCITY:Number;
private var _lastTime:int;
private var MAX_TIME:int;
public static const PRI_ST_IDLE_LBL:String = "idle";
public static const PRI_ST_DESTROYED:int = 1;
public static const PRI_ST_IDLE:int = 0;
public static const PRI_ST_DESTROYED_LBL:String = "destroyed";
public function ShotFriendly(_arg1:Number, _arg2:Number, _arg3:int, _arg4:Point){
_energy = 50;
_direction = 0;
_timeLeft = 0;
_offsetFromLevelLayer = null;
super();
_view = new ShotFriendlyAsset();
_offsetFromLevelLayer = _arg4.clone();
_hitArea = (_view.getChildByName("hitArea_mc") as MovieClip);
if (_hitArea == null){
_hitArea = _view;
} else {
_hitArea.alpha = 0;
};
CurrentAbsoluteX = _arg1;
CurrentAbsoluteY = _arg2;
Direction = _arg3;
_primaryStateMC = _view;
_primaryStateLabels = new Dictionary();
_primaryStateLabels[PRI_ST_IDLE] = PRI_ST_IDLE_LBL;
_primaryStateLabels[PRI_ST_DESTROYED] = PRI_ST_DESTROYED_LBL;
TryNewPrimaryState(ShotFriendly.PRI_ST_IDLE);
View.addEventListener("ShotFriendlyAnimationDestroyedEnd", DispatchEvent);
_lastTime = 0;
Active = false;
Hide();
LoadConfig();
_timeLeft = MAX_TIME;
}
public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
if ((((_hitArea == null)) || ((_hitArea.stage == null)))){
return (null);
};
_local1 = _hitArea.getBounds(_hitArea.stage);
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
public function get OffsetFromLevelLayer():Point{
return (_offsetFromLevelLayer);
}
public function GetType():int{
return (4);
}
public function GetCollisionSprite():Sprite{
if (_hitArea == null){
return (null);
};
return (Sprite(_hitArea));
}
public function Show():void{
View.alpha = 1;
}
public function set PrimaryState(_arg1:int):void{
_primaryState = _arg1;
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "ShotFriendlyAnimationDestroyedEnd":
Active = false;
Hide();
break;
};
}
public function get TopGlobalY():Number{
return (_hitArea.getBounds(_hitArea.stage).y);
}
public function SetType(_arg1:int):void{
}
public function get Energy():Number{
return (_energy);
}
public function Initialize():void{
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).addChild(_view);
}
public function get PrimaryStateLabels():Dictionary{
return (_primaryStateLabels);
}
private function SeekMC(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, SeekMC);
}
public function set Direction(_arg1:int):void{
_direction = _arg1;
}
public function get View():MovieClip{
return (_view);
}
public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.y + _local1.height));
}
public function set Active(_arg1:Boolean):void{
_active = _arg1;
if (_active){
_timeLeft = MAX_TIME;
};
}
public function get PrimaryState():int{
return (_primaryState);
}
public function set CurrentAbsoluteX(_arg1:Number):void{
_view.x = _arg1;
}
public function set CurrentAbsoluteY(_arg1:Number):void{
_view.y = _arg1;
}
public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case ShotFriendly.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case ShotFriendly.PRI_ST_DESTROYED:
PrimaryState = _arg1;
_local2 = true;
Active = false;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
public function Pause():void{
_lastTime = 0;
}
public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMC == null){
return;
};
_primaryStateMC.gotoAndStop(_primaryStateLabels[_arg1]);
}
public function get Direction():int{
return (_direction);
}
public function GetRadio():int{
if (_hitArea == null){
return (0);
};
return (((Math.max(_hitArea.width, _hitArea.height) >> 1) + 1));
}
public function get CurrentAbsoluteY():Number{
return (_view.y);
}
public function get Active():Boolean{
return (_active);
}
public function get LeftGlobalX():Number{
return (_hitArea.getBounds(_hitArea.stage).x);
}
public function get CurrentAbsoluteX():Number{
return (_view.x);
}
public function Update():void{
if (!_active){
_lastTime = 0;
} else {
if (_lastTime == 0){
_lastTime = getTimer();
return;
};
_currentTime = getTimer();
CurrentAbsoluteX = (CurrentAbsoluteX + ((Direction * VELOCITY) * (_currentTime - _lastTime)));
_timeLeft = (_timeLeft - (_currentTime - _lastTime));
_lastTime = _currentTime;
if (_timeLeft <= 0){
TryNewPrimaryState(PRI_ST_DESTROYED);
};
};
}
public function Hide():void{
View.alpha = 0;
}
public function set Energy(_arg1:Number):void{
_energy = _arg1;
}
public function LoadConfig():void{
VELOCITY = ConfigLoader.Instance.Config["ShotFriendlyVelocity"];
MAX_TIME = ConfigLoader.Instance.Config["ShotFriendlyMaxTime"];
}
public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.x + _local1.width));
}
}
}//package model
Section 275
//ShotsFriendlyManager (model.ShotsFriendlyManager)
package model {
import flash.geom.*;
import view.*;
public class ShotsFriendlyManager {
private const POINT_ZERO:Point;
private var MAX_SURIKEN:int;// = 14
private var _container:Array;
private var _next:int;// = 0
private var _localPositionShuriken:Point;// = null
public function ShotsFriendlyManager(){
POINT_ZERO = new Point(0, 0);
MAX_SURIKEN = 14;
_next = 0;
_localPositionShuriken = null;
super();
_container = new Array();
_next = 0;
while (_next <= MAX_SURIKEN) {
_container.push(new ShotFriendly(0, 0, 1, POINT_ZERO));
_next++;
};
_next = 0;
}
public function AddShotNew(_arg1:Number, _arg2:Number, _arg3:int):void{
var _local4:*;
if (_container.length != 0){
for each (_local4 in _container) {
if (!ShotFriendly(_local4).Active){
ShotFriendly(_local4).Direction = _arg3;
ShotFriendly(_local4).CurrentAbsoluteX = _arg1;
ShotFriendly(_local4).CurrentAbsoluteY = _arg2;
ShotFriendly(_local4).Active = true;
ShotFriendly(_container[_next]).TryNewPrimaryState(ShotFriendly.PRI_ST_IDLE);
ShotFriendly(_container[_next]).Show();
return;
};
};
_container.push(new ShotFriendly(_arg1, _arg2, _arg3, POINT_ZERO));
return;
};
_container.push(new ShotFriendly(_arg1, _arg2, _arg3, POINT_ZERO));
}
public function get Container():Array{
return (_container);
}
public function InitializeShots():void{
var _local1:*;
if (_container.length != 0){
for each (_local1 in _container) {
ShotFriendly(_local1).Initialize();
};
};
}
public function Update():void{
var _local1:*;
for each (_local1 in _container) {
ShotFriendly(_local1).Update();
};
}
public function DeleteShots():void{
var _local1:int;
var _local2:int;
if (_container.length != 0){
_local1 = _container.length;
while (_local2 < _local1) {
if (!ShotFriendly(_container[_local2]).Active){
_container.splice(_local2, 1);
};
_local2++;
};
};
}
public function AddShot(_arg1:Point, _arg2:int):void{
_localPositionShuriken = LayerFactory.Instance.GetLayer(LayerFactory.LAYER_GAME_LAYER).globalToLocal(_arg1);
ShotFriendly(_container[_next]).Direction = _arg2;
ShotFriendly(_container[_next]).CurrentAbsoluteX = _localPositionShuriken.x;
ShotFriendly(_container[_next]).CurrentAbsoluteY = _localPositionShuriken.y;
ShotFriendly(_container[_next]).Active = true;
ShotFriendly(_container[_next]).TryNewPrimaryState(ShotFriendly.PRI_ST_IDLE);
ShotFriendly(_container[_next]).Show();
Sfx.PlaySound(Sfx.SFX_BEN_SHURIKEN);
_next++;
if (_next > MAX_SURIKEN){
_next = 0;
};
}
public function Pause():void{
var _local1:*;
for each (_local1 in _container) {
ShotFriendly(_local1).Pause();
};
}
public function Reset():void{
var _local1:*;
for each (_local1 in _container) {
ShotFriendly(_local1).Active = false;
ShotFriendly(_local1).Hide();
};
_next = 0;
}
}
}//package model
Section 276
//SpecialWall (model.SpecialWall)
package model {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import collision.*;
import config.*;
public class SpecialWall implements ICollidable {
private var _hitArea:MovieClip;
private var _view:MovieClip;
private var _numberCombo:int;
private var _primaryState:int;
private var _combo:Dictionary;
private var _destroyed:Boolean;
private var _stateCombo:MovieClip;
private var _active:Boolean;
private var _enabledTransformation:uint;// = 0
private var _primaryStateLabels:Dictionary;
private var _accountant:int;// = 0
private var _primaryStateMc:MovieClip;
private var _offsetFromLevelLayer:Point;// = null
private var _BenTen:Character;
private var MAX_ACCOUNTANT:int;
public static const PRI_ST_IDLE:int = 0;
public static const PRI_ST_HIT_LBL:String = "hit";
public static const DISTANCE_OF_BEN:int = 800;
public static const PRI_ST_DESTROYED_LBL:String = "destroyed";
public static const PRI_ST_HIT_IDLE:int = 2;
public static const PRI_ST_IDLE_LBL:String = "idle";
public static const PRI_ST_DESTROYED:int = 3;
public static const PRI_ST_HIT:int = 1;
public static const PRI_ST_HIT_IDLE_LBL:String = "hitIdle";
public function SpecialWall(_arg1:MovieClip, _arg2:Character, _arg3:Point){
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:int;
_accountant = 0;
_enabledTransformation = 0;
_offsetFromLevelLayer = null;
super();
_view = _arg1;
_offsetFromLevelLayer = _arg3.clone();
_BenTen = _arg2;
_hitArea = (_view.getChildByName("hitArea_mc") as MovieClip);
if (_hitArea == null){
_hitArea = _view;
} else {
_hitArea.alpha = 0;
};
_primaryStateMc = _view;
_primaryStateLabels = new Dictionary();
_combo = new Dictionary();
_local4 = _view.name.toUpperCase();
_local5 = _local4.length;
if (_local5 < 4){
_enabledTransformation = 2;
} else {
_stateCombo = (_view.getChildByName("secuencia_mc") as MovieClip);
_enabledTransformation = 1;
_local6 = 0;
while (_local6 < _local5) {
_local7 = (_local6 + 1);
_combo[_local7] = _local4.charAt(_local6);
_local6++;
};
};
_primaryStateLabels[PRI_ST_IDLE] = PRI_ST_IDLE_LBL;
_primaryStateLabels[PRI_ST_HIT] = PRI_ST_HIT_LBL;
_primaryStateLabels[PRI_ST_HIT_IDLE] = PRI_ST_HIT_IDLE_LBL;
_primaryStateLabels[PRI_ST_DESTROYED] = PRI_ST_DESTROYED_LBL;
Active = false;
Destroyed = false;
_numberCombo = 0;
TryNewPrimaryState(SpecialWall.PRI_ST_IDLE);
View.addEventListener("SpecialWallAnimationHitEnd", DispatchEvent);
View.addEventListener("SpecialWallAnimationDestroyedEnd", DispatchEvent);
Show();
LoadConfig();
}
public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.x + _local1.width));
}
public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
if ((((_hitArea == null)) || ((_hitArea.stage == null)))){
return (null);
};
_local1 = _hitArea.getBounds(_hitArea.stage);
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
public function get OffsetFromLevelLayer():Point{
return (_offsetFromLevelLayer);
}
private function ResetSecondStateMc(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, ResetSecondStateMc);
switch (PrimaryState){
case PRI_ST_HIT_IDLE:
break;
};
}
public function set Destroyed(_arg1:Boolean):void{
_destroyed = _arg1;
}
public function get EnabledTransformation():uint{
return (_enabledTransformation);
}
public function Show():void{
View.alpha = 1;
if (_enabledTransformation == 1){
_stateCombo.alpha = 1;
};
}
public function GetType():int{
return (6);
}
public function DispatchEvent(_arg1:Event):void{
switch (_arg1.type){
case "SpecialWallAnimationHitEnd":
TryNewPrimaryState(SpecialWall.PRI_ST_HIT_IDLE);
break;
case "SpecialWallAnimationDestroyedEnd":
Hide();
NumberCombo = 0;
Active = false;
Destroyed = true;
break;
};
}
public function get TopGlobalY():Number{
return (_hitArea.getBounds(_hitArea.stage).y);
}
public function StateCombo(_arg1:int):void{
_stateCombo.gotoAndStop((_arg1 + 1));
}
public function get Active():Boolean{
return (_active);
}
public function get NumberCombo():int{
return (_numberCombo);
}
public function get PrimaryStateLabels():Dictionary{
return (_primaryStateLabels);
}
public function set PrimaryState(_arg1:int):void{
_primaryState = _arg1;
}
public function get Accountant():int{
return (_accountant);
}
public function SetType(_arg1:int):void{
}
public function get View():MovieClip{
return (_view);
}
public function GetCollisionSprite():Sprite{
if (_hitArea == null){
return (null);
};
return (Sprite(_hitArea));
}
public function set NumberCombo(_arg1:int):void{
_numberCombo = _arg1;
}
public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.y + _local1.height));
}
public function set Active(_arg1:Boolean):void{
_active = _arg1;
}
public function get PrimaryState():int{
return (_primaryState);
}
public function set CurrentAbsoluteX(_arg1:Number):void{
}
public function set CurrentAbsoluteY(_arg1:Number):void{
}
public function TryNewPrimaryState(_arg1:int):Boolean{
var _local2:Boolean;
if (_arg1 == PrimaryState){
return (false);
};
_local2 = false;
switch (_arg1){
case SpecialWall.PRI_ST_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case SpecialWall.PRI_ST_HIT:
PrimaryState = _arg1;
_local2 = true;
break;
case SpecialWall.PRI_ST_HIT_IDLE:
PrimaryState = _arg1;
_local2 = true;
break;
case SpecialWall.PRI_ST_DESTROYED:
PrimaryState = _arg1;
_local2 = true;
break;
};
if (_local2){
GotoPrimaryStateAnimation(_arg1);
};
return (_local2);
}
public function GotoPrimaryStateAnimation(_arg1:int):void{
if (_primaryStateMc == null){
return;
};
_primaryStateMc.gotoAndStop(_primaryStateLabels[_arg1]);
}
public function Hide():void{
View.alpha = 0;
if (_enabledTransformation == 1){
_stateCombo.alpha = 0;
};
}
public function GetRadio():int{
if (_hitArea == null){
return (0);
};
return (((Math.max(_hitArea.width, _hitArea.height) >> 1) + 1));
}
public function get CurrentAbsoluteX():Number{
return (_view.x);
}
public function get CurrentAbsoluteY():Number{
return (_view.y);
}
public function get Combo():Dictionary{
return (_combo);
}
public function LoadConfig():void{
MAX_ACCOUNTANT = ConfigLoader.Instance.Config["SpecialWallMaxAccountant"];
}
public function Update():void{
var _local1:int;
if (Destroyed){
return;
};
_local1 = (_BenTen.X - (View.x + OffsetFromLevelLayer.x));
if (Math.abs(_local1) < DISTANCE_OF_BEN){
Active = true;
} else {
Active = false;
};
if (((Active) && ((_enabledTransformation == 1)))){
if (_accountant < MAX_ACCOUNTANT){
_accountant++;
} else {
_accountant = 0;
NumberCombo = 0;
StateCombo(NumberCombo);
};
};
}
public function set Accountant(_arg1:int):void{
_accountant = _arg1;
}
public function get Destroyed():Boolean{
return (_destroyed);
}
public function get LeftGlobalX():Number{
return (_hitArea.getBounds(_hitArea.stage).x);
}
}
}//package model
Section 277
//SpecialWallManager (model.SpecialWallManager)
package model {
public class SpecialWallManager {
private var _container:Array;
public function SpecialWallManager(){
_container = new Array();
}
public function RemoveSpecialWall(_arg1:SpecialWall):void{
var _local2:int;
var _local3:int;
if (_container.length != 0){
_local2 = _container.length;
while (_local3 < _local2) {
if (!SpecialWall(_container[_local3]).Active){
_container.splice(_local3, 1);
};
_local3++;
};
};
}
public function Update():void{
var _local1:*;
for each (_local1 in _container) {
SpecialWall(_local1).Update();
};
}
public function AddSpecialWall(_arg1:SpecialWall):void{
_container.push(_arg1);
}
public function Reset():void{
_container = new Array();
}
}
}//package model
Section 278
//Transformation (model.Transformation)
package model {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class Transformation {
protected var _hitArea:MovieClip;
protected var _view:MovieClip;
protected var _onCurrentAnimationEnd:Function;
private var _energyToSubtractEnemyShot:int;
protected var _character:Character;
protected var _primaryStateLabels:Dictionary;
protected var _secondaryStateLabels:Dictionary;
protected var _primaryStateMc:MovieClip;
protected var _secondaryStateMc:MovieClip;
private var _energyToSubtractEnemyAttack:int;
private var _energyToSubtractEnergySuperAttack:int;
protected var _fragility:Number;
public function Transformation(_arg1:MovieClip, _arg2:Character){
_view = _arg1;
_hitArea = (_view.getChildByName("hitArea_mc") as MovieClip);
if (_hitArea == null){
_hitArea = _view;
} else {
_hitArea.alpha = 0;
};
_character = _arg2;
_onCurrentAnimationEnd = null;
_primaryStateLabels = new Dictionary();
_secondaryStateLabels = new Dictionary();
_primaryStateLabels[Character.PRI_ST_IDLE] = Character.PRI_ST_IDLE_LBL;
_primaryStateLabels[Character.PRI_ST_CROUCHING] = Character.PRI_ST_CROUCHING_LBL;
_primaryStateLabels[Character.PRI_ST_RUNNING] = Character.PRI_ST_RUNNING_LBL;
_primaryStateLabels[Character.PRI_ST_JUMPING] = Character.PRI_ST_JUMPING_LBL;
_primaryStateLabels[Character.PRI_ST_HIT] = Character.PRI_ST_HIT_LBL;
_primaryStateLabels[Character.PRI_ST_DIE] = Character.PRI_ST_DIE_LBL;
_secondaryStateLabels[Character.SEC_STATE_IDLE] = Character.SEC_STATE_IDLE_LBL;
_secondaryStateLabels[Character.SEC_STATE_SWINGING_SWORD] = Character.SEC_STATE_SWINGING_SWORD_LBL;
_secondaryStateLabels[Character.SEC_STATE_THROWING_SHURIKEN] = Character.SEC_STATE_THROWING_SHURIKEN_LBL;
_secondaryStateLabels[Character.SEC_STATE_RUN] = Character.SEC_STATE_RUN_LBL;
_secondaryStateLabels[Character.SEC_STATE_ARMS] = Character.SEC_STATE_ARMS_LBL;
_secondaryStateLabels[Character.SEC_STATE_ARMSLEFT] = Character.SEC_STATE_ARMSLEFT_LBL;
_secondaryStateLabels[Character.SEC_STATE_ARMSRIGHT] = Character.SEC_STATE_ARMSRIGHT_LBL;
_secondaryStateLabels[Character.SEC_STATE_FAST] = Character.SEC_STATE_FAST_LBL;
_secondaryStateLabels[Character.SEC_STATE_ATTACK] = Character.SEC_STATE_ATTACK_LBL;
_primaryStateMc = _view;
_secondaryStateMc = null;
}
public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.x + _local1.width));
}
public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
if ((((_hitArea == null)) || ((_hitArea.stage == null)))){
return (null);
};
_local1 = _hitArea.getBounds(_hitArea.stage);
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
public function TryTransformation(_arg1:int):void{
}
public function GetCollisionSprite():Sprite{
if (_hitArea == null){
return (null);
};
return (Sprite(_hitArea));
}
public function get EnergyToSubtractEnemySuperAttack():int{
return (_energyToSubtractEnergySuperAttack);
}
public function GotoSecondaryStateAnimation(_arg1:int):void{
}
public function Shot():void{
}
public function Show():void{
_view.visible = true;
}
public function get HitArea():MovieClip{
return (_hitArea);
}
public function get TopGlobalY():Number{
return (_hitArea.getBounds(_hitArea.stage).y);
}
public function UpdateAirPose(_arg1:Boolean):void{
}
public function set EnergyToSubtractEnemySuperAttack(_arg1:int):void{
_energyToSubtractEnergySuperAttack = _arg1;
}
public function set Fragility(_arg1:Number):void{
_fragility = _arg1;
}
public function CurrentAnimationFinished():void{
if (_onCurrentAnimationEnd != null){
_onCurrentAnimationEnd();
};
}
public function get View():MovieClip{
return (_view);
}
public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _hitArea.getBounds(_hitArea.stage);
return ((_local1.y + _local1.height));
}
public function SetSecondaryStateIdle():void{
TryNewSecondaryState(Character.SEC_STATE_IDLE);
}
public function set EnergyToSubtractEnemyShot(_arg1:int):void{
_energyToSubtractEnemyShot = _arg1;
}
public function get Fragility():Number{
return (_fragility);
}
public function TryNewPrimaryState(_arg1:int):Boolean{
return (true);
}
public function Hide():void{
_view.visible = false;
}
public function Update(_arg1:Number):void{
}
public function GotoPrimaryStateAnimation(_arg1:int):void{
}
public function get EnergyToSubtractEnemyShot():int{
return (_energyToSubtractEnemyShot);
}
public function GetRadio():int{
if (_hitArea == null){
return (0);
};
return (((Math.max(_hitArea.width, _hitArea.height) >> 1) + 1));
}
public function get LeftGlobalX():Number{
return (_hitArea.getBounds(_hitArea.stage).x);
}
public function TryNewSecondaryState(_arg1:int):Boolean{
return (true);
}
public function set EnergyToSubtractEnemyAttack(_arg1:int):void{
_energyToSubtractEnemyAttack = _arg1;
}
public function get EnergyToSubtractEnemyAttack():int{
return (_energyToSubtractEnemyAttack);
}
public function UpdateAction(_arg1:uint):void{
}
}
}//package model
Section 279
//WallBlocked (model.WallBlocked)
package model {
import flash.display.*;
import flash.geom.*;
import config.*;
public class WallBlocked extends EnvironmentElement {
private var _active:Boolean;
private var _BenTen:Character;
private var _positionXEnable:int;
public function WallBlocked(_arg1:MovieClip, _arg2:Character, _arg3:Point){
super(_arg1, true, true, true, true, _arg3);
_BenTen = _arg2;
Active = false;
LoadMyConfig();
}
override public function get RightGlobalX():Number{
var _local1:Rectangle;
_local1 = _view.getBounds(_view.stage);
return ((_local1.x + _local1.width));
}
override public function GetGlobalCenterPoint():Point{
var _local1:Rectangle;
var _local2:Number;
var _local3:Number;
if ((((_view == null)) || ((_view.stage == null)))){
return (null);
};
_local1 = _view.getBounds(_view.stage);
_local2 = _view.localToGlobal(new Point(0, 0)).x;
_local3 = _view.localToGlobal(new Point(0, (-(_view.height) >> 1))).y;
return (new Point(((_local1.x + _local1.width) >> 1), ((_local1.y + _local1.height) >> 1)));
}
override public function GetType():int{
return (9);
}
override public function get TopGlobalY():Number{
return (_view.getBounds(_view.stage).y);
}
override public function SetType(_arg1:int):void{
}
public function get Active():Boolean{
return (_active);
}
override public function GetCollisionSprite():Sprite{
if (_view == null){
return (null);
};
return (Sprite(_view));
}
public function LoadMyConfig():void{
_positionXEnable = ConfigLoader.Instance.Config["WallBlockedEnablePosition"];
}
override public function get BottomGlobalY():Number{
var _local1:Rectangle;
_local1 = _view.getBounds(_view.stage);
return ((_local1.y + _local1.height));
}
public function set Active(_arg1:Boolean):void{
_active = _arg1;
}
public function GetGlobalCenterPointOld():Point{
var _local1:Number;
var _local2:Number;
if (_view == null){
return (new Point(0, 0));
};
_local1 = _view.localToGlobal(new Point((_view.width >> 1), 0)).x;
_local2 = _view.localToGlobal(new Point(0, (_view.height >> 1))).y;
return (new Point(_local1, _local2));
}
override public function get LeftGlobalX():Number{
return (_view.getBounds(_view.stage).x);
}
public function Update():void{
if (((!(Active)) && ((_BenTen.CurrentAbsoluteX >= _positionXEnable)))){
Active = true;
if (View.currentFrame == 1){
View.gotoAndPlay(2);
};
};
}
override public function GetRadio():int{
if (_view == null){
return (0);
};
return ((Math.max(_view.width, _view.height) / 2));
}
}
}//package model
Section 280
//WallBlockedManager (model.WallBlockedManager)
package model {
public class WallBlockedManager {
private var _container:Array;
public function WallBlockedManager(){
Reset();
}
public function Reset():void{
_container = new Array();
}
public function AddWallBlocked(_arg1:WallBlocked):void{
_container.push(_arg1);
}
public function Update():void{
var _local1:*;
for each (_local1 in _container) {
WallBlocked(_local1).Update();
};
}
public function RemoveWallBlocked(_arg1:WallBlocked):void{
var _local2:int;
var _local3:int;
if (_container.length != 0){
_local2 = _container.length;
while (_local3 < _local2) {
if (!WallBlocked(_container[_local3]).Active){
_container.splice(_local3, 1);
};
_local3++;
};
};
}
}
}//package model
Section 281
//ScrollableScreenElement (scroll.ScrollableScreenElement)
package scroll {
import flash.display.*;
public class ScrollableScreenElement {
private var _loopWidth:Number;
private var _depthHorizontal:Number;
private var _initX:Number;
private var _initY:Number;
private var _loopHorizontal:Boolean;
private var _loopHeight:Number;
private var _screenHeight:Number;
private var _loopVertical:Boolean;
private var _depthVertical:Number;
private var _asset:MovieClip;// = null
private var _screenWidth:Number;
private var _frozen:Boolean;
public static const LOOP_VERTICAL:String = "LoopVertical";
public static const LOOP_HORIZONTAL:String = "LoopHorizontal";
public function ScrollableScreenElement(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean, _arg7:Boolean=false, _arg8:Number=0, _arg9:Number=0){
_asset = null;
super();
_asset = _arg1;
_depthHorizontal = _arg2;
_depthVertical = _arg3;
_screenWidth = _arg4;
_screenHeight = _arg5;
_loopHorizontal = _arg6;
_loopVertical = _arg7;
_initX = _asset.x;
_initY = _asset.y;
_frozen = false;
_loopWidth = ((_asset.width - _arg8) / 2);
_loopHeight = ((_asset.height - _arg9) / 2);
}
private function CheckVerticalLoop():void{
if (_asset.y > 0){
_asset.y = (_asset.y - _loopHeight);
} else {
if (_asset.y < -(_loopHeight)){
_asset.y = (_asset.y + _loopHeight);
};
};
}
public function ScrollX(_arg1:Number):void{
if (_frozen){
return;
};
_asset.x = (_asset.x - (_arg1 * _depthHorizontal));
if (_loopHorizontal){
CheckHorizontalLoop();
};
}
public function ScrollY(_arg1:Number):void{
if (_frozen){
return;
};
_asset.y = (_asset.y - (_arg1 * _depthVertical));
if (_loopVertical){
CheckVerticalLoop();
};
}
public function Unfreeze():void{
_frozen = false;
}
public function get Asset():MovieClip{
return (_asset);
}
public function AdjustHorizontalScroll(_arg1:Number):void{
if (_frozen){
return;
};
_asset.x = (((-1 * _arg1) * _depthHorizontal) + _initX);
if (_loopHorizontal){
CheckHorizontalLoop();
};
}
public function Reset():void{
_asset.x = _initX;
_asset.y = _initY;
_frozen = false;
}
private function CheckHorizontalLoop():void{
if (_asset.x > 0){
_asset.x = (_asset.x - _loopWidth);
} else {
if (_asset.x < -(_loopWidth)){
_asset.x = (_asset.x + _loopWidth);
};
};
}
public function Freeze():void{
_frozen = true;
}
public function AdjustVerticalScroll(_arg1:Number):void{
if (_frozen){
return;
};
_asset.y = (((-1 * _arg1) * _depthVertical) + _initY);
if (_loopVertical){
CheckVerticalLoop();
};
}
}
}//package scroll
Section 282
//ScrollManager (scroll.ScrollManager)
package scroll {
import flash.display.*;
import game.*;
import model.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import gs.*;
import config.*;
import view.*;
public class ScrollManager {
private var _levelHeight:Number;// = 1000
private var _localStageYOffset:Number;// = 0
private var _levelLimitsLocalYOffset:Number;// = 100
private var _dummyZeroPoint:Point;
private var _heightsRatio:Number;// = 1
private var _loadingSubLevel:Boolean;// = false
private var _isLoopLayer:ScrollableScreenElement;
private var _levelWidth:Number;// = 1000
private var _screenLockedWidth:Number;// = 600
private var _isBackground:ScrollableScreenElement;
private var _localStageXOffset:Number;// = 0
private var _characterYCorrectionFactorOnScreenScroll:Number;// = 0.5
private var _levelLimitsLocalXOffset:Number;// = 100
private var _horizontalScrollFactor:Number;// = 0.05
private var _endSubLevel:Boolean;// = false
private var _scrollableElements:Array;// = null
private var _incrementY1:int;
private var _incrementY2:int;
private var _verticalScrollFactor:Number;// = 0.1
private var _scrollImmediately:Boolean;// = false
private var _screenLocked:Boolean;// = false
private var _mainCharacter:Character;// = null
private var _incrementY3:int;
private var _levelContainer:MovieClip;// = null
private var _levelLimits:MovieClip;// = null
public static const LONG_MAX_OF_SUBLEVEL:int = 3000;
public static var MIN_ABS_X_WITH_SCROLL:Number = (MIN_ABS_X + (MIN_SCREEN_X - SCR_POS_MIN_ABS_X));
public static var MIN_ABS_Y_WITH_SCROLL:Number = (MIN_ABS_Y + (MIN_SCREEN_Y - SCR_POS_MIN_ABS_Y));
public static var SCR_POS_MIN_ABS_X:Number = 30;
public static var MAX_ABS_X_WITH_SCROLL:Number = (MAX_ABS_X + (MAX_SCREEN_X - SCR_POS_MAX_ABS_X));
public static var MAX_ABS_Y_WITH_SCROLL:Number = (MAX_ABS_Y + (MAX_SCREEN_Y - SCR_POS_MAX_ABS_Y));
public static var MIN_ABS_X:Number = 10;
public static var MIN_ABS_Y:Number = -200;
public static var MAX_SCREEN_X:Number = 500;
public static var MAX_SCREEN_Y:Number = 350;
public static var SCR_POS_MAX_ABS_X:Number = 550;
public static var SCR_POS_MIN_ABS_Y:Number = 50;
public static var MAX_ABS_X:Number = 3000;
public static var MAX_ABS_Y:Number = 600;
public static var MIN_SCREEN_X:Number = 100;
public static var MIN_SCREEN_Y:Number = 100;
private static var _instance:ScrollManager = null;
public static var SCR_POS_MAX_ABS_Y:Number = 590;
public function ScrollManager(_arg1:SingletonBlocker=null){
_endSubLevel = false;
_loadingSubLevel = false;
_scrollableElements = null;
_mainCharacter = null;
_horizontalScrollFactor = 0.05;
_verticalScrollFactor = 0.1;
_levelContainer = null;
_levelLimits = null;
_levelLimitsLocalXOffset = 100;
_levelLimitsLocalYOffset = 100;
_levelWidth = 1000;
_levelHeight = 1000;
_heightsRatio = 1;
_dummyZeroPoint = new Point();
_localStageXOffset = 0;
_localStageYOffset = 0;
_scrollImmediately = false;
_screenLocked = false;
_screenLockedWidth = 600;
_characterYCorrectionFactorOnScreenScroll = 0.5;
super();
if (_arg1 == null){
throw (new Error("Public construction not allowed. Use GetInstance()"));
};
_horizontalScrollFactor = ConfigLoader.Instance.Config["HorizontalScrollFactor"];
_verticalScrollFactor = ConfigLoader.Instance.Config["VerticalScrollFactor"];
_incrementY1 = ConfigLoader.Instance.Config["IncrementYLevel1"];
_incrementY2 = ConfigLoader.Instance.Config["IncrementYLevel2"];
_incrementY3 = ConfigLoader.Instance.Config["IncrementYLevel3"];
_characterYCorrectionFactorOnScreenScroll = Number(ConfigLoader.Instance.Config["CharacterYCorrectionFactorOnScreenScroll"]);
_scrollImmediately = false;
}
public function RemoveScrollable(_arg1:ScrollableScreenElement):void{
_scrollableElements.splice(_scrollableElements.indexOf(_arg1), 1);
}
public function set LevelWidth(_arg1:Number):void{
_levelWidth = _arg1;
}
public function get EndSubLevel():Boolean{
return (_endSubLevel);
}
private function BenFell():void{
ScrollManager.Instance.Unfreeze();
_mainCharacter.BenDie();
}
public function Update():void{
ScrollX();
ScrollY();
}
public function Unfreeze():void{
var _local1:int;
var _local2:int;
_local1 = _scrollableElements.length;
_local2 = 0;
while (_local2 < _local1) {
(_scrollableElements[_local2] as ScrollableScreenElement).Unfreeze();
_local2++;
};
}
public function ScrollX():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:int;
var _local10:int;
_local1 = (_mainCharacter.CurrentAbsoluteX - _mainCharacter.PreviousAbsoluteX);
_local2 = _local1;
_local3 = (_levelContainer.x + _levelLimitsLocalXOffset);
_local4 = 0;
_local5 = 0;
_local6 = _levelWidth;
_local7 = (_mainCharacter.View.localToGlobal(_dummyZeroPoint).x + _localStageXOffset);
if (_screenLocked){
_local3 = 0;
_local6 = 600;
};
_local8 = (_scrollImmediately) ? 1 : _horizontalScrollFactor;
if ((((_mainCharacter.View.scaleX > 0)) && (!((_local7 == MIN_SCREEN_X))))){
_local4 = ((_local7 - MIN_SCREEN_X) * _local8);
if (Math.abs(_local4) < 0.05){
_local4 = (_local7 - MIN_SCREEN_X);
};
} else {
if ((((_mainCharacter.View.scaleX < 0)) && (!((_local7 == MAX_SCREEN_X))))){
_local4 = ((MAX_SCREEN_X - _local7) * _local8);
if (Math.abs(_local4) < 0.05){
_local4 = (MAX_SCREEN_X - _local7);
};
_local4 = (_local4 * -1);
};
};
if (_scrollImmediately){
_local4 = 0;
};
if (!_scrollImmediately){
if ((_local3 - (_local2 + _local4)) > 0){
if (_local4 < 0){
_local4 = 0;
};
_local5 = _local2;
if (_local7 <= 50){
_mainCharacter.CurrentAbsoluteX = (_mainCharacter.CurrentAbsoluteX + (_local4 - _local5));
_mainCharacter.X = (_mainCharacter.X + (_local4 - _local5));
};
} else {
if (((_local3 + _local6) - (_local2 + _local4)) < 600){
if (_local4 > 0){
_local4 = 0;
};
_local5 = _local2;
if (_local7 >= 550){
if (GameManager.Instance.FinalLevel == false){
Global.DispatchGameEvent("SubLevelComplete");
};
_mainCharacter.CurrentAbsoluteX = (_mainCharacter.CurrentAbsoluteX + (_local4 - _local5));
_mainCharacter.X = (_mainCharacter.X + (_local4 - _local5));
};
};
};
};
_local2 = (_local2 + (_local4 - _local5));
if (_local2 != 0){
_local9 = _scrollableElements.length;
_local10 = 0;
while (_local10 < _local9) {
(_scrollableElements[_local10] as ScrollableScreenElement).ScrollX(_local2);
_local10++;
};
};
}
public function ScrollY():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:int;
var _local9:int;
var _local10:int;
_local1 = (_mainCharacter.CurrentAbsoluteY - _mainCharacter.PreviousAbsoluteY);
_local2 = _local1;
_local3 = (_mainCharacter.View.localToGlobal(_dummyZeroPoint).y + _localStageYOffset);
_local4 = (_levelLimits.localToGlobal(_dummyZeroPoint).y + _localStageYOffset);
_local5 = (MIN_SCREEN_Y + ((_local3 - _local4) * _heightsRatio));
_local6 = (_scrollImmediately) ? 1 : _verticalScrollFactor;
_local7 = (-((_local5 - _local3)) * _local6);
if (Math.abs(_local7) < 0.1){
_local7 = 0;
};
if (_local7 != 0){
_local2 = (_local2 + _local7);
};
_local2 = _local7;
_local8 = ((GameManager.Instance.NumberLevel == 1)) ? _incrementY1 : ((GameManager.Instance.NumberLevel == 2)) ? _incrementY2 : _incrementY3;
if (((((!(_mainCharacter.Dead)) && (!(_scrollImmediately)))) && ((_local3 >= ((_local4 + LevelHeight) + _local8))))){
_mainCharacter.Dead = true;
TweenLite.to(_mainCharacter.View, 0.8, {y:(_mainCharacter.View.y + 300), onComplete:BenFell});
ScrollManager.Instance.Freeze();
};
if (_local2 != 0){
_local9 = _scrollableElements.length;
_local10 = 0;
while (_local10 < _local9) {
(_scrollableElements[_local10] as ScrollableScreenElement).ScrollY(_local2);
_local10++;
};
};
}
public function AddScrollable(_arg1:ScrollableScreenElement, _arg2:Boolean=false, _arg3:Boolean=false):void{
if (_arg2){
_isBackground = _arg1;
};
if (_arg3){
_isLoopLayer = _arg1;
};
_scrollableElements.push(_arg1);
}
public function UpdateScrollsImmediately():void{
_scrollImmediately = true;
Update();
_scrollImmediately = false;
}
public function Remove():void{
_scrollableElements = new Array();
_mainCharacter = null;
}
public function LockScreen(_arg1:Number=600):void{
_screenLocked = true;
_screenLockedWidth = _arg1;
}
public function get LevelHeight():Number{
return (_levelHeight);
}
public function Reset(_arg1:Boolean=true, _arg2:Boolean=true):void{
var _local3:int;
var _local4:int;
_local3 = _scrollableElements.length;
_local4 = 0;
while (_local4 < _local3) {
if (((((!(_arg1)) && (((_scrollableElements[_local4] as ScrollableScreenElement) == _isBackground)))) || (((!(_arg2)) && (((_scrollableElements[_local4] as ScrollableScreenElement) == _isLoopLayer)))))){
} else {
(_scrollableElements[_local4] as ScrollableScreenElement).Reset();
};
_local4++;
};
Release(_arg1, _arg2);
}
public function Initialize(_arg1:Character):void{
_scrollableElements = new Array();
_mainCharacter = _arg1;
_dummyZeroPoint = new Point(0, 0);
_localStageXOffset = GameContext.Instance.GameSprite.localToGlobal(_dummyZeroPoint).x;
_localStageYOffset = GameContext.Instance.GameSprite.localToGlobal(_dummyZeroPoint).y;
}
public function Freeze():void{
var _local1:int;
var _local2:int;
_local1 = _scrollableElements.length;
_local2 = 0;
while (_local2 < _local1) {
(_scrollableElements[_local2] as ScrollableScreenElement).Freeze();
_local2++;
};
}
public function set LevelLimits(_arg1:MovieClip):void{
_levelLimits = _arg1;
_levelContainer = LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LEVEL);
_levelLimitsLocalXOffset = 0;
_levelLimitsLocalYOffset = 0;
}
public function UnLockScreen():void{
_screenLocked = false;
}
public function get LevelWidth():Number{
return (_levelWidth);
}
public function set LoadingSubLevel(_arg1:Boolean):void{
_loadingSubLevel = _arg1;
}
public function set LevelHeight(_arg1:Number):void{
_levelHeight = _arg1;
_heightsRatio = ((MAX_SCREEN_Y - MIN_SCREEN_Y) / _levelHeight);
}
public function AdjustScroll(_arg1:Number, _arg2:Number):void{
var _local3:int;
_local3 = 0;
while (_local3 < _scrollableElements.length) {
(_scrollableElements[_local3] as ScrollableScreenElement).AdjustHorizontalScroll(_arg1);
(_scrollableElements[_local3] as ScrollableScreenElement).AdjustVerticalScroll(_arg2);
_local3++;
};
}
public function get LoadingSubLevel():Boolean{
return (_loadingSubLevel);
}
public function Scroll(_arg1:Number, _arg2:Number):void{
var _local3:int;
_local3 = 0;
while (_local3 < _scrollableElements.length) {
(_scrollableElements[_local3] as ScrollableScreenElement).ScrollX(_arg1);
(_scrollableElements[_local3] as ScrollableScreenElement).ScrollY(_arg2);
_local3++;
};
}
public function Release(_arg1:Boolean, _arg2:Boolean):void{
_scrollableElements = new Array();
if (!_arg1){
_scrollableElements.push(_isBackground);
};
if (!_arg2){
_scrollableElements.push(_isLoopLayer);
};
}
public function set EndSubLevel(_arg1:Boolean):void{
_endSubLevel = _arg1;
}
public static function get Instance():ScrollManager{
return (GetInstance());
}
public static function GetInstance():ScrollManager{
if (!(ScrollManager._instance is ScrollManager)){
ScrollManager._instance = new ScrollManager(new SingletonBlocker());
};
return (_instance);
}
}
}//package scroll
class SingletonBlocker {
private function SingletonBlocker(){
}
}
Section 283
//TextLoader (txt.TextLoader)
package txt {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import com.bourre.load.*;
public class TextLoader extends EventDispatcher {
private var _texts:Dictionary;// = null
private var _loader:XMLLoader;// = null
public static const LOAD_COMPLETE:String = "LoadComplete";
private static var _instance:TextLoader = null;
public function TextLoader(_arg1:SingletonBlocker){
_loader = null;
_texts = null;
super();
if (_arg1 == null){
return;
};
_texts = new Dictionary();
}
public function LoadTexts(_arg1:String):void{
_loader = new XMLLoader();
_loader.addEventListener(LoaderEvent.onLoadInitEVENT, OnLoadInit);
_loader.load(new URLRequest(_arg1));
}
private function OnLoadInit(_arg1:LoaderEvent):void{
_loader.removeEventListener(LoaderEvent.onLoadInitEVENT, OnLoadInit);
ParseTexts(_texts, _loader.getXML());
dispatchEvent(new Event(LOAD_COMPLETE));
}
private function ParseTexts(_arg1:Dictionary, _arg2:XML):void{
var _local3:XML;
for each (_local3 in _arg2.term) {
_arg1[_local3.@key.toString()] = _local3.toString();
};
}
public function get Texts():Dictionary{
return (_texts);
}
public static function get Instance():TextLoader{
if (!(TextLoader._instance is TextLoader)){
TextLoader._instance = new TextLoader(new SingletonBlocker());
};
return (_instance);
}
}
}//package txt
class SingletonBlocker {
private function SingletonBlocker(){
}
}
Section 284
//HUDManager (ui.HUDManager)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.text.*;
import utils.*;
import config.*;
import txt.*;
import buttons.*;
import flash.ui.*;
public class HUDManager {
private var _view:MovieClip;// = null
private var _bossFinalTXT:TextField;
private var _lifeTXT:TextField;
private var _lifeBarBossMC:MovieClip;
private var _bossFinalMC:MovieClip;
private var _transformationBarMC:MovieClip;
private var _transformationCorrect:MovieClip;
private var _soundMC:MovieClip;
private var _characterMC:MovieClip;
private var _lifeBarMC:MovieClip;
private var _scoreTXT:TextField;
private var _charactersElectionMC:MovieClip;
private var _infoMC:MovieClip;
private var _mute:Boolean;// = true
private static var _instance:HUDManager;
public function HUDManager(_arg1:SingletonBlocker){
_view = null;
_mute = true;
super();
if (_arg1 == null){
return;
};
}
private function CustomizeContextMenu():void{
var _local1:ContextMenu;
var _local2:ContextMenuItem;
_local1 = new ContextMenu();
_local1.hideBuiltInItems();
_local2 = new ContextMenuItem("Arte: Pablete", true);
_local1.customItems.push(new ContextMenuItem("Arte: Pablete", true));
_local1.customItems.push(new ContextMenuItem("Programación: Diego y Alfred", true));
_local1.customItems.push(new ContextMenuItem("Game Design: Echo", true));
_local1.customItems.push(new ContextMenuItem("Ilustraciones: Paco", true));
_local1.customItems.push(new ContextMenuItem("Animación: César", true));
_lifeBarMC.contextMenu = _local1;
}
protected function OnSoundButtonClick(_arg1:MouseEvent):void{
Global.DispatchGameEvent("OnSoundBtnClick");
}
public function get TransformationCorrect():MovieClip{
return (_transformationCorrect);
}
public function AddScore(_arg1:int):void{
_scoreTXT.text = StringUtils.IntToStr((int(_scoreTXT.text) + _arg1), 5);
}
public function BossFinal(_arg1:Boolean=false, _arg2:int=1):void{
_bossFinalMC.visible = _arg1;
_bossFinalMC.gotoAndStop(_arg2);
_lifeBarBossMC.gotoAndStop(1);
(_bossFinalMC.getChildByName("bossName_txt") as TextField).text = TextLoader.Instance.Texts[("BossName" + _arg2.toString())];
}
public function get CharactersElectionMC():MovieClip{
return (_charactersElectionMC);
}
public function Show():void{
View.visible = true;
}
public function get Life():int{
return (int(_lifeTXT.text));
}
public function AddLife():Boolean{
var _local1:int;
_local1 = (int(_lifeTXT.text) + 1);
_lifeTXT.text = String(_local1);
return (true);
}
public function get LifeBarMC():MovieClip{
return (_lifeBarMC);
}
public function Reset():void{
_charactersElectionMC.visible = false;
_characterMC.gotoAndStop(1);
_lifeBarMC.gotoAndStop(1);
_scoreTXT.text = StringUtils.IntToStr(0, 5);
_lifeTXT.text = ConfigLoader.Instance.Config["CharacterNumLives"];
TransformationBarFrame(1);
}
public function get TransformationBar():MovieClip{
return (_transformationBarMC);
}
public function Initialize(_arg1:MovieClip):void{
_view = _arg1;
InitializeChildren();
SetTexts();
Mute();
}
public function Mute():void{
_mute = !(_mute);
if (_mute){
(GetChildByPath(View, ["sound_btn", "muted_mc"]) as MovieClip).visible = true;
} else {
(GetChildByPath(View, ["sound_btn", "muted_mc"]) as MovieClip).visible = false;
};
}
public function get BossFinalMC():MovieClip{
return (_bossFinalMC);
}
public function get View():MovieClip{
return (_view);
}
public function RemoveLife():Boolean{
var _local1:int;
_local1 = (int(_lifeTXT.text) - 1);
if (_local1 >= 0){
_lifeTXT.text = String(_local1);
return (true);
};
return (false);
}
private function GetChildByPath(_arg1:DisplayObjectContainer, _arg2:Array):DisplayObject{
var _local3:DisplayObjectContainer;
var _local4:int;
var _local5:int;
_local3 = _arg1;
_local4 = _arg2.length;
_local5 = 0;
while (_local5 < (_local4 - 1)) {
_local3 = DisplayObjectContainer(_local3.getChildByName(_arg2[_local5]));
_local5++;
};
return (DisplayObject(_local3.getChildByName(_arg2[_local5])));
}
protected function SetTexts():void{
(_charactersElectionMC.getChildByName("alienSelection_txt") as TextField).text = TextLoader.Instance.Texts["AlienSelection"];
((_view.getChildByName("score_mc") as MovieClip).getChildByName("scoreLbl_txt") as TextField).text = TextLoader.Instance.Texts["ScoreLbl"];
(_bossFinalMC.getChildByName("bossName_txt") as TextField).text = TextLoader.Instance.Texts["BossName1"];
}
protected function InitializeChildren():void{
_charactersElectionMC = (GetChildByPath(View, ["eleccion_mc"]) as MovieClip);
_characterMC = (GetChildByPath(View, ["personajeHud_mc"]) as MovieClip);
_lifeBarMC = (GetChildByPath(View, ["barraDeVida_mc", "barra_mc"]) as MovieClip);
_transformationBarMC = (GetChildByPath(View, ["barraTransformacion_mc"]) as MovieClip);
_scoreTXT = (GetChildByPath(View, ["score_mc", "score_txt"]) as TextField);
_lifeTXT = (GetChildByPath(View, ["numeroVida_mc", "numeroVida_txt"]) as TextField);
_bossFinalMC = (GetChildByPath(View, ["bossFinal_mc"]) as MovieClip);
_lifeBarBossMC = (GetChildByPath(View, ["bossFinal_mc", "barra_mc"]) as MovieClip);
BossFinal();
Reset();
RollOutBtn(_view.getChildByName("help_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnHelpButtonClick);
RollOutBtn(_view.getChildByName("sound_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnSoundButtonClick);
}
public function Hide():void{
View.visible = false;
}
public function get InfoMC():MovieClip{
return (_infoMC);
}
public function get CharacterMC():MovieClip{
return (_characterMC);
}
public function Update():void{
}
public function TransformationBarFrame(_arg1:int):void{
_transformationCorrect = null;
GameTemplateMainApp.MyStage.addEventListener(Event.RENDER, LoadComplete);
GameTemplateMainApp.MyStage.invalidate();
_transformationBarMC.gotoAndStop(_arg1);
}
private function LoadComplete(_arg1:Event):void{
GameTemplateMainApp.MyStage.removeEventListener(Event.RENDER, LoadComplete);
_transformationCorrect = MovieClip(_transformationBarMC.getChildByName("barra_mc"));
}
public function get Score():int{
return (int(_scoreTXT.text));
}
public function ResetSubLevel():void{
_charactersElectionMC.visible = false;
_characterMC.gotoAndStop(1);
_lifeBarMC.gotoAndStop(1);
_transformationBarMC.gotoAndStop(1);
}
protected function OnHelpButtonClick(_arg1:MouseEvent):void{
Global.DispatchGameEvent("OnHelpBtnClick");
}
public function get LifeBarBossMC():MovieClip{
return (_lifeBarBossMC);
}
public static function GetInstance():HUDManager{
if (!(HUDManager._instance is HUDManager)){
HUDManager._instance = new HUDManager(new SingletonBlocker());
};
return (_instance);
}
public static function get Instance():HUDManager{
return (GetInstance());
}
}
}//package ui
class SingletonBlocker {
private function SingletonBlocker(){
}
}
Section 285
//UICreditos (ui.UICreditos)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.text.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UICreditos extends UIWidget {
protected var _continueBtn:SimpleButton;// = null
public function UICreditos(_arg1:MovieClip, _arg2:int=-1){
_continueBtn = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
protected function SetTexts():void{
TextField(MovieClip(View.getChildByName("creditsTitle_mc")).getChildByName("text_txt")).text = TextLoader.Instance.Texts["CreditosTitle"];
TextField(MovieClip(View.getChildByName("creditsTitle_mc")).getChildByName("text1_txt")).text = TextLoader.Instance.Texts["CreditostDescription"];
TextField(MovieClip(View.getChildByName("creditsTitle_mc")).getChildByName("scoreLabel_txt")).text = TextLoader.Instance.Texts["CreditosCodigoLabel"];
TextField(MovieClip(View.getChildByName("creditsTitle_mc")).getChildByName("score_txt")).text = TextLoader.Instance.Texts["CreditosCodigo"];
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).Text = TextLoader.Instance.Texts["ContinueBtn"];
}
protected function InitializeChildren():void{
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnContinueButtonClick);
}
override public function FadeIn():void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_UP);
super.FadeIn();
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
GameTemplateMainApp.StateGameEnd = true;
}
override public function OnFadeOutOver(_arg1:Event):void{
super.OnFadeOutOver(_arg1);
Global.DispatchGameEvent("InstructionsFadeOutOver");
}
protected function OnContinueButtonClick(_arg1:MouseEvent):void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_OUT);
FadeOut();
}
}
}//package ui
Section 286
//UIFactory (ui.UIFactory)
package ui {
import flash.display.*;
import assets.*;
public class UIFactory {
private var _container:Sprite;// = null
private var _resultScreen:UIResultScreen;// = null
private var _levelIndicator:UILevelIndicator;// = null
private var _instructions:UIInstructions;// = null
private var _gameWonScreen:UIGameWonScreen;// = null
private var _mainMenu:UIMainMenu;// = null
private var _instructionsFourArms:UIInstructionsFourArms;// = null
private var _instructionsCannonBolt:UIInstructionsCannonBolt;// = null
private var _gameLostScreen:UIGameLostScreen;// = null
private var _transition:UITransition;// = null
private var _objectives:UIObjectives;// = null
private var _creditos:UICreditos;// = null
private static var _instance:UIFactory;
public function UIFactory(_arg1:SingletonBlocker){
_container = null;
_mainMenu = null;
_objectives = null;
_instructions = null;
_resultScreen = null;
_gameWonScreen = null;
_gameLostScreen = null;
_transition = null;
_levelIndicator = null;
_instructionsCannonBolt = null;
_instructionsFourArms = null;
_creditos = null;
super();
if (_arg1 == null){
throw (new Error(("Public construction not allowed." + "Use GetInstance()")));
};
_container = new Sprite();
}
public function get Instructions():UIInstructions{
if (!(_instructions is UIInstructions)){
_instructions = new UIInstructions(new InstructionsAsset());
_container.addChild(_instructions.View);
};
return (_instructions);
}
public function get LevelIndicator():UILevelIndicator{
if (!(_levelIndicator is UILevelIndicator)){
_levelIndicator = new UILevelIndicator(new LevelIndicatorAsset());
_container.addChild(_levelIndicator.View);
};
return (_levelIndicator);
}
public function get MainMenu():UIMainMenu{
if (!(_mainMenu is UIMainMenu)){
_mainMenu = new UIMainMenu(new MainMenuAsset());
_container.addChild(_mainMenu.View);
};
return (_mainMenu);
}
public function get InstructionsCannonBolt():UIInstructionsCannonBolt{
if (!(_instructionsCannonBolt is UIInstructionsCannonBolt)){
_instructionsCannonBolt = new UIInstructionsCannonBolt(new InstructionsCannonBoltAsset());
_container.addChild(_instructionsCannonBolt.View);
};
return (_instructionsCannonBolt);
}
public function get InstructionsFourArms():UIInstructionsFourArms{
if (!(_instructionsFourArms is UIInstructionsFourArms)){
_instructionsFourArms = new UIInstructionsFourArms(new InstructionsFourArmsAsset());
_container.addChild(_instructionsFourArms.View);
};
return (_instructionsFourArms);
}
public function get GameLostScreen():UIGameLostScreen{
if (!(_gameLostScreen is UIGameLostScreen)){
_gameLostScreen = new UIGameLostScreen(new GameLostAsset());
_container.addChild(_gameLostScreen.View);
};
return (_gameLostScreen);
}
public function get ResultScreen():UIResultScreen{
if (!(_resultScreen is UIResultScreen)){
_resultScreen = new UIResultScreen(new LevelWonAsset());
_container.addChild(_resultScreen.View);
};
return (_resultScreen);
}
public function get Container():Sprite{
return (_container);
}
public function get Transition():UITransition{
if (!(_transition is UITransition)){
_transition = new UITransition(new TransitionAsset());
_container.addChild(_transition.View);
};
return (_transition);
}
public function Initialize():void{
MainMenu.Hide();
Objectives.Hide();
Instructions.Hide();
ResultScreen.Hide();
GameLostScreen.Hide();
GameWonScreen.Hide();
Transition.Hide();
LevelIndicator.Hide();
InstructionsCannonBolt.Hide();
InstructionsFourArms.Hide();
Creditos.Hide();
MainMenu.View.gotoAndStop(1);
Objectives.View.gotoAndStop(1);
Instructions.View.gotoAndStop(1);
ResultScreen.View.gotoAndStop(1);
GameLostScreen.View.gotoAndStop(1);
GameWonScreen.View.gotoAndStop(1);
Transition.View.gotoAndStop(1);
LevelIndicator.View.gotoAndStop(1);
InstructionsCannonBolt.View.gotoAndStop(1);
InstructionsFourArms.View.gotoAndStop(1);
Creditos.View.gotoAndStop(1);
MainMenu.View.tabChildren = false;
Objectives.View.tabChildren = false;
Instructions.View.tabChildren = false;
ResultScreen.View.tabChildren = false;
GameLostScreen.View.tabChildren = false;
GameWonScreen.View.tabChildren = false;
Transition.View.tabChildren = false;
LevelIndicator.View.tabChildren = false;
InstructionsCannonBolt.View.tabChildren = false;
InstructionsFourArms.View.tabChildren = false;
Creditos.View.tabChildren = false;
}
public function get Objectives():UIObjectives{
if (!(_objectives is UIObjectives)){
_objectives = new UIObjectives(new InstructionsAsset());
_container.addChild(_objectives.View);
};
return (_objectives);
}
public function get Creditos():UICreditos{
if (!(_creditos is UICreditos)){
_creditos = new UICreditos(new CreditosAsset());
_container.addChild(_creditos.View);
};
return (_creditos);
}
public function get GameWonScreen():UIGameWonScreen{
if (!(_gameWonScreen is UIGameWonScreen)){
_gameWonScreen = new UIGameWonScreen(new GameWonAsset());
_container.addChild(_gameWonScreen.View);
};
return (_gameWonScreen);
}
public static function GetInstance():UIFactory{
if (!(UIFactory._instance is UIFactory)){
UIFactory._instance = new UIFactory(new SingletonBlocker());
};
return (_instance);
}
public static function get Instance():UIFactory{
return (GetInstance());
}
}
}//package ui
class SingletonBlocker {
private function SingletonBlocker(){
}
}
Section 287
//UIGameLostScreen (ui.UIGameLostScreen)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.text.*;
import utils.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UIGameLostScreen extends UIWidget {
protected var _scoreTxt:TextField;// = null
public function UIGameLostScreen(_arg1:MovieClip, _arg2:int=-1){
_scoreTxt = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
protected function SetTexts():void{
TextField(MovieClip(View.getChildByName("gameLostTitle_mc")).getChildByName("titles_txt")).text = TextLoader.Instance.Texts["GameLostTitle"];
TextField(MovieClip(View.getChildByName("gameLostTitle_mc")).getChildByName("text_txt")).text = TextLoader.Instance.Texts["GameLostDescription"];
TextField(MovieClip(MovieClip(View.getChildByName("score_mc")).getChildByName("scoreTxt_mc")).getChildByName("scoreLabel_txt")).text = TextLoader.Instance.Texts["ScoreLabel"];
TextContainerButtonMovieClip(_view.getChildByName("playAgain_btn")).HTMLText = TextLoader.Instance.Texts["PlayAgainBtn"];
TextContainerButtonMovieClip(_view.getChildByName("mainMenu_btn")).Text = TextLoader.Instance.Texts["MainMenuBtn"];
}
protected function InitializeChildren():void{
var _local1:MovieClip;
TextContainerButtonMovieClip(_view.getChildByName("playAgain_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnPlayAgainButtonClick);
TextContainerButtonMovieClip(_view.getChildByName("mainMenu_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnMainMenuButtonClick);
_local1 = (_view.getChildByName("scoreTxt_mc") as MovieClip);
_scoreTxt = (((_view.getChildByName("score_mc") as MovieClip).getChildByName("scoreTxt_mc") as MovieClip).getChildByName("score_txt") as TextField);
_scoreTxt.text = StringUtils.IntToStr(0, 5);
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
GameTemplateMainApp.StateGameEnd = true;
}
protected function OnMainMenuButtonClick(_arg1:MouseEvent):void{
Global.DispatchGameEvent("OnMainMenuBtnClick");
}
public function set Score(_arg1:int):void{
_scoreTxt.text = StringUtils.IntToStr(_arg1, 5);
}
protected function OnPlayAgainButtonClick(_arg1:MouseEvent):void{
Global.DispatchGameEvent("OnGameLostPlayAgainBtnClick");
}
}
}//package ui
Section 288
//UIGameWonScreen (ui.UIGameWonScreen)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.text.*;
import utils.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UIGameWonScreen extends UIWidget {
protected var _scoreTxt:TextField;// = null
public function UIGameWonScreen(_arg1:MovieClip, _arg2:int=-1){
_scoreTxt = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
protected function SetTexts():void{
TextField(MovieClip(View.getChildByName("gameWonTitle_mc")).getChildByName("titles_txt")).htmlText = TextLoader.Instance.Texts["GameWonTitle"];
TextField(MovieClip(View.getChildByName("gameWonTitle_mc")).getChildByName("text_txt")).text = TextLoader.Instance.Texts["GameWonDescription"];
TextField(MovieClip(View.getChildByName("scoreTxt_mc")).getChildByName("scoreLabel_txt")).text = TextLoader.Instance.Texts["ScoreLabel"];
TextContainerButtonMovieClip(_view.getChildByName("playAgain_btn")).HTMLText = TextLoader.Instance.Texts["PlayAgainBtn"];
TextContainerButtonMovieClip(_view.getChildByName("mainMenu_btn")).Text = TextLoader.Instance.Texts["MainMenuBtn"];
}
protected function InitializeChildren():void{
TextContainerButtonMovieClip(_view.getChildByName("playAgain_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnPlayAgainButtonClick);
TextContainerButtonMovieClip(_view.getChildByName("mainMenu_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnMainMenuButtonClick);
_scoreTxt = ((_view.getChildByName("scoreTxt_mc") as MovieClip).getChildByName("score_txt") as TextField);
_scoreTxt.text = StringUtils.IntToStr(0, 5);
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
GameTemplateMainApp.StateGameEnd = true;
}
protected function OnMainMenuButtonClick(_arg1:MouseEvent):void{
Global.DispatchGameEvent("OnMainMenuBtnClick");
}
public function set Score(_arg1:int):void{
_scoreTxt.text = StringUtils.IntToStr(_arg1, 5);
}
protected function OnPlayAgainButtonClick(_arg1:MouseEvent):void{
Global.DispatchGameEvent("OnGameWonPlayAgainBtnClick");
}
}
}//package ui
Section 289
//UIInstructions (ui.UIInstructions)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.text.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UIInstructions extends UIWidget {
protected var _continueBtn:SimpleButton;// = null
public function UIInstructions(_arg1:MovieClip, _arg2:int=-1){
_continueBtn = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
protected function SetTexts():void{
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("text_txt")).text = TextLoader.Instance.Texts["InstructionsBenTitle"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("text1_txt")).text = TextLoader.Instance.Texts["InstructionsBenDescription"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("txt_2")).text = TextLoader.Instance.Texts["InstructionsBenTxt1"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("txt_2a")).text = TextLoader.Instance.Texts["InstructionsBenTxt2"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("txt_2b")).text = TextLoader.Instance.Texts["InstructionsBenTxt3"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("txt_2c")).text = TextLoader.Instance.Texts["InstructionsBenTxt4"];
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).Text = TextLoader.Instance.Texts["ContinueBtn"];
}
protected function InitializeChildren():void{
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnContinueButtonClick);
}
override public function FadeIn():void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_UP);
super.FadeIn();
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
GameTemplateMainApp.StateGameEnd = true;
}
override public function OnFadeOutOver(_arg1:Event):void{
super.OnFadeOutOver(_arg1);
Global.DispatchGameEvent("InstructionsFadeOutOver");
}
protected function OnContinueButtonClick(_arg1:MouseEvent):void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_OUT);
FadeOut();
}
}
}//package ui
Section 290
//UIInstructionsCannonBolt (ui.UIInstructionsCannonBolt)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.text.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UIInstructionsCannonBolt extends UIWidget {
protected var _continueBtn:SimpleButton;// = null
public function UIInstructionsCannonBolt(_arg1:MovieClip, _arg2:int=-1){
_continueBtn = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
protected function SetTexts():void{
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("titles_txt")).text = TextLoader.Instance.Texts["InstructionsCannonBoltTitle"];
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("text1_txt")).text = TextLoader.Instance.Texts["InstructionsCannonBoltDescription"];
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("txt_2c")).text = TextLoader.Instance.Texts["InstructionsCannonBoltTxt1"];
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("txt_2")).text = TextLoader.Instance.Texts["InstructionsCannonBoltTxt2"];
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("txt_2b")).text = TextLoader.Instance.Texts["InstructionsCannonBoltTxt3"];
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).Text = TextLoader.Instance.Texts["ContinueBtn"];
}
protected function InitializeChildren():void{
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnContinueButtonClick);
}
override public function FadeIn():void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_UP);
super.FadeIn();
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
GameTemplateMainApp.StateGameEnd = true;
}
override public function OnFadeOutOver(_arg1:Event):void{
super.OnFadeOutOver(_arg1);
Global.DispatchGameEvent("InstructionsFadeOutOver");
}
protected function OnContinueButtonClick(_arg1:MouseEvent):void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_UP);
FadeOut();
}
}
}//package ui
Section 291
//UIInstructionsFourArms (ui.UIInstructionsFourArms)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.text.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UIInstructionsFourArms extends UIWidget {
protected var _continueBtn:SimpleButton;// = null
public function UIInstructionsFourArms(_arg1:MovieClip, _arg2:int=-1){
_continueBtn = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
protected function SetTexts():void{
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("titles_txt")).text = TextLoader.Instance.Texts["InstructionsFourArmsTitle"];
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("text1_txt")).text = TextLoader.Instance.Texts["InstructionsFourArmsDescription"];
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("txt_2c")).text = TextLoader.Instance.Texts["InstructionsFourArmsTxt1"];
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("txt_2b")).text = TextLoader.Instance.Texts["InstructionsFourArmsTxt2"];
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).Text = TextLoader.Instance.Texts["ContinueBtn"];
}
protected function InitializeChildren():void{
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnContinueButtonClick);
}
override public function FadeIn():void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_UP);
super.FadeIn();
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
GameTemplateMainApp.StateGameEnd = true;
}
override public function OnFadeOutOver(_arg1:Event):void{
super.OnFadeOutOver(_arg1);
Global.DispatchGameEvent("InstructionsFadeOutOver");
}
protected function OnContinueButtonClick(_arg1:MouseEvent):void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_OUT);
FadeOut();
}
}
}//package ui
Section 292
//UILevelIndicator (ui.UILevelIndicator)
package ui {
import flash.events.*;
import flash.display.*;
import game.*;
import flash.text.*;
import txt.*;
import com.gamesandweb.ui.*;
public class UILevelIndicator extends UIWidget {
public function UILevelIndicator(_arg1:MovieClip, _arg2:int=-1){
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
public function SetTexts():void{
var _local1:String;
_local1 = ((((TextLoader.Instance.Texts["LevelIndicator"] + " ") + GameManager.Instance.NumberLevel) + " - ") + GameManager.Instance.NumberSubLevel);
TextField(MovieClip(View.getChildByName("levelIndicator_mc")).getChildByName("levelindicator_txt")).text = _local1;
TextField(MovieClip(View.getChildByName("levelIndicator2_mc")).getChildByName("levelindicator_txt")).text = _local1;
}
protected function InitializeChildren():void{
}
override public function OnFadeOutOver(_arg1:Event):void{
}
}
}//package ui
Section 293
//UIMainMenu (ui.UIMainMenu)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.net.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UIMainMenu extends UIWidget {
protected var _playBtn:TextContainerButtonMovieClip;// = null
public function UIMainMenu(_arg1:MovieClip, _arg2:int=-1){
_playBtn = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
protected function SetTexts():void{
var _local1:Loader;
TextContainerButtonMovieClip(_view.getChildByName("play_btn")).Text = TextLoader.Instance.Texts["PlayBtn"];
_local1 = new Loader();
_local1.load(new URLRequest((((GameContext.Instance.BasePath + "texts/logo-") + GameContext.Instance.Lang) + ".png")));
(View.getChildByName("logoContainer_mc") as MovieClip).addChild(_local1);
}
protected function InitializeChildren():void{
TextContainerButtonMovieClip(_view.getChildByName("play_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnPlayButtonClick);
}
protected function OnPlayButtonClick(_arg1:MouseEvent):void{
Global.DispatchGameEvent("OnPlayBtnClick");
}
}
}//package ui
Section 294
//UIObjectives (ui.UIObjectives)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import flash.text.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UIObjectives extends UIWidget {
protected var _continueBtn:SimpleButton;// = null
public function UIObjectives(_arg1:MovieClip, _arg2:int=-1){
_continueBtn = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
protected function SetTexts():void{
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("text_txt")).text = TextLoader.Instance.Texts["InstructionsBenTitle"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("text1_txt")).text = TextLoader.Instance.Texts["InstructionsBenDescription"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("txt_2")).text = TextLoader.Instance.Texts["InstructionsBenTxt1"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("txt_2a")).text = TextLoader.Instance.Texts["InstructionsBenTxt2"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("txt_2b")).text = TextLoader.Instance.Texts["InstructionsBenTxt3"];
TextField(MovieClip(View.getChildByName("instructionsTitle_mc")).getChildByName("txt_2c")).text = TextLoader.Instance.Texts["InstructionsBenTxt4"];
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).Text = TextLoader.Instance.Texts["ContinueBtn"];
}
protected function InitializeChildren():void{
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnContinueButtonClick);
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
GameTemplateMainApp.StateGameEnd = true;
}
override public function OnFadeOutOver(_arg1:Event):void{
super.OnFadeOutOver(_arg1);
Global.DispatchGameEvent("ObjectivesFadeOutOver");
}
protected function OnContinueButtonClick(_arg1:MouseEvent):void{
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_OUT);
FadeOut();
}
}
}//package ui
Section 295
//UIResultScreen (ui.UIResultScreen)
package ui {
import flash.events.*;
import flash.display.*;
import game.*;
import com.gamesandweb.game.*;
import flash.text.*;
import utils.*;
import txt.*;
import com.gamesandweb.ui.*;
import buttons.*;
public class UIResultScreen extends UIWidget {
protected var _scoreBossTxt:TextField;// = null
protected var _scoreLifeTxt:TextField;// = null
protected var _scoreTxt:TextField;// = null
protected var _scoreEnergyTxt:TextField;// = null
protected var _scoreEnemyTxt:TextField;// = null
public function UIResultScreen(_arg1:MovieClip, _arg2:int=-1){
_scoreTxt = null;
_scoreEnemyTxt = null;
_scoreEnergyTxt = null;
_scoreLifeTxt = null;
_scoreBossTxt = null;
super(_arg1, _arg2);
InitializeChildren();
SetTexts();
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
GameTemplateMainApp.StateGameEnd = true;
}
override public function OnFadeOut(_arg1:Event):void{
super.OnFadeOut(_arg1);
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_OUT);
}
protected function SetTexts():void{
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).Text = TextLoader.Instance.Texts["ContinueBtn"];
TextField(MovieClip(View.getChildByName("objectivesTitle_mc")).getChildByName("titles_txt")).text = TextLoader.Instance.Texts["ResultScreenTitle"];
TextField(MovieClip(View.getChildByName("scoreTxt_mc")).getChildByName("txt1_txt")).text = TextLoader.Instance.Texts["ScoreEnemy"];
TextField(MovieClip(View.getChildByName("scoreTxt_mc")).getChildByName("txt2_txt")).text = TextLoader.Instance.Texts["ScoreEnergy"];
TextField(MovieClip(View.getChildByName("scoreTxt_mc")).getChildByName("txt3_txt")).text = TextLoader.Instance.Texts["ScoreLife"];
TextField(MovieClip(View.getChildByName("scoreTxt_mc")).getChildByName("txt4_txt")).text = TextLoader.Instance.Texts["ScoreBoss"];
TextField(MovieClip(View.getChildByName("scoreTxt_mc")).getChildByName("scoreLabel_txt")).text = TextLoader.Instance.Texts["ScoreLabel"];
}
protected function InitializeChildren():void{
var _local1:MovieClip;
TextContainerButtonMovieClip(_view.getChildByName("continue_btn")).HitArea.addEventListener(MouseEvent.CLICK, OnNewLevelClick);
_local1 = (_view.getChildByName("scoreTxt_mc") as MovieClip);
_scoreTxt = ((_view.getChildByName("scoreTxt_mc") as MovieClip).getChildByName("score_txt") as TextField);
_scoreTxt.text = StringUtils.IntToStr(0, 5);
_scoreEnemyTxt = ((_view.getChildByName("scoreTxt_mc") as MovieClip).getChildByName("t1_txt") as TextField);
_scoreEnemyTxt.text = StringUtils.IntToStr(0, 5);
_scoreEnergyTxt = ((_view.getChildByName("scoreTxt_mc") as MovieClip).getChildByName("t2_txt") as TextField);
_scoreEnergyTxt.text = StringUtils.IntToStr(0, 5);
_scoreLifeTxt = ((_view.getChildByName("scoreTxt_mc") as MovieClip).getChildByName("t3_txt") as TextField);
_scoreLifeTxt.text = StringUtils.IntToStr(0, 5);
_scoreBossTxt = ((_view.getChildByName("scoreTxt_mc") as MovieClip).getChildByName("t4_txt") as TextField);
_scoreBossTxt.text = StringUtils.IntToStr(0, 5);
}
override public function FadeIn():void{
super.FadeIn();
Sfx.PlaySound(Sfx.SFX_OTHERS_POP_UP);
}
protected function OnNewLevelClick(_arg1:MouseEvent):void{
Global.DispatchGameEvent("NewLevel");
}
public function CalculateScore():void{
var _local1:Number;
_scoreEnemyTxt.text = StringUtils.IntToStr(HUDManager.Instance.Score, 5);
_scoreEnergyTxt.text = StringUtils.IntToStr(GameManager.Instance.ScorePerEnergy, 5);
_scoreLifeTxt.text = StringUtils.IntToStr(GameManager.Instance.ScorePerLife, 5);
_scoreBossTxt.text = StringUtils.IntToStr(GameManager.Instance.ScorePerBoss, 5);
_local1 = (((Number(_scoreEnemyTxt.text) + Number(_scoreEnergyTxt.text)) + Number(_scoreLifeTxt.text)) + Number(_scoreBossTxt.text));
_scoreTxt.text = StringUtils.IntToStr(_local1, 5);
GameManager.Instance.FinalScore = Math.abs(_local1);
}
}
}//package ui
Section 296
//UITransition (ui.UITransition)
package ui {
import flash.events.*;
import flash.display.*;
import com.gamesandweb.game.*;
import com.gamesandweb.ui.*;
public class UITransition extends UIWidget {
public function UITransition(_arg1:MovieClip, _arg2:int=-1){
super(_arg1, _arg2);
}
override public function OnFadeInOver(_arg1:Event):void{
super.OnFadeInOver(_arg1);
Global.DispatchGameEvent("TransitionFadeInOver");
}
override public function OnFadeOutOver(_arg1:Event):void{
super.OnFadeOutOver(_arg1);
Global.DispatchGameEvent("TransitionFadeOutOver");
}
}
}//package ui
Section 297
//MovieClipUtils (utils.MovieClipUtils)
package utils {
import flash.display.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import fl.motion.*;
public class MovieClipUtils {
private var _stop:Boolean;// = false
private var _container:Array;
private static var _instance:MovieClipUtils = null;
public function MovieClipUtils(_arg1:SingletonEnforcer){
_stop = false;
super();
Reset();
}
public function AnimationMovieClip(_arg1:MovieClip, _arg2:Boolean=false, _arg3:Boolean=false):void{
if (_arg1 == null){
return;
};
if (((_arg2) && (!(_arg3)))){
_arg1.stop();
};
if (((_arg3) && (!(_arg2)))){
_arg1.play();
};
}
public function AnimationMovieClipStart():void{
var _local1:MovieClip;
if (_container.length == 0){
return;
};
for each (_local1 in _container) {
_local1.play();
};
_stop = false;
}
public function GetScreenPosition(_arg1:MovieClip):Point{
return (_arg1.localToGlobal(new Point()).subtract(GameContext.Instance.GlobalScreenPos));
}
public function Reset():void{
_container = new Array();
}
public function get Stop():Boolean{
return (_stop);
}
public function PaintMC(_arg1:MovieClip, _arg2:uint, _arg3:Number=0):void{
var _local4:Color;
_local4 = new Color();
_local4.setTint(_arg2, _arg3);
_arg1.transform.colorTransform = _local4;
}
public function RemoveMovieClip(_arg1:MovieClip):void{
var _local2:int;
if (_container.length == 0){
return;
};
while (_local2 < _container.length) {
_container.splice(_local2, 1);
_local2++;
};
}
public function AnimationMovieClipStop():void{
var _local1:MovieClip;
if (_container.length == 0){
return;
};
for each (_local1 in _container) {
_local1.stop();
};
_stop = true;
}
public function AddMovieClip(_arg1:MovieClip):void{
_container.push(_arg1);
}
public static function get Instance():MovieClipUtils{
if (_instance == null){
_instance = new MovieClipUtils(new SingletonEnforcer());
};
return (_instance);
}
}
}//package utils
class SingletonEnforcer {
private function SingletonEnforcer(){
}
}
Section 298
//StringUtils (utils.StringUtils)
package utils {
import flash.text.*;
public class StringUtils {
public static function SetTextPreservingFormat(_arg1:TextField, _arg2:String):void{
var _local3:TextFormat;
_local3 = _arg1.getTextFormat();
_arg1.text = _arg2;
_arg1.setTextFormat(_local3);
}
public static function IntToStr(_arg1:int, _arg2:int=0):String{
var _local3:String;
_local3 = _arg1.toString();
while (_local3.length < _arg2) {
_local3 = ("0" + _local3);
};
return (_local3);
}
}
}//package utils
Section 299
//LayerFactory (view.LayerFactory)
package view {
import flash.display.*;
import flash.utils.*;
public class LayerFactory extends MovieClip {
protected var _container:DisplayObjectContainer;// = null
protected var _initialized:Boolean;// = false
protected var _layers:Dictionary;// = null
protected var _layersArray:Array;// = null
public static const LAYER_HUD:String = "hud";
public static const LAYER_UI:String = "ui";
public static const LAYER_LOADLEVEL:String = "loadLevel";
public static const LAYER_FOREGROUND:String = "foreground";
public static const LAYER_GAME_LAYER:String = "gameLayer";
public static const LAYER_LEVEL:String = "level";
public static const LAYER_CHARACTER:String = "character";
public static const LAYER_BACKGROUND:String = "background";
private static var _instance:LayerFactory = null;
public function LayerFactory(_arg1:SingletonEnforcer){
_container = null;
_layers = null;
_layersArray = null;
_initialized = false;
super();
}
public function Initialize(_arg1:DisplayObjectContainer, _arg2:Array=null):void{
var _local3:String;
if (!_initialized){
_initialized = true;
_container = _arg1;
_layers = new Dictionary();
_layersArray = new Array();
for (_local3 in _arg2) {
_layers[_arg2[_local3]] = new MovieClip();
_layersArray.push(_layers[_arg2[_local3]]);
_container.addChild(_layers[_arg2[_local3]]);
};
};
}
public function GetLayer(_arg1:String):MovieClip{
return ((_layers[_arg1] as MovieClip));
}
public static function GetInstance():LayerFactory{
if (_instance == null){
_instance = new LayerFactory(new SingletonEnforcer());
};
return (_instance);
}
public static function get Instance():LayerFactory{
return (GetInstance());
}
}
}//package view
class SingletonEnforcer {
private function SingletonEnforcer(){
}
}
Section 300
//Background1Asset (Background1Asset)
package {
import flash.display.*;
public dynamic class Background1Asset extends MovieClip {
}
}//package
Section 301
//Background2Asset (Background2Asset)
package {
import flash.display.*;
public dynamic class Background2Asset extends MovieClip {
}
}//package
Section 302
//Background3Asset (Background3Asset)
package {
import flash.display.*;
public dynamic class Background3Asset extends MovieClip {
}
}//package
Section 303
//BenSamuraiAsset (BenSamuraiAsset)
package {
import flash.display.*;
public dynamic class BenSamuraiAsset extends MovieClip {
public var hitAreaAttack_mc:MovieClip;
public var hitArea_mc:MovieClip;
public var LugarSuriken_mc:MovieClip;
public var ben_mc:MovieClip;
public function BenSamuraiAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10);
}
function frame10(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame1(){
stop();
}
function frame7(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 304
//CannonBoltAsset (CannonBoltAsset)
package {
import flash.display.*;
public dynamic class CannonBoltAsset extends MovieClip {
public var hitAreaAttack_mc:MovieClip;
public var hitArea_mc:MovieClip;
public function CannonBoltAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 305
//Continue1BtnAsset (Continue1BtnAsset)
package {
import buttons.*;
public dynamic class Continue1BtnAsset extends TextContainerButtonMovieClip {
public function Continue1BtnAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 306
//FourArmsAsset (FourArmsAsset)
package {
import flash.display.*;
public dynamic class FourArmsAsset extends MovieClip {
public var hitAreaAttack_mc:MovieClip;
public var FourArms_mc:MovieClip;
public var hitArea_mc:MovieClip;
public function FourArmsAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 307
//GameTemplateMainApp (GameTemplateMainApp)
package {
import flash.events.*;
import flash.display.*;
import ui.*;
import game.*;
import model.*;
import com.gamesandweb.game.*;
import flash.geom.*;
import flash.text.*;
import com.gamesandweb.game.events.*;
import config.*;
import txt.*;
import com.gamesandweb.ui.*;
import view.*;
import assets.*;
import flash.ui.*;
public class GameTemplateMainApp extends MovieClip {
private var _onInstructionsFadeOutOver:Function;// = null
private var _preloader:MovieClip;// = null
private var _onTransitionFadeInOver:Function;// = null
private var _initialized:Boolean;// = false
private var _indicadorLevel:Boolean;// = false
private var _loaderLevel:MovieClip;
private var _loadSubLevelOne:Boolean;// = false
private var _onTransitionFadeOutOver:Function;// = null
private var _objective:Boolean;// = false
private var _currentGameOverScreen:UIWidget;// = null
public static const CONFIG_PATH:String = "config/config.xml";
public static const STATE_IN_GAME:uint = 3;
public static const STATE_WINNER:uint = 8;
public static const SCREEN_WIDTH:uint = 600;
public static const STATE_MAIN_MENU:uint = 1;
public static const SCREEN_HEIGHT:uint = 400;
public static const STATE_TRANSITION:uint = 10;
public static const STATE_OBJECTIVES:uint = 4;
public static const STATE_RESULT:uint = 5;
public static const STATE_LOAD_SUBLEVEL:uint = 6;
public static const STATE_CREDITOS:uint = 9;
public static const STATE_INSTRUCTIONS:uint = 2;
public static const SND_WEIGHT_PCT:int = 10;
public static const STATE_LOST:uint = 7;
public static const SND_FILENAME:String = "sounds.swf";
public static const STATE_INTRO:uint = 0;
public static var StateGame:uint = 0;
public static var StateGameEnd:Boolean = false;
public static var STAGE00:Point = new Point();
private static var _instance:GameTemplateMainApp;
private static var _stage:Stage = null;
public function GameTemplateMainApp(){
_objective = false;
_preloader = null;
_loadSubLevelOne = false;
_indicadorLevel = false;
_onTransitionFadeInOver = null;
_onTransitionFadeOutOver = null;
_onInstructionsFadeOutOver = null;
_initialized = false;
_currentGameOverScreen = null;
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3);
_instance = this;
_initialized = false;
GameContext.Instance.BasePath = (((loaderInfo.parameters.basePath as String) == null)) ? "" : (loaderInfo.parameters.basePath as String);
StartPreloader();
Global.Initialize(this);
Global.AddEventListener(GameEvent.MILESTONE_REACH, OnGameEvent);
CustomizeContextMenu();
addEventListener(Event.REMOVED_FROM_STAGE, OnRemoved);
}
private function OnConfigLoadComplete(_arg1:Event):void{
ConfigLoader.Instance.removeEventListener(ConfigLoader.LOAD_COMPLETE, OnConfigLoadComplete);
GameContext.Instance.Lang = (((loaderInfo.parameters.lang as String) == null)) ? ConfigLoader.Instance.Config["DefaultLang"] : (loaderInfo.parameters.lang as String);
TextLoader.Instance.addEventListener(TextLoader.LOAD_COMPLETE, OnTxtLoadComplete);
TextLoader.Instance.LoadTexts((((GameContext.Instance.BasePath + "texts/texts-") + GameContext.Instance.Lang) + ".xml"));
}
protected function ShowMainMenu():void{
StateGame = STATE_INTRO;
Sfx.PlaySound(Sfx.SFX_OTHERS_JOSTICK);
UIFactory.Instance.MainMenu.FadeIn();
}
public function LoadingLevelEnd(_arg1:Boolean=false):void{
if (((!((_loaderLevel == null))) && ((_loaderLevel.visible == true)))){
_loaderLevel.visible = false;
if (_loadSubLevelOne){
_loadSubLevelOne = false;
} else {
GameManager.Instance.Pause();
};
if (_arg1){
if (!_objective){
StateGame = STATE_OBJECTIVES;
UIFactory.Instance.Objectives.FadeIn();
_objective = true;
} else {
if (((UIFactory.Instance.Transition.View.visible) && (((UIFactory.Instance.Transition.HasFadeIn) || (UIFactory.Instance.Transition.HasFadeOut))))){
_indicadorLevel = true;
} else {
GameManager.Instance.Pause();
_indicadorLevel = false;
};
};
};
};
}
public function ToggleSound():Boolean{
Sfx.ToggleMute();
return (false);
}
protected function ObjetiveAlreadyFadedIn():void{
StateGame = STATE_OBJECTIVES;
UIFactory.Instance.Objectives.View.gotoAndStop("FadeInComplete");
UIFactory.Instance.Objectives.Show();
}
protected function RemovePreloader():void{
removeChild(_preloader);
}
public function OnSpacePress(_arg1:uint):void{
if ((_arg1 & Character.ACTION_SPACE) == Character.ACTION_SPACE){
switch (StateGame){
case STATE_MAIN_MENU:
if (StateGameEnd){
Global.DispatchGameEvent("OnPlayBtnClick");
StateGameEnd = false;
};
break;
case STATE_OBJECTIVES:
if (StateGameEnd){
UIFactory.Instance.Objectives.FadeOut();
StateGameEnd = false;
};
break;
case STATE_INSTRUCTIONS:
if (StateGameEnd){
UIFactory.Instance.Instructions.FadeOut();
UIFactory.Instance.InstructionsCannonBolt.FadeOut();
UIFactory.Instance.InstructionsFourArms.FadeOut();
StateGameEnd = false;
};
break;
case STATE_RESULT:
if (StateGameEnd){
Global.DispatchGameEvent("NewLevel");
StateGameEnd = false;
};
break;
case STATE_LOST:
if (StateGameEnd){
Global.DispatchGameEvent("OnGameLostPlayAgainBtnClick");
StateGameEnd = false;
};
break;
case STATE_WINNER:
if (StateGameEnd){
Global.DispatchGameEvent("OnGameWonPlayAgainBtnClick");
StateGameEnd = false;
};
break;
case STATE_CREDITOS:
if (StateGameEnd){
UIFactory.Instance.Creditos.FadeOut();
StateGameEnd = false;
};
break;
};
};
}
public function ResetCharacterDead():void{
if (GameManager.Instance.Update){
GameManager.Instance.Pause();
};
PlayTransition(GameManager.Instance.CharacterDead);
}
private function StartPreloader():void{
_preloader = new PreloaderAsset();
addChild(_preloader);
addEventListener(Event.ENTER_FRAME, LoadProgress);
}
public function NextLevel():Boolean{
Sfx.StopSound(Sfx.SFX_OTHERS_LEVEL_COMPLETE);
Sfx.PlayMusic(Sfx.MUSIC_INGAME);
GameManager.Instance.LoadLevel((GameManager.Instance.NumberLevel + 1));
HUDManager.Instance.Show();
GameManager.Instance.ForceNotUpdate = true;
return (true);
}
private function LoadProgress(_arg1:Event):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:String;
var _local6:TextField;
_local2 = this.root.loaderInfo.bytesLoaded;
_local3 = this.root.loaderInfo.bytesTotal;
_local4 = Math.floor(((_local2 / _local3) * 100));
if (_local4 >= 10){
_local5 = String((_local4 - 10));
_local6 = ((_preloader.getChildByName("progress_mc") as MovieClip).getChildByName("progress_txt") as TextField);
_local6.text = (_local5 + " %");
(_preloader.getChildByName("progressBar_mc") as MovieClip).gotoAndStop((_local4 - 10));
};
if (_local2 >= _local3){
removeEventListener(Event.ENTER_FRAME, LoadProgress);
Sfx.InitExternal((GameContext.Instance.BasePath + SND_FILENAME));
addEventListener(Event.ENTER_FRAME, OnSoundsLoadProgress);
};
}
function frame3(){
stop();
}
private function OnRemoved(_arg1:Event):void{
removeEventListener(Event.REMOVED_FROM_STAGE, OnRemoved);
removeEventListener(Event.ENTER_FRAME, LoadProgress);
removeEventListener(Event.ENTER_FRAME, OnSoundsLoadProgress);
ConfigLoader.Instance.removeEventListener(ConfigLoader.LOAD_COMPLETE, OnConfigLoadComplete);
TextLoader.Instance.removeEventListener(TextLoader.LOAD_COMPLETE, OnTxtLoadComplete);
Sfx.Destroy();
GameManager.Instance.Finalize();
}
function frame1(){
stop();
}
public function set LoadSubLevelOne(_arg1:Boolean):void{
_loadSubLevelOne = _arg1;
}
protected function ShowObjectives():void{
UIFactory.Instance.Objectives.FadeIn();
}
function frame2(){
stop();
}
public function NextSubLevel():Boolean{
LoadingLevelBegin();
GameManager.Instance.LoadSubLevel((GameManager.Instance.NumberSubLevel + 1));
HUDManager.Instance.Show();
GameManager.Instance.ForceNotUpdate = true;
return (true);
}
protected function ShowMainMenuAlreadyFadedIn():void{
GameManager.Instance.Reset();
HUDManager.Instance.Reset();
StateGame = STATE_MAIN_MENU;
Sfx.PlayMusic(Sfx.MUSIC_MAIN_SCREEN);
UIFactory.Instance.MainMenu.View.gotoAndStop("FadeInComplete");
UIFactory.Instance.MainMenu.Show();
}
private function CustomizeContextMenu():void{
var _local1:ContextMenu;
var _local2:ContextMenuItem;
_local1 = new ContextMenu();
_local1.hideBuiltInItems();
_local2 = new ContextMenuItem("Ben 10", true);
_local1.customItems.push(_local2);
this.contextMenu = _local1;
}
public function Resume():void{
HUDManager.Instance.Show();
GameManager.Instance.Pause();
}
public function Initialize():void{
if (!_initialized){
_initialized = true;
_stage = this.stage;
GameContext.Instance.GameSprite = (this as Sprite);
GameContext.Instance.GlobalStage = this.stage;
STAGE00 = this.localToGlobal(new Point());
LayerFactory.Instance.Initialize(DisplayObjectContainer(this), [LayerFactory.LAYER_BACKGROUND, LayerFactory.LAYER_LEVEL, LayerFactory.LAYER_CHARACTER, LayerFactory.LAYER_GAME_LAYER, LayerFactory.LAYER_FOREGROUND, LayerFactory.LAYER_HUD, LayerFactory.LAYER_LOADLEVEL, LayerFactory.LAYER_UI]);
Sfx.AddSounds();
this.gotoAndStop("game");
_loaderLevel = new LoaderLevelAsset();
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_LOADLEVEL).addChild(_loaderLevel);
_loaderLevel.visible = false;
(_loaderLevel.getChildByName("loading_txt") as TextField).text = TextLoader.Instance.Texts["Loading"];
UIFactory.Instance.Initialize();
HUDManager.Instance.Initialize(new HUDAsset());
HUDManager.Instance.Hide();
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_UI).addChild(UIFactory.Instance.Container);
LayerFactory.Instance.GetLayer(LayerFactory.LAYER_HUD).addChild(HUDManager.Instance.View);
RemovePreloader();
ShowMainMenu();
InputManager.Initialize(this.stage);
GameManager.Instance.Initialize();
};
}
public function Start():Boolean{
Sfx.PlayMusic(Sfx.MUSIC_INGAME);
HUDManager.Instance.Hide();
_loadSubLevelOne = true;
LoadingLevelBegin();
GameManager.Instance.LoadLevel(1);
GameManager.Instance.ForceNotUpdate = true;
return (true);
}
public function LoadingLevelBegin(_arg1:Boolean=false):void{
if (_loaderLevel == null){
trace("[error]: not initialize _loadLevel");
} else {
if (((!((StateGame == STATE_INSTRUCTIONS))) && (!(_loaderLevel.visible)))){
_loaderLevel.gotoAndPlay(1);
_loaderLevel.visible = true;
};
if (_arg1){
GameManager.Instance.Reset();
NextLevel();
};
};
}
public function OnGameEvent(_arg1:GameEvent):void{
var event = _arg1;
switch (event.name){
case "OnPlayBtnClick":
Sfx.StopSound(Sfx.SFX_OTHERS_JOSTICK);
PlayTransition(UIFactory.Instance.MainMenu.FadeOut);
Start();
break;
case "ObjectivesFadeOutOver":
GameManager.Instance.Pause();
break;
case "InstructionsFadeOutOver":
StateGame = STATE_IN_GAME;
Resume();
break;
case "OnGameLost":
StateGame = STATE_LOST;
Sfx.PlayMusic(Sfx.MUSIC_GAME_OVER);
if (GameManager.Instance.Update){
GameManager.Instance.Pause();
};
GameManager.Instance.ForceNotUpdate = true;
HUDManager.Instance.Hide();
UIFactory.Instance.GameLostScreen.Score = HUDManager.Instance.Score;
HUDManager.Instance.Reset();
_currentGameOverScreen = UIFactory.Instance.GameLostScreen;
_currentGameOverScreen.FadeIn();
break;
case "OnGameWon":
StateGame = STATE_WINNER;
Sfx.PlayMusic(Sfx.MUSIC_WINNER);
GameManager.Instance.GameWinner = true;
if (GameManager.Instance.Update){
GameManager.Instance.Pause();
};
HUDManager.Instance.Hide();
UIFactory.Instance.ResultScreen.CalculateScore();
UIFactory.Instance.GameWonScreen.Score = GameManager.Instance.FinalScore;
HUDManager.Instance.Reset();
_currentGameOverScreen = UIFactory.Instance.GameWonScreen;
_currentGameOverScreen.FadeIn();
break;
case "OnMainMenuBtnClick":
PlayTransition(ShowMainMenuAlreadyFadedIn);
UIFactory.Instance.GameLostScreen.FadeOut();
UIFactory.Instance.GameWonScreen.FadeOut();
break;
case "OnGameLostPlayAgainBtnClick":
GameManager.Instance.NumberLevel = (GameManager.Instance.NumberLevel - 1);
PlayTransition(function (){
LoadingLevelBegin(true);
}, null);
UIFactory.Instance.GameLostScreen.FadeOut();
break;
case "OnGameWonPlayAgainBtnClick":
GameManager.Instance.Reset();
PlayTransition(Start);
UIFactory.Instance.GameWonScreen.FadeOut();
break;
case "TransitionFadeInOver":
if (_onTransitionFadeInOver != null){
_onTransitionFadeInOver();
};
_onTransitionFadeInOver = null;
break;
case "TransitionFadeOutOver":
if (_onTransitionFadeOutOver != null){
_onTransitionFadeOutOver();
};
_onTransitionFadeOutOver = null;
if (StateGame == STATE_INTRO){
Sfx.FadeSound(Sfx.SFX_OTHERS_JOSTICK, Sfx.VolumeFadeDownXML(Sfx.SFX_OTHERS_JOSTICK), Sfx.TimeFadeXML(Sfx.SFX_OTHERS_JOSTICK));
};
if (_indicadorLevel){
_indicadorLevel = false;
if (!GameManager.Instance.Update){
GameManager.Instance.Pause();
};
};
break;
case "SubLevelComplete":
StateGame = STATE_LOAD_SUBLEVEL;
HUDManager.Instance.Hide();
GameManager.Instance.MainCharacter.CurrentTransformation.TryNewPrimaryState(Character.PRI_ST_IDLE);
if (GameManager.Instance.Update){
GameManager.Instance.Pause();
};
GameManager.Instance.ForceNotUpdate = false;
NextSubLevel();
break;
case "LevelComplete":
StateGame = STATE_RESULT;
HUDManager.Instance.Hide();
GameManager.Instance.MainCharacter.CurrentTransformation.TryNewPrimaryState(Character.PRI_ST_IDLE);
if (GameManager.Instance.Update){
GameManager.Instance.Pause();
};
GameManager.Instance.ForceNotUpdate = false;
UIFactory.Instance.ResultScreen.CalculateScore();
HUDManager.Instance.ResetSubLevel();
_currentGameOverScreen = UIFactory.Instance.ResultScreen;
_currentGameOverScreen.FadeIn();
break;
case "NewLevel":
Sfx.PlayMusic(Sfx.MUSIC_INGAME);
_currentGameOverScreen.FadeOut();
PlayTransition(function (){
LoadingLevelBegin(true);
}, null);
break;
case "EndMainMenu":
if (StateGame == STATE_INTRO){
Sfx.StopSound(Sfx.SFX_OTHERS_JOSTICK);
Sfx.PlayMusic(Sfx.MUSIC_MAIN_SCREEN);
StateGame = STATE_MAIN_MENU;
StateGameEnd = true;
};
break;
case "OnHelpBtnClick":
StateGame = STATE_INSTRUCTIONS;
if (((UIFactory.Instance.LevelIndicator.HasFadeIn) || (UIFactory.Instance.LevelIndicator.HasFadeOut))){
UIFactory.Instance.LevelIndicator.Hide();
};
Pause();
UIFactory.Instance.Instructions.FadeIn();
break;
case "OnSoundBtnClick":
HUDManager.Instance.Mute();
ToggleSound();
break;
};
}
public function get LoadSubLevelOne():Boolean{
return (_loadSubLevelOne);
}
public function PlayTransition(_arg1:Function=null, _arg2:Function=null, _arg3:UIWidget=null):void{
_onTransitionFadeInOver = _arg1;
_onTransitionFadeOutOver = _arg2;
if (_arg3 == null){
_arg3 = UIFactory.Instance.Transition;
};
_arg3.Show();
_arg3.FadeIn();
}
private function OnTxtLoadComplete(_arg1:Event):void{
TextLoader.Instance.removeEventListener(TextLoader.LOAD_COMPLETE, OnTxtLoadComplete);
Initialize();
}
public function Pause():Boolean{
HUDManager.Instance.Hide();
GameManager.Instance.Pause();
return (true);
}
private function OnSoundsLoadProgress(_arg1:Event):void{
var _local2:int;
var _local3:TextField;
_local2 = ((100 - SND_WEIGHT_PCT) + Math.floor(((Sfx.GetLoadedPercent() * SND_WEIGHT_PCT) / 100)));
_local3 = ((_preloader.getChildByName("progress_mc") as MovieClip).getChildByName("progress_txt") as TextField);
_local3.text = (String(_local2) + " %");
(_preloader.getChildByName("progressBar_mc") as MovieClip).gotoAndStop(_local2);
if ((((Sfx.GetLoadedPercent() == 100)) && (Sfx.IsLoading()))){
_local3.text = "100 %";
(_preloader.getChildByName("progressBar_mc") as MovieClip).gotoAndStop(100);
removeEventListener(Event.ENTER_FRAME, OnSoundsLoadProgress);
ConfigLoader.Instance.addEventListener(ConfigLoader.LOAD_COMPLETE, OnConfigLoadComplete);
ConfigLoader.Instance.LoadConfig((GameContext.Instance.BasePath + CONFIG_PATH));
};
}
public static function get MyStage():Stage{
return (_stage);
}
public static function GetInstance():GameTemplateMainApp{
return (_instance);
}
public static function get Instance():GameTemplateMainApp{
return (GetInstance());
}
}
}//package
Section 308
//HelpBtn (HelpBtn)
package {
import buttons.*;
public dynamic class HelpBtn extends RollOutBtn {
public function HelpBtn(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 309
//LoaderLevelAsset (LoaderLevelAsset)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LoaderLevelAsset extends MovieClip {
public var loading_txt:TextField;
}
}//package
Section 310
//MainMenu1BtnAsset (MainMenu1BtnAsset)
package {
import buttons.*;
public dynamic class MainMenu1BtnAsset extends TextContainerButtonMovieClip {
public function MainMenu1BtnAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 311
//MainMenu2BtnAsset (MainMenu2BtnAsset)
package {
import buttons.*;
public dynamic class MainMenu2BtnAsset extends TextContainerButtonMovieClip {
public function MainMenu2BtnAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 312
//pared4brazosXXZZ (pared4brazosXXZZ)
package {
import assets.*;
public dynamic class pared4brazosXXZZ extends SpecialWallAsset {
public function pared4brazosXXZZ(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 313
//PlayAgain1BtnAsset (PlayAgain1BtnAsset)
package {
import buttons.*;
public dynamic class PlayAgain1BtnAsset extends TextContainerButtonMovieClip {
public function PlayAgain1BtnAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 314
//PlayAgain2BtnAsset (PlayAgain2BtnAsset)
package {
import buttons.*;
public dynamic class PlayAgain2BtnAsset extends TextContainerButtonMovieClip {
public function PlayAgain2BtnAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 315
//PlayBtnAsset (PlayBtnAsset)
package {
import buttons.*;
public dynamic class PlayBtnAsset extends TextContainerButtonMovieClip {
public function PlayBtnAsset(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 316
//PreloaderAsset (PreloaderAsset)
package {
import flash.display.*;
public dynamic class PreloaderAsset extends MovieClip {
public var progressBar_mc:MovieClip;
public var progress_mc:MovieClip;
public function PreloaderAsset(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 317
//Sfx (Sfx)
package {
import flash.events.*;
import flash.utils.*;
import com.reintroducing.sound.*;
import flash.system.*;
import flash.net.*;
import com.bourre.load.*;
import config.*;
import com.bourre.error.*;
public class Sfx {
public static const SFX_OTHERS_WALL_HIT:String = "OthersWallHit";
public static const SFX_ENEMY_BROKEN_ARMS:String = "EnemyBrokenArms";
public static const MUSIC_INGAME:String = "MusicInGame";
public static const SFX_BEN_JUMP:String = "BenJump";
public static const SFX_ENEMY_DROIDE_GREEN:String = "EnemyDroideGreen";
public static const SFX_ENEMY_ATTACK_THWO:String = "EnemyAttack1";
public static const SFX_OTHERS_BROKEN_WALL:String = "OthersBrokenWall";
public static const MUSIC_GAME_OVER:String = "MusicGameOver";
public static const SFX_OTHERS_OMNITRIX:String = "OthersOmitrix";
public static const SFX_OTHERS_ENERGY_COMPLETE:String = "OthersEnergyComplete";
public static const SFX_OTHERS_ROLLOVER:String = "OthersRollover";
public static const SFX_ENEMY_KENKO_HIT:String = "EnemyKenkoHit";
public static const SFX_OTHERS_POP_UP:String = "OthersPopUp";
public static const SFX_OTHERS_POP_OUT:String = "OthersPopOut";
public static const SFX_ENEMY_ATTACK_KENKO:String = "EnemyAttackKenko";
public static const SFX_BEN_TRANSFORMATION:String = "BenTransformation";
public static const MUSIC_MAIN_SCREEN:String = "MusicMainScreen";
public static const SOUNDS_ARRAY:Array = [MUSIC_MAIN_SCREEN, MUSIC_INGAME, MUSIC_WINNER, MUSIC_GAME_OVER, MUSIC_ENEMY_FINAL, SFX_BEN_ARMS_LEFT, SFX_BEN_ARMS_RIGHT, SFX_BEN_CROUCHING, SFX_BEN_DIE, SFX_BEN_HIT, SFX_BEN_JUMP, SFX_BEN_RUN, SFX_BEN_SHURIKEN, SFX_BEN_SONIC, SFX_BEN_SWORD, SFX_BEN_TRANSFORMATION, SFX_ENEMY_ATTACK_ONE, SFX_ENEMY_ATTACK_THWO, SFX_ENEMY_KENKO_HIT, SFX_ENEMY_ATTACK_KENKO, SFX_ENEMY_SUPERATTACK_KENKO, SFX_ENEMY_BROKEN_ARMS, SFX_ENEMY_DROIDE_GREEN, SFX_ENEMY_DIE, SFX_ENEMY_HIT, SFX_ENEMY_JUMP, SFX_ENEMY_SHOT, SFX_OTHERS_JOSTICK, SFX_OTHERS_BROKEN_WALL, SFX_OTHERS_ENERGY_COMPLETE, SFX_OTHERS_LEVEL_COMPLETE, SFX_OTHERS_OMNITRIX, SFX_OTHERS_ONE_LIFE, SFX_OTHERS_POP_OUT, SFX_OTHERS_POP_UP, SFX_OTHERS_POWER_UP, SFX_OTHERS_WALL_HIT, SFX_OTHERS_ROLLOVER];
public static const SFX_BEN_ARMS_LEFT:String = "BenArmsLeft";
public static const MUSIC_ENEMY_FINAL:String = "MusicEnemyFinal";
public static const SFX_OTHERS_JOSTICK:String = "OthersJoystick";
public static const SFX_ENEMY_SHOT:String = "EnemyShot";
public static const SFX_BEN_CROUCHING:String = "BenCrouching";
public static const SFX_ENEMY_ATTACK_ONE:String = "EnemyAttack";
private static const MUSICS_ARRAY:Array = [MUSIC_MAIN_SCREEN, MUSIC_INGAME, MUSIC_WINNER, MUSIC_GAME_OVER, MUSIC_ENEMY_FINAL];
public static const SFX_BEN_SWORD:String = "BenSword";
public static const SFX_BEN_DIE:String = "BenDie";
public static const SFX_OTHERS_POWER_UP:String = "OthersPowerUp";
public static const MUSIC_WINNER:String = "MusicWinner";
public static const SFX_BEN_RUN:String = "BenRun";
public static const SFX_ENEMY_DIE:String = "EnemyDie";
public static const SFX_ENEMY_JUMP:String = "EnemyJump";
public static const SFX_BEN_ARMS_RIGHT:String = "BenArmsRight";
public static const SFX_BEN_HIT:String = "BenHit";
public static const SFX_ENEMY_HIT:String = "EnemyHit";
public static const SFX_ENEMY_SUPERATTACK_KENKO:String = "EnemyKenkoSuperAttack";
public static const SFX_OTHERS_LEVEL_COMPLETE:String = "OthersLevelComplete";
public static const SFX_OTHERS_ONE_LIFE:String = "OthersOneLife";
public static const SFX_BEN_SONIC:String = "BenSonic";
public static const SFX_BEN_SHURIKEN:String = "BenShuriken";
private static var _loader:GraphicLoader = null;
private static var _volumes:Dictionary = null;
private static var _muted:Boolean = false;
private static var _currentMusicPlaying:String = "";
private static var _masterVolume:Number = 1;
public static function VolumeIDXML(_arg1:String):Number{
return (Number(ConfigLoader.Instance.Config[("Volume" + _arg1)]));
}
public static function StopSound(_arg1:String){
SoundManager.getInstance().stopSound(_arg1);
if (_arg1 == _currentMusicPlaying){
_currentMusicPlaying = null;
};
}
public static function InitLocal():void{
AddSounds();
}
public static function AddSounds():void{
var _local1:Number;
var _local2:int;
var _local3:int;
var _local4:String;
_volumes = new Dictionary();
_local2 = SOUNDS_ARRAY.length;
_local3 = 0;
while (_local3 < _local2) {
_volumes[SOUNDS_ARRAY[_local3]] = 1;
_local1 = Number(ConfigLoader.Instance.Config[("Volume" + SOUNDS_ARRAY[_local3])]);
if (!isNaN(_local1)){
_volumes[SOUNDS_ARRAY[_local3]] = _local1;
};
_local3++;
};
for each (_local4 in SOUNDS_ARRAY) {
SoundManager.getInstance().addLibrarySound(_local4, _local4, _volumes[_local4]);
};
}
public static function InitExternal(_arg1:String):void{
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
_loader = new GraphicLoader();
_loader.addEventListener(GraphicLoaderEvent.onLoadInitEVENT, CallBack);
_loader.load(_local2);
}
public static function PlayMusic(_arg1:String, _arg2:Boolean=false):void{
var _local3:String;
if (_arg1 != _currentMusicPlaying){
PlaySoundLoop(_arg1);
_currentMusicPlaying = _arg1;
for each (_local3 in MUSICS_ARRAY) {
if (_local3 != _arg1){
StopSound(_local3);
};
};
};
}
public static function PlaySound(_arg1:String, _arg2:Boolean=true, _arg3:Number=-1, _arg4:Number=0, _arg5:int=0):void{
if (((_arg2) || (!(IsPlaying(_arg1))))){
if (_arg3 == -1){
_arg3 = _volumes[_arg1];
};
SoundManager.getInstance().playSound(_arg1, (_arg3 * Volume), 0, _arg5);
};
}
public static function get Volume():Number{
return (_masterVolume);
}
public static function StopAllSounds():void{
var _local1:String;
for each (_local1 in SOUNDS_ARRAY) {
StopSound(_local1);
};
}
public static function get Muted():Boolean{
return (_muted);
}
public static function VolumeFadeUpXML(_arg1:String):Number{
var _local2:Number;
_local2 = Number(ConfigLoader.Instance.Config[(("Volume" + _arg1) + "FadeUp")]);
return ((isNaN(_local2)) ? VolumeIDXML(_arg1) : _local2);
}
public static function Resume():void{
}
public static function TimeFadeXML(_arg1:String):Number{
var _local2:Number;
_local2 = Number(ConfigLoader.Instance.Config[(("Time" + _arg1) + "Fade")]);
return ((isNaN(_local2)) ? 0 : _local2);
}
public static function PlaySoundLoop(_arg1:String, _arg2:Boolean=true, _arg3:Number=-1, _arg4:Number=0):void{
if (((_arg2) || (IsPlaying(_arg1)))){
if (_arg3 == -1){
_arg3 = _volumes[_arg1];
};
SoundManager.getInstance().playSound(_arg1, (_arg3 * Volume), 0, int.MAX_VALUE);
};
}
public static function VolumeFadeDownXML(_arg1:String):Number{
var _local2:Number;
_local2 = Number(ConfigLoader.Instance.Config[(("Volume" + _arg1) + "FadeDown")]);
return ((isNaN(_local2)) ? 0 : _local2);
}
public static function set Volume(_arg1:Number):void{
_masterVolume = _arg1;
}
public static function get Volumes():Dictionary{
return (_volumes);
}
private static function CallBack(_arg1:Event):void{
var applicationDomain:ApplicationDomain;
var e = _arg1;
try {
applicationDomain = _loader.getApplicationDomain();
if ((!(applicationDomain) is ApplicationDomain)){
applicationDomain = ApplicationDomain.currentDomain;
};
_loader.removeEventListener(GraphicLoaderEvent.onLoadInitEVENT, CallBack);
SoundManager.getInstance().MyApplicationDomain = applicationDomain;
} catch(e:IllegalStateException) {
trace(e.message);
};
_loader.removeEventListener(GraphicLoaderEvent.onLoadInitEVENT, CallBack);
}
public static function SetGainOverCurrent(_arg1:String, _arg2:Number):void{
SoundManager.getInstance().setSoundVolume(_arg1, (_arg2 * Volume));
}
public static function IsPlaying(_arg1:String):Boolean{
return (SoundManager.getInstance().IsPlayed(_arg1));
}
public static function IsLoading():Boolean{
return (((!((_loader == null))) && (!((_loader.getContent() == null)))));
}
public static function ToggleMute():void{
_muted = !(_muted);
Volume = (_muted) ? 0 : ConfigLoader.Instance.Config["MasterVolume"];
if (_muted){
SoundManager.getInstance().muteAllSounds();
} else {
SoundManager.getInstance().unmuteAllSounds();
};
}
public static function FadeSound(_arg1:String, _arg2:Number=0, _arg3:Number=1, _arg4:Number=-1):void{
if (_arg4 != -1){
SoundManager.getInstance().setSoundVolume(_arg1, _arg4);
};
SoundManager.getInstance().fadeSound(_arg1, _arg2, _arg3);
}
public static function Destroy():void{
StopAllSounds();
SoundManager.getInstance().stopAllSounds();
SoundManager.getInstance().removeAllSounds();
}
public static function Pause():void{
SoundManager.getInstance().pauseAllSounds();
}
public static function GetLoadedPercent():Number{
var _local1:Number;
return (_loader.getPerCent());
}
}
}//package
Section 318
//ShotEnemyAsset (ShotEnemyAsset)
package {
import flash.display.*;
public dynamic class ShotEnemyAsset extends MovieClip {
public var hitArea_mc:MovieClip;
public function ShotEnemyAsset(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 319
//ShotFriendlyAsset (ShotFriendlyAsset)
package {
import flash.display.*;
public dynamic class ShotFriendlyAsset extends MovieClip {
public function ShotFriendlyAsset(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 320
//SndBtn (SndBtn)
package {
import buttons.*;
public dynamic class SndBtn extends RollOutBtn {
public function SndBtn(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package