Boat collision packets are now sent. Command class created for boat collision. Currently prints out message depending on if user crashed or someone else crashed. #story[1195]
This commit is contained in:
@@ -11,6 +11,7 @@ import network.Messages.Enums.RaceStatusEnum;
|
||||
import network.Messages.LatestMessages;
|
||||
import shared.model.RunnableWithFramePeriod;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Observable;
|
||||
import java.util.Observer;
|
||||
|
||||
@@ -104,6 +105,8 @@ public class RaceLogic implements RunnableWithFramePeriod, Observer {
|
||||
*/
|
||||
private void raceLoop() {
|
||||
|
||||
ArrayList<MockBoat> collisionBoats = new ArrayList<>();
|
||||
|
||||
long previousFrameTime = System.currentTimeMillis();
|
||||
|
||||
while (race.getRaceStatusEnum() != RaceStatusEnum.FINISHED && loopBool) {
|
||||
@@ -129,9 +132,17 @@ public class RaceLogic implements RunnableWithFramePeriod, Observer {
|
||||
//If it is still racing, update its position.
|
||||
if (boat.getStatus() == BoatStatusEnum.RACING) {
|
||||
race.updatePosition(boat, framePeriod, race.getRaceClock().getDurationMilli());
|
||||
race.getColliderRegistry().rayCast(boat);
|
||||
|
||||
if(race.getColliderRegistry().rayCast(boat)){
|
||||
System.out.println("Collision!");
|
||||
//Add boat to list
|
||||
collisionBoats.add(boat);
|
||||
}
|
||||
|
||||
//System.out.println(race.getColliderRegistry().rayCast(boat));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -144,9 +155,14 @@ public class RaceLogic implements RunnableWithFramePeriod, Observer {
|
||||
// Change wind direction
|
||||
race.changeWindDirection();
|
||||
|
||||
//Pass collision boats in
|
||||
server.parseBoatCollisions(collisionBoats);
|
||||
|
||||
//Parse the race snapshot.
|
||||
server.parseSnapshot();
|
||||
|
||||
collisionBoats.clear();
|
||||
|
||||
//Update the last frame time.
|
||||
previousFrameTime = currentTime;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user