package org.codecranachan.asteroidpush.base.simulation.command;
import org.codecranachan.asteroidpush.base.simulation.Actor;
import org.codecranachan.asteroidpush.base.simulation.ActorFactory;
import org.codecranachan.asteroidpush.base.simulation.Simulation;
import org.codecranachan.asteroidpush.utils.NewtonianState;
public class CreateActorCommand implements Command {
private NewtonianState initialState;
private ActorFactory factory;
public CreateActorCommand(NewtonianState initialState,
ActorFactory factory) {
this.initialState = initialState;
this.factory = factory;
}
public void execute(Simulation simulation) {
factory.setBodyFactory(simulation.getBodyFactory());
Actor actor = factory.createActor(initialState);
simulation.addActor(actor);
}
}