boxes in lobby are now boats

This commit is contained in:
hba56
2017-09-09 16:26:17 +12:00
parent e5d8a4028d
commit ddc3a6ae47
3 changed files with 269 additions and 6 deletions
@@ -1,5 +1,6 @@
package visualiser.Controllers;
import com.interactivemesh.jfx.importer.stl.StlMeshImporter;
import javafx.animation.AnimationTimer;
import javafx.application.Platform;
import javafx.collections.FXCollections;
@@ -12,6 +13,7 @@ import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.GridPane;
import javafx.scene.shape.Box;
import javafx.scene.shape.MeshView;
import mock.app.Event;
import network.Messages.Enums.RaceStatusEnum;
import network.Messages.Enums.RequestToJoinEnum;
@@ -78,6 +80,8 @@ public class InGameLobbyController extends Controller {
private ObservableList<Subject3D> subjects = FXCollections.observableArrayList();
private StlMeshImporter importer;
@Override
public void initialize(URL location, ResourceBundle resources) {
allPlayerLabels = new ArrayList(Arrays.asList(playerLabel, playerLabel2,
@@ -85,6 +89,10 @@ public class InGameLobbyController extends Controller {
playerLabel4,
playerLabel5,
playerLabel6));
URL asset = HostController.class.getClassLoader().getResource("assets/V1.2 Complete Boat.stl");
importer = new StlMeshImporter();
importer.read(asset);
}
private void populatePlayers(ListChangeListener.Change change){
@@ -98,10 +106,12 @@ public class InGameLobbyController extends Controller {
for (VisualiserBoat boat :this.visualiserRaceEvent.getVisualiserRaceState().getBoats()) {
View3D playerBoatToSet = new View3D();
playerBoatToSet.setItems(subjects);
playerContainer.add(playerBoatToSet, (count % 3) , row);
playerContainer.setMargin(playerBoatToSet, new Insets(10, 10, 10, 10));
Subject3D subject = new Subject3D(new Box());
MeshView mesh = new MeshView(importer.getImport());
Subject3D subject = new Subject3D(mesh);
subjects.add(subject);
playerBoatToSet.setDistance(50);
@@ -113,7 +123,7 @@ public class InGameLobbyController extends Controller {
AnimationTimer rotate = new AnimationTimer() {
@Override
public void handle(long now) {
subject.setHeading(subject.getHeading() + 0.1);
subject.setHeading(subject.getHeading().getAngle() + 0.1);
}
};
rotate.start();