Commit Graph
53 Commits
Author SHA1 Message Date
Fan-Wu Yang 2389aa361c Boats sails can luff and are now two piece. #story[1297] 2017-09-21 02:21:02 +12:00
hba56 fd120edaf9 Merge remote-tracking branch 'remotes/origin/master' into story77
# Conflicts:
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/mock/xml/RaceXMLCreator.java
#	racevisionGame/src/main/java/visualiser/Controllers/HostGameController.java
#	racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java
#	racevisionGame/src/main/java/visualiser/Controllers/TitleController.java
#	racevisionGame/src/main/java/visualiser/app/App.java
#	settings/keyBindings.xml
2017-09-13 16:13:14 +12:00
hba56 00780e17e9 Merge remote-tracking branch 'remotes/origin/temp77' into story77
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java
#	racevisionGame/src/main/resources/visualiser/scenes/gameLobby.fxml
#	racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml
2017-09-13 15:17:37 +12:00
hba56 aafc0dc9db Merge remote-tracking branch 'remotes/origin/temp77' into story77
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java
#	racevisionGame/src/main/resources/visualiser/scenes/gameLobby.fxml
#	racevisionGame/src/main/resources/visualiser/scenes/hostgame.fxml
2017-09-13 15:16:06 +12:00
hba56 70ccb4cf1c Merge remote-tracking branch 'remotes/origin/master' into story77
# Conflicts:
#	racevisionGame/src/main/java/mock/app/Event.java
#	racevisionGame/src/main/java/visualiser/Controllers/HostController.java
#	racevisionGame/src/main/java/visualiser/Controllers/LobbyController.java
#	racevisionGame/src/main/java/visualiser/Controllers/MainController.java
#	racevisionGame/src/main/resources/visualiser/scenes/main.fxml
#	settings/keyBindings.xml
2017-09-13 14:00:40 +12:00
Jessica Syder 9bc36ba544 Merge branch 'master' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into controllerSplit
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/HostController.java
#	racevisionGame/src/main/java/visualiser/Controllers/MainController.java
#	racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java
#	racevisionGame/src/main/java/visualiser/Controllers/StartController.java
#	racevisionGame/src/main/java/visualiser/Controllers/TitleController.java
#	racevisionGame/src/main/resources/visualiser/scenes/raceView.fxml
#	racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml
2017-09-11 23:09:48 +12:00
Jessica Syder c30391ef23 Merge branch 'master' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into controllerSplit
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/HostController.java
#	racevisionGame/src/main/java/visualiser/Controllers/MainController.java
#	racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java
#	racevisionGame/src/main/java/visualiser/Controllers/StartController.java
#	racevisionGame/src/main/java/visualiser/Controllers/TitleController.java
#	racevisionGame/src/main/resources/visualiser/scenes/raceView.fxml
#	racevisionGame/src/main/resources/visualiser/scenes/titleScreen.fxml
2017-09-11 23:07:53 +12:00
Jessica Syder 669a303e9b Merge branch 'master' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into controllerSplit
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/HostGameController.java
#	racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java
#	racevisionGame/src/main/java/visualiser/Controllers/StartController.java
#	racevisionGame/src/main/java/visualiser/Controllers/hostgame.fxml
#	racevisionGame/src/main/java/visualiser/Controllers/lobbyHosting.fxml
#	racevisionGame/src/main/java/visualiser/Controllers/main.fxml
#	racevisionGame/src/main/java/visualiser/Controllers/raceView.fxml
2017-09-11 20:19:10 +12:00
David Wu 28ec4b9246 Merge branch 'master' into story70
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/HostController.java
#	racevisionGame/src/main/java/visualiser/Controllers/TitleController.java
#	racevisionGame/src/main/java/visualiser/app/App.java
2017-09-10 15:19:03 +12:00
Jessica Syder 0dff85006a Changes to code to use new controller structure.
- renamed javadoc referencing old controllers
- keybindings no longer need to be static
- finished lobby and lobbyhost controllers

#story[1261]
2017-09-08 22:07:16 +12:00
Jessica Syder a5050b8ea8 Adding back lost changes and finishing splitting last controllers.
- renamed fxml and their controllers to match
- removed old controllers
- finished lobby and lobbyhost controllers

#story[1261]
2017-09-08 18:08:58 +12:00
Jessica Syder 9f3cc53a63 Finished Arrow, Title and StartController scene splitting
- scenes do not load in at the same time
- scenes do not rely upon previous abstract controller class
- scenes are not a part of previous main controller class
- unecessary functions and code removed

#story[1261]
2017-09-07 21:40:10 +12:00
Jessica Syder addaaf0de3 Merge remote-tracking branch 'remotes/origin/master' into C_keybindings 2017-09-04 13:23:55 +12:00
Jessica Syder 85eb66d508 Keybindings can be saved and loaded, and work when Jar'd!
- trying to solve jar file reading issue
- learnt a lot about jars including their lack of file structure
- changed location of keybindings settings to outside of jar
- added new folder/file that is generated on first run

#story[1197]
2017-09-04 12:30:01 +12:00
Jessica Syder cfa6fc37e0 User modified keybindings are persistently saved
- Works on windows computers
- KeyFactory processes its own XML saving/loading
- Does not work with Jar yet
- Changed keyFactory to static temporarily to work with existing FXML loading architecture

#story[1197]
2017-09-03 20:44:27 +12:00
David Wu 086206a623 Controls button in title screen now opens the key mapping menu. #story[1197] 2017-09-01 13:44:09 +12:00
Jessica Syder 2188ddc3a3 Fixed errors in making the keybinding replaceable.
- Changed KeyFactory to not be a singleton
- Simplified keyBindings initializer
- Modified and simplified keyListener
- Added method to copy existing keyState
- Changed button events
- Changed to newer lambda functions
- Modified updateKey method
- Left option for multiple keys bound to one command
- Updated and wrote new JavaDoc

#story[1197]
2017-08-31 21:59:28 +12:00
Jessica Syder ad0e26e882 Created scene to view/update current key bindings.
- Current key bindings are shown on buttons
- Added button action events to store the clicked button
- Added key press event to entire pane
- Button text is updated to display its key
- Added functionality to keyFactory to update key bindings
- CSS styling for some components

#story[1197]
2017-08-30 17:16:15 +12:00
David Wu 86f1a608e4 Created xml for tutorial that contains start and finish line. TODO: Add gate/mark. #story[1189] 2017-08-30 14:51:56 +12:00
David Wu 0621e1bdb1 Finished up lobby menu. Set split pane to not change size on resize. Disabled divider on split pane. Added quit button and start button (start only prints to terminal for now). Panes are now wrapped in an anchor pane to fix resizing issues. TODO: Will be working on making a nicer background animation. 2017-08-29 19:02:02 +12:00
David Wu 598275591f Updated javadoc. 2017-08-17 16:50:51 +12:00
David Wu 9f813ab7aa Merged in development. 2017-08-17 16:14:09 +12:00
David Wu 288979be3b Merge branch 'Development' into new_issue#19
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/RaceController.java
#	racevisionGame/src/main/java/visualiser/app/App.java
2017-08-17 16:05:59 +12:00
David Wu 09eaf6d968 Merged master. 2017-08-17 13:55:49 +12:00
David Wu c08bafa566 Fixed most of issue #19 with new master? 2017-08-17 13:49:43 +12:00
David Wu fa5992bfb2 added App app to app. 2017-08-17 12:58:05 +12:00
David Wu 6bc81f566e Issue 19 changes. 2017-08-17 12:50:41 +12:00
zwu18 109b291973 Merged issue #20 fix and splash screen into development. 2017-08-17 01:36:55 +12:00
zwu18 4e8b7d3b5a Merge remote-tracking branch 'origin/master' into issue#20fix 2017-08-17 01:30:43 +12:00
fjc40 89b0aa8b77 Implemented MessageRouter.
Added ConnectionToServerCommandFactory, and JoinSuccessfulCommand, RaceParticipantsFullCOmmand, ServerFullCommand.
Added IncomingHeartBeatCommandFactory, and IncomingHeartBeatCommand.
Added ConnectionToServerState, which represents the client's connection state to server.
Renamed VisualiserInput to VisualiserRaceController.
Added ConnectionToServer, which tracks the client's connection to server.
Added ConnectionToServerController, which accepts JoinAcceptance messages, turns them into commands, and passes them to ConnectionToServer.
Added IncomingHeartBeatService, which tracks the heart beat status of the connection.
Added IncomingHeartBeatController, which accepts HeartBeat messages, turns them into commands, and passes them to IncomingHeartBeatService.
Refactored ServerConnection a bit.
#story[1095]
2017-08-12 19:58:47 +12:00
zwu18 a31eb078a6 Created a splash screen for application. 2017-08-12 16:27:12 +12:00
fjc40 19984772c0 Merge branch 'master' into story_61
Also got client-server handshake working. Multiple clients can connect and control their own boat.
The client's boat has a larger black triangle drawn around it. Probably needs tidying up.
Added isClientBoat boolean to VisualiserBoat.

WindGenerator is now an interface, implemented by ConstantWindGenerator (useful for testing) and RandomWindGenerator. Added ConstantWindGeneratorTest.
RandomWindGenerator was formerly WindGenerator.
The WindGenerator is passed in to MockRace.

CommandFactory throws a CommandConstructionException if it cannot create a command.

MessageSerialiser and MessageDeserialiser correctly terminate on error.

Readded VisualiserInput's switch statement in the main loop, pending a refactor.

Removed the sleep statement from LobbyController - it was blocking javaFX thread.

Lobby.fxml: moved buttons and text input into grid panes, so they don't break when you resize screen.

Added some test object creation functions in several test classes (MockRaceTest.createMockRace(), BoatXMLReaderTest.createBoatDataSource(), etc...).

#story[1095]
2017-08-10 23:49:21 +12:00
fjc40 7cc39abe57 WIP. Probably need to cherry pick stuff out of here.
Added ClientConnection and server-side handshake.
Added MessageSerialiser and Deserialiser.
#story[1095]
2017-08-10 12:13:40 +12:00
fjc40 8ef906472b Renamed Heartbeat to HeartBeat.
Added HeartBeatDecoder.
Added HeartBeatEncoder.
BinaryMessageDecoder now uses HeartBeatDecoder.
MockOutput now logs a warning if a heartBeat cannot be encoded.
Added HeartBeatDecoderTest.
issue #35 #36
#story[1095]
2017-08-05 23:27:28 +12:00
David Wu f2932e8bae New branch created for development. 2017-08-01 12:29:05 +12:00
hba56 85347c169d You can now resize all windows other than the title screen
#story[1087]
2017-07-27 13:05:56 +12:00
hba56 59058da09c textfields now show better colour that contrasts more
#story[1087]
2017-07-27 12:23:21 +12:00
hba56 64b4aa539a added and option to swap between css files in the title pane
#pair[zwu18, hba56]
#story[1087]
2017-07-27 12:04:17 +12:00
zwu18 243c450790 Merged with multi visualiser branch so now multiple visualisers can connect to the same host.
#story[1087]
2017-07-26 21:08:13 +12:00
zwu18 88604df66d Merge branch 'cbt-multi-controller' into css
# Conflicts:
#	racevisionGame/src/main/java/mock/app/App.java
#	racevisionGame/src/main/java/visualiser/Controllers/ConnectionController.java
#	racevisionGame/src/main/java/visualiser/app/App.java
#	racevisionGame/src/main/java/visualiser/model/RaceConnection.java
#	racevisionGame/src/main/resources/visualiser/scenes/connect.fxml
2017-07-26 20:54:07 +12:00
zwu18 9c9b98f882 Added functionality to host game and join a game in lobby. Host name and game name are not implemented yet.
#story[1087]
2017-07-26 20:42:36 +12:00
David Wu 9159e16a21 Set up controller classes for lobby and host. Made changes to TitleController and MainController. Title screen can now enter lobby and host.
#story[1087]
2017-07-25 16:15:32 +12:00
Connor Taylor-Brown a27c16d413 Merge remote-tracking branch 'remotes/origin/Game_Controller' into cbt-multi-controller 2017-07-25 14:54:09 +12:00
Jessica McAuslin 4ba9c6b774 Added a pretty title screen to the application.
- Created a GUI title screen
- Drew images to be display on the title
- Created controller for the title
- Changed visualiser main to initially display title
- Added functionality for host button

#story[1087]
2017-07-24 17:38:46 +12:00
Fan-Wu Yang 9f99e21232 Added functionality for more than one visualiser to connect to the mock.
- more than one visualiser can now connect to the mock.
- Created class ConnectionAcceptor that will accept and allocate to each socket
- Issue of sockets connecting after the race starts then disconnecting will use a socket slot.
#story[1010]
2017-07-24 17:27:49 +12:00
hba56 1ebbb8d4c7 merged in the changes from the master branch so that latter mergers can run smoothly
#story[1087]
2017-07-24 12:05:00 +12:00
hba56 738a765a0a Merge remote-tracking branch 'remotes/origin/master' into Game_Controller 2017-07-24 11:58:01 +12:00
hba56 956ad1f59b merged in the changes from the sprint5_refactor branch
# Conflicts:
#	visualiser/src/main/java/seng302/Model/ResizableRaceMap.java
#story[1087]
2017-07-21 10:58:02 +12:00
fjc40 7d3cf6ee80 I had accidentally broken the raceXML construction - fixed it.
Fixed a few issues where boat didn't have nextMark/previousMark times under certain circumstances.
LatestMessages wasn't actually notifying properly - fixed.
The various XML readers now treat a string constructor as containing file contents, not file name - this was how it was mostly already used.
Fixed some issues in RaceXMLReader, including where element.getChildNodes() was used instead of element.getElementsByName(...).
Boat: changes speed to a doubleProperty. Changed leg to a Property<Leg>.
Race.lastFps is now an IntegerProperty.
Added breaks to the case statements in VisualiserInput. Whoops.
ResizableRaceCanvas now handles drawing the race boundary. Tidied up code a bit.
Removed ResizableRaceMap.

Started refactoring Sparkline. Currently doesn't work.
2017-07-10 08:35:43 +12:00
fjc40 abbbf70146 Refactored Race, MockRace, and VisualiserRace to use RaceClock instead of keeping their own timers.
Moved FPS tracking to Race class, so both VisualiserRace and MockRace can monitor their FPS.
LatestMessages is now observable. It notifies observers when an XMLMessage is received.
Boat now has StringProperty for name and country/abbreviation.
Moved the MockRace timescale value to Constants.RaceTimeScale. This is passed in to MockRace on construction.
Tidied up StartController.
Copied the visualiser's resources into the resources folder.
Refactored RaceClock. Added comments. Tidied code a bit. Moved to shared.model.

Started work on RaceController.
2017-07-08 23:21:29 +12:00