package vooga.towerdefense.factories.actionfactories;
import vooga.towerdefense.action.Action;
import vooga.towerdefense.action.response.OnCollision;
import vooga.towerdefense.factories.ActionAnnotation;
import vooga.towerdefense.gameelements.GameElement;
/**
* Factory that creates onCollision action.
*
* @author Xu Rui
*
*/
public class OnCollisionFactory extends ActionFactory {
private String myAffiliationReference;
public OnCollisionFactory(
@ActionAnnotation(name = "target affiliation", value = "attribute") String affiliationReference) {
super();
myAffiliationReference = affiliationReference;
}
@Override
protected Action buildAction(GameElement e) {
return new OnCollision(getMap(), e, e.getAttributeManager().getAttribute(
myAffiliationReference));
}
}