You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
package visualiser.Commands.VisualiserRaceCommands;
|
|
|
|
import javafx.scene.media.AudioClip;
|
|
import mock.model.commandFactory.Command;
|
|
import network.Messages.YachtEvent;
|
|
import shared.exceptions.BoatNotFoundException;
|
|
import visualiser.model.VisualiserBoat;
|
|
import visualiser.model.VisualiserRaceState;
|
|
|
|
/**
|
|
* Created by zwu18 on 4/09/17.
|
|
*/
|
|
public class BoatCollisionCommand implements Command {
|
|
|
|
YachtEvent yachtEvent;
|
|
|
|
VisualiserRaceState visualiserRace;
|
|
|
|
public BoatCollisionCommand(YachtEvent yachtEvent, VisualiserRaceState visualiserRace){
|
|
this.yachtEvent = yachtEvent;
|
|
this.visualiserRace = visualiserRace;
|
|
|
|
}
|
|
|
|
@Override
|
|
public void execute() {
|
|
|
|
if(visualiserRace.getPlayerBoatID()==yachtEvent.getSourceID()){
|
|
//System.out.println("I crashed!");
|
|
AudioClip sound = new AudioClip(this.getClass().getResource("/visualiser/sounds/collision.wav").toExternalForm());
|
|
sound.play();
|
|
|
|
} else {
|
|
//System.out.println("Someone else crashed!");
|
|
AudioClip sound = new AudioClip(this.getClass().getResource("/visualiser/sounds/quietcollision.wav").toExternalForm());
|
|
sound.play();
|
|
}
|
|
|
|
try {
|
|
VisualiserBoat boat = visualiserRace.getBoat(yachtEvent.getSourceID());
|
|
boat.setHasCollided(true);
|
|
} catch (BoatNotFoundException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|