home *** CD-ROM | disk | FTP | other *** search
- package game.view
- {
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- import flash.media.Sound;
- import flash.media.SoundChannel;
- import flash.net.URLRequest;
- import flash.net.navigateToURL;
- import game.model.AppProxy;
- import game.model.GameAssets;
- import game.view.components.AppView;
- import org.puremvc.as3.interfaces.IMediator;
- import org.puremvc.as3.interfaces.INotification;
- import org.puremvc.as3.patterns.mediator.Mediator;
-
- public class AppMediator extends Mediator implements IMediator
- {
-
- public static const NAME:String = "AppMediator";
-
-
- private var _view:AppView;
-
- private var music:Sound;
-
- private var sndChannel:SoundChannel;
-
- public function AppMediator(viewComponent:AppView)
- {
- super(NAME,viewComponent);
- init();
- }
-
- override public function listNotificationInterests() : Array
- {
- return [AppProxy.INSTRUCTIONS_SHOW,AppProxy.INSTRUCTIONS_HIDE,AppProxy.MUSIC_TOGGLE];
- }
-
- override public function handleNotification(note:INotification) : void
- {
- switch(note.getName())
- {
- case AppProxy.INSTRUCTIONS_SHOW:
- case AppProxy.INSTRUCTIONS_HIDE:
- break;
- case AppProxy.MUSIC_TOGGLE:
- musicToggle();
- }
- }
-
- public function startMusic() : void
- {
- var appProxy:AppProxy = facade.retrieveProxy(AppProxy.NAME) as AppProxy;
- sndChannel = music.play(0,100000,appProxy.musicTransform);
- }
-
- public function getViewContainer() : Sprite
- {
- return _view.container;
- }
-
- public function getPopupContainer() : Sprite
- {
- return _view.popupContainer;
- }
-
- private function logoClickHandler(e:MouseEvent) : void
- {
- navigateToURL(new URLRequest("http://rusfund.ru"),"_blank");
- }
-
- private function init() : void
- {
- _view = getViewComponent() as AppView;
- _view.tabChildren = false;
- initSound();
- }
-
- public function getScoresContainer() : Sprite
- {
- return _view.scoresContainer;
- }
-
- public function stopMusic() : void
- {
- sndChannel.stop();
- }
-
- private function musicToggle() : void
- {
- var appProxy:AppProxy = facade.retrieveProxy(AppProxy.NAME) as AppProxy;
- sndChannel.soundTransform = appProxy.musicTransform;
- }
-
- private function initSound() : void
- {
- var MusicClass:Class = GameAssets.getInstance().getAssetClass("SndMusic");
- music = new MusicClass();
- }
- }
- }
-