package org.codecranachan.asteroidpush.content.behaviors; import java.util.Collection; import java.util.LinkedList; import java.util.List; import org.codecranachan.asteroidpush.base.visuals.Representation; import org.codecranachan.asteroidpush.base.workshop.actor.Behavior; import org.codecranachan.asteroidpush.base.workshop.assembly.BehaviorFactory; import org.codecranachan.asteroidpush.base.workshop.assembly.Socket; import org.codecranachan.asteroidpush.content.visuals.SpinRepresentation; import org.codecranachan.asteroidpush.utils.Arrow; import org.newdawn.slick.Color; public class TorqueFeederFactory implements BehaviorFactory { private Socket socket; private float torque; public TorqueFeederFactory(float torque, Socket socket) { this.socket = socket; this.torque = torque; } public Behavior createBehavior(Arrow offset, float scale) { return new TorqueFeederBehavior(torque); } public Collection<Representation> getRepresentations() { Collection<Representation> reps = new LinkedList<Representation>(); reps.add(new SpinRepresentation(new Arrow(), Color.red)); return reps; } public List<Socket> getSockets() { List<Socket> sockets = new LinkedList<Socket>(); sockets.add(socket); return sockets; } }