Section 1
//AbstractAniNumberSprite (minigame.common.component.AbstractAniNumberSprite)
package minigame.common.component {
import flash.events.*;
import flash.utils.*;
import util.*;
public class AbstractAniNumberSprite extends AbstractNumberSprite {
protected var stopTimer:Timer;
protected var num:uint;
public function AbstractAniNumberSprite(_arg1:uint=1){
stopTimer = new Timer(NumberUtilities.random(300, 1500), 1);
stopTimer.addEventListener(TimerEvent.TIMER, stopToNumFrame);
super(_arg1);
}
override public function set number(_arg1:uint):void{
num = _arg1;
if (stopTimer.running){
stopTimer.stop();
gotoAndStop(num);
} else {
stopTimer.start();
play();
};
}
private function stopToNumFrame(_arg1:TimerEvent):void{
gotoAndStop(num);
}
}
}//package minigame.common.component
Section 2
//AbstractFrontPage (minigame.common.component.AbstractFrontPage)
package minigame.common.component {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class AbstractFrontPage extends Sprite {
protected var background_image:Sprite;
protected var explain_btn:ButtonSprite;
private var OverHelp:Class;
private var OverSound:Class;
protected var execute_btn:ButtonSprite;
private var OnStart:Class;
private var OverStart:Class;
private var OnHelp:Class;
public static const SHOW_EXPLAIN:String = "show_explain";
public static const EXECUTE:String = "execute";
public function AbstractFrontPage(){
OverStart = AbstractFrontPage_OverStart;
OnStart = AbstractFrontPage_OnStart;
OverHelp = AbstractFrontPage_OverHelp;
OnHelp = AbstractFrontPage_OnHelp;
OverSound = AbstractFrontPage_OverSound;
super();
execute_btn = new ButtonSprite(OnStart, OverStart, 280, 340);
explain_btn = new ButtonSprite(OnHelp, OverHelp, 420, 340);
execute_btn.addEventListener(MouseEvent.CLICK, execute);
explain_btn.addEventListener(MouseEvent.CLICK, showExplain);
execute_btn.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
explain_btn.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
addChild(background_image);
addChild(execute_btn);
addChild(explain_btn);
}
public function destroy():void{
execute_btn.removeEventListener(MouseEvent.CLICK, execute);
explain_btn.removeEventListener(MouseEvent.CLICK, showExplain);
execute_btn.removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
explain_btn.removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
}
protected function showExplain(_arg1:Event):void{
this.dispatchEvent(new Event(AbstractFrontPage.SHOW_EXPLAIN));
}
protected function execute(_arg1:Event):void{
this.dispatchEvent(new Event(AbstractFrontPage.EXECUTE));
}
protected function onMouseOver(_arg1:Event):void{
var _local2:Sound;
_local2 = (new OverSound() as Sound);
_local2.play();
}
}
}//package minigame.common.component
Section 3
//AbstractFrontPage_OnHelp (minigame.common.component.AbstractFrontPage_OnHelp)
package minigame.common.component {
import mx.core.*;
public class AbstractFrontPage_OnHelp extends BitmapAsset {
}
}//package minigame.common.component
Section 4
//AbstractFrontPage_OnStart (minigame.common.component.AbstractFrontPage_OnStart)
package minigame.common.component {
import mx.core.*;
public class AbstractFrontPage_OnStart extends BitmapAsset {
}
}//package minigame.common.component
Section 5
//AbstractFrontPage_OverHelp (minigame.common.component.AbstractFrontPage_OverHelp)
package minigame.common.component {
import mx.core.*;
public class AbstractFrontPage_OverHelp extends BitmapAsset {
}
}//package minigame.common.component
Section 6
//AbstractFrontPage_OverSound (minigame.common.component.AbstractFrontPage_OverSound)
package minigame.common.component {
import mx.core.*;
public class AbstractFrontPage_OverSound extends SoundAsset {
}
}//package minigame.common.component
Section 7
//AbstractFrontPage_OverStart (minigame.common.component.AbstractFrontPage_OverStart)
package minigame.common.component {
import mx.core.*;
public class AbstractFrontPage_OverStart extends BitmapAsset {
}
}//package minigame.common.component
Section 8
//AbstractNumberSprite (minigame.common.component.AbstractNumberSprite)
package minigame.common.component {
import flash.display.*;
public class AbstractNumberSprite extends MovieClip {
public function AbstractNumberSprite(_arg1:uint=10){
gotoAndStop(_arg1);
}
public function set number(_arg1:uint):void{
gotoAndStop(_arg1);
}
}
}//package minigame.common.component
Section 9
//AbstractSoundManager (minigame.common.component.AbstractSoundManager)
package minigame.common.component {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class AbstractSoundManager {
protected var bg_sound_volume:Number;
protected var effect_channel_list:Array;
protected var bg_channel:SoundChannel;
protected var duration:uint;
protected var bg_sound:Sound;
protected var default_volume:Number;// = 0.4
protected var startTime:uint;
protected var effect_sound_list:Array;
protected var effect_sound_volume:Number;
public function AbstractSoundManager(_arg1:uint, _arg2:uint){
default_volume = 0.4;
bg_sound_volume = default_volume;
effect_sound_volume = default_volume;
super();
this.startTime = _arg1;
this.duration = _arg2;
}
public function getEffectSoundVolume():Number{
return (effect_sound_volume);
}
protected function repeatBgMusic(_arg1:TimerEvent):void{
bg_channel = bg_sound.play(startTime);
setVolume(bg_channel, bg_sound_volume);
}
public function playEffectSnd(_arg1:uint):void{
effect_channel_list[_arg1] = effect_sound_list[_arg1].play(0, 1);
setVolume(effect_channel_list[_arg1], effect_sound_volume);
}
public function playBGmusic():void{
var _local1:Timer;
var _local2:Timer;
_local1 = new Timer(duration);
_local1.addEventListener(TimerEvent.TIMER, repeatBgMusic);
_local1.start();
_local2 = new Timer((startTime + 100), 1);
_local2.addEventListener(TimerEvent.TIMER, repeatBgMusic);
_local2.start();
}
public function mute():void{
setBGSoundVolume(0);
}
protected function setVolume(_arg1:SoundChannel, _arg2:Number):void{
var _local3:SoundTransform;
_local3 = _arg1.soundTransform;
_local3.volume = _arg2;
_arg1.soundTransform = _local3;
}
public function resetVolume():void{
setBGSoundVolume(default_volume);
}
public function setBGSoundVolume(_arg1:Number):void{
bg_sound_volume = _arg1;
setVolume(bg_channel, _arg1);
}
public function getBGSoundVolume():Number{
return (bg_sound_volume);
}
public function setEffectSoundVolume(_arg1:Number):void{
effect_sound_volume = _arg1;
}
}
}//package minigame.common.component
Section 10
//AbstractSpark (minigame.common.component.AbstractSpark)
package minigame.common.component {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class AbstractSpark extends Sprite {
protected var _sparkes:Array;
protected var _speed:Number;// = 6
protected var timer:Timer;
protected var _target:Sprite;
protected var _angle:Number;// = 0
protected var _members:uint;
public function AbstractSpark(_arg1:Sprite, _arg2:uint=6){
var _local3:int;
var _local4:Particle;
_speed = 6;
_angle = 0;
super();
_target = _arg1;
_members = _arg2;
_angle = (180 / _members);
_sparkes = new Array(_members);
_local3 = 0;
while (_local3 < _members) {
_local4 = setSparkImage();
addChild(_local4);
_sparkes[_local3] = _local4;
_local3++;
};
_target.addChild(this);
timer = new Timer(30, 13);
timer.addEventListener(TimerEvent.TIMER, fire);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, remove);
timer.start();
}
private function fire(_arg1:TimerEvent):void{
var _local2:uint;
_local2 = 0;
while (_local2 < _members) {
move(_sparkes[_local2], (_local2 + 1));
_local2++;
};
}
private function remove(_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, fire);
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, remove);
_target.removeChild(this);
}
protected function setSparkImage():Particle{
throw (new Error("setSparkImage 오버라이드 해라"));
}
private function move(_arg1:Particle, _arg2:uint):void{
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = (((_angle * _arg2) * Math.PI) / 180);
_local4 = (Math.cos(_local3) * _speed);
_local5 = (Math.sin(-(_local3)) * _speed);
_arg1.x = (_arg1.x + _local4);
_arg1.y = (_arg1.y + _local5);
_speed = (_speed * 0.99);
}
}
}//package minigame.common.component
Section 11
//AbstractWindowContent (minigame.common.component.AbstractWindowContent)
package minigame.common.component {
import flash.display.*;
public class AbstractWindowContent extends Sprite {
protected var windowBoxLine:Shape;
protected var windowBox:Shape;
public function AbstractWindowContent(_arg1:uint, _arg2:uint){
windowBox = new Shape();
windowBox.graphics.beginFill(0xFFFFFF);
windowBox.graphics.drawRect(0, 0, _arg1, _arg2);
windowBox.graphics.endFill();
addChild(windowBox);
windowBoxLine = new Shape();
windowBoxLine.graphics.lineStyle(1, 0x9900);
windowBoxLine.graphics.drawRect(0, 0, _arg1, _arg2);
addChild(windowBoxLine);
}
protected function getBoxIndex():int{
return (getChildIndex(windowBoxLine));
}
public function destroy():void{
removeChild(windowBox);
removeChild(windowBoxLine);
windowBox = null;
windowBoxLine = null;
}
}
}//package minigame.common.component
Section 12
//AniNumberSprite (minigame.common.component.AniNumberSprite)
package minigame.common.component {
public class AniNumberSprite extends AbstractAniNumberSprite {
public function AniNumberSprite(_arg1:uint=1){
super(_arg1);
}
}
}//package minigame.common.component
Section 13
//ButtonSprite (minigame.common.component.ButtonSprite)
package minigame.common.component {
import flash.display.*;
public class ButtonSprite extends SimpleButton {
private var onImage:DisplayObject;
private var overImage:DisplayObject;
public function ButtonSprite(_arg1:Class, _arg2:Class, _arg3:int=0, _arg4:int=0):void{
this.x = _arg3;
this.y = _arg4;
onImage = new (_arg1);
overImage = new (_arg2);
downState = drawOnButton();
overState = drawOverButton();
upState = drawOnButton();
hitTestState = drawOverButton();
useHandCursor = true;
}
private function drawOverButton():DisplayObject{
return (overImage);
}
private function drawOnButton():DisplayObject{
return (onImage);
}
}
}//package minigame.common.component
Section 14
//ComboNumberSprite (minigame.common.component.ComboNumberSprite)
package minigame.common.component {
public class ComboNumberSprite extends AbstractAniNumberSprite {
public function ComboNumberSprite(_arg1:uint=1){
super(_arg1);
}
}
}//package minigame.common.component
Section 15
//FireFlower (minigame.common.component.FireFlower)
package minigame.common.component {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class FireFlower extends Sprite {
private var ratio:int;// = 0
private var moveTimer:Timer;
private var _speed:Number;
private var gravity:Number;// = 0.5
private var callTime:uint;// = 0
private var angle_unit:int;
private var _list:Array;
private var num:uint;
private var mutation:uint;// = 0
private var _target:Sprite;
public function FireFlower(_arg1:Class, _arg2:Sprite, _arg3:int, _arg4:int, _arg5:int=4, _arg6:Number=10, _arg7:uint=80, _arg8:uint=20){
var _local9:uint;
var _local10:Bitmap;
gravity = 0.5;
ratio = 0;
mutation = 0;
callTime = 0;
super();
num = _arg8;
_target = _arg2;
this.x = _arg3;
this.y = _arg4;
this.ratio = _arg5;
this.callTime = _arg7;
_list = new Array(num);
_speed = _arg6;
angle_unit = Math.floor((360 / num));
_local9 = 0;
while (_local9 < num) {
_local10 = (new (_arg1) as Bitmap);
_local10.x = 16;
_local10.y = -16;
addChild(_local10);
_list[_local9] = _local10;
_local9++;
};
moveTimer = new Timer(20, _arg7);
moveTimer.addEventListener(TimerEvent.TIMER, fire);
moveTimer.addEventListener(TimerEvent.TIMER_COMPLETE, clearFire);
_target.addChild(this);
moveTimer.start();
}
private function clearFire(_arg1:TimerEvent):void{
moveTimer.removeEventListener(TimerEvent.TIMER, fire);
moveTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, clearFire);
_target.removeChild(this);
}
private function fire(_arg1:TimerEvent):void{
var _local2:uint;
_local2 = 0;
while (_local2 < num) {
move(_list[_local2], ((_local2 * angle_unit) + mutation));
_local2++;
};
mutation = (mutation + ratio);
}
private function move(_arg1:DisplayObject, _arg2:uint):void{
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = ((_arg2 * Math.PI) / 180);
_local4 = (Math.cos(_local3) * _speed);
_local5 = (Math.sin(_local3) * _speed);
_arg1.x = (_arg1.x + _local4);
_arg1.y = (_arg1.y + _local5);
_speed = (_speed * 0.999);
}
}
}//package minigame.common.component
Section 16
//MassageWindowContent (minigame.common.component.MassageWindowContent)
package minigame.common.component {
import minigame.common.font.*;
import flash.text.*;
public class MassageWindowContent extends AbstractWindowContent {
private var msg_tfd:TextField;
public function MassageWindowContent(_arg1:String){
super(250, 100);
msg_tfd = HangulTextField.getInstance().getTextBox(_arg1, 200, 80, 0x6600);
msg_tfd.x = Math.floor(((250 - msg_tfd.width) * 0.5));
msg_tfd.y = Math.floor(((100 - msg_tfd.height) * 0.5));
addChild(msg_tfd);
}
override public function destroy():void{
removeChild(msg_tfd);
msg_tfd = null;
super.destroy();
}
}
}//package minigame.common.component
Section 17
//Particle (minigame.common.component.Particle)
package minigame.common.component {
import flash.display.*;
public class Particle extends Bitmap {
public function Particle(_arg1:BitmapData){
super(_arg1);
}
}
}//package minigame.common.component
Section 18
//PercentageBar (minigame.common.component.PercentageBar)
package minigame.common.component {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class PercentageBar extends Sprite {
private var _emphasize_color:uint;
public function PercentageBar(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint){
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Boolean;
var _local13:Boolean;
var _local14:Number;
var _local15:BitmapFilter;
var _local16:Array;
super();
this.x = _arg1;
this.y = _arg2;
this._emphasize_color = _arg6;
graphics.beginFill(_arg5);
graphics.drawRect(0, 0, _arg3, _arg4);
graphics.endFill();
_local8 = 0.9;
_local9 = 2;
_local10 = 2;
_local11 = 3;
_local12 = false;
_local13 = false;
_local14 = BitmapFilterQuality.HIGH;
_local15 = new GlowFilter(_arg7, _local8, _local9, _local10, _local11, _local14, _local12, _local13);
_local16 = new Array();
_local16.push(_local15);
filters = _local16;
}
private function getBarColorTransform(_arg1:uint):ColorTransform{
var _local2:uint;
var _local3:uint;
var _local4:uint;
_arg1 = (100 - _arg1);
_local2 = ((_emphasize_color >> 16) & 0xFF);
_local3 = ((_emphasize_color >> 8) & 0xFF);
_local4 = (_emphasize_color & 0xFF);
return (new ColorTransform(1, 1, 1, 1, (_local2 + _arg1), (_local3 + _arg1), (_local4 + _arg1), 0));
}
public function set barLength(_arg1:uint):void{
var _local2:ColorTransform;
scaleX = (_arg1 / 100);
_local2 = new ColorTransform();
transform.colorTransform = getBarColorTransform(_arg1);
}
}
}//package minigame.common.component
Section 19
//PolyNumber (minigame.common.component.PolyNumber)
package minigame.common.component {
import flash.display.*;
public class PolyNumber extends Sprite {
protected var numbers:Array;
protected var old_strlen:uint;// = 0
public function PolyNumber(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Class, _arg5:uint=0, _arg6:uint=0){
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:AbstractNumberSprite;
old_strlen = 0;
super();
this.x = _arg5;
this.y = _arg6;
_local7 = _arg2;
numbers = new Array(_local7);
_local8 = (_local7 * _arg3);
_local9 = 0;
while (_local9 < 7) {
_local10 = new _arg4(10);
_local10.x = (_local8 - ((_local9 + 1) * _arg3));
if (_local9 == 0){
addChild(_local10);
};
numbers[_local9] = _local10;
_local9++;
};
setNumerToNumbers(_arg1);
}
public function initNumber():void{
var _local1:uint;
var _local2:uint;
var _local3:int;
var _local4:AbstractNumberSprite;
_local1 = 0;
_local2 = (numbers.length - 1);
_local3 = _local2;
while (_local3 >= 0) {
_local4 = numbers[_local1];
if (((!((_local3 == 0))) && (contains(_local4)))){
removeChild(_local4);
};
_local3--;
_local1++;
};
old_strlen = 0;
}
public function setNumerToNumbers(_arg1:uint):void{
var _local2:String;
var _local3:uint;
var _local4:int;
var _local5:int;
var _local6:uint;
var _local7:AbstractNumberSprite;
_local2 = _arg1.toString();
_local3 = 0;
_local4 = (_local2.length - 1);
_local5 = _local4;
while (_local5 >= 0) {
_local6 = parseInt(_local2.charAt(_local5));
_local6 = ((_local6 == 0)) ? 10 : _local6;
_local7 = numbers[_local3];
_local7.number = _local6;
if (!contains(_local7)){
addChild(_local7);
};
_local5--;
_local3++;
};
if (old_strlen > _local4){
removeChildAt(old_strlen);
};
old_strlen = _local4;
}
}
}//package minigame.common.component
Section 20
//ScreenCover (minigame.common.component.ScreenCover)
package minigame.common.component {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class ScreenCover extends Sprite {
private var total_msg:uint;// = 0
private var px:uint;// = 0
private var tile_count:uint;// = 0
private var widthTiles:uint;
private var height_start:uint;// = 0
private var tile_list:Array;
private var heightTiles:uint;
private var tilesize:uint;
private var total_tiles:uint;
public static const REMOVE_COMP:String = "remove_comp";
public static const COVER_COMP:String = "cover_comp";
public function ScreenCover(_arg1:uint=50, _arg2:uint=11, _arg3:uint=8){
var _local4:Timer;
px = 0;
height_start = 0;
tile_count = 0;
total_msg = 0;
super();
this.tilesize = _arg1;
this.widthTiles = _arg2;
this.heightTiles = _arg3;
this.total_tiles = (_arg2 * _arg3);
tile_list = new Array(total_tiles);
_local4 = new Timer(30, ((_arg3 * 2) + 2));
_local4.addEventListener(TimerEvent.TIMER, makeTile);
_local4.start();
}
private function sendBuildCompMSG(_arg1:Event):void{
total_msg++;
if (tile_count == total_msg){
this.dispatchEvent(new Event(ScreenCover.COVER_COMP));
};
}
private function removeTile(_arg1:Event):void{
var _local2:ScreenTile;
_local2 = (_arg1.target as ScreenTile);
removeChild(_local2);
_local2 = null;
total_msg++;
if (total_msg == total_tiles){
this.dispatchEvent(new Event(ScreenCover.REMOVE_COMP));
};
}
public function startRemoveTiles():void{
var _local1:Timer;
px = 0;
height_start = 0;
tile_count = 0;
total_msg = 0;
_local1 = new Timer(30, ((heightTiles * 2) + 2));
_local1.addEventListener(TimerEvent.TIMER, clearTile);
_local1.start();
}
private function clearTile(_arg1:TimerEvent):void{
var _local2:uint;
var _local3:int;
height_start = (height_start + ((px >= widthTiles)) ? 1 : 0);
_local2 = height_start;
while (_local2 < heightTiles) {
_local3 = (px - _local2);
if (_local3 >= 0){
tile_list[tile_count].clear();
tile_count++;
} else {
break;
};
_local2++;
};
px++;
}
private function makeTile(_arg1:TimerEvent):void{
var _local2:uint;
var _local3:int;
var _local4:ScreenTile;
height_start = (height_start + ((px >= widthTiles)) ? 1 : 0);
_local2 = height_start;
while (_local2 < heightTiles) {
_local3 = (px - _local2);
if (_local3 >= 0){
_local4 = new ScreenTile((_local3 * tilesize), (_local2 * tilesize));
_local4.addEventListener(ScreenTile.REMOVE_ME, removeTile);
_local4.addEventListener(ScreenTile.CREATE_COMP, sendBuildCompMSG);
addChild(_local4);
tile_list[tile_count] = _local4;
tile_count++;
} else {
break;
};
_local2++;
};
px++;
}
}
}//package minigame.common.component
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
import util.*;
class ScreenTile extends Sprite {
private var alpha_val:Number;// = 0.1
public static const CREATE_COMP:String = "create_comp";
public static const REMOVE_ME:String = "remove_me";
private static var GLOW_EFFECT:GlowEffecter = new GlowEffecter();
private function ScreenTile(_arg1:uint, _arg2:uint){
var _local3:Timer;
alpha_val = 0.1;
super();
this.x = _arg1;
this.y = _arg2;
this.name = name;
this.alpha = 0;
this.graphics.beginFill(0xFFFFFF, 1);
this.graphics.drawRect(0, 0, 50, 50);
this.graphics.endFill();
this.useHandCursor = false;
_local3 = new Timer(10, 10);
_local3.addEventListener(TimerEvent.TIMER, modifyAlpha);
_local3.addEventListener(TimerEvent.TIMER_COMPLETE, setGlowEffet);
_local3.start();
}
private function clear():void{
var _local1:Timer;
alpha_val = -(alpha_val);
this.filters = null;
_local1 = new Timer(10, 10);
_local1.addEventListener(TimerEvent.TIMER, modifyAlpha);
_local1.addEventListener(TimerEvent.TIMER_COMPLETE, sendRemoveMassage);
_local1.start();
}
private function setGlowEffet(_arg1:TimerEvent):void{
var _local2:BitmapFilter;
var _local3:Array;
_local2 = GLOW_EFFECT.getBitmapFilter();
_local3 = new Array();
_local3.push(_local2);
this.filters = _local3;
this.dispatchEvent(new Event(ScreenTile.CREATE_COMP));
}
private function sendRemoveMassage(_arg1:TimerEvent):void{
this.dispatchEvent(new Event(ScreenTile.REMOVE_ME));
}
private function modifyAlpha(_arg1:TimerEvent):void{
this.alpha = (this.alpha + alpha_val);
}
}
Section 21
//SingleButtonSprite (minigame.common.component.SingleButtonSprite)
package minigame.common.component {
import flash.display.*;
public class SingleButtonSprite extends SimpleButton {
public function SingleButtonSprite(_arg1:Class, _arg2:int=0, _arg3:int=0){
var _local4:DisplayObject;
super();
this.x = _arg2;
this.y = _arg3;
_local4 = new (_arg1);
hitTestState = (upState = (overState = (downState = _local4)));
useHandCursor = true;
}
}
}//package minigame.common.component
Section 22
//SoundConfigWindowContent (minigame.common.component.SoundConfigWindowContent)
package minigame.common.component {
import flash.events.*;
import flash.display.*;
import minigame.common.font.*;
import flash.text.*;
import flash.geom.*;
public class SoundConfigWindowContent extends AbstractWindowContent {
private var startX:uint;// = 35
private var sound_manager:AbstractSoundManager;
private var bg_sound_controller:Sprite;
private var effect_sound_controller:Sprite;
private var SpeakerController:Class;
private var endX:uint;// = 135
public function SoundConfigWindowContent(_arg1:AbstractSoundManager){
var _local2:Shape;
var _local3:Shape;
var _local4:Bitmap;
var _local5:Bitmap;
var _local6:TextField;
var _local7:TextField;
SpeakerController = SoundConfigWindowContent_SpeakerController;
startX = 35;
endX = 135;
this.sound_manager = _arg1;
_local2 = new Shape();
_local3 = new Shape();
_local2.graphics.lineStyle(1, 16764108);
_local2.graphics.moveTo(startX, 30);
_local2.graphics.lineTo(endX, 30);
_local3.graphics.lineStyle(1, 16764108);
_local3.graphics.moveTo(startX, 70);
_local3.graphics.lineTo(endX, 70);
bg_sound_controller = new Sprite();
_local4 = (new SpeakerController() as Bitmap);
_local4.x = -10;
_local4.y = -5;
bg_sound_controller.addChild(_local4);
bg_sound_controller.x = (startX + (_arg1.getBGSoundVolume() * 100));
bg_sound_controller.y = 30;
bg_sound_controller.name = "bg";
effect_sound_controller = new Sprite();
_local5 = (new SpeakerController() as Bitmap);
_local5.x = -10;
_local5.y = -5;
effect_sound_controller.addChild(_local5);
effect_sound_controller.x = (startX + (_arg1.getEffectSoundVolume() * 100));
effect_sound_controller.y = 70;
effect_sound_controller.name = "effect";
super(170, 100);
_local6 = HangulTextField.getInstance().getTextField("배경음", 0x6600, 20, 8);
_local7 = HangulTextField.getInstance().getTextField("효과음", 0x6600, 20, 48);
addChild(_local6);
addChild(_local7);
addChild(_local2);
addChild(_local3);
addChild(bg_sound_controller);
addChild(effect_sound_controller);
bg_sound_controller.addEventListener(MouseEvent.MOUSE_DOWN, onMove);
bg_sound_controller.addEventListener(MouseEvent.MOUSE_UP, onStopMove);
effect_sound_controller.addEventListener(MouseEvent.MOUSE_DOWN, onMove);
effect_sound_controller.addEventListener(MouseEvent.MOUSE_UP, onStopMove);
bg_sound_controller.addEventListener(MouseEvent.MOUSE_OUT, onStopMove);
effect_sound_controller.addEventListener(MouseEvent.MOUSE_OUT, onStopMove);
}
private function onMove(_arg1:MouseEvent):void{
var _local2:Sprite;
var _local3:Number;
_local2 = (_arg1.target as Sprite);
_local3 = _local2.y;
_local2.startDrag(false, new Rectangle(startX, _local3, 100, 0));
}
private function onStopMove(_arg1:MouseEvent):void{
var _local2:Sprite;
var _local3:Number;
_local2 = (_arg1.target as Sprite);
_local3 = (Math.floor((_local2.x - startX)) * 0.01);
_local2.stopDrag();
if (_local2.name == "bg"){
sound_manager.setBGSoundVolume(_local3);
} else {
if (_local2.name == "effect"){
sound_manager.setEffectSoundVolume(_local3);
};
};
}
override public function destroy():void{
bg_sound_controller.removeEventListener(MouseEvent.MOUSE_DOWN, onMove);
bg_sound_controller.removeEventListener(MouseEvent.MOUSE_UP, onStopMove);
effect_sound_controller.removeEventListener(MouseEvent.MOUSE_DOWN, onMove);
effect_sound_controller.removeEventListener(MouseEvent.MOUSE_UP, onStopMove);
bg_sound_controller.removeEventListener(MouseEvent.MOUSE_OUT, onStopMove);
effect_sound_controller.removeEventListener(MouseEvent.MOUSE_OUT, onStopMove);
removeChild(bg_sound_controller);
removeChild(effect_sound_controller);
super.destroy();
}
}
}//package minigame.common.component
Section 23
//SoundConfigWindowContent_SpeakerController (minigame.common.component.SoundConfigWindowContent_SpeakerController)
package minigame.common.component {
import mx.core.*;
public class SoundConfigWindowContent_SpeakerController extends BitmapAsset {
}
}//package minigame.common.component
Section 24
//StarSpark (minigame.common.component.StarSpark)
package minigame.common.component {
import flash.display.*;
import util.*;
public class StarSpark extends AbstractSpark {
private var StarImg0:Class;
private var StarImg1:Class;
private var StarImg2:Class;
public function StarSpark(_arg1:Sprite, _arg2:int=0, _arg3:int=0){
StarImg0 = StarSpark_StarImg0;
StarImg1 = StarSpark_StarImg1;
StarImg2 = StarSpark_StarImg2;
super(_arg1);
this.x = _arg2;
this.y = _arg3;
}
override protected function setSparkImage():Particle{
var _local1:int;
var _local2:Particle;
var _local3:Bitmap;
_local1 = NumberUtilities.random(0, 2);
switch (_local1){
case 0:
_local3 = (new StarImg0() as Bitmap);
_local2 = new Particle(_local3.bitmapData);
break;
case 1:
_local3 = (new StarImg1() as Bitmap);
_local2 = new Particle(_local3.bitmapData);
break;
case 2:
_local3 = (new StarImg2() as Bitmap);
_local2 = new Particle(_local3.bitmapData);
break;
};
return (_local2);
}
}
}//package minigame.common.component
Section 25
//StarSpark_StarImg0 (minigame.common.component.StarSpark_StarImg0)
package minigame.common.component {
import mx.core.*;
public class StarSpark_StarImg0 extends BitmapAsset {
}
}//package minigame.common.component
Section 26
//StarSpark_StarImg1 (minigame.common.component.StarSpark_StarImg1)
package minigame.common.component {
import mx.core.*;
public class StarSpark_StarImg1 extends BitmapAsset {
}
}//package minigame.common.component
Section 27
//StarSpark_StarImg2 (minigame.common.component.StarSpark_StarImg2)
package minigame.common.component {
import mx.core.*;
public class StarSpark_StarImg2 extends BitmapAsset {
}
}//package minigame.common.component
Section 28
//TimeNumberSprite (minigame.common.component.TimeNumberSprite)
package minigame.common.component {
public class TimeNumberSprite extends AbstractNumberSprite {
public function TimeNumberSprite(_arg1:uint=1){
super(_arg1);
}
}
}//package minigame.common.component
Section 29
//WindowSprite (minigame.common.component.WindowSprite)
package minigame.common.component {
import flash.events.*;
import flash.display.*;
import minigame.common.font.*;
import flash.text.*;
import flash.filters.*;
import util.*;
public class WindowSprite extends Sprite {
private var bar:Sprite;
private var BarPattern:Class;
private var OnOk:Class;
private var confirm_btn:ButtonSprite;
private var content:AbstractWindowContent;
private var close_btn:SingleButtonSprite;
private var BarLeft:Class;
private var CloseBtnImg:Class;
private var BarRight:Class;
private var OverOk:Class;
public static const DESTROY:String = "destroy";
public function WindowSprite(_arg1:AbstractWindowContent, _arg2:String, _arg3:String){
BarPattern = WindowSprite_BarPattern;
BarLeft = WindowSprite_BarLeft;
BarRight = WindowSprite_BarRight;
CloseBtnImg = WindowSprite_CloseBtnImg;
OnOk = WindowSprite_OnOk;
OverOk = WindowSprite_OverOk;
super();
this.content = _arg1;
this.name = _arg3;
drawWindow(_arg2);
}
private function onStopMove(_arg1:MouseEvent):void{
this.stopDrag();
}
private function onMove(_arg1:MouseEvent):void{
this.startDrag();
}
private function drawWindow(_arg1:String):void{
var _local2:TextField;
var _local3:Bitmap;
var _local4:Bitmap;
var _local5:Bitmap;
var _local6:GlowEffecter;
var _local7:BitmapFilter;
var _local8:Array;
bar = new Sprite();
_local2 = HangulTextField.getInstance().getTextField(_arg1, 0x6600, 5, 2);
_local3 = new BarLeft();
_local4 = new BarRight();
_local4.x = (content.width - _local4.width);
_local4.y = (_local3.y = 0);
content.y = _local3.height;
_local5 = new BarPattern();
_local5.scaleX = (((content.width - _local4.width) - _local3.width) + 2);
_local5.x = (_local3.width - 1);
close_btn = new SingleButtonSprite(CloseBtnImg, (_local4.x - 14), 2);
confirm_btn = new ButtonSprite(OverOk, OnOk, (_local4.x - 20), (content.height + 1));
bar.addChild(_local3);
bar.addChild(_local5);
bar.addChild(_local4);
bar.addChild(_local2);
_local6 = new GlowEffecter();
_local6.strength = 2;
_local6.alpha = 0.6;
_local6.thickness = 7;
_local7 = _local6.getBitmapFilter();
_local8 = new Array();
_local8.push(_local7);
this.filters = _local8;
addChild(content);
addChild(bar);
addChild(close_btn);
addChild(confirm_btn);
bar.addEventListener(MouseEvent.MOUSE_DOWN, onMove);
bar.addEventListener(MouseEvent.MOUSE_UP, onStopMove);
close_btn.addEventListener(MouseEvent.CLICK, destroy);
confirm_btn.addEventListener(MouseEvent.CLICK, destroy);
}
private function destroy(_arg1:MouseEvent):void{
bar.removeEventListener(MouseEvent.MOUSE_DOWN, onMove);
bar.removeEventListener(MouseEvent.MOUSE_UP, onStopMove);
close_btn.removeEventListener(MouseEvent.CLICK, destroy);
confirm_btn.removeEventListener(MouseEvent.CLICK, destroy);
content.destroy();
this.dispatchEvent(new Event(WindowSprite.DESTROY));
}
}
}//package minigame.common.component
Section 30
//WindowSprite_BarLeft (minigame.common.component.WindowSprite_BarLeft)
package minigame.common.component {
import mx.core.*;
public class WindowSprite_BarLeft extends BitmapAsset {
}
}//package minigame.common.component
Section 31
//WindowSprite_BarPattern (minigame.common.component.WindowSprite_BarPattern)
package minigame.common.component {
import mx.core.*;
public class WindowSprite_BarPattern extends BitmapAsset {
}
}//package minigame.common.component
Section 32
//WindowSprite_BarRight (minigame.common.component.WindowSprite_BarRight)
package minigame.common.component {
import mx.core.*;
public class WindowSprite_BarRight extends BitmapAsset {
}
}//package minigame.common.component
Section 33
//WindowSprite_CloseBtnImg (minigame.common.component.WindowSprite_CloseBtnImg)
package minigame.common.component {
import mx.core.*;
public class WindowSprite_CloseBtnImg extends BitmapAsset {
}
}//package minigame.common.component
Section 34
//WindowSprite_OnOk (minigame.common.component.WindowSprite_OnOk)
package minigame.common.component {
import mx.core.*;
public class WindowSprite_OnOk extends BitmapAsset {
}
}//package minigame.common.component
Section 35
//WindowSprite_OverOk (minigame.common.component.WindowSprite_OverOk)
package minigame.common.component {
import mx.core.*;
public class WindowSprite_OverOk extends BitmapAsset {
}
}//package minigame.common.component
Section 36
//HangulTextField (minigame.common.font.HangulTextField)
package minigame.common.font {
import flash.text.*;
public class HangulTextField {
private var fontFromSWF:Class;
private var yOffset:uint;// = 0
private var toggleSWFFont:String;// = "포티니트8"
private static var _instance:HangulTextField = null;
public function HangulTextField(){
fontFromSWF = HangulTextField_fontFromSWF;
toggleSWFFont = "포티니트8";
yOffset = 0;
super();
}
public function getTextBox(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:Number=0, _arg6:Number=0, _arg7:uint=12, _arg8:Boolean=false):TextField{
var _local9:TextFormat;
var _local10:TextField;
_local9 = new TextFormat();
_local9.font = toggleSWFFont;
_local9.color = _arg4;
_local9.size = _arg7;
_local9.bold = _arg8;
_local10 = new TextField();
_local10.x = _arg5;
_local10.y = _arg6;
_local10.width = _arg2;
_local10.height = _arg3;
_local10.embedFonts = true;
_local10.defaultTextFormat = _local9;
_local10.antiAliasType = AntiAliasType.ADVANCED;
_local10.autoSize = TextFieldAutoSize.LEFT;
_local10.selectable = false;
_local10.background = false;
_local10.border = false;
_local10.multiline = true;
_local10.wordWrap = true;
_local10.text = _arg1;
return (_local10);
}
public function getTextField(_arg1:String, _arg2:uint=0, _arg3:Number=0, _arg4:Number=0, _arg5:uint=12, _arg6:Boolean=false):TextField{
var _local7:TextFormat;
var _local8:TextField;
_local7 = new TextFormat();
_local7.font = toggleSWFFont;
_local7.color = _arg2;
_local7.size = _arg5;
_local7.bold = _arg6;
_local8 = new TextField();
_local8.embedFonts = true;
_local8.defaultTextFormat = _local7;
_local8.antiAliasType = AntiAliasType.ADVANCED;
_local8.autoSize = TextFieldAutoSize.LEFT;
_local8.selectable = false;
_local8.text = _arg1;
_local8.x = _arg3;
_local8.y = _arg4;
return (_local8);
}
public function getInputTextField(_arg1:String, _arg2:uint=0, _arg3:Number=0, _arg4:Number=0, _arg5:uint=12, _arg6:Boolean=false):TextField{
var _local7:TextFormat;
var _local8:TextField;
_local7 = new TextFormat();
_local7.font = toggleSWFFont;
_local7.color = _arg2;
_local7.size = _arg5;
_local7.bold = _arg6;
_local8 = new TextField();
_local8.embedFonts = true;
_local8.type = TextFieldType.INPUT;
_local8.defaultTextFormat = _local7;
_local8.antiAliasType = AntiAliasType.ADVANCED;
_local8.autoSize = TextFieldAutoSize.LEFT;
_local8.selectable = true;
_local8.text = _arg1;
_local8.x = _arg3;
_local8.y = _arg4;
return (_local8);
}
public static function getInstance():HangulTextField{
if (HangulTextField._instance == null){
HangulTextField._instance = new (HangulTextField);
};
return (HangulTextField._instance);
}
}
}//package minigame.common.font
Section 37
//HangulTextField_fontFromSWF (minigame.common.font.HangulTextField_fontFromSWF)
package minigame.common.font {
import mx.core.*;
public class HangulTextField_fontFromSWF extends FontAsset {
}
}//package minigame.common.font
Section 38
//NumberSprite (minigame.dancegame.component.NumberSprite)
package minigame.dancegame.component {
import flash.display.*;
public class NumberSprite extends MovieClip {
public function NumberSprite(_arg1:uint=1){
gotoAndStop(_arg1);
}
public function set number(_arg1:uint):void{
gotoAndStop(_arg1);
}
}
}//package minigame.dancegame.component
Section 39
//AbstractBackgroundFlower (minigame.molegame.component.AbstractBackgroundFlower)
package minigame.molegame.component {
import flash.events.*;
import flash.display.*;
import minigame.molegame.model.*;
public class AbstractBackgroundFlower extends MovieClip {
public static var MODEL:Model;
public function AbstractBackgroundFlower(){
this.gotoAndStop(1);
MODEL.addEventListener(Model.TILE_CHANGE, showAni);
}
public function remove():void{
MODEL.removeEventListener(Model.TILE_CHANGE, showAni);
}
public function showAni(_arg1:Event):void{
this.gotoAndStop(((MODEL.currentTileFrame % 4) + 1));
}
}
}//package minigame.molegame.component
Section 40
//BackgroundFlowerGroup (minigame.molegame.component.BackgroundFlowerGroup)
package minigame.molegame.component {
public class BackgroundFlowerGroup extends AbstractBackgroundFlower {
}
}//package minigame.molegame.component
Section 41
//BackgroundFlowerOrange (minigame.molegame.component.BackgroundFlowerOrange)
package minigame.molegame.component {
public class BackgroundFlowerOrange extends AbstractBackgroundFlower {
}
}//package minigame.molegame.component
Section 42
//BackgroundFlowerPurple (minigame.molegame.component.BackgroundFlowerPurple)
package minigame.molegame.component {
public class BackgroundFlowerPurple extends AbstractBackgroundFlower {
}
}//package minigame.molegame.component
Section 43
//BackgroundFlowerRed (minigame.molegame.component.BackgroundFlowerRed)
package minigame.molegame.component {
public class BackgroundFlowerRed extends AbstractBackgroundFlower {
}
}//package minigame.molegame.component
Section 44
//ExplainWindowContent (minigame.molegame.component.ExplainWindowContent)
package minigame.molegame.component {
import flash.display.*;
import minigame.common.component.*;
public class ExplainWindowContent extends AbstractWindowContent {
private var PageImg:Class;
public function ExplainWindowContent(){
var _local1:Bitmap;
PageImg = ExplainWindowContent_PageImg;
super(450, 300);
_local1 = (new PageImg() as Bitmap);
_local1.name = "explain_bit";
addChildAt(_local1, super.getBoxIndex());
}
override public function destroy():void{
var _local1:DisplayObject;
_local1 = this.getChildByName("explain_bit");
removeChild(_local1);
_local1 = null;
super.destroy();
}
}
}//package minigame.molegame.component
Section 45
//ExplainWindowContent_PageImg (minigame.molegame.component.ExplainWindowContent_PageImg)
package minigame.molegame.component {
import mx.core.*;
public class ExplainWindowContent_PageImg extends BitmapAsset {
}
}//package minigame.molegame.component
Section 46
//Hammer (minigame.molegame.component.Hammer)
package minigame.molegame.component {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Hammer extends MovieClip {
public function Hammer(){
var _local1:Timer;
super();
this.scaleX = 0.75;
this.scaleY = 0.75;
this.gotoAndStop(1);
_local1 = new Timer(1);
_local1.addEventListener(TimerEvent.TIMER, checkEnd);
_local1.start();
}
private function checkEnd(_arg1:Event):void{
if (currentFrame == totalFrames){
this.gotoAndStop(1);
};
}
}
}//package minigame.molegame.component
Section 47
//MoleGameFrontPage (minigame.molegame.component.MoleGameFrontPage)
package minigame.molegame.component {
import flash.display.*;
import minigame.common.component.*;
public class MoleGameFrontPage extends AbstractFrontPage {
private var FrontpageImg:Class;
public function MoleGameFrontPage(){
var _local1:DisplayObject;
FrontpageImg = MoleGameFrontPage_FrontpageImg;
background_image = new Sprite();
_local1 = new FrontpageImg();
background_image.useHandCursor = false;
background_image.addChild(_local1);
super();
}
}
}//package minigame.molegame.component
Section 48
//MoleGameFrontPage_FrontpageImg (minigame.molegame.component.MoleGameFrontPage_FrontpageImg)
package minigame.molegame.component {
import mx.core.*;
public class MoleGameFrontPage_FrontpageImg extends BitmapAsset {
}
}//package minigame.molegame.component
Section 49
//SoundManager (minigame.molegame.component.SoundManager)
package minigame.molegame.component {
import flash.events.*;
import minigame.common.component.*;
import flash.media.*;
import minigame.molegame.model.*;
import minigame.molegame.view.*;
public class SoundManager extends AbstractSoundManager {
private var BGmusic:Class;
private var EffectSnd0:Class;
private var EffectSnd1:Class;
private var EffectSnd2:Class;
public function SoundManager(_arg1:MassageDisplayer, _arg2:HoleManager){
BGmusic = SoundManager_BGmusic;
EffectSnd0 = SoundManager_EffectSnd0;
EffectSnd1 = SoundManager_EffectSnd1;
EffectSnd2 = SoundManager_EffectSnd2;
super(24, 7373);
bg_sound = (new BGmusic() as Sound);
effect_sound_list = new Array(3);
effect_channel_list = new Array(3);
effect_sound_list[0] = (new EffectSnd0() as Sound);
effect_sound_list[1] = (new EffectSnd1() as Sound);
effect_sound_list[2] = (new EffectSnd2() as Sound);
_arg2.addEventListener(HoleManager.HIT_EFFECT, hitEffect);
_arg1.addEventListener(MassageDisplayer.SHOW_EFFECT, massageEffect);
}
private function massageEffect(_arg1:Event):void{
playEffectSnd(_arg1.target.soundtype);
}
private function hitEffect(_arg1:Event):void{
playEffectSnd(1);
}
}
}//package minigame.molegame.component
Section 50
//SoundManager_BGmusic (minigame.molegame.component.SoundManager_BGmusic)
package minigame.molegame.component {
import mx.core.*;
public class SoundManager_BGmusic extends SoundAsset {
}
}//package minigame.molegame.component
Section 51
//SoundManager_EffectSnd0 (minigame.molegame.component.SoundManager_EffectSnd0)
package minigame.molegame.component {
import mx.core.*;
public class SoundManager_EffectSnd0 extends SoundAsset {
}
}//package minigame.molegame.component
Section 52
//SoundManager_EffectSnd1 (minigame.molegame.component.SoundManager_EffectSnd1)
package minigame.molegame.component {
import mx.core.*;
public class SoundManager_EffectSnd1 extends SoundAsset {
}
}//package minigame.molegame.component
Section 53
//SoundManager_EffectSnd2 (minigame.molegame.component.SoundManager_EffectSnd2)
package minigame.molegame.component {
import mx.core.*;
public class SoundManager_EffectSnd2 extends SoundAsset {
}
}//package minigame.molegame.component
Section 54
//Controll (minigame.molegame.model.Controll)
package minigame.molegame.model {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import minigame.molegame.component.*;
public class Controll extends EventDispatcher {
private var target:Stage;
private var hammer:Hammer;
private var model:Model;
private var hole_manager:HoleManager;
public function Controll(_arg1:Stage, _arg2:HoleManager, _arg3:Hammer, _arg4:Model){
target = _arg1;
this.hammer = _arg3;
_arg2.addEventListener(HoleManager.HIT_EFFECT, showHitMotion);
_arg4.addEventListener(Model.END, onStopMove);
_arg4.addEventListener(Model.STOP, onStopMove);
_arg4.addEventListener(Model.TIME_UP, onStopMove);
_arg4.addEventListener(Model.RESTART, onStart);
_arg4.addEventListener(Model.STOP_RESTART, onStart);
_arg4.addEventListener(Model.START, onStart);
}
private function onStart(_arg1:Event):void{
hammer.startDrag(true, new Rectangle(0, 0, 550, 400));
}
private function showHitMotion(_arg1:Event):void{
hammer.play();
}
private function onStopMove(_arg1:Event):void{
hammer.gotoAndStop(1);
hammer.stopDrag();
}
}
}//package minigame.molegame.model
Section 55
//HoleManager (minigame.molegame.model.HoleManager)
package minigame.molegame.model {
import flash.events.*;
import flash.display.*;
import minigame.molegame.component.*;
import minigame.molegame.view.*;
import util.*;
public class HoleManager extends Sprite {
private var members:uint;
private var model:Model;
private var max_num:uint;// = 12
private var hole_list:Array;
public static const HIT_EFFECT:String = "hit_effect";
public function HoleManager(_arg1:Model){
max_num = 12;
super();
AbstractBackgroundFlower.MODEL = (MoleCastChar.MODEL = (Hole.MODEL = (this.model = _arg1)));
hole_list = new Array(max_num);
_arg1.addEventListener(Model.RESTART, initHoles);
}
private function getGroundCover(_arg1:uint):AbstractBackgroundFlower{
var _local2:AbstractBackgroundFlower;
switch (_arg1){
case 0:
_local2 = new BackgroundFlowerGroup();
break;
case 1:
_local2 = new BackgroundFlowerOrange();
break;
case 2:
_local2 = new BackgroundFlowerPurple();
break;
case 3:
_local2 = new BackgroundFlowerRed();
break;
};
return (_local2);
}
private function clearHoles():void{
var _local1:int;
_local1 = 0;
while (_local1 < max_num) {
if ((hole_list[_local1] is Hole)){
hole_list[_local1].removeEventListener(Hole.HIT_EFFECT, sendHitMsg);
};
hole_list[_local1].remove();
removeChild(hole_list[_local1]);
hole_list[_local1] = null;
_local1++;
};
}
private function calcUniqueArray():Array{
var _local1:Array;
var _local2:uint;
_local1 = new Array(max_num);
_local2 = 0;
while (_local2 < max_num) {
_local1[_local2] = Math.random();
_local2++;
};
return (_local1.sort(Array.RETURNINDEXEDARRAY));
}
private function initHoles(_arg1:Event):void{
clearHoles();
buildHoles();
}
private function sendHitMsg(_arg1:Event):void{
this.dispatchEvent(new Event(HoleManager.HIT_EFFECT));
}
public function buildHoles():void{
var _local1:Array;
var _local2:int;
var _local3:uint;
var _local4:Hole;
var _local5:AbstractBackgroundFlower;
members = Math.min((model.level + 2), max_num);
_local1 = calcUniqueArray();
_local2 = 0;
while (_local2 < members) {
_local3 = _local1[_local2];
_local4 = new Hole();
_local4.x = (92 * (_local3 % 4));
_local4.y = (Math.floor((_local3 / 4)) * 43);
_local4.addEventListener(Hole.HIT_EFFECT, sendHitMsg);
hole_list[_local3] = _local4;
_local2++;
};
_local2 = 0;
while (_local2 < max_num) {
if (hole_list[_local2] == null){
_local5 = getGroundCover(NumberUtilities.random(0, 3));
_local5.x = (92 * (_local2 % 4));
_local5.y = ((Math.floor((_local2 / 4)) * 43) - 25);
hole_list[_local2] = _local5;
};
_local2++;
};
_local2 = 0;
while (_local2 < max_num) {
addChild(hole_list[_local2]);
if ((hole_list[_local2] is Hole)){
};
_local2++;
};
}
}
}//package minigame.molegame.model
Section 56
//Model (minigame.molegame.model.Model)
package minigame.molegame.model {
import flash.events.*;
import flash.utils.*;
public class Model extends EventDispatcher {
private var _level:uint;// = 1
private var miss_count:uint;// = 0
private var _score:uint;// = 0
private var count_timer:Timer;
private var _combo:uint;// = 0
private var hitted_count:uint;// = 0
private var _current_time:int;// = 30
private var game_times:uint;// = 0
private var isStoped_count_timer:Boolean;// = false
private var _currentTileFrame:uint;// = 0
private var isStoped_tile_timer:Boolean;// = false
private var _life:int;// = 6
private var _totalcombo:uint;// = 0
private var tile_timer:Timer;
private var _currentCount:uint;// = 0
private var created_count:uint;// = 0
public static const INIT_GAME:String = "init_game";
public static const START:String = "start";
public static const ADD_SCORE:String = "add_score";
public static const SHOW_COUNT:String = "show_count";
public static const COOL:String = "cool";
public static const REMOVE_COUNT:String = "remove_count";
public static const TIME_UP:String = "time_up";
public static const END:String = "end";
public static const LEVEL_UP:String = "level_up";
public static const STOP:String = "stop";
public static const BAD:String = "bad";
public static const TIME_CHANGE:String = "time_change";
public static const GREAT:String = "great";
public static const COMBO:String = "combo";
public static const RESTART:String = "restart";
public static const TILE_CHANGE:String = "tile_change";
public static const STOP_RESTART:String = "stop_restart";
public static const PERFECT:String = "perfect";
public static const GAME_TIME:uint = 30;
public static const MISS:String = "miss";
public function Model(){
game_times = 0;
_life = 6;
_current_time = GAME_TIME;
_level = 1;
_score = 0;
_combo = 0;
_totalcombo = 0;
created_count = 0;
miss_count = 0;
hitted_count = 0;
_currentTileFrame = 0;
_currentCount = 0;
isStoped_count_timer = false;
isStoped_tile_timer = false;
super();
tile_timer = new Timer(500);
tile_timer.addEventListener(TimerEvent.TIMER, onTileChange);
this.addEventListener(Model.END, endGame);
}
public function get level():uint{
return (_level);
}
public function stop():void{
if (((!((count_timer == null))) && (count_timer.running))){
count_timer.stop();
isStoped_count_timer = true;
};
if (((!((tile_timer == null))) && (tile_timer.running))){
tile_timer.stop();
isStoped_tile_timer = true;
};
this.dispatchEvent(new Event(Model.STOP));
}
public function get combo():uint{
return (_combo);
}
public function addMissedChar():void{
_combo = 0;
miss_count++;
checkEnd();
this.dispatchEvent(new Event(Model.MISS));
}
public function addHittedChar():void{
hitted_count++;
_combo++;
if (_combo > 1){
_totalcombo++;
this.dispatchEvent(new Event(Model.COMBO));
};
}
public function get score():uint{
return (_score);
}
public function get misscount():uint{
return (miss_count);
}
public function get currentCount():uint{
return (_currentCount);
}
public function initGame():void{
_life = 6;
_level = 1;
_score = 0;
game_times = 0;
_current_time = Model.GAME_TIME;
_currentTileFrame = 0;
created_count = 0;
hitted_count = 0;
miss_count = 0;
_combo = 0;
_totalcombo = 0;
dispatchEvent(new Event(INIT_GAME));
restart();
}
public function passingTime(_arg1:TimerEvent):void{
var _local2:uint;
if (--_current_time == 0){
count_timer.stop();
tile_timer.stop();
dispatchEvent(new Event(Model.TIME_CHANGE));
dispatchEvent(new Event(Model.TIME_UP));
_local2 = Math.floor((((created_count - miss_count) / created_count) * 100));
checkResult(((_local2 == 100)) ? 1 : ((_local2 > 92)) ? 2 : ((_local2 > 8)) ? 3 : 4);
} else {
dispatchEvent(new Event(Model.TIME_CHANGE));
};
}
public function restart():void{
_currentTileFrame = 0;
created_count = 0;
hitted_count = 0;
miss_count = 0;
_combo = 0;
_totalcombo = 0;
this.dispatchEvent(new Event(Model.RESTART));
start();
}
public function stopRestart():void{
this.dispatchEvent(new Event(Model.STOP_RESTART));
if (isStoped_count_timer){
count_timer.start();
isStoped_count_timer = false;
};
if (isStoped_tile_timer){
tile_timer.start();
isStoped_tile_timer = false;
};
}
private function showStartCount(_arg1:TimerEvent):void{
_currentCount = (4 - count_timer.currentCount);
if (_currentCount == 0){
this.dispatchEvent(new Event(Model.REMOVE_COUNT));
initModel();
} else {
this.dispatchEvent(new Event(Model.SHOW_COUNT));
};
}
private function checkEnd():void{
_life--;
if (_life < 0){
dispatchEvent(new Event(Model.END));
};
}
private function onTileChange(_arg1:TimerEvent):void{
_currentTileFrame++;
this.dispatchEvent(new Event(Model.TILE_CHANGE));
}
private function checkResult(_arg1:uint):void{
switch (_arg1){
case 1:
dispatchEvent(new Event(Model.PERFECT));
addScore = ((_combo * this._level) * 3);
break;
case 2:
dispatchEvent(new Event(Model.GREAT));
addScore = ((_combo * this._level) * 2);
break;
case 3:
dispatchEvent(new Event(Model.COOL));
addScore = (_combo * this._level);
break;
case 4:
dispatchEvent(new Event(Model.BAD));
break;
};
game_times++;
if ((game_times % 3) == 0){
_level++;
dispatchEvent(new Event(LEVEL_UP));
};
}
public function get totalcombo():uint{
return (_totalcombo);
}
public function set addScore(_arg1:uint):void{
_score = (_score + (_arg1 * 10));
this.dispatchEvent(new Event(Model.ADD_SCORE));
}
public function get currentTileFrame():uint{
return (_currentTileFrame);
}
private function endGame(_arg1:Event):void{
tile_timer.stop();
count_timer.stop();
}
public function start():void{
_current_time = Model.GAME_TIME;
dispatchEvent(new Event(Model.TIME_CHANGE));
count_timer = new Timer(1000, 4);
count_timer.addEventListener(TimerEvent.TIMER, showStartCount);
count_timer.start();
}
private function initModel():void{
count_timer.removeEventListener(TimerEvent.TIMER, showStartCount);
count_timer = new Timer(1000, 30);
count_timer.addEventListener(TimerEvent.TIMER, passingTime);
count_timer.start();
tile_timer.start();
this.dispatchEvent(new Event(Model.START));
}
public function get life():uint{
return (_life);
}
public function addCreatedChar():void{
created_count++;
}
public function get currentTime():uint{
return (_current_time);
}
}
}//package minigame.molegame.model
Section 57
//Xmover (minigame.molegame.model.Xmover)
package minigame.molegame.model {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Xmover {
private var moveTarget:DisplayObject;
private var tx:Number;
private var timer:Timer;
private var friction:Number;
public function Xmover(_arg1:DisplayObject, _arg2:Number, _arg3:Number){
this.moveTarget = _arg1;
this.tx = _arg2;
this.friction = _arg3;
timer = new Timer(30);
timer.addEventListener(TimerEvent.TIMER, moveToTarget);
}
public function start():void{
timer.start();
}
private function moveToTarget(_arg1:TimerEvent):void{
var _local2:Number;
_local2 = ((tx - moveTarget.x) * friction);
moveTarget.x = (moveTarget.x + _local2);
if (Math.floor(Math.abs(_local2)) < 1){
timer.stop();
};
}
}
}//package minigame.molegame.model
Section 58
//AbstractCharClip (minigame.molegame.view.AbstractCharClip)
package minigame.molegame.view {
import flash.display.*;
public class AbstractCharClip extends MovieClip {
public function AbstractCharClip(){
gotoAndStop(1);
}
}
}//package minigame.molegame.view
Section 59
//CharacterSupplier (minigame.molegame.view.CharacterSupplier)
package minigame.molegame.view {
public class CharacterSupplier {
private var yojo_hitted:Class;
private var moonrabbit_normal:Class;
private var yojo_normal:Class;
private var moonrabbit_hitted:Class;
private var moonboy_hitted:Class;
private var moonboy_normal:Class;
public function CharacterSupplier(){
yojo_normal = YojoNormalChar;
yojo_hitted = YojoHittedChar;
moonboy_normal = MoonboyNormalChar;
moonboy_hitted = MoonboyHittedChar;
moonrabbit_normal = MoonrabbitNormalChar;
moonrabbit_hitted = MoonrabbitHittedChar;
super();
}
public function getChooseChar(_arg1:uint=0):MoleCastChar{
var _local2:MoleCastChar;
switch (_arg1){
case 0:
_local2 = new MoleCastChar(new yojo_normal(), new yojo_hitted());
break;
case 1:
_local2 = new MoleCastChar(new moonboy_normal(), new moonboy_hitted());
break;
case 2:
_local2 = new MoleCastChar(new moonrabbit_normal(), new moonrabbit_hitted());
break;
};
return (_local2);
}
}
}//package minigame.molegame.view
Section 60
//GameUIView (minigame.molegame.view.GameUIView)
package minigame.molegame.view {
import flash.events.*;
import flash.display.*;
import minigame.common.component.*;
import minigame.molegame.model.*;
public class GameUIView extends Sprite {
private var life_number:AniNumberSprite;
private var PauseImg:Class;
private var LifeImg:Class;
private var time_number:PolyNumber;
private var explain_btn:ButtonSprite;
private var model:Model;
private var OverHelpImg:Class;
private var sound_btn:SingleButtonSprite;
private var SoundImg:Class;
private var level_number:PolyNumber;
private var pause_btn:SingleButtonSprite;
private var score_number:PolyNumber;
private var OnHelpImg:Class;
private var LevelImg:Class;
private var BarImg:Class;
private var ScoreImg:Class;
public static const SHOW_CONFIG:String = "show_config";
public static const SHOW_EXPLAIN:String = "show_explain";
public function GameUIView(_arg1:Model){
var _local2:Bitmap;
var _local3:Bitmap;
var _local4:Bitmap;
var _local5:Bitmap;
var _local6:uint;
ScoreImg = GameUIView_ScoreImg;
LevelImg = GameUIView_LevelImg;
BarImg = GameUIView_BarImg;
LifeImg = GameUIView_LifeImg;
PauseImg = GameUIView_PauseImg;
SoundImg = GameUIView_SoundImg;
OnHelpImg = GameUIView_OnHelpImg;
OverHelpImg = GameUIView_OverHelpImg;
super();
this.model = _arg1;
_local2 = (new ScoreImg() as Bitmap);
_local3 = (new LevelImg() as Bitmap);
_local4 = (new BarImg() as Bitmap);
_local5 = (new LifeImg() as Bitmap);
_local2.x = 30;
_local3.x = 165;
_local5.x = 228;
_local5.y = (_local2.y = (_local3.y = 381));
_local6 = _local5.y;
_local4.x = 0;
_local4.y = 372;
addChild(_local4);
time_number = new PolyNumber(_arg1.currentTime, 2, 26, TimeNumberSprite, 245, 20);
score_number = new PolyNumber(0, 7, 11, AniNumberSprite, ((_local2.x + _local2.width) + 5), _local6);
level_number = new PolyNumber(1, 2, 11, AniNumberSprite, ((_local3.x + _local3.width) + 5), _local6);
life_number = new AniNumberSprite(_arg1.life);
life_number.x = ((_local5.x + _local5.width) + 5);
life_number.y = _local6;
explain_btn = new ButtonSprite(OnHelpImg, OverHelpImg, 460, 379);
pause_btn = new SingleButtonSprite(PauseImg, 505, 379);
sound_btn = new SingleButtonSprite(SoundImg, 525, 379);
addChild(time_number);
addChild(_local2);
addChild(_local3);
addChild(_local5);
addChild(score_number);
addChild(level_number);
addChild(life_number);
addChild(explain_btn);
addChild(pause_btn);
addChild(sound_btn);
_arg1.addEventListener(Model.TIME_CHANGE, displayTime);
_arg1.addEventListener(Model.ADD_SCORE, showScore);
_arg1.addEventListener(Model.LEVEL_UP, showLevel);
_arg1.addEventListener(Model.MISS, showLife);
_arg1.addEventListener(Model.INIT_GAME, initUI);
explain_btn.addEventListener(MouseEvent.CLICK, showExplainWindow);
pause_btn.addEventListener(MouseEvent.CLICK, showConfigWindow);
sound_btn.addEventListener(MouseEvent.CLICK, showConfigWindow);
}
private function showConfigWindow(_arg1:MouseEvent):void{
this.dispatchEvent(new Event(GameUIView.SHOW_CONFIG));
}
private function showLife(_arg1:Event):void{
var _local2:uint;
_local2 = _arg1.target.life;
life_number.number = ((_local2 == 0)) ? 10 : _local2;
}
private function showLevel(_arg1:Event):void{
var _local2:uint;
_local2 = _arg1.target.level;
level_number.setNumerToNumbers(_local2);
}
private function initUI(_arg1:Event):void{
score_number.initNumber();
score_number.setNumerToNumbers(model.score);
level_number.initNumber();
level_number.setNumerToNumbers(model.level);
life_number.number = model.life;
}
private function showScore(_arg1:Event):void{
var _local2:uint;
_local2 = _arg1.target.score;
score_number.setNumerToNumbers(_local2);
}
private function displayTime(_arg1:Event):void{
var _local2:uint;
_local2 = _arg1.target.currentTime;
time_number.setNumerToNumbers(_local2);
}
private function showExplainWindow(_arg1:MouseEvent):void{
this.dispatchEvent(new Event(GameUIView.SHOW_EXPLAIN));
}
}
}//package minigame.molegame.view
Section 61
//GameUIView_BarImg (minigame.molegame.view.GameUIView_BarImg)
package minigame.molegame.view {
import mx.core.*;
public class GameUIView_BarImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 62
//GameUIView_LevelImg (minigame.molegame.view.GameUIView_LevelImg)
package minigame.molegame.view {
import mx.core.*;
public class GameUIView_LevelImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 63
//GameUIView_LifeImg (minigame.molegame.view.GameUIView_LifeImg)
package minigame.molegame.view {
import mx.core.*;
public class GameUIView_LifeImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 64
//GameUIView_OnHelpImg (minigame.molegame.view.GameUIView_OnHelpImg)
package minigame.molegame.view {
import mx.core.*;
public class GameUIView_OnHelpImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 65
//GameUIView_OverHelpImg (minigame.molegame.view.GameUIView_OverHelpImg)
package minigame.molegame.view {
import mx.core.*;
public class GameUIView_OverHelpImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 66
//GameUIView_PauseImg (minigame.molegame.view.GameUIView_PauseImg)
package minigame.molegame.view {
import mx.core.*;
public class GameUIView_PauseImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 67
//GameUIView_ScoreImg (minigame.molegame.view.GameUIView_ScoreImg)
package minigame.molegame.view {
import mx.core.*;
public class GameUIView_ScoreImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 68
//GameUIView_SoundImg (minigame.molegame.view.GameUIView_SoundImg)
package minigame.molegame.view {
import mx.core.*;
public class GameUIView_SoundImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 69
//Hole (minigame.molegame.view.Hole)
package minigame.molegame.view {
import flash.events.*;
import flash.display.*;
import minigame.common.component.*;
import minigame.molegame.model.*;
import flash.utils.*;
import util.*;
public class Hole extends Sprite {
private var isStoped_move_timer:Boolean;// = false
private var move_timer:Timer;
private var char:MoleCastChar;
private var GroundCoverImg:Class;
private var stay_calltime:uint;
private var ty:Number;
private var HoleImg:Class;
private var delayTime:uint;// = 0
private var friction:Number;// = 0
protected static const ENTERANCE_FRICTION:Number = 0.4;
public static const HIT_EFFECT:String = "hit_effect";
protected static const WITHDRAW_FRICTION:Number = 0.2;
protected static var CHAR_SUPPLIER:CharacterSupplier = new CharacterSupplier();
public static var MODEL:Model;
public function Hole(){
var _local1:Bitmap;
var _local2:Bitmap;
HoleImg = Hole_HoleImg;
GroundCoverImg = Hole_GroundCoverImg;
friction = 0;
delayTime = 0;
isStoped_move_timer = false;
super();
_local1 = (new HoleImg() as Bitmap);
_local1.y = -20;
_local2 = (new GroundCoverImg() as Bitmap);
addChild(_local1);
addChild(_local2);
MODEL.addEventListener(Model.TIME_UP, onTimeUp);
MODEL.addEventListener(Model.END, onTimeUp);
MODEL.addEventListener(Model.START, onStart);
MODEL.addEventListener(Model.STOP, onStop);
MODEL.addEventListener(Model.STOP_RESTART, onStopRestart);
}
private function initEnteranceEvent(_arg1:TimerEvent):void{
move_timer.removeEventListener(TimerEvent.TIMER, initEnteranceEvent);
move_timer = null;
entrance();
stay_calltime = calcRandomStayTime();
move_timer = new Timer(30);
move_timer.addEventListener(TimerEvent.TIMER, enteranceMove);
move_timer.start();
MODEL.addCreatedChar();
}
private function onTimeUp(_arg1:Event):void{
move_timer.stop();
if (char != null){
char.removeEventListener(MouseEvent.MOUSE_DOWN, hitAction);
char.remove();
};
}
private function withdrawMove(_arg1:TimerEvent):void{
var _local2:Number;
_local2 = ((ty - char.y) * friction);
char.y = (char.y + _local2);
if (Math.floor(Math.abs(_local2)) < 1){
char.y = ty;
move_timer.stop();
move_timer.removeEventListener(TimerEvent.TIMER, withdrawMove);
move_timer = null;
removeChild(char);
char.remove();
char = null;
move_timer = new Timer(calcRandomAppearTime(), 1);
move_timer.addEventListener(TimerEvent.TIMER, initRecycle);
move_timer.start();
};
}
private function withdraw():void{
ty = (char.y + 65);
friction = WITHDRAW_FRICTION;
}
public function initRecycle(_arg1:TimerEvent):void{
move_timer.removeEventListener(TimerEvent.TIMER, initRecycle);
move_timer = null;
move_timer = new Timer(calcRandomAppearTime(), 1);
move_timer.addEventListener(TimerEvent.TIMER, initEnteranceEvent);
move_timer.start();
}
private function onStopRestart(_arg1:Event):void{
if (((!((move_timer == null))) && (isStoped_move_timer))){
move_timer.start();
isStoped_move_timer = false;
};
}
private function calcRandomStayTime():uint{
var _local1:int;
_local1 = (1600 - (MODEL.level * 40));
_local1 = ((_local1 < 200)) ? 200 : _local1;
return ((NumberUtilities.random(0, 500) + _local1));
}
public function remove():void{
MODEL.removeEventListener(Model.TIME_UP, onTimeUp);
MODEL.removeEventListener(Model.START, onStart);
}
private function initWithdrawEvent(_arg1:TimerEvent):void{
move_timer.removeEventListener(TimerEvent.TIMER, initWithdrawEvent);
move_timer = null;
withdraw();
stay_calltime = 0;
move_timer = new Timer(30);
move_timer.addEventListener(TimerEvent.TIMER, withdrawMove);
move_timer.start();
if (char.hasEventListener(MouseEvent.MOUSE_DOWN)){
char.removeEventListener(MouseEvent.MOUSE_DOWN, hitAction);
MODEL.addMissedChar();
};
}
private function onStop(_arg1:Event):void{
if (((!((move_timer == null))) && (move_timer.running))){
move_timer.stop();
isStoped_move_timer = true;
};
}
private function enteranceMove(_arg1:TimerEvent):void{
var _local2:Number;
_local2 = ((ty - char.y) * friction);
char.y = (char.y + _local2);
if (Math.floor(Math.abs(_local2)) < 1){
char.y = ty;
move_timer.stop();
move_timer.removeEventListener(TimerEvent.TIMER, enteranceMove);
move_timer = null;
char.addEventListener(MouseEvent.MOUSE_DOWN, hitAction);
move_timer = new Timer(stay_calltime, 1);
move_timer.addEventListener(TimerEvent.TIMER, initWithdrawEvent);
move_timer.start();
};
}
private function calcRandomAppearTime():uint{
var _local1:uint;
var _local2:int;
var _local3:int;
_local1 = MODEL.level;
_local2 = (2000 - (_local1 * 40));
_local2 = ((_local2 < 800)) ? 800 : _local2;
_local3 = (700 - (_local1 * 10));
_local3 = ((_local3 < 300)) ? 300 : _local3;
return (NumberUtilities.random(_local3, _local2));
}
private function hitAction(_arg1:MouseEvent):void{
var _local2:StarSpark;
char.removeEventListener(MouseEvent.MOUSE_DOWN, hitAction);
move_timer.stop();
char.showHittedChar();
char.play();
MODEL.addScore = 1;
MODEL.addHittedChar();
this.dispatchEvent(new Event(Hole.HIT_EFFECT));
_local2 = new StarSpark(this, 36, -50);
move_timer.stop();
move_timer.removeEventListener(TimerEvent.TIMER, initWithdrawEvent);
move_timer = null;
move_timer = new Timer(600, 1);
move_timer.addEventListener(TimerEvent.TIMER, initWithdrawEvent);
move_timer.start();
}
private function entrance():void{
char = CHAR_SUPPLIER.getChooseChar(NumberUtilities.random(0, 2));
ty = (char.y - 50);
char.x = ((width - char.width) * 0.5);
friction = ENTERANCE_FRICTION;
addChildAt(char, 1);
char.play();
}
private function onStart(_arg1:Event):void{
move_timer = new Timer(calcRandomAppearTime(), 1);
move_timer.addEventListener(TimerEvent.TIMER, initEnteranceEvent);
move_timer.start();
}
}
}//package minigame.molegame.view
Section 70
//Hole_GroundCoverImg (minigame.molegame.view.Hole_GroundCoverImg)
package minigame.molegame.view {
import mx.core.*;
public class Hole_GroundCoverImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 71
//Hole_HoleImg (minigame.molegame.view.Hole_HoleImg)
package minigame.molegame.view {
import mx.core.*;
public class Hole_HoleImg extends BitmapAsset {
}
}//package minigame.molegame.view
Section 72
//MassageDisplayer (minigame.molegame.view.MassageDisplayer)
package minigame.molegame.view {
import flash.events.*;
import flash.display.*;
import minigame.common.component.*;
import minigame.molegame.model.*;
import flash.utils.*;
import minigame.dancegame.component.*;
public class MassageDisplayer extends Sprite {
private var GameOver:Class;
private var combo_number:PolyNumber;
private var Miss:Class;
private var LevelUp:Class;
private var model:Model;
private var clober_img:Class;
private var timer:Timer;
private var star_img:Class;
private var StarImg0:Class;
private var heart_img:Class;
private var StarImg1:Class;
private var Cool:Class;
private var Combo:Class;
private var StarImg2:Class;
private var Great:Class;
private var _soundtype:uint;// = 0
private var waterdrop_img:Class;
private var massage:Sprite;
private var count_number:NumberSprite;
private var isLevelUp:Boolean;
private var fy:uint;// = 200
private var fx:uint;// = 260
private var Bad:Class;
private var combo_massage:Sprite;
private var Perfect:Class;
public static const SHOW_SAVE_SCORE:String = "show_save_score";
public static const SHOW_EFFECT:String = "show_effect";
public function MassageDisplayer(_arg1:Model){
var _local2:Bitmap;
Perfect = MassageDisplayer_Perfect;
Great = MassageDisplayer_Great;
Cool = MassageDisplayer_Cool;
Bad = MassageDisplayer_Bad;
Miss = MassageDisplayer_Miss;
LevelUp = MassageDisplayer_LevelUp;
GameOver = MassageDisplayer_GameOver;
Combo = MassageDisplayer_Combo;
star_img = MassageDisplayer_star_img;
heart_img = MassageDisplayer_heart_img;
waterdrop_img = MassageDisplayer_waterdrop_img;
clober_img = MassageDisplayer_clober_img;
StarImg0 = MassageDisplayer_StarImg0;
StarImg1 = MassageDisplayer_StarImg1;
StarImg2 = MassageDisplayer_StarImg2;
fx = 260;
fy = 200;
_soundtype = 0;
super();
this.model = _arg1;
_arg1.addEventListener(Model.COMBO, showCombo);
_arg1.addEventListener(Model.MISS, hideCombo);
_arg1.addEventListener(Model.PERFECT, showResult);
_arg1.addEventListener(Model.GREAT, showResult);
_arg1.addEventListener(Model.COOL, showResult);
_arg1.addEventListener(Model.BAD, showResult);
_arg1.addEventListener(Model.SHOW_COUNT, showCount);
_arg1.addEventListener(Model.REMOVE_COUNT, removeCount);
_arg1.addEventListener(Model.END, showGameOver);
_arg1.addEventListener(Model.LEVEL_UP, setLevelUp);
_arg1.addEventListener(Model.STOP, onStop);
_arg1.addEventListener(Model.STOP_RESTART, onStopRestart);
combo_massage = new Sprite();
_local2 = (new Combo() as Bitmap);
combo_massage.addChild(_local2);
combo_number = new PolyNumber(0, 2, 26, ComboNumberSprite, (_local2.width + 5), 17);
combo_massage.addChild(combo_number);
combo_massage.x = ((550 - combo_massage.width) * 0.5);
combo_massage.y = 100;
addChild(combo_massage);
combo_massage.visible = false;
}
private function gameInitMassage(_arg1:Event):void{
timer.removeEventListener(TimerEvent.TIMER, gameInitMassage);
timer = null;
removeChild(massage);
if (isLevelUp){
removeLevelUpMsg();
isLevelUp = false;
};
massage = null;
model.restart();
}
private function showGameOver(_arg1:Event):void{
var _local2:Bitmap;
var _local3:Xmover;
_local2 = createMassage(_arg1);
_local2.name = "gameover";
_local2.x = -(_local2.width);
_local2.y = ((400 - _local2.height) * 0.5);
_local3 = new Xmover(_local2, ((550 - _local2.width) * 0.5), 0.2);
addChild(_local2);
_local3.start();
timer = new Timer(2500, 1);
timer.addEventListener(TimerEvent.TIMER, showSaveScore);
timer.start();
}
private function showCount(_arg1:Event):void{
if (count_number == null){
count_number = new NumberSprite();
count_number.x = ((550 - count_number.width) * 0.5);
count_number.y = 100;
addChild(count_number);
};
count_number.number = _arg1.target.currentCount;
}
private function onStopRestart(_arg1:Event):void{
if (((!((timer == null))) && (!(timer.running)))){
timer.start();
};
}
private function removeLevelUpMsg():void{
var _local1:DisplayObject;
_local1 = this.getChildByName("levelup");
removeChild(_local1);
_local1 = null;
}
private function goInit(_arg1:TimerEvent):void{
var _local2:DisplayObject;
var _local3:DisplayObject;
var _local4:DisplayObject;
var _local5:Xmover;
var _local6:Xmover;
var _local7:Xmover;
_local2 = massage.getChildAt(0);
_local3 = massage.getChildAt(1);
_local4 = massage.getChildAt(2);
_local5 = new Xmover(_local2, (550 + _local2.width), 0.4);
_local6 = new Xmover(_local3, -(_local3.width), 0.6);
_local7 = new Xmover(_local4, (550 + _local4.width), 0.8);
_local5.start();
_local6.start();
_local7.start();
if (isLevelUp){
showLevelUpMsg();
};
timer.removeEventListener(TimerEvent.TIMER, goInit);
timer = null;
timer = new Timer((isLevelUp) ? 2500 : 1500, 1);
timer.addEventListener(TimerEvent.TIMER, gameInitMassage);
timer.start();
}
private function setLevelUp(_arg1:Event):void{
isLevelUp = true;
}
private function onStop(_arg1:Event):void{
if (((!((timer == null))) && (timer.running))){
timer.stop();
};
}
private function showSaveScore(_arg1:Event):void{
var _local2:DisplayObject;
timer.removeEventListener(TimerEvent.TIMER, showSaveScore);
timer = null;
_local2 = this.getChildByName("gameover");
removeChild(_local2);
_local2 = null;
dispatchEvent(new Event(MassageDisplayer.SHOW_SAVE_SCORE));
}
private function removeGameOver(_arg1:Event):void{
var _local2:DisplayObject;
var _local3:Xmover;
_local2 = this.getChildByName("gameover");
_local3 = new Xmover(_local2, (550 + _local2.width), 0.2);
_local3.start();
timer = new Timer(1000, 1);
timer.addEventListener(TimerEvent.TIMER, showSaveScore);
timer.start();
}
private function showLevelUpMsg():void{
var _local1:Bitmap;
var _local2:Xmover;
_local1 = (new LevelUp() as Bitmap);
_local1.name = "levelup";
_local1.x = -(_local1.width);
_local1.y = ((400 - _local1.height) * 0.5);
_local2 = new Xmover(_local1, ((550 - _local1.width) * 0.5), 0.2);
addChild(_local1);
_local2.start();
_soundtype = 2;
this.dispatchEvent(new Event(MassageDisplayer.SHOW_EFFECT));
}
private function showResult(_arg1:Event):void{
var _local2:Bitmap;
var _local3:Sprite;
var _local4:uint;
var _local5:PolyNumber;
var _local6:Sprite;
var _local7:Bitmap;
var _local8:uint;
var _local9:PolyNumber;
var _local10:Bitmap;
var _local11:Xmover;
var _local12:Xmover;
var _local13:Xmover;
var _local14:FireFlower;
var _local15:FireFlower;
var _local16:FireFlower;
if (combo_massage.visible){
combo_massage.visible = false;
};
massage = new Sprite();
_local2 = (new Combo() as Bitmap);
_local3 = new Sprite();
_local3.addChild(_local2);
_local4 = model.totalcombo;
_local5 = new PolyNumber(_local4, _local4.toString().length, 26, ComboNumberSprite, (_local2.width + 5), 17);
_local3.addChild(_local5);
_local3.x = -(_local3.width);
_local3.y = 50;
massage.addChild(_local3);
_local6 = new Sprite();
_local7 = (new Miss() as Bitmap);
_local6.addChild(_local7);
_local8 = model.misscount;
_local9 = new PolyNumber(_local8, _local8.toString().length, 26, ComboNumberSprite, (_local7.width + 5), 33);
_local6.addChild(_local9);
_local6.x = (550 + _local6.width);
_local6.y = 120;
massage.addChild(_local6);
_local10 = createMassage(_arg1);
createMassage(_arg1).x = -(_local10.width);
_local10.y = 230;
massage.addChild(_local10);
_local11 = new Xmover(_local3, ((550 - _local3.width) * 0.5), 0.4);
_local12 = new Xmover(_local6, ((550 - _local6.width) * 0.5), 0.6);
_local13 = new Xmover(_local10, ((550 - _local10.width) * 0.5), 0.8);
if (_arg1.type == Model.PERFECT){
_local14 = new FireFlower(StarImg0, massage, fx, fy, 2);
_local15 = new FireFlower(StarImg1, massage, fx, fy, 4);
_local16 = new FireFlower(StarImg2, massage, fx, fy, 7);
};
addChild(massage);
_local11.start();
_local12.start();
_local13.start();
timer = new Timer(3300, 1);
timer.addEventListener(TimerEvent.TIMER, goInit);
timer.start();
}
private function showCombo(_arg1:Event):void{
if (!combo_massage.visible){
combo_massage.visible = true;
combo_number.setNumerToNumbers(_arg1.target.combo);
} else {
combo_number.setNumerToNumbers(_arg1.target.combo);
};
}
public function get soundtype():uint{
return (_soundtype);
}
private function hideCombo(_arg1:Event):void{
if (this.contains(combo_massage)){
combo_massage.visible = false;
};
}
private function createMassage(_arg1:Event):Bitmap{
var _local2:Bitmap;
switch (_arg1.type){
case Model.PERFECT:
_local2 = (new Perfect() as Bitmap);
_soundtype = 0;
this.dispatchEvent(new Event(MassageDisplayer.SHOW_EFFECT));
break;
case Model.GREAT:
_local2 = (new Great() as Bitmap);
break;
case Model.COOL:
_local2 = (new Cool() as Bitmap);
break;
case Model.BAD:
_local2 = (new Bad() as Bitmap);
break;
case Model.END:
_local2 = (new GameOver() as Bitmap);
break;
};
return (_local2);
}
private function removeCount(_arg1:Event):void{
removeChild(count_number);
count_number = null;
}
}
}//package minigame.molegame.view
Section 73
//MassageDisplayer_Bad (minigame.molegame.view.MassageDisplayer_Bad)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_Bad extends BitmapAsset {
}
}//package minigame.molegame.view
Section 74
//MassageDisplayer_clober_img (minigame.molegame.view.MassageDisplayer_clober_img)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_clober_img extends BitmapAsset {
}
}//package minigame.molegame.view
Section 75
//MassageDisplayer_Combo (minigame.molegame.view.MassageDisplayer_Combo)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_Combo extends BitmapAsset {
}
}//package minigame.molegame.view
Section 76
//MassageDisplayer_Cool (minigame.molegame.view.MassageDisplayer_Cool)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_Cool extends BitmapAsset {
}
}//package minigame.molegame.view
Section 77
//MassageDisplayer_GameOver (minigame.molegame.view.MassageDisplayer_GameOver)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_GameOver extends BitmapAsset {
}
}//package minigame.molegame.view
Section 78
//MassageDisplayer_Great (minigame.molegame.view.MassageDisplayer_Great)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_Great extends BitmapAsset {
}
}//package minigame.molegame.view
Section 79
//MassageDisplayer_heart_img (minigame.molegame.view.MassageDisplayer_heart_img)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_heart_img extends BitmapAsset {
}
}//package minigame.molegame.view
Section 80
//MassageDisplayer_LevelUp (minigame.molegame.view.MassageDisplayer_LevelUp)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_LevelUp extends BitmapAsset {
}
}//package minigame.molegame.view
Section 81
//MassageDisplayer_Miss (minigame.molegame.view.MassageDisplayer_Miss)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_Miss extends BitmapAsset {
}
}//package minigame.molegame.view
Section 82
//MassageDisplayer_Perfect (minigame.molegame.view.MassageDisplayer_Perfect)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_Perfect extends BitmapAsset {
}
}//package minigame.molegame.view
Section 83
//MassageDisplayer_star_img (minigame.molegame.view.MassageDisplayer_star_img)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_star_img extends BitmapAsset {
}
}//package minigame.molegame.view
Section 84
//MassageDisplayer_StarImg0 (minigame.molegame.view.MassageDisplayer_StarImg0)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_StarImg0 extends BitmapAsset {
}
}//package minigame.molegame.view
Section 85
//MassageDisplayer_StarImg1 (minigame.molegame.view.MassageDisplayer_StarImg1)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_StarImg1 extends BitmapAsset {
}
}//package minigame.molegame.view
Section 86
//MassageDisplayer_StarImg2 (minigame.molegame.view.MassageDisplayer_StarImg2)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_StarImg2 extends BitmapAsset {
}
}//package minigame.molegame.view
Section 87
//MassageDisplayer_waterdrop_img (minigame.molegame.view.MassageDisplayer_waterdrop_img)
package minigame.molegame.view {
import mx.core.*;
public class MassageDisplayer_waterdrop_img extends BitmapAsset {
}
}//package minigame.molegame.view
Section 88
//MoleCastChar (minigame.molegame.view.MoleCastChar)
package minigame.molegame.view {
import flash.events.*;
import flash.display.*;
import minigame.molegame.model.*;
public class MoleCastChar extends Sprite {
private var normaltimes_charclip:AbstractCharClip;
private var hitted_charclip:AbstractCharClip;
private var isStoped:Boolean;// = false
public static var MODEL:Model;
public function MoleCastChar(_arg1:AbstractCharClip, _arg2:AbstractCharClip){
isStoped = false;
super();
this.normaltimes_charclip = _arg1;
this.hitted_charclip = _arg2;
addChild(_arg1);
MODEL.addEventListener(Model.TIME_UP, stopAni);
MODEL.addEventListener(Model.END, stopAni);
MODEL.addEventListener(Model.STOP, onStop);
MODEL.addEventListener(Model.STOP_RESTART, onStopRestop);
}
public function play():void{
if (contains(normaltimes_charclip)){
normaltimes_charclip.play();
} else {
if (contains(hitted_charclip)){
hitted_charclip.play();
};
};
isStoped = false;
}
public function remove():void{
MODEL.removeEventListener(Model.TIME_UP, stopAni);
MODEL.removeEventListener(Model.END, stopAni);
}
private function onStop(_arg1:Event):void{
if (contains(normaltimes_charclip)){
normaltimes_charclip.stop();
} else {
if (contains(hitted_charclip)){
hitted_charclip.stop();
};
};
}
private function onStopRestop(_arg1:Event):void{
if (!isStoped){
play();
isStoped = false;
};
}
private function stopAni(_arg1:Event):void{
if (contains(normaltimes_charclip)){
normaltimes_charclip.stop();
isStoped = true;
} else {
if (contains(hitted_charclip)){
hitted_charclip.stop();
isStoped = true;
};
};
}
public function showHittedChar():void{
if (this.contains(normaltimes_charclip)){
this.removeChild(normaltimes_charclip);
};
addChild(hitted_charclip);
}
}
}//package minigame.molegame.view
Section 89
//MoonboyHittedChar (minigame.molegame.view.MoonboyHittedChar)
package minigame.molegame.view {
public class MoonboyHittedChar extends AbstractCharClip {
}
}//package minigame.molegame.view
Section 90
//MoonboyNormalChar (minigame.molegame.view.MoonboyNormalChar)
package minigame.molegame.view {
public class MoonboyNormalChar extends AbstractCharClip {
}
}//package minigame.molegame.view
Section 91
//MoonrabbitHittedChar (minigame.molegame.view.MoonrabbitHittedChar)
package minigame.molegame.view {
public class MoonrabbitHittedChar extends AbstractCharClip {
}
}//package minigame.molegame.view
Section 92
//MoonrabbitNormalChar (minigame.molegame.view.MoonrabbitNormalChar)
package minigame.molegame.view {
public class MoonrabbitNormalChar extends AbstractCharClip {
}
}//package minigame.molegame.view
Section 93
//YojoHittedChar (minigame.molegame.view.YojoHittedChar)
package minigame.molegame.view {
public class YojoHittedChar extends AbstractCharClip {
}
}//package minigame.molegame.view
Section 94
//YojoNormalChar (minigame.molegame.view.YojoNormalChar)
package minigame.molegame.view {
public class YojoNormalChar extends AbstractCharClip {
}
}//package minigame.molegame.view
Section 95
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "2.0.1.0";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 96
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "2.0.1.0";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 97
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "2.0.1.0";
}
}//package mx.core
Section 98
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 99
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function set height(_arg1:Number):void;
function get scaleY():Number;
function move(_arg1:Number, _arg2:Number):void;
function get scaleX():Number;
function set mask(_arg1:DisplayObject):void;
function set scaleX(_arg1:Number):void;
function set name(_arg1:String):void;
function set scaleY(_arg1:Number):void;
function get visible():Boolean;
function get measuredWidth():Number;
function set visible(_arg1:Boolean):void;
function get alpha():Number;
function get height():Number;
function get width():Number;
function get parent():DisplayObjectContainer;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set y(_arg1:Number):void;
function get x():Number;
function get y():Number;
function set alpha(_arg1:Number):void;
}
}//package mx.core
Section 100
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function get repeaters():Array;
function get instanceIndices():Array;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 101
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 102
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "2.0.1.0";
}
}//package mx.core
Section 103
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "2.0.1.0";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var _local2:String;
var _local3:DisplayObject;
var _local4:String;
var _local5:Array;
_local3 = _arg1;
while (_local3 != null) {
if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){
break;
};
_local4 = _local3.name;
if ((_local3 is IRepeaterClient)){
_local5 = IRepeaterClient(_local3).instanceIndices;
if (_local5){
_local4 = (_local4 + (("[" + _local5.join("][")) + "]"));
};
};
_local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2);
_local3 = _local3.parent;
};
return (_local2);
}
public static function createUniqueName(_arg1:Object):String{
var _local2:String;
var _local3:int;
var _local4:int;
if (!_arg1){
return (null);
};
_local2 = getQualifiedClassName(_arg1);
_local3 = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
_local4 = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 104
//GlowEffecter (util.GlowEffecter)
package util {
import flash.filters.*;
public class GlowEffecter {
private var _strength:uint;
private var _color:uint;
private var _thickness:uint;
private var _alpha:Number;
public function GlowEffecter(_arg1:uint=0xFFFFFF, _arg2:Number=0.9, _arg3:uint=5, _arg4:uint=8){
_color = _arg1;
_alpha = _arg2;
_thickness = _arg3;
_strength = _arg4;
}
public function set strength(_arg1:uint):void{
_strength = _arg1;
}
public function set color(_arg1:uint):void{
_color = _arg1;
}
public function set thickness(_arg1:uint):void{
_thickness = _arg1;
}
public function set alpha(_arg1:Number):void{
_alpha = _arg1;
}
public function getBitmapFilter():BitmapFilter{
return (new GlowFilter(_color, _alpha, _thickness, _thickness, _strength, BitmapFilterQuality.MEDIUM, false, false));
}
}
}//package util
Section 105
//NumberUtilities (util.NumberUtilities)
package util {
public class NumberUtilities {
private static var _aUniqueIDs:Array;
public static function random(_arg1:Number, _arg2:Number=0, _arg3:Number=1):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
if (_arg1 > _arg2){
_local6 = _arg1;
_arg1 = _arg2;
_arg2 = _local6;
};
_local4 = ((_arg2 - _arg1) + (1 * _arg3));
_local5 = (Math.random() * _local4);
_local5 = (_local5 + _arg1);
return (floor(_local5, _arg3));
}
public static function ceil(_arg1:Number, _arg2:Number=1):Number{
return ((Math.ceil((_arg1 / _arg2)) * _arg2));
}
public static function getUnique():Number{
var _local1:Date;
var _local2:Number;
if (_aUniqueIDs == null){
_aUniqueIDs = new Array();
};
_local1 = new Date();
_local2 = _local1.getTime();
while (!(isUnique(_local2))) {
_local2 = (_local2 + NumberUtilities.random(_local1.getTime(), (2 * _local1.getTime())));
};
_aUniqueIDs.push(_local2);
return (_local2);
}
private static function isUnique(_arg1:Number):Boolean{
var _local2:Number;
_local2 = 0;
while (_local2 < _aUniqueIDs.length) {
if (_aUniqueIDs[_local2] == _arg1){
return (false);
};
_local2++;
};
return (true);
}
public static function floor(_arg1:Number, _arg2:Number=1):Number{
return ((Math.floor((_arg1 / _arg2)) * _arg2));
}
public static function round(_arg1:Number, _arg2:Number=1):Number{
return ((Math.round((_arg1 / _arg2)) * _arg2));
}
}
}//package util
Section 106
//AbstractEmbedGame (AbstractEmbedGame)
package {
import flash.events.*;
import flash.display.*;
import minigame.common.component.*;
import minigame.common.font.*;
import flash.text.*;
import flash.system.*;
public class AbstractEmbedGame extends Sprite {
protected var progress_bar:PercentageBar;
protected var loaded_tfd:TextField;
protected var Game:Class;
protected var _movie:AbstractMovie;
protected var screen_cover:ScreenCover;
protected var RetryOver:Class;
protected var RetryOn:Class;
protected var _game:AbstractMiniGame;
public function AbstractEmbedGame(_arg1:Class){
RetryOn = AbstractEmbedGame_RetryOn;
RetryOver = AbstractEmbedGame_RetryOver;
super();
System.useCodePage = true;
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
this.Game = _arg1;
_movie = new LogoMovie();
_movie.addEventListener(AbstractMovie.PLAY_COMPLETE, buildScreen);
_movie.x = 275;
_movie.y = 200;
addChild(_movie);
progress_bar = new PercentageBar(175, 300, 200, 1, 16742399, 0xFF0000, 16724940);
progress_bar.barLength = 0;
loaded_tfd = HangulTextField.getInstance().getTextField("0%", 16742399, 175, 280);
addChild(progress_bar);
addChild(loaded_tfd);
this.addEventListener(Event.ENTER_FRAME, onProgress);
}
protected function showSaveQurey(_arg1:Event):void{
var _local2:ButtonSprite;
_local2 = new ButtonSprite(RetryOn, RetryOver);
_local2.name = "retry";
_local2.addEventListener(MouseEvent.CLICK, gameRestart);
_local2.x = ((550 - _local2.width) * 0.5);
_local2.y = ((400 - _local2.height) * 0.5);
addChild(_local2);
}
protected function clearScreen(_arg1:Event):void{
removeChild(screen_cover);
screen_cover = null;
}
protected function initMiniGame(_arg1:Event):void{
removeChild(_movie);
_movie = null;
addChildAt(_game, this.getChildIndex(screen_cover));
screen_cover.startRemoveTiles();
}
protected function onProgress(_arg1:Event):void{
var _local2:LoaderInfo;
var _local3:uint;
_local2 = this.root.loaderInfo;
_local3 = Math.floor(((_local2.bytesLoaded * 100) / _local2.bytesTotal));
progress_bar.barLength = _local3;
loaded_tfd.text = (_local3 + "%");
loaded_tfd.x = (175 + (_local3 * 2));
if (_local3 == 100){
this.removeEventListener(Event.ENTER_FRAME, onProgress);
onComplete();
};
}
protected function onComplete():void{
removeChild(loaded_tfd);
removeChild(progress_bar);
_movie.play();
}
protected function removeSoundConfigWindow(_arg1:Event):void{
removeWindow(_arg1);
_game.restart();
}
protected function makeCover():Sprite{
var _local1:Sprite;
_local1 = new Sprite();
_local1.graphics.beginFill(0x333333, 0.5);
_local1.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
_local1.graphics.endFill();
_local1.name = "cover";
_local1.useHandCursor = false;
return (_local1);
}
protected function showConfigWindow(_arg1:Event):void{
var _local2:AbstractWindowContent;
var _local3:WindowSprite;
var _local4:Sprite;
_local2 = new SoundConfigWindowContent(_game.soundManager);
_local3 = new WindowSprite(_local2, "환경 설정", "config_window");
_local3.x = ((550 - _local3.width) * 0.5);
_local3.y = ((400 - _local3.height) * 0.5);
_local4 = makeCover();
addChild(_local4);
addChild(_local3);
_local3.addEventListener(WindowSprite.DESTROY, removeSoundConfigWindow);
}
protected function showMassageWindow(_arg1:String):void{
var _local2:AbstractWindowContent;
var _local3:WindowSprite;
_local2 = new MassageWindowContent(_arg1);
_local3 = new WindowSprite(_local2, "알림", "msg_window");
_local3.x = ((550 - _local3.width) * 0.5);
_local3.y = ((400 - _local3.height) * 0.5);
addChild(_local3);
_local3.addEventListener(WindowSprite.DESTROY, removeWindow);
}
protected function buildScreen(_arg1:Event):void{
_game = new Game(stage);
_game.addEventListener(AbstractMiniGame.SHOW_SAVE_QUERY, showSaveQurey);
_game.addEventListener(AbstractMiniGame.SHOW_CONFIG, showConfigWindow);
_game.addEventListener(AbstractMiniGame.SHOW_EXPLAIN, showExplainWindow);
screen_cover = new ScreenCover();
screen_cover.addEventListener(ScreenCover.COVER_COMP, initMiniGame);
screen_cover.addEventListener(ScreenCover.REMOVE_COMP, clearScreen);
addChild(screen_cover);
this.Game = null;
}
protected function removeWindow(_arg1:Event):void{
this.removeChild(getChildByName(_arg1.target.name));
this.removeChild(getChildByName("cover"));
}
protected function removeExplainWindow(_arg1:Event):void{
removeWindow(_arg1);
if (_game.isStart()){
_game.restart();
};
}
public function gameRestart(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = this.getChildByName("retry");
_local2.removeEventListener(MouseEvent.CLICK, gameRestart);
clearDisplayObjectByName("retry");
_game.initGame();
}
protected function showExplainWindow(_arg1:Event):void{
var _local2:AbstractWindowContent;
var _local3:WindowSprite;
var _local4:Sprite;
_local2 = _game.explainWindowContent;
_local3 = new WindowSprite(_local2, "게임 설명", "explain_window");
_local3.x = ((550 - _local3.width) * 0.5);
_local3.y = ((400 - _local3.height) * 0.5);
_local4 = makeCover();
addChild(_local4);
addChild(_local3);
_local3.addEventListener(WindowSprite.DESTROY, removeExplainWindow);
}
protected function clearDisplayObjectByName(_arg1:String):void{
var _local2:DisplayObject;
_local2 = getChildByName(_arg1);
removeChild(_local2);
_local2 = null;
}
}
}//package
Section 107
//AbstractEmbedGame_RetryOn (AbstractEmbedGame_RetryOn)
package {
import mx.core.*;
public class AbstractEmbedGame_RetryOn extends BitmapAsset {
}
}//package
Section 108
//AbstractEmbedGame_RetryOver (AbstractEmbedGame_RetryOver)
package {
import mx.core.*;
public class AbstractEmbedGame_RetryOver extends BitmapAsset {
}
}//package
Section 109
//AbstractMiniGame (AbstractMiniGame)
package {
import flash.events.*;
import flash.display.*;
import minigame.common.component.*;
public class AbstractMiniGame extends Sprite {
protected var frontpage:AbstractFrontPage;
protected var sound_manager:AbstractSoundManager;
public var ExplainWindow:Class;
public static const SHOW_CONFIG:String = "show_config";
public static const SHOW_EXPLAIN:String = "show_explain";
public static const SHOW_SAVE_QUERY:String = "show_save_query";
public function restart():void{
throw (new Error("restart 오버라이드 해라"));
}
public function initGame():void{
throw (new Error("initGame 오버라이드 해라"));
}
public function isStart():Boolean{
throw (new Error("isStart 오버라이드 해라"));
}
protected function execute(_arg1:Event):void{
throw (new Error("execute 오버라이드 해라"));
}
public function get soundManager():AbstractSoundManager{
return (sound_manager);
}
public function get explainWindowContent():AbstractWindowContent{
return (new ExplainWindow());
}
protected function showExplainWindow(_arg1:Event):void{
throw (new Error("showExplainWindow 오버라이드 해라"));
}
protected function showSaveQuery(_arg1:Event):void{
throw (new Error("showSaveQuery 오버라이드 해라"));
}
protected function showConfigWidow(_arg1:Event):void{
throw (new Error("showConfigWidow 오버라이드 해라"));
}
public function getScore():uint{
throw (new Error("getScore 오버라이드 해라"));
}
}
}//package
Section 110
//AbstractMovie (AbstractMovie)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class AbstractMovie extends MovieClip {
protected var end_check_timer:Timer;
public static const PLAY_COMPLETE:String = "play_complete";
public function AbstractMovie(){
end_check_timer = new Timer(10);
end_check_timer.addEventListener(TimerEvent.TIMER, checkEnd);
end_check_timer.start();
gotoAndStop(1);
}
public function checkEnd(_arg1:TimerEvent):void{
if (currentFrame == totalFrames){
gotoAndStop(totalFrames);
end_check_timer.stop();
end_check_timer.removeEventListener(TimerEvent.TIMER, checkEnd);
dispatchEvent(new Event(AbstractMovie.PLAY_COMPLETE));
};
}
}
}//package
Section 111
//EmbedMoleGame (EmbedMoleGame)
package {
public class EmbedMoleGame extends AbstractEmbedGame {
private var GameData:Class;
public function EmbedMoleGame(){
GameData = MoleGameMain;
super(GameData);
}
}
}//package
Section 112
//LogoMovie (LogoMovie)
package {
public class LogoMovie extends AbstractMovie {
}
}//package
Section 113
//MoleGameMain (MoleGameMain)
package {
import flash.events.*;
import flash.display.*;
import minigame.common.component.*;
import minigame.molegame.model.*;
import minigame.molegame.component.*;
import minigame.molegame.view.*;
public class MoleGameMain extends AbstractMiniGame {
private var model:Model;
private var hole_manager:HoleManager;
private var BackGroundImg:Class;
private var Grove:Class;
public function MoleGameMain(_arg1:Stage){
var _local2:Bitmap;
var _local3:Bitmap;
var _local4:Hammer;
var _local5:GameUIView;
var _local6:MassageDisplayer;
var _local7:Controll;
BackGroundImg = MoleGameMain_BackGroundImg;
Grove = MoleGameMain_Grove;
super();
ExplainWindow = ExplainWindowContent;
_local2 = (new BackGroundImg() as Bitmap);
_local3 = (new Grove() as Bitmap);
_local3.y = (400 - _local3.height);
model = new Model();
_local4 = new Hammer();
_local5 = new GameUIView(model);
_local5.addEventListener(GameUIView.SHOW_CONFIG, showConfigWidow);
_local5.addEventListener(GameUIView.SHOW_EXPLAIN, showExplainWindow);
_local6 = new MassageDisplayer(model);
_local6.addEventListener(MassageDisplayer.SHOW_SAVE_SCORE, showSaveQuery);
hole_manager = new HoleManager(model);
hole_manager.x = 90;
hole_manager.y = 270;
hole_manager.buildHoles();
_local7 = new Controll(_arg1, hole_manager, _local4, model);
frontpage = new MoleGameFrontPage();
frontpage.addEventListener(AbstractFrontPage.EXECUTE, execute);
frontpage.addEventListener(AbstractFrontPage.SHOW_EXPLAIN, showExplainWindow);
sound_manager = new SoundManager(_local6, hole_manager);
addChild(_local2);
addChild(hole_manager);
addChild(_local4);
addChild(_local3);
addChild(_local5);
addChild(_local6);
addChild(frontpage);
}
override public function restart():void{
model.stopRestart();
stage.focus = stage;
}
override public function initGame():void{
model.initGame();
stage.focus = stage;
}
override public function isStart():Boolean{
return (true);
}
override protected function execute(_arg1:Event):void{
frontpage.destroy();
removeChild(frontpage);
frontpage = null;
sound_manager.playBGmusic();
model.start();
}
override protected function showExplainWindow(_arg1:Event):void{
model.stop();
dispatchEvent(new Event(AbstractMiniGame.SHOW_EXPLAIN));
}
override protected function showSaveQuery(_arg1:Event):void{
dispatchEvent(new Event(AbstractMiniGame.SHOW_SAVE_QUERY));
}
override protected function showConfigWidow(_arg1:Event):void{
model.stop();
dispatchEvent(new Event(AbstractMiniGame.SHOW_CONFIG));
}
override public function getScore():uint{
return (model.score);
}
}
}//package
Section 114
//MoleGameMain_BackGroundImg (MoleGameMain_BackGroundImg)
package {
import mx.core.*;
public class MoleGameMain_BackGroundImg extends BitmapAsset {
}
}//package
Section 115
//MoleGameMain_Grove (MoleGameMain_Grove)
package {
import mx.core.*;
public class MoleGameMain_Grove extends BitmapAsset {
}
}//package