package org.andengine.entity.modifier;
import org.andengine.entity.IEntity;
import org.andengine.util.modifier.ease.EaseLinear;
import org.andengine.util.modifier.ease.IEaseFunction;
/**
* (c) 2010 Nicolas Gramlich
* (c) 2011 Zynga Inc.
*
* @author Nicolas Gramlich
* @since 21:59:38 - 06.07.2010
*/
public class RotationAtModifier extends RotationModifier {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private final float mRotationCenterX;
private final float mRotationCenterY;
// ===========================================================
// Constructors
// ===========================================================
public RotationAtModifier(final float pDuration, final float pFromRotation, final float pToRotation, final float pRotationCenterX, final float pRotationCenterY) {
this(pDuration, pFromRotation, pToRotation, pRotationCenterX, pRotationCenterY, EaseLinear.getInstance());
}
public RotationAtModifier(final float pDuration, final float pFromRotation, final float pToRotation, final float pRotationCenterX, final float pRotationCenterY, final IEaseFunction pEaseFunction) {
this(pDuration, pFromRotation, pToRotation, pRotationCenterX, pRotationCenterY, null, pEaseFunction);
}
public RotationAtModifier(final float pDuration, final float pFromRotation, final float pToRotation, final float pRotationCenterX, final float pRotationCenterY, final IEntityModifierListener pEntityModifierListener) {
this(pDuration, pFromRotation, pToRotation, pRotationCenterX, pRotationCenterY, pEntityModifierListener, EaseLinear.getInstance());
}
public RotationAtModifier(final float pDuration, final float pFromRotation, final float pToRotation, final float pRotationCenterX, final float pRotationCenterY, final IEntityModifierListener pEntityModifierListener, final IEaseFunction pEaseFunction) {
super(pDuration, pFromRotation, pToRotation, pEntityModifierListener, pEaseFunction);
this.mRotationCenterX = pRotationCenterX;
this.mRotationCenterY = pRotationCenterY;
}
protected RotationAtModifier(final RotationAtModifier pRotationAtModifier) {
super(pRotationAtModifier);
this.mRotationCenterX = pRotationAtModifier.mRotationCenterX;
this.mRotationCenterY = pRotationAtModifier.mRotationCenterY;
}
@Override
public RotationAtModifier deepCopy(){
return new RotationAtModifier(this);
}
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
@Override
protected void onManagedInitialize(final IEntity pEntity) {
super.onManagedInitialize(pEntity);
pEntity.setRotationCenter(this.mRotationCenterX, this.mRotationCenterY);
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}