Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.nolimitscoaster.*;
- public class CarScript extends Script implements TrackTriggerListener {
- private CarHandler handlers[];
- private Coaster coaster;
- private String startTriggerName = "start";
- private String stopTriggerName = "stop";
- private TrackTrigger startTrigger;
- private TrackTrigger stopTrigger;
- public bool onInit() {
- coaster = sim.getCoaster("Track");
- handlers = new CarHandler[coaster.getTrainCount()];
- for (int i = 0; i < coaster.getTrainCount(); i++) {
- Train train = coaster.getTrainAt(i);
- handlers[i] = new CarHandler(this, sim, coaster, train, i);
- }
- startTrigger = coaster.getTrackTrigger(startTriggerName);
- if (startTrigger == null) {
- System.err.println("CarScript: Can't find trigger " + startTriggerName + "!");
- return false;
- }
- startTrigger.addTrackTriggerListener(this);
- stopTrigger = coaster.getTrackTrigger(stopTriggerName);
- if (stopTrigger == null) {
- System.err.println("CarScript: Can't find trigger " + startTriggerName + "!");
- return false;
- }
- stopTrigger.addTrackTriggerListener(this);
- return true;
- }
- public void onNextFrame(float tick) {
- for (int i = 0; i < coaster.getTrainCount(); i++) {
- handlers[i].process(tick);
- }
- }
- public void onTrainEntering(TrackTrigger trigger, Train train) {
- if (trigger == startTrigger) {
- for (int i = 0; i < coaster.getTrainCount(); i++) {
- if (handlers[i].getTrain() == train) {
- handlers[i].start();
- }
- }
- }
- if (trigger == stopTrigger) {
- for (int i = 0; i < coaster.getTrainCount(); i++) {
- if (handlers[i].getTrain() == train) {
- handlers[i].stop();
- }
- }
- }
- }
- public void onTrainLeaving(TrackTrigger trigger, Train train) {
- }
- }
Add Comment
Please, Sign In to add comment