Packagecom.greensock
Classpublic class OverwriteManager

OverwriteManager resolves conflicts between tweens and controls if (and how) existing tweens of the same target are overwritten. Think of it as a referee or traffic cop for tweens. For example, let's say you have a button with ROLL_OVER and ROLL_OUT handlers that tween an object's alpha and the user rolls their mouse over/out/over/out quickly. Most likely, you'd want each new tween to overwrite the other immediately so that you don't end up with multiple tweens vying for control of the alpha property. That describes the ALL_IMMEDIATE mode which is the default mode of TweenLite when it is not used in conjunction with TweenMax, TimelineLite, or TimelineMax. This keeps things small and fast. However, it isn't ideal for setting up sequences because as soon as you create subsequent tweens of the same target in the sequence, the previous one gets overwritten. And what if you have a tween that is controling 3 properties and then you create another tween that only controls one of those properties? You may want the first tween to continue tweening the other 2 (non-overlapping) properties. This describes the AUTO mode which is the default whenever TweenMax, TimelineLite, or TimelineMax is used in your swf. OverwriteManager offers quite a few other modes to choose from in fact: With the exception of ALL_IMMEDIATE (which performs overwriting immediatly when the tween is created), all overwriting occurs when a tween renders for the first time. So if your tween has a delay of 1 second, it will not overwrite any tweens until that point.

You can define a default overwriting mode for all tweens using the OverwriteManager.init() method, like:

OverwriteManager.init(OverwriteManager.AUTO);

If you want to override the default mode in a particular tween, just use the overwrite special property. You can use the static constant or the corresponding number. The following two lines produce the same results:

TweenMax.to(mc, 1, {x:100, overwrite:OverwriteManager.PREXISTING});
TweenMax.to(mc, 1, {x:100, overwrite:5});

OverwriteManager is a separate, optional class for TweenLite primarily because of file size concerns. Without initting OverwriteManager, TweenLite can only recognize modes 0 and 1 (NONE and ALL_IMMEDIATE). However, TweenMax, TimelineLite, and TimelineMax automatically init() OverwriteManager in AUTO mode unless you have already initted OverwriteManager manually. You do not need to take any additional steps to use AUTO mode if you're using any of those classes somewhere in your project. Keep in mind too that setting the default OverwriteManager mode will affect TweenLite and TweenMax tweens.

EXAMPLES:

To start OverwriteManager in AUTO mode (the default) and then do a simple TweenLite tween, simply do:

import com.greensock.OverwriteManager;
import com.greensock.TweenLite;

OverwriteManager.init(OverwriteManager.AUTO);
TweenLite.to(mc, 2, {x:300});

You can also define overwrite behavior in individual tweens, like so:

import com.greensock.OverwriteManager;
import com.greensock.TweenLite;

OverwriteManager.init(2);
TweenLite.to(mc, 2, {x:"300", y:"100"});
TweenLite.to(mc, 1, {alpha:0.5, overwrite:1}); //or use the constant OverwriteManager.ALL_IMMEDIATE
TweenLite.to(mc, 3, {x:200, rotation:30, overwrite:2}); //or use the constant OverwriteManager.AUTO

OverwriteManager's mode can be changed anytime after init() is called, like.

OverwriteManager.mode = OverwriteManager.CONCURRENT;

Copyright 2010, GreenSock. All rights reserved. This work is subject to the terms in http://www.greensock.com/terms_of_use.html or for corporate Club GreenSock members, the software agreement that was issued with the corporate membership.



Public Properties
 PropertyDefined by
  mode : int
[static] The default overwrite mode for all TweenLite and TweenMax instances
OverwriteManager
Public Methods
 MethodDefined by
  
init(defaultMode:int = 2):int
[static] Initializes OverwriteManager and sets the default management mode.
OverwriteManager
Public Constants
 ConstantDefined by
  ALL_IMMEDIATE : int = 1
[static] Overwrites all existing tweens of the same target immediately when the tween is created
OverwriteManager
  ALL_ONSTART : int = 4
[static] Overwrites all tweens of the same target (regardless of overlapping properties or timing) when the tween renders for the first time as opposed to ALL_IMMEDIATE which performs overwriting immediately when the tween is created.
OverwriteManager
  AUTO : int = 2
[static] Only overwrites individual overlapping tweening properties in other tweens of the same target.
OverwriteManager
  CONCURRENT : int = 3
[static] Overwrites tweens of the same target that are active when the tween renders for the first time.
OverwriteManager
  NONE : int = 0
[static] Won't overwrite any other tweens
OverwriteManager
  PREEXISTING : int = 5
[static] Overwrites tweens of the same target that existed before this tween regardless of their start/end time or active state or overlapping properties.
OverwriteManager
Property detail
modeproperty
public static var mode:int

The default overwrite mode for all TweenLite and TweenMax instances

Method detail
init()method
public static function init(defaultMode:int = 2):int

Initializes OverwriteManager and sets the default management mode. Options include:

Parameters
defaultMode:int (default = 2) — The default mode that OverwriteManager should use.

Returns
int
Constant detail
ALL_IMMEDIATEconstant
public static const ALL_IMMEDIATE:int = 1

Overwrites all existing tweens of the same target immediately when the tween is created

ALL_ONSTARTconstant 
public static const ALL_ONSTART:int = 4

Overwrites all tweens of the same target (regardless of overlapping properties or timing) when the tween renders for the first time as opposed to ALL_IMMEDIATE which performs overwriting immediately when the tween is created.

AUTOconstant 
public static const AUTO:int = 2

Only overwrites individual overlapping tweening properties in other tweens of the same target. TweenMax, TimelineLite, and TimelineMax automatically init() OverwriteManager in this mode if you haven't already called OverwriteManager.init().

CONCURRENTconstant 
public static const CONCURRENT:int = 3

Overwrites tweens of the same target that are active when the tween renders for the first time.

NONEconstant 
public static const NONE:int = 0

Won't overwrite any other tweens

PREEXISTINGconstant 
public static const PREEXISTING:int = 5

Overwrites tweens of the same target that existed before this tween regardless of their start/end time or active state or overlapping properties.