Commit Graph
154 Commits
Author SHA1 Message Date
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
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
fjc40 e3cbb6d482 Start game button actually starts the game. 2017-09-03 16:39:59 +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 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
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
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
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
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
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 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
Connor Taylor-Brown e7164d8a78 View3D perspective camera is now operational
#story[1196]
2017-08-30 13:57:15 +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
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
David Wu 892320db5f Added javadoc and extra files to push 2017-08-29 19:03:34 +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 c63403d1de Created new lobby menu. Working on animated background for menu. 2017-08-29 15:11:09 +12:00
cbt24 1b1b0a4591 Added floating test cube in title screen initialiser
#story[1191]
2017-08-29 14:38:27 +12:00
fjc40 eb980c436e Wind arrow now points in the direction the wind is blowing, as per P.O feedback (again....). 2017-08-18 22:58:47 +12:00
fjc40 a9fde95b39 Updated maven version to 2.0.
Added a dedicatedServer module.
Removed Visualiser module.
Removed mock module.
Removed network module.
Fixed weird exception non-handling that appeared for some reason.
2017-08-18 22:55:50 +12:00
David Wu 37095bfc6c Merged master into branch. 2017-08-17 17:02:24 +12:00
David Wu 5234cdea66 Merge branch 'master' into new_issue#19
# Conflicts:
#	racevisionGame/src/main/java/visualiser/Controllers/TitleController.java
2017-08-17 17:00:39 +12:00
David Wu 598275591f Updated javadoc. 2017-08-17 16:50:51 +12:00
David Wu 79add59375 Unresizable control screen. 2017-08-17 16:37:31 +12:00
David Wu f1ef75fb81 Merge branch 'master' into new_issue#19 2017-08-17 16:34:19 +12:00
David Wu 03dd937713 Change fxml stuff. Added back to menu buttons. 2017-08-17 16:33:52 +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
Joseph Gardner d41e52766b Merge branch 'master' into story_64_sails
# Conflicts:
#	racevisionGame/src/main/java/mock/model/MockRace.java
#	racevisionGame/src/main/java/visualiser/Controllers/ConnectionController.java
#	racevisionGame/src/main/java/visualiser/model/VisualiserBoat.java
2017-08-17 16:04:53 +12:00
David Wu 5a188f0582 Merge branch 'master' into new_issue#19 2017-08-17 13:52:04 +12:00
Joseph Gardner 610aa96241 Merge branch 'MapWindRotation' into 'master'
Map wind rotation

Note: we'd like to generate a realistic course layout, that can vary from race to race (but not within a race, for now.) The generated layout must be sent through the API in the format given by the race.xml section of the AC35 Streaming Data Interface Specification. The AC35 Protocol (sections 31.4 and 31.5) specifies the requirements for a course:

*    First leg of the course (from start line to first mark) must be a reaching leg
*    Next legs are windward/leeward, and boats complete either two or three laps of this section
*    Final leg to finish line may be a reaching leg
*    A boat should take around 25 minutes to complete the course in the wind conditions at the start of the race (AC35 protocol, section 31.5)

You should assume that the windward/leeward marks and start/finish lines are always compounds of two marks.

Acceptance criteria:

 *   The layout must be sent over the API in a race.xml message, plus boat location messages for the marks as required, before any other boat location messages are sent.
 *   Each mark must be defined using boat "SourceID"s (see definition of race.xml) so their positions can be adjusted later.
 *   The course must meet the requirements given in the AC35 Protocol.
 *   The course limits should be set to clear all marks by at least several boat-lengths.
 *   The entire race area within the limits must be on the water.

See merge request !22
2017-08-17 13:50:21 +12:00
Hamish Ball 2edb6b5249 Merge branch 'issue#40' into 'master'
Issue#40



See merge request !30
2017-08-17 13:49:58 +12:00
David Wu c08bafa566 Fixed most of issue #19 with new master? 2017-08-17 13:49:43 +12:00
hba56 02ab0e8a00 added javadoc 2017-08-17 13:16:47 +12:00
hba56 3cf50c56f8 added a refresh for the info table so no new values are shown when the game is in full screen 2017-08-17 13:15:33 +12:00
Fan-Wu Yang 7546c65893 Merge branch 'master' into MapWindRotation
# Conflicts:
#	racevisionGame/src/main/java/shared/model/CompoundMark.java
#	racevisionGame/src/main/java/shared/model/Mark.java
2017-08-17 12:59:54 +12:00
Joseph Gardner 20c9870fea Merge branch 'master' into story_64_sails
# Conflicts:
#	racevisionGame/src/main/java/shared/model/Boat.java
#	racevisionGame/src/main/java/visualiser/Commands/VisualiserRaceCommands/BoatLocationCommand.java
2017-08-17 12:59:25 +12:00
David Wu 6bc81f566e Issue 19 changes. 2017-08-17 12:50:41 +12:00
hwball df2b674b94 update scale for table displaying 2017-08-17 11:51:33 +12:00