Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.events.*;
- import flash.display.*;
- import flash.net.*;
- import flash.external.*;
- public class Cram extends Sprite {
- private var _so:sharedobject = null;
- private var _flushEnabled:boolean = false;
- public function Cram(){
- super();
- try {
- _so = sharedobject.getlocal("cramjs");
- _flushEnabled = true;
- _so.addEventListener(NetStatusEvent.NET_STATUS, handleNetStatus);
- } catch(e:error) {
- _so = null;
- };
- if (((ExternalInterface.available) && (_so))){
- ExternalInterface.addCallback("get", soGet);
- ExternalInterface.addCallback("set", soSet);
- ExternalInterface.addCallback("remove", soRemove);
- };
- }
- private function soRemove(_arg1:string):void{
- delete _so.data[_arg1];
- flush();
- }
- private function flush():void{
- if (!_flushEnabled){
- return;
- };
- try {
- if (SharedObjectFlushStatus.FLUSHED != _so.flush()){
- _flushEnabled = false;
- };
- } catch(e:error) {
- _flushEnabled = false;
- };
- }
- private function handleNetStatus(_arg1:NetStatusEvent):void{
- if (_arg1.info.level == "error"){
- _flushEnabled = false;
- };
- }
- private function soGet(_arg1:string):string{
- var _local2:object = _so.data[_arg1];
- if (_local2){
- return (_local2.tostring());
- };
- return (null);
- }
- private function soSet(_arg1:string, _arg2:string):void{
- _so.data[_arg1] = _arg2;
- flush();
- }
- }
- }//package
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement