home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / Beez.swf / scripts / caurina / transitions / TweenListObj.as < prev   
Encoding:
Text File  |  2008-09-03  |  8.9 KB  |  297 lines

  1. package caurina.transitions
  2. {
  3.    public class TweenListObj
  4.    {
  5.        
  6.       
  7.       public var hasStarted:Boolean;
  8.       
  9.       public var onUpdate:Function;
  10.       
  11.       public var useFrames:Boolean;
  12.       
  13.       public var count:Number;
  14.       
  15.       public var onOverwriteParams:Array;
  16.       
  17.       public var timeStart:Number;
  18.       
  19.       public var timeComplete:Number;
  20.       
  21.       public var onStartParams:Array;
  22.       
  23.       public var onUpdateScope:Object;
  24.       
  25.       public var rounded:Boolean;
  26.       
  27.       public var onUpdateParams:Array;
  28.       
  29.       public var properties:Object;
  30.       
  31.       public var onComplete:Function;
  32.       
  33.       public var transitionParams:Object;
  34.       
  35.       public var updatesSkipped:Number;
  36.       
  37.       public var onStart:Function;
  38.       
  39.       public var onOverwriteScope:Object;
  40.       
  41.       public var skipUpdates:Number;
  42.       
  43.       public var onStartScope:Object;
  44.       
  45.       public var scope:Object;
  46.       
  47.       public var isCaller:Boolean;
  48.       
  49.       public var timePaused:Number;
  50.       
  51.       public var transition:Function;
  52.       
  53.       public var onCompleteParams:Array;
  54.       
  55.       public var onError:Function;
  56.       
  57.       public var timesCalled:Number;
  58.       
  59.       public var onErrorScope:Object;
  60.       
  61.       public var onOverwrite:Function;
  62.       
  63.       public var isPaused:Boolean;
  64.       
  65.       public var waitFrames:Boolean;
  66.       
  67.       public var onCompleteScope:Object;
  68.       
  69.       public function TweenListObj(p_scope:Object, p_timeStart:Number, p_timeComplete:Number, p_useFrames:Boolean, p_transition:Function, p_transitionParams:Object)
  70.       {
  71.          super();
  72.          scope = p_scope;
  73.          timeStart = p_timeStart;
  74.          timeComplete = p_timeComplete;
  75.          useFrames = p_useFrames;
  76.          transition = p_transition;
  77.          transitionParams = p_transitionParams;
  78.          properties = new Object();
  79.          isPaused = false;
  80.          timePaused = undefined;
  81.          isCaller = false;
  82.          updatesSkipped = 0;
  83.          timesCalled = 0;
  84.          skipUpdates = 0;
  85.          hasStarted = false;
  86.       }
  87.       
  88.       public static function makePropertiesChain(p_obj:Object) : Object
  89.       {
  90.          var chainedObject:Object = null;
  91.          var chain:Object = null;
  92.          var currChainObj:Object = null;
  93.          var len:Number = NaN;
  94.          var i:Number = NaN;
  95.          var k:Number = NaN;
  96.          var baseObject:Object = p_obj.base;
  97.          if(baseObject)
  98.          {
  99.             chainedObject = {};
  100.             if(baseObject is Array)
  101.             {
  102.                chain = [];
  103.                for(k = 0; k < baseObject.length; chain.push(baseObject[k]),k++)
  104.                {
  105.                }
  106.             }
  107.             else
  108.             {
  109.                chain = [baseObject];
  110.             }
  111.             chain.push(p_obj);
  112.             len = Number(chain.length);
  113.             for(i = 0; i < len; i++)
  114.             {
  115.                if(chain[i]["base"])
  116.                {
  117.                   currChainObj = AuxFunctions.concatObjects(makePropertiesChain(chain[i]["base"]),chain[i]);
  118.                }
  119.                else
  120.                {
  121.                   currChainObj = chain[i];
  122.                }
  123.                chainedObject = AuxFunctions.concatObjects(chainedObject,currChainObj);
  124.             }
  125.             if(chainedObject["base"])
  126.             {
  127.                delete chainedObject["base"];
  128.             }
  129.             return chainedObject;
  130.          }
  131.          return p_obj;
  132.       }
  133.       
  134.       public function clone(omitEvents:Boolean) : TweenListObj
  135.       {
  136.          var pName:String = null;
  137.          var nTween:TweenListObj = new TweenListObj(scope,timeStart,timeComplete,useFrames,transition,transitionParams);
  138.          nTween.properties = new Array();
  139.          for(pName in properties)
  140.          {
  141.             nTween.properties[pName] = properties[pName].clone();
  142.          }
  143.          nTween.skipUpdates = skipUpdates;
  144.          nTween.updatesSkipped = updatesSkipped;
  145.          if(!omitEvents)
  146.          {
  147.             nTween.onStart = onStart;
  148.             nTween.onUpdate = onUpdate;
  149.             nTween.onComplete = onComplete;
  150.             nTween.onOverwrite = onOverwrite;
  151.             nTween.onError = onError;
  152.             nTween.onStartParams = onStartParams;
  153.             nTween.onUpdateParams = onUpdateParams;
  154.             nTween.onCompleteParams = onCompleteParams;
  155.             nTween.onOverwriteParams = onOverwriteParams;
  156.             nTween.onStartScope = onStartScope;
  157.             nTween.onUpdateScope = onUpdateScope;
  158.             nTween.onCompleteScope = onCompleteScope;
  159.             nTween.onOverwriteScope = onOverwriteScope;
  160.             nTween.onErrorScope = onErrorScope;
  161.          }
  162.          nTween.rounded = rounded;
  163.          nTween.isPaused = isPaused;
  164.          nTween.timePaused = timePaused;
  165.          nTween.isCaller = isCaller;
  166.          nTween.count = count;
  167.          nTween.timesCalled = timesCalled;
  168.          nTween.waitFrames = waitFrames;
  169.          nTween.hasStarted = hasStarted;
  170.          return nTween;
  171.       }
  172.       
  173.       public function toString() : String
  174.       {
  175.          var i:String = null;
  176.          var returnStr:* = "\n[TweenListObj ";
  177.          returnStr += "scope:" + String(scope);
  178.          returnStr += ", properties:";
  179.          var isFirst:Boolean = true;
  180.          for(i in properties)
  181.          {
  182.             if(!isFirst)
  183.             {
  184.                returnStr += ",";
  185.             }
  186.             returnStr += "[name:" + properties[i].name;
  187.             returnStr += ",valueStart:" + properties[i].valueStart;
  188.             returnStr += ",valueComplete:" + properties[i].valueComplete;
  189.             returnStr += "]";
  190.             isFirst = false;
  191.          }
  192.          returnStr += ", timeStart:" + String(timeStart);
  193.          returnStr += ", timeComplete:" + String(timeComplete);
  194.          returnStr += ", useFrames:" + String(useFrames);
  195.          returnStr += ", transition:" + String(transition);
  196.          returnStr += ", transitionParams:" + String(transitionParams);
  197.          if(skipUpdates)
  198.          {
  199.             returnStr += ", skipUpdates:" + String(skipUpdates);
  200.          }
  201.          if(updatesSkipped)
  202.          {
  203.             returnStr += ", updatesSkipped:" + String(updatesSkipped);
  204.          }
  205.          if(Boolean(onStart))
  206.          {
  207.             returnStr += ", onStart:" + String(onStart);
  208.          }
  209.          if(Boolean(onUpdate))
  210.          {
  211.             returnStr += ", onUpdate:" + String(onUpdate);
  212.          }
  213.          if(Boolean(onComplete))
  214.          {
  215.             returnStr += ", onComplete:" + String(onComplete);
  216.          }
  217.          if(Boolean(onOverwrite))
  218.          {
  219.             returnStr += ", onOverwrite:" + String(onOverwrite);
  220.          }
  221.          if(Boolean(onError))
  222.          {
  223.             returnStr += ", onError:" + String(onError);
  224.          }
  225.          if(onStartParams)
  226.          {
  227.             returnStr += ", onStartParams:" + String(onStartParams);
  228.          }
  229.          if(onUpdateParams)
  230.          {
  231.             returnStr += ", onUpdateParams:" + String(onUpdateParams);
  232.          }
  233.          if(onCompleteParams)
  234.          {
  235.             returnStr += ", onCompleteParams:" + String(onCompleteParams);
  236.          }
  237.          if(onOverwriteParams)
  238.          {
  239.             returnStr += ", onOverwriteParams:" + String(onOverwriteParams);
  240.          }
  241.          if(onStartScope)
  242.          {
  243.             returnStr += ", onStartScope:" + String(onStartScope);
  244.          }
  245.          if(onUpdateScope)
  246.          {
  247.             returnStr += ", onUpdateScope:" + String(onUpdateScope);
  248.          }
  249.          if(onCompleteScope)
  250.          {
  251.             returnStr += ", onCompleteScope:" + String(onCompleteScope);
  252.          }
  253.          if(onOverwriteScope)
  254.          {
  255.             returnStr += ", onOverwriteScope:" + String(onOverwriteScope);
  256.          }
  257.          if(onErrorScope)
  258.          {
  259.             returnStr += ", onErrorScope:" + String(onErrorScope);
  260.          }
  261.          if(rounded)
  262.          {
  263.             returnStr += ", rounded:" + String(rounded);
  264.          }
  265.          if(isPaused)
  266.          {
  267.             returnStr += ", isPaused:" + String(isPaused);
  268.          }
  269.          if(timePaused)
  270.          {
  271.             returnStr += ", timePaused:" + String(timePaused);
  272.          }
  273.          if(isCaller)
  274.          {
  275.             returnStr += ", isCaller:" + String(isCaller);
  276.          }
  277.          if(count)
  278.          {
  279.             returnStr += ", count:" + String(count);
  280.          }
  281.          if(timesCalled)
  282.          {
  283.             returnStr += ", timesCalled:" + String(timesCalled);
  284.          }
  285.          if(waitFrames)
  286.          {
  287.             returnStr += ", waitFrames:" + String(waitFrames);
  288.          }
  289.          if(hasStarted)
  290.          {
  291.             returnStr += ", hasStarted:" + String(hasStarted);
  292.          }
  293.          return returnStr + "]\n";
  294.       }
  295.    }
  296. }
  297.