home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2012 January / ME_2012_01.iso / Galileo-Video / system / ChromeLinux.swf / scripts / com / greensock / plugins / TweenPlugin.as < prev    next >
Encoding:
Text File  |  2010-11-16  |  4.8 KB  |  170 lines

  1. package com.greensock.plugins
  2. {
  3.    import com.greensock.*;
  4.    import com.greensock.core.*;
  5.    
  6.    public class TweenPlugin
  7.    {
  8.       public static const VERSION:Number = 1.31;
  9.       
  10.       public static const API:Number = 1;
  11.       
  12.       public var activeDisable:Boolean;
  13.       
  14.       protected var _changeFactor:Number = 0;
  15.       
  16.       protected var _tweens:Array = [];
  17.       
  18.       public var onDisable:Function;
  19.       
  20.       public var propName:String;
  21.       
  22.       public var round:Boolean;
  23.       
  24.       public var onEnable:Function;
  25.       
  26.       public var priority:int = 0;
  27.       
  28.       public var overwriteProps:Array;
  29.       
  30.       public var onComplete:Function;
  31.       
  32.       public function TweenPlugin()
  33.       {
  34.          super();
  35.       }
  36.       
  37.       public static function activate(param1:Array) : Boolean
  38.       {
  39.          var _loc3_:Object = null;
  40.          TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
  41.          var _loc2_:int = int(param1.length);
  42.          while(_loc2_--)
  43.          {
  44.             if(param1[_loc2_].hasOwnProperty("API"))
  45.             {
  46.                _loc3_ = new (param1[_loc2_] as Class)();
  47.                TweenLite.plugins[_loc3_.propName] = param1[_loc2_];
  48.             }
  49.          }
  50.          return true;
  51.       }
  52.       
  53.       private static function onTweenEvent(param1:String, param2:TweenLite) : Boolean
  54.       {
  55.          var _loc4_:Boolean = false;
  56.          var _loc5_:Array = null;
  57.          var _loc6_:int = 0;
  58.          var _loc3_:PropTween = param2.cachedPT1;
  59.          if(param1 == "onInit")
  60.          {
  61.             _loc5_ = [];
  62.             while(_loc3_)
  63.             {
  64.                _loc5_[_loc5_.length] = _loc3_;
  65.                _loc3_ = _loc3_.nextNode;
  66.             }
  67.             _loc5_.sortOn("priority",Array.NUMERIC | Array.DESCENDING);
  68.             _loc6_ = int(_loc5_.length);
  69.             while(_loc6_--)
  70.             {
  71.                PropTween(_loc5_[_loc6_]).nextNode = _loc5_[_loc6_ + 1];
  72.                PropTween(_loc5_[_loc6_]).prevNode = _loc5_[_loc6_ - 1];
  73.             }
  74.             param2.cachedPT1 = _loc5_[0];
  75.          }
  76.          else
  77.          {
  78.             while(_loc3_)
  79.             {
  80.                if(_loc3_.isPlugin && Boolean(_loc3_.target[param1]))
  81.                {
  82.                   if(_loc3_.target.activeDisable)
  83.                   {
  84.                      _loc4_ = true;
  85.                   }
  86.                   _loc3_.target[param1]();
  87.                }
  88.                _loc3_ = _loc3_.nextNode;
  89.             }
  90.          }
  91.          return _loc4_;
  92.       }
  93.       
  94.       protected function updateTweens(param1:Number) : void
  95.       {
  96.          var _loc3_:PropTween = null;
  97.          var _loc4_:Number = NaN;
  98.          var _loc2_:int = int(_tweens.length);
  99.          if(this.round)
  100.          {
  101.             while(_loc2_--)
  102.             {
  103.                _loc3_ = _tweens[_loc2_];
  104.                _loc4_ = _loc3_.start + _loc3_.change * param1;
  105.                _loc3_.target[_loc3_.property] = _loc4_ > 0 ? int(_loc4_ + 0.5) : int(_loc4_ - 0.5);
  106.             }
  107.          }
  108.          else
  109.          {
  110.             while(_loc2_--)
  111.             {
  112.                _loc3_ = _tweens[_loc2_];
  113.                _loc3_.target[_loc3_.property] = _loc3_.start + _loc3_.change * param1;
  114.             }
  115.          }
  116.       }
  117.       
  118.       protected function addTween(param1:Object, param2:String, param3:Number, param4:*, param5:String = null) : void
  119.       {
  120.          var _loc6_:Number = NaN;
  121.          if(param4 != null)
  122.          {
  123.             _loc6_ = typeof param4 == "number" ? Number(param4) - param3 : Number(param4);
  124.             if(_loc6_ != 0)
  125.             {
  126.                _tweens[_tweens.length] = new PropTween(param1,param2,param3,_loc6_,param5 || param2,false);
  127.             }
  128.          }
  129.       }
  130.       
  131.       public function get changeFactor() : Number
  132.       {
  133.          return _changeFactor;
  134.       }
  135.       
  136.       public function onInitTween(param1:Object, param2:*, param3:TweenLite) : Boolean
  137.       {
  138.          addTween(param1,this.propName,param1[this.propName],param2,this.propName);
  139.          return true;
  140.       }
  141.       
  142.       public function killProps(param1:Object) : void
  143.       {
  144.          var _loc2_:int = int(this.overwriteProps.length);
  145.          while(_loc2_--)
  146.          {
  147.             if(this.overwriteProps[_loc2_] in param1)
  148.             {
  149.                this.overwriteProps.splice(_loc2_,1);
  150.             }
  151.          }
  152.          _loc2_ = int(_tweens.length);
  153.          while(_loc2_--)
  154.          {
  155.             if(PropTween(_tweens[_loc2_]).name in param1)
  156.             {
  157.                _tweens.splice(_loc2_,1);
  158.             }
  159.          }
  160.       }
  161.       
  162.       public function set changeFactor(param1:Number) : void
  163.       {
  164.          updateTweens(param1);
  165.          _changeFactor = param1;
  166.       }
  167.    }
  168. }
  169.  
  170.