public override void update (float t)
{
float xa = 0;
float xb = _config.controlPoint_1.x;
float xc = _config.controlPoint_2.x;
float xd = _config.endPosition.x;
float ya = 0;
float yb = _config.controlPoint_1.y;
float yc = _config.controlPoint_2.y;
float yd = _config.endPosition.y;
float x = bezierat(xa, xb, xc, xd, t);
float y = bezierat(ya, yb, yc, yd, t);
CCNode node = (CCNode)_target;
bool stackable = ccConfig.CC_ENABLE_STACKABLE_ACTIONS;
if(stackable){
Vector2 currentPos = node.position;
Vector2 diff = (currentPos - _previousPosition);
_startPosition = ( _startPosition + diff);
Vector2 newPos = ( _startPosition + new Vector2(x,y));
node.position = newPos;
_previousPosition = newPos;
}else{
node.position = _startPosition + new Vector2(x, y);
}
}