Guest User

Untitled

a guest
Jan 24th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.almerblank.games.findTheObjects.view.gameTypeSelector
  2. {
  3.  
  4.     import flash.events.MouseEvent;
  5.     import flash.utils.Dictionary;
  6.  
  7.     import org.osflash.signals.Signal;
  8.     import org.osflash.signals.natives.NativeSignal;
  9.  
  10.     import spark.components.Button;
  11.     import spark.components.supportClasses.SkinnableComponent;
  12.  
  13.  
  14.  
  15.     public class GameTypeSelectorComponent extends SkinnableComponent
  16.     {
  17.         static public const SINGLE_PLAYER_CLICKED:Signal = new Signal(MouseEvent);
  18.         static public const ONLINE_PLAY_CLICKED:Signal   = new Signal();
  19.  
  20.         [SkinPart(required = "true")]
  21.         public var ui_btn_singlePlayer:Button;
  22.  
  23.         [SkinPart(required = "true")]
  24.         public var ui_btn_onlinePlay:Button;
  25.  
  26.         protected var skinPartInitializers:Dictionary;
  27.  
  28.  
  29.         public function GameTypeSelectorComponent()
  30.         {
  31.             super();
  32.  
  33.             initializeComponent();
  34.         }
  35.  
  36.         protected function initializeComponent():void
  37.         {
  38.             skinPartInitializers = new Dictionary();
  39.             skinPartInitializers["ui_btn_singlePlayer"] = initSinglePlayerButton;
  40.             skinPartInitializers["ui_btn_onlinePlay"] = initOnlinePlayButton;
  41.         }
  42.  
  43.         override protected function initSinglePlayerButton():void
  44.         {
  45.             new NativeSignal(ui_btn_singlePlayer, MouseEvent.CLICK, MouseEvent).add(SINGLE_PLAYER_CLICKED.dispatch);
  46.         }
  47.  
  48.         override protected function initOnlinePlayButton():void
  49.         {
  50.             new NativeSignal(ui_btn_onlinePlay, MouseEvent.CLICK, MouseEvent).add(ONLINE_PLAY_CLICKED.dispatch);
  51.         }
  52.  
  53.         override protected function getCurrentSkinState():String
  54.         {
  55.             return super.getCurrentSkinState();
  56.         }
  57.  
  58.         override protected function partAdded(partName:String, instance:Object):void
  59.         {
  60.             super.partAdded(partName, instance);
  61.  
  62.             try
  63.             {
  64.                 skinPartInitializers[partName]();
  65.             }
  66.             catch (error:Error)
  67.             {
  68.                 // Part does not have an initialization function.
  69.             }
  70.         }
  71.  
  72.         override protected function partRemoved(partName:String, instance:Object):void
  73.         {
  74.             super.partRemoved(partName, instance);
  75.         }
  76.     }
  77. }
Add Comment
Please, Sign In to add comment