package com.uwsoft.editor.renderer.systems.action.logic;
import com.badlogic.ashley.core.Entity;
import com.uwsoft.editor.renderer.components.TransformComponent;
import com.uwsoft.editor.renderer.systems.action.data.RotateToData;
import com.uwsoft.editor.renderer.utils.ComponentRetriever;
/**
* Created by ZeppLondon on 10/16/2015.
*/
public class RotateToAction<T extends RotateToData> extends TemporalAction<T> {
@Override
protected void update(float percent, Entity entity, T actionData) {
TransformComponent transformComponent = ComponentRetriever.get(entity, TransformComponent.class);
transformComponent.rotation = (actionData.start + (actionData.end - actionData.start) * percent);
}
@Override
public void begin(Entity entity, T actionData) {
TransformComponent transformComponent = ComponentRetriever.get(entity, TransformComponent.class);
actionData.start = transformComponent.rotation;
}
}