home *** CD-ROM | disk | FTP | other *** search
- package controller
- {
- import flash.events.Event;
- import flash.events.EventDispatcher;
- import flash.net.SharedObject;
-
- public class VolumeController extends EventDispatcher
- {
- private static var allowInstantiation:Boolean;
-
- public static var VOLUME_CHANGE:String = "volume_change";
-
- private static var instance:VolumeController = null;
-
- private static var _volume:Number = 1;
-
- public function VolumeController()
- {
- super();
- if(!allowInstantiation)
- {
- throw new Error("Error: Instantiation failed: Use SingletonDemo.getInstance() instead of new.");
- }
- }
-
- public static function getInstance() : VolumeController
- {
- if(instance == null)
- {
- allowInstantiation = true;
- instance = new VolumeController();
- allowInstantiation = false;
- }
- instance.volume = instance.volumeSO;
- return instance;
- }
-
- private function set volumeSO(param1:Number) : void
- {
- var _loc2_:SharedObject = SharedObject.getLocal("galileo_global");
- _loc2_.data.volume = param1;
- _loc2_.flush();
- }
-
- private function get volumeSO() : Number
- {
- var _loc1_:SharedObject = SharedObject.getLocal("galileo_global");
- if(_loc1_.data.volume != null && _loc1_.data.volume != undefined)
- {
- return Number(_loc1_.data.volume);
- }
- return 1;
- }
-
- public function set volumeWithoutSO(param1:Number) : void
- {
- _volume = param1;
- dispatchEvent(new Event(VOLUME_CHANGE));
- }
-
- public function set volume(param1:Number) : void
- {
- _volume = param1;
- this.volumeSO = _volume;
- dispatchEvent(new Event(VOLUME_CHANGE));
- }
-
- public function get volume() : Number
- {
- return _volume;
- }
- }
- }
-
-