home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2011 May / ME_2011_05.iso / Galileo-Video-Tutorial / system / player.swf / scripts / controller / VolumeController.as < prev   
Encoding:
Text File  |  2010-11-30  |  2.0 KB  |  75 lines

  1. package controller
  2. {
  3.    import flash.events.Event;
  4.    import flash.events.EventDispatcher;
  5.    import flash.net.SharedObject;
  6.    
  7.    public class VolumeController extends EventDispatcher
  8.    {
  9.       private static var allowInstantiation:Boolean;
  10.       
  11.       public static var VOLUME_CHANGE:String = "volume_change";
  12.       
  13.       private static var instance:VolumeController = null;
  14.       
  15.       private static var _volume:Number = 1;
  16.       
  17.       public function VolumeController()
  18.       {
  19.          super();
  20.          if(!allowInstantiation)
  21.          {
  22.             throw new Error("Error: Instantiation failed: Use SingletonDemo.getInstance() instead of new.");
  23.          }
  24.       }
  25.       
  26.       public static function getInstance() : VolumeController
  27.       {
  28.          if(instance == null)
  29.          {
  30.             allowInstantiation = true;
  31.             instance = new VolumeController();
  32.             allowInstantiation = false;
  33.          }
  34.          instance.volume = instance.volumeSO;
  35.          return instance;
  36.       }
  37.       
  38.       private function set volumeSO(param1:Number) : void
  39.       {
  40.          var _loc2_:SharedObject = SharedObject.getLocal("galileo_global");
  41.          _loc2_.data.volume = param1;
  42.          _loc2_.flush();
  43.       }
  44.       
  45.       private function get volumeSO() : Number
  46.       {
  47.          var _loc1_:SharedObject = SharedObject.getLocal("galileo_global");
  48.          if(_loc1_.data.volume != null && _loc1_.data.volume != undefined)
  49.          {
  50.             return Number(_loc1_.data.volume);
  51.          }
  52.          return 1;
  53.       }
  54.       
  55.       public function set volumeWithoutSO(param1:Number) : void
  56.       {
  57.          _volume = param1;
  58.          dispatchEvent(new Event(VOLUME_CHANGE));
  59.       }
  60.       
  61.       public function set volume(param1:Number) : void
  62.       {
  63.          _volume = param1;
  64.          this.volumeSO = _volume;
  65.          dispatchEvent(new Event(VOLUME_CHANGE));
  66.       }
  67.       
  68.       public function get volume() : Number
  69.       {
  70.          return _volume;
  71.       }
  72.    }
  73. }
  74.  
  75.