Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //class MinigameMediator
- package com.wonderhill.castlemania.view
- {
- import com.kabam.common.event.*;
- import com.wonderhill.castlemania.*;
- import com.wonderhill.castlemania.model.*;
- import com.wonderhill.castlemania.model.constants.*;
- import com.wonderhill.castlemania.model.vo.*;
- import com.wonderhill.castlemania.view.components.*;
- import com.wonderhill.castlemania.view.dialog.*;
- import flash.display.*;
- import org.puremvc.as3.multicore.interfaces.*;
- import org.puremvc.as3.multicore.patterns.mediator.*;
- public class MinigameMediator extends org.puremvc.as3.multicore.patterns.mediator.Mediator
- {
- public function MinigameMediator(arg1:flash.display.Sprite)
- {
- super(NAME, arg1);
- return;
- }
- internal function get holder():flash.display.Sprite
- {
- return viewComponent as flash.display.Sprite;
- }
- internal function get ticketsPanel():com.wonderhill.castlemania.view.components.TicketsDialog
- {
- if (!this._tickets)
- {
- this._tickets = new com.wonderhill.castlemania.view.components.TicketsDialog();
- }
- return this._tickets;
- }
- internal function get minigamePanel():com.wonderhill.castlemania.view.components.MinigamePanel
- {
- if (!this._minigamePanel)
- {
- this._minigamePanel = new com.wonderhill.castlemania.view.components.MinigamePanel();
- }
- return this._minigamePanel;
- }
- internal function get minigameGoldPanel():com.wonderhill.castlemania.view.components.MinigameGoldPanel
- {
- if (!this._minigameGoldPanel)
- {
- this._minigameGoldPanel = new com.wonderhill.castlemania.view.components.MinigameGoldPanel();
- }
- return this._minigameGoldPanel;
- }
- public override function onRegister():void
- {
- this.registerEvents();
- return;
- }
- public override function listNotificationInterests():Array
- {
- return [com.wonderhill.castlemania.ApplicationFacade.DIALOG_HIDE, com.wonderhill.castlemania.ApplicationFacade.PICK_AND_SHOW_MINIGAME_PANEL, com.wonderhill.castlemania.ApplicationFacade.PICK_AND_SHOW_MINIGAME_OR_PURCHASE_TICKET, com.wonderhill.castlemania.ApplicationFacade.SHOW_MINIGAME_PANEL, com.wonderhill.castlemania.ApplicationFacade.HIDE_MINIGAME_PANEL, com.wonderhill.castlemania.ApplicationFacade.SHOW_MINIGAME_GOLD_PANEL, com.wonderhill.castlemania.ApplicationFacade.HIDE_MINIGAME_GOLD_PANEL, com.wonderhill.castlemania.ApplicationFacade.MINIGAME_REWARD_CLAIMED];
- }
- public override function handleNotification(arg1:org.puremvc.as3.multicore.interfaces.INotification):void
- {
- var loc1:*=arg1.getName();
- switch (loc1)
- {
- case com.wonderhill.castlemania.ApplicationFacade.PICK_AND_SHOW_MINIGAME_OR_PURCHASE_TICKET:
- case com.wonderhill.castlemania.ApplicationFacade.PICK_AND_SHOW_MINIGAME_PANEL:
- {
- if (com.wonderhill.castlemania.model.PlayerProxy.instance.player.minigameHasFreeGoldTicket)
- {
- this.startGoldMinigame();
- }
- else if (com.wonderhill.castlemania.model.PlayerProxy.instance.player.minigameHasFreeTicket)
- {
- this.startMinigame();
- }
- else if (arg1.getName() == com.wonderhill.castlemania.ApplicationFacade.PICK_AND_SHOW_MINIGAME_OR_PURCHASE_TICKET)
- {
- this.showTickets();
- }
- break;
- }
- case com.wonderhill.castlemania.ApplicationFacade.SHOW_MINIGAME_PANEL:
- {
- this.startMinigame();
- break;
- }
- case com.wonderhill.castlemania.ApplicationFacade.SHOW_MINIGAME_GOLD_PANEL:
- {
- this.startGoldMinigame();
- break;
- }
- case com.wonderhill.castlemania.ApplicationFacade.HIDE_MINIGAME_PANEL:
- {
- this.handleCloseMinigame();
- break;
- }
- case com.wonderhill.castlemania.ApplicationFacade.HIDE_MINIGAME_GOLD_PANEL:
- {
- this.handleCloseMinigameGold();
- break;
- }
- case com.wonderhill.castlemania.ApplicationFacade.MINIGAME_REWARD_CLAIMED:
- {
- if (this.minigamePanel.visible)
- {
- this.minigamePanel.showConfirmReward(arg1.getBody());
- }
- else if (this.minigameGoldPanel.visible)
- {
- this.minigameGoldPanel.showConfirmReward(arg1.getBody());
- }
- break;
- }
- case com.wonderhill.castlemania.ApplicationFacade.DIALOG_HIDE:
- {
- this.hideAll();
- break;
- }
- }
- return;
- }
- internal function startMinigame():void
- {
- com.wonderhill.castlemania.model.MinigameProxy.instance.requestPrizeList(com.wonderhill.castlemania.model.MinigameProxy.REGULAR_GAME, this.showMinigamePanel);
- return;
- }
- internal function startGoldMinigame():void
- {
- com.wonderhill.castlemania.model.MinigameProxy.instance.requestPrizeList(com.wonderhill.castlemania.model.MinigameProxy.GOLDEN_GAME, this.showMinigameGoldPanel);
- return;
- }
- internal function hideAll():void
- {
- this.hideTickets();
- this.hideMinigame();
- this.hideMinigameGold();
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.STOP_MUSIC, [true, true]);
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.LOGIN_MESSAGE_POPOUT);
- return;
- }
- public function showTickets():void
- {
- this.holder.addChild(this.ticketsPanel);
- this.ticketsPanel.show();
- return;
- }
- public function hideTickets():void
- {
- this.ticketsPanel.hide();
- if (this.ticketsPanel.parent)
- {
- this.ticketsPanel.parent.removeChild(this.ticketsPanel);
- }
- return;
- }
- public function showMinigamePanel():void
- {
- this.hideTickets();
- this.holder.addChild(this.minigamePanel);
- this.minigamePanel.show();
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.STOP_MUSIC, true);
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.PLAY_SOUND, [com.wonderhill.castlemania.view.components.SoundView.FORTUNA_MUSIC, 1000, 0, 0, true]);
- return;
- }
- public function showMinigameGoldPanel():void
- {
- this.hideTickets();
- this.holder.addChild(this.minigameGoldPanel);
- this.minigameGoldPanel.show();
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.STOP_MUSIC, true);
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.PLAY_SOUND, [com.wonderhill.castlemania.view.components.SoundView.FORTUNA_MUSIC, 1000, 0, 0, true]);
- return;
- }
- internal function registerEvents():void
- {
- this.ticketsPanel.addEventListener(com.wonderhill.castlemania.view.components.PurchaseTicketWidget.PLAY_GAME, this.handlePurchaseAndPlay);
- this.minigamePanel.addEventListener(com.wonderhill.castlemania.view.dialog.BasicDialog.CLICK_CLOSE, this.handleCloseMinigame);
- this.minigamePanel.addEventListener(com.wonderhill.castlemania.view.components.MinigamePanel.SELECT, this.handleSelectBox);
- this.minigamePanel.addEventListener(com.wonderhill.castlemania.view.components.MinigamePanel.SHARE, this.handleShare);
- this.minigamePanel.addEventListener(com.wonderhill.castlemania.view.components.MinigamePanel.NO_SHARE, this.handleNoShare);
- this.minigameGoldPanel.addEventListener(com.wonderhill.castlemania.view.dialog.BasicDialog.CLICK_CLOSE, this.handleCloseMinigameGold);
- this.minigameGoldPanel.addEventListener(com.wonderhill.castlemania.view.components.MinigameGoldPanel.SELECT, this.handleSelectBox);
- this.minigameGoldPanel.addEventListener(com.wonderhill.castlemania.view.components.MinigameGoldPanel.SHARE, this.handleShare);
- this.minigameGoldPanel.addEventListener(com.wonderhill.castlemania.view.components.MinigameGoldPanel.NO_SHARE, this.handleNoShare);
- return;
- }
- internal function handlePurchaseAndPlay(arg1:com.kabam.common.event.CustomEvent):void
- {
- if (arg1.payload["type"] != com.wonderhill.castlemania.model.constants.ItemConstants.FORTUNAS_CHANCE_TICKET)
- {
- if (arg1.payload["type"] == com.wonderhill.castlemania.model.constants.ItemConstants.FORTUNAS_GOLDEN_TICKET)
- {
- this.startGoldMinigame();
- }
- }
- else
- {
- this.startMinigame();
- }
- return;
- }
- internal function hideMinigame():void
- {
- this.minigamePanel.hide();
- if (this.minigamePanel.parent)
- {
- this.minigamePanel.parent.removeChild(this.minigamePanel);
- }
- return;
- }
- internal function handleCloseMinigame(arg1:com.kabam.common.event.CustomEvent=null):void
- {
- this.hideMinigame();
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.STOP_MUSIC, [true, true]);
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.LOGIN_MESSAGE_POPOUT);
- return;
- }
- internal function hideMinigameGold():void
- {
- this.minigameGoldPanel.hide();
- if (this.minigameGoldPanel.parent)
- {
- this.minigameGoldPanel.parent.removeChild(this.minigameGoldPanel);
- }
- return;
- }
- internal function handleCloseMinigameGold(arg1:com.kabam.common.event.CustomEvent=null):void
- {
- this.hideMinigameGold();
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.STOP_MUSIC, [true, true]);
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.LOGIN_MESSAGE_POPOUT);
- return;
- }
- internal function handleSelectBox(arg1:com.kabam.common.event.CustomEvent):void
- {
- var loc1:*=com.wonderhill.castlemania.model.vo.PrizeVO(arg1.payload);
- var loc2:*=com.wonderhill.castlemania.model.MinigameProxy.REGULAR_GAME;
- if (arg1.target == this.minigameGoldPanel)
- {
- loc2 = com.wonderhill.castlemania.model.MinigameProxy.GOLDEN_GAME;
- }
- com.wonderhill.castlemania.model.MinigameProxy.instance.requestPrizeClaim(loc1, loc2, null, null, this.handleClaimPrizeResponseError);
- return;
- }
- internal function handleClaimPrizeResponseError(arg1:Object=null):void
- {
- if (arg1)
- {
- sendNotification(com.wonderhill.castlemania.ApplicationFacade.ERROR_CONFIRMATION, {"description":arg1.result.errors[0]});
- }
- this.handleCloseMinigame();
- this.handleCloseMinigameGold();
- return;
- }
- internal function handleShare(arg1:com.kabam.common.event.CustomEvent):void
- {
- var loc1:*=com.wonderhill.castlemania.model.vo.PrizeVO(arg1.payload);
- com.wonderhill.castlemania.model.JavaScriptProxy.instance.viralPost(com.wonderhill.castlemania.model.JavaScriptProxy.VIRAL_POST_FORTUNA, {"item":loc1.name});
- this.hideAll();
- this.showTickets();
- return;
- }
- internal function handleNoShare(arg1:com.kabam.common.event.CustomEvent):void
- {
- this.hideAll();
- this.showTickets();
- return;
- }
- public static const NAME:String="MinigameMediator";
- internal var _minigamePanel:com.wonderhill.castlemania.view.components.MinigamePanel;
- internal var _minigameGoldPanel:com.wonderhill.castlemania.view.components.MinigameGoldPanel;
- internal var _tickets:com.wonderhill.castlemania.view.components.TicketsDialog;
- }
- }
Add Comment
Please, Sign In to add comment