mirror of
				https://github.com/JohnBreaux/Boat-Battle.git
				synced 2025-02-04 12:28:35 +00:00 
			
		
		
		
	* Create game classes * Pushing what I've done of the game logic. * Commented my code Deals with ship placement on board and ship rotation on board * Comment game logic code, and edit for style. * Added Clear board button and Confirm Placement button * Fix up some stuff * Pass * I accidentally the buttons + Fix some hitbox mistakes. * Improve hitbox leniency, and don't allow ships to rotate into each other. * Fixed Dialog Box that pops up for Confirm Placement * Update Gameplay.tscn * Partial fire functionality added. Currently hides all ship placement UI and makes visible all fire functionality. The crosshair currently does not snap to a grid. The ships are saved in an area of location objects holding the length, orientation, and coordinates of the ship. * Crosshair now snaps into place * Created Sprites for 2Ship and 3ShipA * Created Sprite for Ship3B * Created Sprite for Ship4 * Created Sprite for Ship5 * Created Sprite for "Hit" * Created Sprites for Ship2 Destroyed and Ship3A Destroyed * Created Sprite for Ship3B Destroyed * Created Sprite for Ship4 Destroyed * Created Sprite for Ship5 Destroyed * Created Sprite for "Miss" * Fixed blurry pixel art Changed texture rendering * Added temporary title screen text * Major restructuring to better support object-oriented design of the main game logic and UI. This was necessary, I swear. * Accidentally offset the Setup menu by a handful of pixels. Whoops. * Setup: remove unused signal * Comment on which parts of Game are only there for testing purposes. * Fixed up the Title Screen text imported font * Fixed Crosshair pixel rendering * Consolidate backgrounds * Added more SFX sounds * Created Sprite for Light Mode * Fix null deref when entering singleplayer after exiting multiplayer * Hien's work * Revert "Hien's work" This reverts commitf099ed6c80. * Stuff * Make git happy by pushing gdengine imports * Put Background in main * Removed option background * Added Confirmation Dialog for Forfeit * Revert "Merge branch 'game-logic' of https://github.com/StatewideInk/Group12 into game-logic" This reverts commit104ffaab0a, reversing changes made to63dec75688. * Fix title screen never going (whoops * Oops I made the background invisible * removed option background again * Added dark/light mode functionality * Added signal for audio SFX * Load the theme on startup * Added Confirmation dialog for Forfeit * Fixed Texture Rendering for Light Mode Background * Sounds no longer scale linearly * Remove unused resourse main.tres * Added victory screen Added a victory screen. Since there is no current way to win, there is a 'win' button added to the top left of the game screen. Once clicked, victory text will appear and the player will be given the option to return to the main menu. * restart button is invisible Co-authored-by: John Breaux <JohnBreaux@my.unt.edu> Co-authored-by: JohnBreaux <89870642+JohnBreaux@users.noreply.github.com> Co-authored-by: hpham474 <HienPham@my.unt.edu> Co-authored-by: Chance Atkinson <chancewatkinson@gmail.com>
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
| extends Node
 | |
| 
 | |
| # signals
 | |
| # Subscribe to these if you want to be notified about changes to the volume
 | |
| signal change_theme (theme)
 | |
| 
 | |
| # Option variables
 | |
| var f = File.new()
 | |
| var options_file = "user://options.save"
 | |
| var theme = "dark"
 | |
| var mas_vol = linear2db(1)
 | |
| var mus_vol = linear2db(1)
 | |
| var sfx_vol = linear2db(1)
 | |
| 
 | |
| func _ready():
 | |
| 	load_options()
 | |
| 
 | |
| # Setters
 | |
| func set_theme(theme_name):
 | |
| 	match theme_name:
 | |
| 		"dark","light":
 | |
| 			theme = String(theme_name)
 | |
| 			save_options()
 | |
| 			emit_signal("change_theme", theme)
 | |
| 	save_options()
 | |
| 	
 | |
| func set_vol(volume, type):
 | |
| 	if type == "mas_vol":
 | |
| 		mas_vol = volume
 | |
| 		AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), mas_vol)
 | |
| 	elif type == "mus_vol":
 | |
| 		mus_vol = volume
 | |
| 		AudioServer.set_bus_volume_db(AudioServer.get_bus_index("BGM"), mus_vol)
 | |
| 	elif type == "sfx_vol":
 | |
| 		sfx_vol = volume
 | |
| 		AudioServer.set_bus_volume_db(AudioServer.get_bus_index("SFX"), sfx_vol)
 | |
| 	save_options()
 | |
| 	
 | |
| #func set_mas_vol(volume):
 | |
| #	mas_vol = volume
 | |
| #	AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), mas_vol)
 | |
| #func set_mus_vol(volume):
 | |
| #	mus_vol = volume
 | |
| #	AudioServer.set_bus_volume_db(AudioServer.get_bus_index("BGM"), mus_vol)
 | |
| #func set_sfx_vol(volume):
 | |
| #	sfx_vol = volume
 | |
| #	AudioServer.set_bus_volume_db(AudioServer.get_bus_index("SFX"), sfx_vol)
 | |
| 
 | |
| #Option Save File
 | |
| func save_options():
 | |
| 	f.open(options_file, File.WRITE)
 | |
| 	f.store_var(theme)
 | |
| 	f.store_var(mas_vol)
 | |
| 	f.store_var(mus_vol)
 | |
| 	f.store_var(sfx_vol)
 | |
| 	f.close()
 | |
| func load_options():
 | |
| 	if f.file_exists(options_file):
 | |
| 		f.open(options_file, File.READ)
 | |
| 		theme = f.get_var()
 | |
| 		mas_vol = f.get_var()
 | |
| 		mus_vol = f.get_var()
 | |
| 		sfx_vol = f.get_var()
 | |
| 		f.close()
 | |
| 		AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), mas_vol)
 | |
| 		AudioServer.set_bus_volume_db(AudioServer.get_bus_index("BGM"), mus_vol)
 | |
| 		AudioServer.set_bus_volume_db(AudioServer.get_bus_index("SFX"), sfx_vol)
 | |
| 
 | |
| # Getters
 | |
| func get_theme():
 | |
| 	return theme
 | |
| func get_mas_volume():
 | |
| 	return mas_vol
 | |
| func get_mus_volume():
 | |
| 	return mus_vol
 | |
| func get_sfx_volume():
 | |
| 	return sfx_vol
 |