Commit Graph
1178 Commits
Author SHA1 Message Date
fjc40 dd1cb89b66 Merge remote-tracking branch 'origin/master' into 77_racexml_updates 2017-09-04 11:28:21 +12:00
Connor Taylor-Brown 0ee448e17d Created wrapper for controlling the position and heading of rendered 3D models.
- Updated View3D to use Subject3D wrappers instead of Shape3D
- Fixed HostController for the new architecture
- Made position and heading observable in VisualiserBoat
- Attached listeners to each VisualiserBoat in RaceController

#story[1261]
2017-09-04 01:27:29 +12:00
Connor Taylor-Brown 368bb8ddb3 Changed reporting plugin settings and specified central repository 2017-09-03 23:35:18 +12:00
zwu18 cd685ae467 Added sound effect files for button clicks and mark rounding and linked them up to application. Collision audio is added too but not linked up. #story[1195] 2017-09-03 21:22:26 +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
Fraser Cope df03cc5a66 Merge branch 'story86-3D' into 'master'
Story86 3D

Provide a 3D view for the lobby to view boats.

Acceptance Criteria:
- Mesh is loaded from file and is displayed rotating at a reasonable turn rate.
- 3D view can be used as a JavaFX node with no coupling to model.

See merge request !33
2017-09-03 17:10:14 +12:00
fjc40 e3cbb6d482 Start game button actually starts the game. 2017-09-03 16:39:59 +12:00
fjc40 ac891fa91c Fixed tests. 2017-09-02 01:03:47 +12:00
fjc40 16bf57e333 javadoc fixes. 2017-09-02 00:45:08 +12:00
fjc40 8c76d6c26e Added boats.xml schema.
RaceServer now creates an XMLMessage when the race's BoatDataSource changes.
#story[1188]
2017-09-02 00:34:41 +12:00
fjc40 298fcd03dc Added regatta schema.
RaceServer now creates an XMLMessage when the race's RegattaDataSource changes.
#story[1188]
2017-09-02 00:33:09 +12:00
fjc40 ec58f0c847 Participants can now join during the warning period as well.
Added RaceDataSourceToXML.
RaceServer now create an XMLMessage when the race's RaceDataSource changes.
#story[1188]
2017-09-02 00:27:44 +12:00
Fan-Wu Yang 34cfe48df0 Got VMG quad detection working, however, the speeds are completley wrong. #story[1186] 2017-09-01 20:30:28 +12:00
David Wu abf325e5ea Passing a mark will now play a sound. Currently using placeholder sound so will ned to change. #story[1195] 2017-09-01 19:30:27 +12:00
hba56 66699a4660 Added a draft for a new Course layout
#story[1193]
2017-09-01 14:31:01 +12:00
Jessica Syder 3fdfbd83e0 User can save, reset or cancel.
- Created a notification popups for errors
- Added functionality to save, cancel and reset buttons
- Key bindings are only saved if they're valid
- Added window close event
- Can not exit without saving correctly
- CSS to cancel, save and reset buttons to differentiate between key buttons
- Javadocd

#story[1197]
2017-09-01 14:29:18 +12:00
David Wu c3be9665ac Added button press sounds for hosting a game, entering lobby list and entering host menu. #story[1195] 2017-09-01 14:10:01 +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
David Wu 65b960f725 Background of title now changes colour depending on day mode and night mode. Sun image also changes. This is so that the tutorial label is more visible during night mode. #story[1189] 2017-09-01 13:28:05 +12:00
hba56 ec5bc9c6aa Wind now will occasionally back and veer (in some games, takes ~20min for full 180 degree rotation)
#story[1188]
2017-09-01 13:19:59 +12:00
David Wu ea029baf22 Tutorial option in title screen will now created a game with tutorial xmls. Host game will now created a game with the race xml instead of tutorial xml as well. Made changes to tutorial label in title. #story[1189] 2017-09-01 12:28:09 +12:00
fjc40 9156bde8af Moved XML message creation to RaceServer instead of ConnectionAcceptor.
RaceServer does not currently generate new XMLMessages - NYI.
Added a sequence number to RaceDataSource - this is used to indicate that the data source has been modified.
#story[1188]
2017-09-01 01:19:17 +12:00
fjc40 d0eebcdb2f SourceIdAllocator now allocates from the BoatDataSource and RaceDataSource exposed by MockRace, instead of having its own source IDs. Can only allocate ids during PRESTART period.
RaceLogic now calls MockRace.initialiseBoats() after the prestart period has finished.
MockRace create a VisualiserBoat when a source ID is allocated.
MockOutput now sends updated XML messages during the race, instead of only at the start.
#story[1188]
2017-09-01 01:14:43 +12:00
Jessica Syder 716a99aac7 Reset to default button is now functional.
- keybindings are reset to built in default
- the table is cleared and reloaded

#story[1197]
2017-08-31 22:58:35 +12:00
Jessica Syder 3e720a9e16 Modified key bindings can be saved to use in a race.
- new key bindings replace old new bindings on save
- javadoc save method and small updates

#story[1197]
2017-08-31 22:47:57 +12:00
Jessica Syder 278fb65852 Pressing ESC cancels the selected command's key from being replaced
- focus is shifted away on esc
- focus is shifted away after successful change

#story[1197]
2017-08-31 22:39:19 +12:00
Jessica Syder ce47b0d813 When a new key is bound other commands bound to this key are removed
- On binding new key existing keys are searched
- If key is in use the old one is removed
- ControlKey is updated with a placeholder key value

#story[1197]
2017-08-31 22:28:55 +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
fjc40 3176e76c8c MockRace:
Now uses RaceState as its base class, rather than Race. This aligns it with VisualiserRace. RaceState contains the shared race state between the client and server, and stores most of its data in RaceDataSource etc..., instead of maintaining its own copy.
Moved collider registry member to MockRace.

XMLUtilities:
Added documentation to two important functions, and updated them to use generics instead of Objects.
#story[1188]
2017-08-31 21:06:13 +12:00
zwu18 c7af4f2eb7 Made changes to tutorial xmls. Linked button in title menu to start up a race on mouse click. Will need to make it so it starts the tutorial on click. #story[1189] 2017-08-31 19:54:22 +12:00
Fan-Wu Yang 9a5d20bdf2 Added new polar function, currently it does not distinguish between up wind and downwind and doesn't find it in the correct quadrant #story[1186] 2017-08-31 17:39:17 +12:00
Jessica Syder 8250226bde Key bindings can be updated with any key.
- Changed key press from FXML key event to a listener
- UP, DOWN, ENTER keys now work
- Keys no longer change cells or press buttons
- Added placeholder buttons Cancel, Reset and Save
- Added some JavaDoc

#story[1197]
2017-08-31 15:00:37 +12:00
Joseph 0de7780020 Changed wind speed to be non-linear. #story[1187] 2017-08-31 12:26:30 +12:00
Connor Taylor-Brown 3cc806dc45 Returned rotation to boat in lobby
#story[1196]
2017-08-31 01:06:33 +12:00
Connor Taylor-Brown fb7bf572d8 Changed View3D add-remove interface to an ObservableList
#story[1196]
2017-08-31 00:59:36 +12:00
Connor Taylor-Brown b6e56d815c ResizableRaceCanvas no longer depends on VisualiserRaceEvent
#story[1196]
2017-08-30 18:52:29 +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
Connor Taylor-Brown c2fd5c9bae Changed box to boat mesh
- Mesh needs to be rotated -90 degrees on X
- STL file has been added to assets

#story[1196]
2017-08-30 15:49:20 +12:00
Connor Taylor-Brown cc66d63096 Removed unused shapes list from View3D
#story[1196]
2017-08-30 15:18:08 +12:00
Connor Taylor-Brown bb7eb7cb44 Added adapter interface for PerspectiveCamera frustum and transformations in View3D.
- Tested interface while initialising HostController

#story[1196]
2017-08-30 15:05:08 +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
Connor Taylor-Brown e04f199fc7 Merge branch 'story86-3D' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into story86-3D 2017-08-30 13:57:35 +12:00
Connor Taylor-Brown e7164d8a78 View3D perspective camera is now operational
#story[1196]
2017-08-30 13:57:15 +12:00
Fan-Wu Yang 4910d2712c Changed STL Importers Version #story[1191] 2017-08-30 13:56:57 +12:00
David Wu 23d58dc809 Created UI option in the start menu to play a practice game. #story[1189] 2017-08-30 13:26:18 +12:00
Fan-Wu Yang 921e0999b8 Testing if dependency for stl works this time #story[1191] 2017-08-30 13:01:37 +12:00
Fan-Wu Yang 0927e62ea3 Changed dependency to see if it will pass the CI runner #story[1191] 2017-08-30 12:46:05 +12:00
Connor Taylor-Brown cf838f2072 Added View3D control for rendering 3D shapes under a PerspectiveCamera, which is not currently working.
#story[1196]
2017-08-30 01:30:05 +12:00
Connor Taylor-Brown d630788a14 Merge remote-tracking branch 'remotes/origin/story77_lobby' into story86-3D 2017-08-29 22:55:07 +12:00
Fan-Wu Yang 43ec179d79 Merge branch 'story86-3D' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into story86-3D 2017-08-29 20:36:15 +12:00