Merge branch 'story1298_boat_highlight' into 'master'
Story1298 - Boat highlighting ACs: - Current players boat is highlighted See merge request !56
This commit is contained in:
@@ -25,6 +25,7 @@ import shared.model.Boat;
|
|||||||
import visualiser.app.App;
|
import visualiser.app.App;
|
||||||
import visualiser.gameController.ControllerClient;
|
import visualiser.gameController.ControllerClient;
|
||||||
import visualiser.layout.SeaSurface;
|
import visualiser.layout.SeaSurface;
|
||||||
|
import visualiser.layout.Shockwave;
|
||||||
import visualiser.layout.Subject3D;
|
import visualiser.layout.Subject3D;
|
||||||
import visualiser.layout.View3D;
|
import visualiser.layout.View3D;
|
||||||
import visualiser.model.VisualiserBoat;
|
import visualiser.model.VisualiserBoat;
|
||||||
@@ -168,6 +169,15 @@ public class InGameLobbyController extends Controller {
|
|||||||
playerBoatToSet.setPitch(20);
|
playerBoatToSet.setPitch(20);
|
||||||
|
|
||||||
|
|
||||||
|
if (boat.isClientBoat()) {
|
||||||
|
Shockwave boatHighlight = new Shockwave(10);
|
||||||
|
boatHighlight.getMesh().setMaterial(new PhongMaterial(new Color(1, 1, 0, 0.1)));
|
||||||
|
boatHighlight.setX(subject.getPosition().getX());
|
||||||
|
boatHighlight.setY(subject.getPosition().getY());
|
||||||
|
boatHighlight.setZ(subject.getPosition().getZ());
|
||||||
|
subjects.add(boatHighlight);
|
||||||
|
subject.getMesh().toFront();
|
||||||
|
}
|
||||||
|
|
||||||
AnimationTimer rotate = new AnimationTimer() {
|
AnimationTimer rotate = new AnimationTimer() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -301,8 +301,25 @@ public class RaceViewController extends Controller {
|
|||||||
|
|
||||||
viewSubjects.add(markModel);
|
viewSubjects.add(markModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (VisualiserBoat boat: race.getVisualiserRaceState().getBoats()) {
|
||||||
|
if (boat.isClientBoat()) {
|
||||||
|
Shockwave boatHighlight = new Shockwave(10);
|
||||||
|
boatHighlight.getMesh().setMaterial(new PhongMaterial(new Color(1, 1, 0, 0.1)));
|
||||||
|
viewSubjects.add(boatHighlight);
|
||||||
|
AnimationTimer highlightTrack = new AnimationTimer() {
|
||||||
|
@Override
|
||||||
|
public void handle(long now) {
|
||||||
|
boatHighlight.setX(gpsConverter.convertGPS(boat.getPosition()).getX());
|
||||||
|
boatHighlight.setZ(gpsConverter.convertGPS(boat.getPosition()).getY());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
highlightTrack.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Position and add each boat to view
|
// Position and add each boat to view
|
||||||
for(VisualiserBoat boat: race.getVisualiserRaceState().getBoats()) {
|
for (VisualiserBoat boat: race.getVisualiserRaceState().getBoats()) {
|
||||||
MeshView mesh;
|
MeshView mesh;
|
||||||
if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) {
|
if(boat.getSourceID() == race.getVisualiserRaceState().getPlayerBoatID()) {
|
||||||
mesh = new MeshView(importer.getImport());
|
mesh = new MeshView(importer.getImport());
|
||||||
|
|||||||
@@ -13,5 +13,6 @@ public class Shockwave extends Subject3D {
|
|||||||
super(new Cylinder(radius,0),0);
|
super(new Cylinder(radius,0),0);
|
||||||
getMesh().getTransforms().add(new Rotate(-90, Rotate.X_AXIS));
|
getMesh().getTransforms().add(new Rotate(-90, Rotate.X_AXIS));
|
||||||
getMesh().setMaterial(new PhongMaterial(new Color(0,0,0,0)));
|
getMesh().setMaterial(new PhongMaterial(new Color(0,0,0,0)));
|
||||||
|
getMesh().setMouseTransparent(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user