diff --git a/Game/project.godot b/Game/project.godot index 390d261..0280370 100644 --- a/Game/project.godot +++ b/Game/project.godot @@ -84,6 +84,11 @@ input_shoot={ "events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null) ] } +esc={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"unicode":0,"echo":false,"script":null) + ] +} [physics] diff --git a/Game/source/assets/scripts/server_handlers/global.gd b/Game/source/assets/scripts/server_handlers/global.gd index 0c2f85d..9a35339 100644 --- a/Game/source/assets/scripts/server_handlers/global.gd +++ b/Game/source/assets/scripts/server_handlers/global.gd @@ -4,11 +4,13 @@ var player_master = null var ui = null var alive_players = [] + func instance_node_at_location(node: Object, parent: Object, location: Vector2) -> Object: var node_instance = instance_node(node, parent) node_instance.global_position = location return node_instance + func instance_node(node: Object, parent: Object) -> Object: var node_instance = node.instance() parent.add_child(node_instance) diff --git a/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd b/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd index 209e26e..310d81e 100644 --- a/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd +++ b/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd @@ -2,17 +2,26 @@ extends Control var player = load("res://source/entities/player/player_node.tscn") -var min_players = 1 var current_spawn_location_instance_number = 1 var current_player_for_spawn_location_number = null +var mode onready var multiplayer_config_ui = $multiplayer_configure -onready var username_text_edit = $multiplayer_configure/username_text_edit +onready var username_text_edit = $multiplayer_configure/username/username_text_edit +onready var username = $multiplayer_configure/username + onready var device_ip_address = $UI/device_ip_address onready var start_game = $UI/start_game +onready var background_lobby = $background_lobby +onready var text = $UI/text -func _ready(): +func _ready() -> void: + username.hide() + background_lobby.hide() + device_ip_address.hide() + text.hide() + get_tree().connect("network_peer_connected", self, "_player_connected") get_tree().connect("network_peer_disconnected", self, "_player_disconnected") get_tree().connect("connected_to_server", self, "_connected_to_server") @@ -21,7 +30,9 @@ func _ready(): if get_tree().network_peer != null: multiplayer_config_ui.hide() - + background_lobby.show() + device_ip_address.show() + text.show() current_spawn_location_instance_number = 1 for player in PersistentNodes.get_children(): if player.is_in_group("Player"): @@ -35,9 +46,9 @@ func _ready(): start_game.hide() -func _process(delta: float) -> void: +func _process(_delta: float) -> void: if get_tree().network_peer != null: - if get_tree().get_network_connected_peers().size() >= (min_players - 1) and get_tree().is_network_server(): + if get_tree().get_network_connected_peers().size() >= 0 and get_tree().is_network_server(): start_game.show() else: start_game.hide() @@ -50,28 +61,28 @@ func _player_connected(id) -> void: func _player_disconnected(id) -> void: print("Player " + str(id) + " has disconnected") + if PersistentNodes.has_node(str(id)): PersistentNodes.get_node(str(id)).username_text_instance.queue_free() PersistentNodes.get_node(str(id)).queue_free() - func _on_create_server_pressed(): - if username_text_edit.text != "": - Network.current_player_username = username_text_edit.text - multiplayer_config_ui.hide() - Network.create_server() - instance_player(get_tree().get_network_unique_id()) + username.show() + username_text_edit.call_deferred("grab_focus") + mode = "create" func _on_join_server_pressed(): - if username_text_edit.text != "": - multiplayer_config_ui.hide() - username_text_edit.hide() - Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_browser.tscn"), self) + username.show() + username_text_edit.call_deferred("grab_focus") + mode = "join" func _connected_to_server() -> void: yield(get_tree().create_timer(0.1), "timeout") + device_ip_address.show() + background_lobby.show() + text.show() instance_player(get_tree().get_network_unique_id()) @@ -92,4 +103,26 @@ sync func switch_to_game() -> void: if child.is_in_group("Player"): child.update_shoot_mode(true) - get_tree().change_scene("res://source/levels/trinity_site/trinity_site_level.tscn") + get_tree().change_scene("res://source/levels/trinity_site/trinity_site_level.tscn") + + +func _on_confirm_pressed(): + if mode == "create": + if username_text_edit.text != "": + Network.current_player_username = username_text_edit.text + multiplayer_config_ui.hide() + device_ip_address.show() + background_lobby.show() + text.show() + Network.create_server() + instance_player(get_tree().get_network_unique_id()) + elif mode == "join": + if username_text_edit.text != "": + multiplayer_config_ui.hide() + #username_text_edit.hide() + Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_browser.tscn"), self) + + +func _on_return_pressed(): + get_tree().change_scene("res://source/scenes/GUI/main_menu.tscn") + diff --git a/Game/source/assets/scripts/server_handlers/server_processors/server_browser.gd b/Game/source/assets/scripts/server_handlers/server_processors/server_browser.gd index 958e832..1381d1b 100644 --- a/Game/source/assets/scripts/server_handlers/server_processors/server_browser.gd +++ b/Game/source/assets/scripts/server_handlers/server_processors/server_browser.gd @@ -2,13 +2,19 @@ extends Control onready var server_listener = $server_listener onready var server_ip_text_edit = $background_panel/server_ip_text_edit -onready var server_container = $background_panel/VBoxContainer -onready var manual_setup_button = $background_panel/manual_setup +onready var server_container = $controls/background_panel/VBoxContainer +onready var manual_setup_button = $controls/manual_setup/Label +onready var background_panel = $background_panel func _ready() -> void: - server_ip_text_edit.hide() - + background_panel.hide() + + +func _process(delta): + if Input.is_action_just_pressed("esc") and background_panel.is_visible_in_tree(): + background_panel.hide() + func _on_server_listener_new_server(serverInfo): var server_node = Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_display.tscn"), server_container) @@ -25,16 +31,8 @@ func _on_server_listener_remove_server(serverIp): func _on_manual_setup_pressed(): - if manual_setup_button.text != "Exit setup": - server_ip_text_edit.show() - manual_setup_button.text = "Exit setup" - server_container.hide() - server_ip_text_edit.call_deferred("grab_focus") - else: - server_ip_text_edit.text = "" - server_ip_text_edit.hide() - manual_setup_button.text = "Manual setup" - server_container.show() + background_panel.show() + server_ip_text_edit.call_deferred("grab_focus") func _on_join_server_pressed(): @@ -44,5 +42,5 @@ func _on_join_server_pressed(): Network.join_server() -func _on_go_back_pressed(): +func _on_return_pressed(): get_tree().reload_current_scene() diff --git a/Game/source/assets/scripts/server_handlers/server_processors/server_display.gd b/Game/source/assets/scripts/server_handlers/server_processors/server_display.gd index ad0ed27..eeb0638 100644 --- a/Game/source/assets/scripts/server_handlers/server_processors/server_display.gd +++ b/Game/source/assets/scripts/server_handlers/server_processors/server_display.gd @@ -6,4 +6,4 @@ var ip_address = "" func _on_join_button_pressed(): Network.ip_address = ip_address Network.join_server() - get_parent().get_parent().queue_free() + get_parent().get_parent().get_parent().get_parent().queue_free() diff --git a/Game/source/assets/scripts/ui_element_handlers/main_menu.gd b/Game/source/assets/scripts/ui_element_handlers/main_menu.gd new file mode 100644 index 0000000..a291c16 --- /dev/null +++ b/Game/source/assets/scripts/ui_element_handlers/main_menu.gd @@ -0,0 +1,13 @@ +extends Control + + +func _on_play_pressed(): + get_tree().change_scene("res://source/levels/trinity_site/trinity_site_level.tscn") + + +func _on_LAN_party_pressed(): + get_tree().change_scene("res://source/scenes/GUI/network_setup.tscn") + + +func _on_exit_pressed(): + get_tree().quit() diff --git a/Game/source/assets/scripts/ui_element_handlers/winner.gd b/Game/source/assets/scripts/ui_element_handlers/winner.gd index 8470d75..cfdbf47 100644 --- a/Game/source/assets/scripts/ui_element_handlers/winner.gd +++ b/Game/source/assets/scripts/ui_element_handlers/winner.gd @@ -1,7 +1,7 @@ extends Label sync func return_to_lobby(): - get_tree().change_scene("res://source/scenes/GUI/main_menu.tscn") + get_tree().change_scene("res://source/scenes/GUI/network_setup.tscn") func _on_win_timer_timeout(): diff --git a/Game/source/assets/sprites/GUI/background_lobby.svg b/Game/source/assets/sprites/GUI/background_lobby.svg new file mode 100644 index 0000000..3d1f917 --- /dev/null +++ b/Game/source/assets/sprites/GUI/background_lobby.svg @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/background_lobby.svg.import b/Game/source/assets/sprites/GUI/background_lobby.svg.import new file mode 100644 index 0000000..73182fa --- /dev/null +++ b/Game/source/assets/sprites/GUI/background_lobby.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/background_lobby.svg-06ea140a84b3f56c75ad6759c82baa30.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/background_lobby.svg" +dest_files=[ "res://.import/background_lobby.svg-06ea140a84b3f56c75ad6759c82baa30.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/background_main_menu.svg b/Game/source/assets/sprites/GUI/background_main_menu.svg new file mode 100644 index 0000000..4feeb6d --- /dev/null +++ b/Game/source/assets/sprites/GUI/background_main_menu.svg @@ -0,0 +1,1729 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/background_main_menu.svg.import b/Game/source/assets/sprites/GUI/background_main_menu.svg.import new file mode 100644 index 0000000..a59de46 --- /dev/null +++ b/Game/source/assets/sprites/GUI/background_main_menu.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/background_main_menu.svg-5f46fc4238a42907deac7eba838ce736.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/background_main_menu.svg" +dest_files=[ "res://.import/background_main_menu.svg-5f46fc4238a42907deac7eba838ce736.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/background_server.svg b/Game/source/assets/sprites/GUI/background_server.svg new file mode 100644 index 0000000..1f71d2d --- /dev/null +++ b/Game/source/assets/sprites/GUI/background_server.svg @@ -0,0 +1,1246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/background_server.svg.import b/Game/source/assets/sprites/GUI/background_server.svg.import new file mode 100644 index 0000000..d6dbd1e --- /dev/null +++ b/Game/source/assets/sprites/GUI/background_server.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/background_server.svg-13dbbcdecf9445c672c8dcdfde37ed7d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/background_server.svg" +dest_files=[ "res://.import/background_server.svg-13dbbcdecf9445c672c8dcdfde37ed7d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/button.svg b/Game/source/assets/sprites/GUI/button.svg new file mode 100644 index 0000000..e172409 --- /dev/null +++ b/Game/source/assets/sprites/GUI/button.svg @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/button.svg.import b/Game/source/assets/sprites/GUI/button.svg.import new file mode 100644 index 0000000..7cee9fb --- /dev/null +++ b/Game/source/assets/sprites/GUI/button.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/button.svg-cac9640e5d782b30cde0a13413acff96.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/button.svg" +dest_files=[ "res://.import/button.svg-cac9640e5d782b30cde0a13413acff96.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/button_disabled.svg b/Game/source/assets/sprites/GUI/button_disabled.svg new file mode 100644 index 0000000..c9c3a03 --- /dev/null +++ b/Game/source/assets/sprites/GUI/button_disabled.svg @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/button_disabled.svg.import b/Game/source/assets/sprites/GUI/button_disabled.svg.import new file mode 100644 index 0000000..63b0f84 --- /dev/null +++ b/Game/source/assets/sprites/GUI/button_disabled.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/button_disabled.svg-1645aa2c3b02b1298d50c2efbbc961a4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/button_disabled.svg" +dest_files=[ "res://.import/button_disabled.svg-1645aa2c3b02b1298d50c2efbbc961a4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/button_hover.svg b/Game/source/assets/sprites/GUI/button_hover.svg new file mode 100644 index 0000000..27ee226 --- /dev/null +++ b/Game/source/assets/sprites/GUI/button_hover.svg @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/button_hover.svg.import b/Game/source/assets/sprites/GUI/button_hover.svg.import new file mode 100644 index 0000000..609d23f --- /dev/null +++ b/Game/source/assets/sprites/GUI/button_hover.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/button_hover.svg-1c62b1c693b43d087bdbc7254293a530.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/button_hover.svg" +dest_files=[ "res://.import/button_hover.svg-1c62b1c693b43d087bdbc7254293a530.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/button_play.svg.import b/Game/source/assets/sprites/GUI/button_play.svg.import new file mode 100644 index 0000000..a78de4f --- /dev/null +++ b/Game/source/assets/sprites/GUI/button_play.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/button_play.svg-0d959369142cf9c05ba8de57072ee80c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/button_play.svg" +dest_files=[ "res://.import/button_play.svg-0d959369142cf9c05ba8de57072ee80c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/button_pressed.svg b/Game/source/assets/sprites/GUI/button_pressed.svg new file mode 100644 index 0000000..91e107c --- /dev/null +++ b/Game/source/assets/sprites/GUI/button_pressed.svg @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/button_pressed.svg.import b/Game/source/assets/sprites/GUI/button_pressed.svg.import new file mode 100644 index 0000000..83344a2 --- /dev/null +++ b/Game/source/assets/sprites/GUI/button_pressed.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/button_pressed.svg-06daadad8f5649869eff21b5223e29af.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/button_pressed.svg" +dest_files=[ "res://.import/button_pressed.svg-06daadad8f5649869eff21b5223e29af.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/floor.svg b/Game/source/assets/sprites/GUI/floor.svg new file mode 100644 index 0000000..73fb773 --- /dev/null +++ b/Game/source/assets/sprites/GUI/floor.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + diff --git a/Game/source/sprites/floor.svg.import b/Game/source/assets/sprites/GUI/floor.svg.import similarity index 70% rename from Game/source/sprites/floor.svg.import rename to Game/source/assets/sprites/GUI/floor.svg.import index 3f37db6..055ca85 100644 --- a/Game/source/sprites/floor.svg.import +++ b/Game/source/assets/sprites/GUI/floor.svg.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/floor.svg-86da9fb94a8a492527a026759e2d9055.stex" +path="res://.import/floor.svg-b79f442e9ead427c03573eb4e5401ea6.stex" metadata={ "vram_texture": false } [deps] -source_file="res://source/sprites/floor.svg" -dest_files=[ "res://.import/floor.svg-86da9fb94a8a492527a026759e2d9055.stex" ] +source_file="res://source/assets/sprites/GUI/floor.svg" +dest_files=[ "res://.import/floor.svg-b79f442e9ead427c03573eb4e5401ea6.stex" ] [params] diff --git a/Game/source/assets/sprites/GUI/lan_logo.svg b/Game/source/assets/sprites/GUI/lan_logo.svg new file mode 100644 index 0000000..35b32f5 --- /dev/null +++ b/Game/source/assets/sprites/GUI/lan_logo.svg @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/lan_logo.svg.import b/Game/source/assets/sprites/GUI/lan_logo.svg.import new file mode 100644 index 0000000..ee4b403 --- /dev/null +++ b/Game/source/assets/sprites/GUI/lan_logo.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/lan_logo.svg-b439fc221992a07305499b467dc9b69c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/lan_logo.svg" +dest_files=[ "res://.import/lan_logo.svg-b439fc221992a07305499b467dc9b69c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/GUI/server_title.svg b/Game/source/assets/sprites/GUI/server_title.svg new file mode 100644 index 0000000..b7b0ce6 --- /dev/null +++ b/Game/source/assets/sprites/GUI/server_title.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/GUI/server_title.svg.import b/Game/source/assets/sprites/GUI/server_title.svg.import new file mode 100644 index 0000000..83de574 --- /dev/null +++ b/Game/source/assets/sprites/GUI/server_title.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/server_title.svg-2897adf4d416843a712ca1520c8afe70.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/GUI/server_title.svg" +dest_files=[ "res://.import/server_title.svg-2897adf4d416843a712ca1520c8afe70.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/assets/sprites/character/menu_player/tank.svg b/Game/source/assets/sprites/character/menu_player/tank.svg new file mode 100644 index 0000000..d8b61c1 --- /dev/null +++ b/Game/source/assets/sprites/character/menu_player/tank.svg @@ -0,0 +1,826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Game/source/assets/sprites/character/menu_player/tank.svg.import b/Game/source/assets/sprites/character/menu_player/tank.svg.import new file mode 100644 index 0000000..0cef778 --- /dev/null +++ b/Game/source/assets/sprites/character/menu_player/tank.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tank.svg-dd75a0a35b6e8c0b4f9010a769c83637.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://source/assets/sprites/character/menu_player/tank.svg" +dest_files=[ "res://.import/tank.svg-dd75a0a35b6e8c0b4f9010a769c83637.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Game/source/entities/grass/grass_node.tscn b/Game/source/entities/grass/grass_node.tscn index e7d3d3b..28b8ec8 100644 --- a/Game/source/entities/grass/grass_node.tscn +++ b/Game/source/entities/grass/grass_node.tscn @@ -54,15 +54,15 @@ animations = [ { "name": "idle_down", "speed": 12.0 }, { -"frames": [ ExtResource( 38 ), ExtResource( 35 ), ExtResource( 41 ), ExtResource( 37 ), ExtResource( 19 ), ExtResource( 18 ), ExtResource( 40 ) ], -"loop": false, -"name": "transition_up", -"speed": 24.0 -}, { "frames": [ ExtResource( 17 ), ExtResource( 34 ), ExtResource( 28 ), ExtResource( 26 ), ExtResource( 24 ), ExtResource( 27 ), ExtResource( 36 ) ], "loop": false, "name": "transition_down", "speed": 24.0 +}, { +"frames": [ ExtResource( 38 ), ExtResource( 35 ), ExtResource( 41 ), ExtResource( 37 ), ExtResource( 19 ), ExtResource( 18 ), ExtResource( 40 ) ], +"loop": false, +"name": "transition_up", +"speed": 24.0 } ] [sub_resource type="RectangleShape2D" id=2] @@ -76,11 +76,10 @@ position = Vector2( -3.36365, 0 ) scale = Vector2( 0.75, 0.75 ) frames = SubResource( 1 ) animation = "idle" -frame = 7 +frame = 2 playing = true [node name="trinity_site_level_layout-level_design_z-index_0_grass_type-2" type="Sprite" parent="."] -visible = false [node name="grass_node" type="Node2D" parent="."] diff --git a/Game/source/entities/menu_player/player_node.tscn b/Game/source/entities/menu_player/player_node.tscn new file mode 100644 index 0000000..1887611 --- /dev/null +++ b/Game/source/entities/menu_player/player_node.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://source/assets/sprites/character/menu_player/tank.svg" type="Texture" id=1] + +[sub_resource type="CircleShape2D" id=1] +radius = 76.0267 + +[node name="player" type="KinematicBody2D"] + +[node name="player_collider" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) + +[node name="player_sprite" type="Sprite" parent="."] +position = Vector2( 0.561218, -8.41847 ) +texture = ExtResource( 1 ) diff --git a/Game/source/entities/player/shooting_point.gd b/Game/source/entities/player/shooting_point.gd deleted file mode 100644 index ba915cc..0000000 --- a/Game/source/entities/player/shooting_point.gd +++ /dev/null @@ -1,5 +0,0 @@ -extends Position2D - - -func _process(delta): - look_at(get_global_mouse_position()) diff --git a/Game/source/fonts/oxygen/Oxygen-Bold.ttf b/Game/source/fonts/oxygen/Oxygen-Bold.ttf new file mode 100644 index 0000000..8a3d389 Binary files /dev/null and b/Game/source/fonts/oxygen/Oxygen-Bold.ttf differ diff --git a/Game/source/fonts/oxygen/Oxygen-Light.ttf b/Game/source/fonts/oxygen/Oxygen-Light.ttf new file mode 100644 index 0000000..f0236d9 Binary files /dev/null and b/Game/source/fonts/oxygen/Oxygen-Light.ttf differ diff --git a/Game/source/fonts/oxygen/Oxygen-Regular.ttf b/Game/source/fonts/oxygen/Oxygen-Regular.ttf new file mode 100644 index 0000000..416f8e6 Binary files /dev/null and b/Game/source/fonts/oxygen/Oxygen-Regular.ttf differ diff --git a/Game/source/fonts/oxygen/oxygen_bold.tres b/Game/source/fonts/oxygen/oxygen_bold.tres new file mode 100644 index 0000000..5ef488a --- /dev/null +++ b/Game/source/fonts/oxygen/oxygen_bold.tres @@ -0,0 +1,9 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://source/fonts/oxygen/Oxygen-Bold.ttf" type="DynamicFontData" id=1] + +[resource] +size = 36 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) diff --git a/Game/source/fonts/oxygen/oxygen_regular.tres b/Game/source/fonts/oxygen/oxygen_regular.tres new file mode 100644 index 0000000..8c45000 --- /dev/null +++ b/Game/source/fonts/oxygen/oxygen_regular.tres @@ -0,0 +1,9 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://source/fonts/oxygen/Oxygen-Regular.ttf" type="DynamicFontData" id=1] + +[resource] +size = 50 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) diff --git a/Game/source/levels/trinity_site/trinity_site_level.tscn b/Game/source/levels/trinity_site/trinity_site_level.tscn index f408bb6..b3db345 100644 --- a/Game/source/levels/trinity_site/trinity_site_level.tscn +++ b/Game/source/levels/trinity_site/trinity_site_level.tscn @@ -106,11 +106,11 @@ z_index = -3 [node name="spawn_locations" type="Node" parent="."] [node name="1" type="Position2D" parent="spawn_locations"] -position = Vector2( 460, 540 ) +position = Vector2( 260, 540 ) z_index = 1 [node name="2" type="Position2D" parent="spawn_locations"] -position = Vector2( 260, 540 ) +position = Vector2( 460, 540 ) z_index = 1 [node name="3" type="Position2D" parent="spawn_locations"] diff --git a/Game/source/scenes/GUI/background.tscn b/Game/source/scenes/GUI/background.tscn new file mode 100644 index 0000000..c0ce0fb --- /dev/null +++ b/Game/source/scenes/GUI/background.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://source/scenes/OVERLAY/elements/floor.tscn" type="PackedScene" id=5] +[ext_resource path="res://source/assets/sprites/GUI/background_main_menu.svg" type="Texture" id=6] + +[node name="background" type="Node2D"] + +[node name="background_main_menu" type="Sprite" parent="."] +position = Vector2( 960, 540 ) +z_index = -10 +z_as_relative = false +texture = ExtResource( 6 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="floor" parent="." instance=ExtResource( 5 )] +position = Vector2( 960, 1016 ) diff --git a/Game/source/scenes/GUI/main_menu.tscn b/Game/source/scenes/GUI/main_menu.tscn index 5327a46..ea9d959 100644 --- a/Game/source/scenes/GUI/main_menu.tscn +++ b/Game/source/scenes/GUI/main_menu.tscn @@ -1,122 +1,137 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=9 format=2] -[ext_resource path="res://source/fonts/roboto/roboto.tres" type="DynamicFont" id=1] -[ext_resource path="res://source/assets/scripts/server_handlers/network_processors/network_setup.gd" type="Script" id=2] -[ext_resource path="res://source/assets/scripts/ui_element_handlers/UI.gd" type="Script" id=3] -[ext_resource path="res://source/floor.tscn" type="PackedScene" id=4] -[ext_resource path="res://source/fonts/roboto/Roboto-Regular.ttf" type="DynamicFontData" id=5] +[ext_resource path="res://source/entities/menu_player/player_node.tscn" type="PackedScene" id=1] +[ext_resource path="res://source/scenes/GUI/background.tscn" type="PackedScene" id=2] +[ext_resource path="res://source/assets/sprites/GUI/lan_logo.svg" type="Texture" id=3] +[ext_resource path="res://source/fonts/oxygen/Oxygen-Bold.ttf" type="DynamicFontData" id=4] +[ext_resource path="res://source/fonts/oxygen/oxygen_bold.tres" type="DynamicFont" id=5] +[ext_resource path="res://source/assets/scripts/ui_element_handlers/main_menu.gd" type="Script" id=6] +[ext_resource path="res://source/scenes/OVERLAY/elements/button.tscn" type="PackedScene" id=7] [sub_resource type="DynamicFont" id=1] -size = 32 +size = 100 use_mipmaps = true use_filter = true -font_data = ExtResource( 5 ) +font_data = ExtResource( 4 ) -[node name="network_setup" type="Control"] +[node name="main_menu" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 -script = ExtResource( 2 ) +script = ExtResource( 6 ) __meta__ = { "_edit_use_anchors_": false } -[node name="multiplayer_configure" type="Control" parent="."] +[node name="background" parent="." instance=ExtResource( 2 )] + +[node name="player" parent="background" instance=ExtResource( 1 )] +position = Vector2( 408, 872 ) + +[node name="foreground" type="Control" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = 2.5199 -margin_right = 2.5199 +margin_top = 1.49835 +margin_bottom = 1.49829 __meta__ = { "_edit_use_anchors_": false } -[node name="create_server" type="Button" parent="multiplayer_configure"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -267.5 -margin_top = -202.0 -margin_right = 267.5 -margin_bottom = -26.0 -custom_fonts/font = ExtResource( 1 ) -text = "Create server" -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="join_server" type="Button" parent="multiplayer_configure"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -266.52 -margin_top = 28.0 -margin_right = 268.48 -margin_bottom = 204.0 -custom_fonts/font = ExtResource( 1 ) -text = "Join server" -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="username_text_edit" type="LineEdit" parent="multiplayer_configure"] +[node name="name" type="Label" parent="foreground"] anchor_left = 0.5 anchor_right = 0.5 -margin_left = -422.5 -margin_top = 117.0 -margin_right = 422.5 -margin_bottom = 221.0 -custom_fonts/font = ExtResource( 1 ) -align = 1 -placeholder_text = "Enter username" -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="UI" type="CanvasLayer" parent="."] -script = ExtResource( 3 ) - -[node name="start_game" type="Button" parent="UI"] -margin_left = 27.0 -margin_top = 24.7551 -margin_right = 391.0 -margin_bottom = 155.755 -custom_fonts/font = ExtResource( 1 ) -text = "Start game" -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="device_ip_address" type="Label" parent="UI"] -anchor_left = 1.0 -anchor_right = 1.0 -margin_left = -256.0 -margin_bottom = 64.0 +margin_left = -320.0 +margin_top = 350.0 +margin_right = 320.0 +margin_bottom = 477.0 custom_fonts/font = SubResource( 1 ) +text = "NAME&LOGO" +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="play" parent="foreground" instance=ExtResource( 7 )] +margin_left = 810.0 +margin_top = 500.0 +margin_right = 1110.0 +margin_bottom = 572.0 + +[node name="Label" type="Label" parent="foreground/play"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -150.0 +margin_top = -36.0 +margin_right = 150.0 +margin_bottom = 36.0 +custom_fonts/font = ExtResource( 5 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "PLAY" align = 1 valign = 1 __meta__ = { +"_edit_lock_": true, "_edit_use_anchors_": false } -[node name="floor" parent="." instance=ExtResource( 4 )] -position = Vector2( 960, 1096 ) -scale = Vector2( 2, 1 ) +[node name="LAN_party" parent="foreground" instance=ExtResource( 7 )] +margin_left = 810.0 +margin_top = 580.0 +margin_right = 1110.0 +margin_bottom = 652.0 -[node name="spawn_locations" type="Node" parent="."] +[node name="Label2" type="Label" parent="foreground/LAN_party"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -98.8223 +margin_top = -36.0 +margin_right = 134.178 +margin_bottom = 36.0 +custom_fonts/font = ExtResource( 5 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "LAN Party" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} -[node name="1" type="Position2D" parent="spawn_locations"] -position = Vector2( 264, 880 ) +[node name="lan_logo" type="Sprite" parent="foreground/LAN_party"] +position = Vector2( 33.5, 36 ) +texture = ExtResource( 3 ) +__meta__ = { +"_edit_lock_": true +} -[node name="2" type="Position2D" parent="spawn_locations"] -position = Vector2( 688, 912 ) +[node name="exit" parent="foreground" instance=ExtResource( 7 )] +margin_left = 810.0 +margin_top = 660.0 +margin_right = 1110.0 +margin_bottom = 732.0 -[node name="3" type="Position2D" parent="spawn_locations"] -position = Vector2( 1264, 872 ) +[node name="Label" type="Label" parent="foreground/exit"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -150.0 +margin_top = -36.0 +margin_right = 150.0 +margin_bottom = 36.0 +custom_fonts/font = ExtResource( 5 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "EXIT" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} -[node name="4" type="Position2D" parent="spawn_locations"] -position = Vector2( 1584, 888 ) - -[connection signal="pressed" from="multiplayer_configure/create_server" to="." method="_on_create_server_pressed"] -[connection signal="pressed" from="multiplayer_configure/join_server" to="." method="_on_join_server_pressed"] -[connection signal="pressed" from="UI/start_game" to="." method="_on_start_game_pressed"] +[connection signal="pressed" from="foreground/play" to="." method="_on_play_pressed"] +[connection signal="pressed" from="foreground/LAN_party" to="." method="_on_LAN_party_pressed"] +[connection signal="pressed" from="foreground/exit" to="." method="_on_exit_pressed"] diff --git a/Game/source/scenes/GUI/network_setup.tscn b/Game/source/scenes/GUI/network_setup.tscn new file mode 100644 index 0000000..8adebbc --- /dev/null +++ b/Game/source/scenes/GUI/network_setup.tscn @@ -0,0 +1,282 @@ +[gd_scene load_steps=16 format=2] + +[ext_resource path="res://source/assets/scripts/server_handlers/network_processors/network_setup.gd" type="Script" id=1] +[ext_resource path="res://source/fonts/oxygen/Oxygen-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://source/fonts/oxygen/Oxygen-Bold.ttf" type="DynamicFontData" id=3] +[ext_resource path="res://source/fonts/roboto/roboto.tres" type="DynamicFont" id=4] +[ext_resource path="res://source/scenes/GUI/background.tscn" type="PackedScene" id=5] +[ext_resource path="res://source/scenes/OVERLAY/elements/floor.tscn" type="PackedScene" id=6] +[ext_resource path="res://source/assets/sprites/GUI/lan_logo.svg" type="Texture" id=7] +[ext_resource path="res://source/fonts/oxygen/oxygen_bold.tres" type="DynamicFont" id=8] +[ext_resource path="res://source/scenes/OVERLAY/elements/button.tscn" type="PackedScene" id=9] +[ext_resource path="res://source/fonts/oxygen/oxygen_regular.tres" type="DynamicFont" id=10] +[ext_resource path="res://source/assets/scripts/ui_element_handlers/UI.gd" type="Script" id=11] +[ext_resource path="res://source/assets/sprites/GUI/background_lobby.svg" type="Texture" id=12] + +[sub_resource type="DynamicFont" id=3] +size = 36 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 2 ) + +[sub_resource type="DynamicFont" id=1] +size = 88 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 3 ) + +[sub_resource type="DynamicFont" id=2] +size = 22 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 2 ) + +[node name="network_setup" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="background" parent="." instance=ExtResource( 5 )] + +[node name="multiplayer_configure" type="Control" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 2.5199 +margin_right = 2.5199 +rect_pivot_offset = Vector2( -2200.59, -462.965 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="create_server" parent="multiplayer_configure" instance=ExtResource( 9 )] +margin_left = 810.0 +margin_top = 424.0 +margin_right = 1110.0 +margin_bottom = 496.0 + +[node name="Label" type="Label" parent="multiplayer_configure/create_server"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -150.0 +margin_top = -36.0 +margin_right = 150.0 +margin_bottom = 36.0 +custom_fonts/font = ExtResource( 8 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "CREATE SERVER" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="join_server" parent="multiplayer_configure" instance=ExtResource( 9 )] +margin_left = 810.0 +margin_top = 504.0 +margin_right = 1110.0 +margin_bottom = 576.0 + +[node name="Label" type="Label" parent="multiplayer_configure/join_server"] +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +margin_left = -233.0 +margin_top = -36.0 +margin_bottom = 36.0 +custom_fonts/font = ExtResource( 8 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "JOIN SERVER" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="lan_logo" type="Sprite" parent="multiplayer_configure/join_server"] +position = Vector2( 33.5, 36 ) +texture = ExtResource( 7 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="return" parent="multiplayer_configure" instance=ExtResource( 9 )] +margin_left = 810.0 +margin_top = 584.0 +margin_right = 1110.0 +margin_bottom = 656.0 + +[node name="Label" type="Label" parent="multiplayer_configure/return"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -150.0 +margin_top = -36.0 +margin_right = 150.0 +margin_bottom = 36.0 +custom_fonts/font = ExtResource( 8 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "RETURN" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="username" type="Panel" parent="multiplayer_configure"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -480.0 +margin_top = -270.0 +margin_right = 480.0 +margin_bottom = 270.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="username_text_edit" type="LineEdit" parent="multiplayer_configure/username"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -403.0 +margin_top = -243.0 +margin_right = 403.0 +margin_bottom = -138.0 +custom_fonts/font = ExtResource( 4 ) +custom_colors/selection_color = Color( 0.607843, 0.607843, 0.607843, 1 ) +custom_colors/cursor_color = Color( 1, 1, 1, 1 ) +align = 1 +placeholder_text = "Enter username" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="confirm" parent="multiplayer_configure/username/username_text_edit" instance=ExtResource( 9 )] +margin_left = 255.623 +margin_top = 129.885 +margin_right = 555.623 +margin_bottom = 201.885 + +[node name="Label" type="Label" parent="multiplayer_configure/username/username_text_edit/confirm"] +anchor_right = 1.0 +anchor_bottom = 1.0 +custom_fonts/font = SubResource( 3 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "CONFIRM" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true +} + +[node name="background_lobby" type="Node2D" parent="."] +z_index = -1 + +[node name="background_lobby" type="Sprite" parent="background_lobby"] +position = Vector2( 960, 540 ) +texture = ExtResource( 12 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="floor" parent="background_lobby" instance=ExtResource( 6 )] +position = Vector2( 960, 1016 ) + +[node name="UI" type="CanvasLayer" parent="."] +script = ExtResource( 11 ) + +[node name="device_ip_address" type="Label" parent="UI"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -319.0 +margin_top = -56.0 +margin_right = 319.0 +margin_bottom = 56.0 +custom_fonts/font = SubResource( 1 ) +custom_colors/font_color = Color( 0.439216, 0.666667, 1, 0.27451 ) +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="text" type="Label" parent="UI"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -116.5 +margin_top = 60.0 +margin_right = 116.5 +margin_bottom = 89.0 +custom_fonts/font = SubResource( 2 ) +custom_colors/font_color = Color( 0.439216, 0.666667, 1, 0.27451 ) +text = "WAITING FOR PLAYERS" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="start_game" parent="UI" instance=ExtResource( 9 )] +visible = false +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -150.0 +margin_top = 100.0 +margin_right = 150.0 +margin_bottom = 172.0 + +[node name="Label" type="Label" parent="UI/start_game"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -74.5 +margin_top = -32.0 +margin_right = 74.5 +margin_bottom = 32.0 +custom_fonts/font = ExtResource( 10 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "START" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="spawn_locations" type="Node" parent="."] + +[node name="1" type="Position2D" parent="spawn_locations"] +position = Vector2( 384, 860 ) + +[node name="2" type="Position2D" parent="spawn_locations"] +position = Vector2( 768, 860 ) + +[node name="3" type="Position2D" parent="spawn_locations"] +position = Vector2( 1152, 860 ) + +[node name="4" type="Position2D" parent="spawn_locations"] +position = Vector2( 1536, 860 ) + +[connection signal="pressed" from="multiplayer_configure/create_server" to="." method="_on_create_server_pressed"] +[connection signal="pressed" from="multiplayer_configure/join_server" to="." method="_on_join_server_pressed"] +[connection signal="pressed" from="multiplayer_configure/return" to="." method="_on_return_pressed"] +[connection signal="pressed" from="multiplayer_configure/username/username_text_edit/confirm" to="." method="_on_confirm_pressed"] +[connection signal="pressed" from="UI/start_game" to="." method="_on_start_game_pressed"] diff --git a/Game/source/scenes/GUI/server_handlers/server_browser.tscn b/Game/source/scenes/GUI/server_handlers/server_browser.tscn index ab5710c..662ab2e 100644 --- a/Game/source/scenes/GUI/server_handlers/server_browser.tscn +++ b/Game/source/scenes/GUI/server_handlers/server_browser.tscn @@ -1,10 +1,27 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=12 format=2] [ext_resource path="res://source/fonts/roboto/roboto.tres" type="DynamicFont" id=1] [ext_resource path="res://source/scenes/GUI/server_handlers/server_listener.tscn" type="PackedScene" id=2] [ext_resource path="res://source/assets/scripts/server_handlers/server_processors/server_browser.gd" type="Script" id=3] +[ext_resource path="res://source/scenes/OVERLAY/elements/button.tscn" type="PackedScene" id=4] +[ext_resource path="res://source/assets/sprites/GUI/background_server.svg" type="Texture" id=5] +[ext_resource path="res://source/assets/sprites/GUI/server_title.svg" type="Texture" id=6] +[ext_resource path="res://source/assets/sprites/GUI/button_disabled.svg" type="Texture" id=7] +[ext_resource path="res://source/fonts/oxygen/Oxygen-Regular.ttf" type="DynamicFontData" id=8] -[sub_resource type="Animation" id=1] +[sub_resource type="DynamicFont" id=1] +size = 36 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 8 ) + +[sub_resource type="DynamicFont" id=2] +size = 32 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 8 ) + +[sub_resource type="Animation" id=3] resource_name = "searching_for_servers" length = 0.8 loop = true @@ -26,44 +43,160 @@ anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 3 ) __meta__ = { +"_edit_lock_": true, "_edit_use_anchors_": false } +[node name="background_server" type="Sprite" parent="."] +position = Vector2( 960, 540 ) +texture = ExtResource( 5 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="controls" type="Control" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 2.51978 +margin_top = 1.77069 +margin_right = 2.51978 +margin_bottom = 1.77075 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="manual_setup" parent="controls" instance=ExtResource( 4 )] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = 40.0 +margin_top = -116.0 +margin_right = 340.0 +margin_bottom = -44.0 + +[node name="Label" type="Label" parent="controls/manual_setup"] +anchor_right = 1.0 +anchor_bottom = 1.0 +custom_fonts/font = SubResource( 1 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "MANUAL SETUP" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true +} + +[node name="online" type="TextureButton" parent="controls"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = 40.0 +margin_top = -36.0 +margin_right = 340.0 +margin_bottom = 36.0 +texture_normal = ExtResource( 7 ) +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="controls/online"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 68.0 +custom_fonts/font = SubResource( 1 ) +custom_colors/font_color = Color( 0.329412, 0.329412, 0.329412, 1 ) +text = "ONLINE" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true +} + +[node name="return" parent="controls" instance=ExtResource( 4 )] +margin_left = 1000.0 +margin_top = 584.0 +margin_right = 1300.0 +margin_bottom = 656.0 + +[node name="Label" type="Label" parent="controls/return"] +anchor_right = 1.0 +anchor_bottom = 1.0 +custom_fonts/font = SubResource( 1 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "RETURN" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true +} + +[node name="background_panel" type="Panel" parent="controls"] +self_modulate = Color( 0.0862745, 0.0862745, 0.0862745, 0.392157 ) +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -447.5 +margin_top = -66.0 +margin_right = -20.0 +margin_bottom = 171.5 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="controls/background_panel"] +anchor_right = 1.0 +anchor_bottom = 1.0 +rect_pivot_offset = Vector2( -279.611, -199.539 ) +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="server_title" type="Sprite" parent="controls/background_panel"] +position = Vector2( 225, -25 ) +texture = ExtResource( 6 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="searching_for_servers" type="Label" parent="controls/background_panel/server_title"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -450.0 +margin_top = -64.0 +margin_bottom = 14.0 +rect_min_size = Vector2( 0, 70 ) +custom_fonts/font = SubResource( 2 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "Searching for servers" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="AnimationPlayer" type="AnimationPlayer" parent="controls/background_panel/server_title/searching_for_servers"] +autoplay = "searching_for_servers" +playback_speed = 0.5 +anims/searching_for_servers = SubResource( 3 ) + [node name="background_panel" type="Panel" parent="."] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 96.0 -margin_top = 162.0 -margin_right = -96.0 -margin_bottom = -54.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="manual_setup" type="Button" parent="background_panel"] -anchor_left = 1.0 -anchor_top = 1.0 -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = -473.0 -margin_top = -175.0 -margin_right = -30.0 -margin_bottom = -30.0 -custom_fonts/font = ExtResource( 1 ) -text = "Manual setup" -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="go_back" type="Button" parent="background_panel"] -anchor_top = 1.0 -anchor_bottom = 1.0 -margin_left = 30.0 -margin_top = -170.0 -margin_right = 473.0 -margin_bottom = -25.0 -custom_fonts/font = ExtResource( 1 ) -text = "Go back" +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -480.0 +margin_top = -270.0 +margin_right = 480.0 +margin_bottom = 270.0 __meta__ = { "_edit_use_anchors_": false } @@ -78,71 +211,36 @@ margin_top = -243.0 margin_right = 403.0 margin_bottom = -138.0 custom_fonts/font = ExtResource( 1 ) +custom_colors/selection_color = Color( 0.607843, 0.607843, 0.607843, 1 ) +custom_colors/cursor_color = Color( 1, 1, 1, 1 ) align = 1 - -[node name="type_in_server_ip" type="Label" parent="background_panel/server_ip_text_edit"] -anchor_right = 1.0 -margin_top = -105.0 -custom_fonts/font = ExtResource( 1 ) -text = "Type in server IP" -align = 1 -valign = 1 - -[node name="join_server" type="Button" parent="background_panel/server_ip_text_edit"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -221.5 -margin_top = 94.5 -margin_right = 221.5 -margin_bottom = 239.5 -custom_fonts/font = ExtResource( 1 ) -text = "Join server" +placeholder_text = "Server IP" __meta__ = { "_edit_use_anchors_": false } -[node name="VBoxContainer" type="VBoxContainer" parent="background_panel"] +[node name="join_server" parent="background_panel/server_ip_text_edit" instance=ExtResource( 4 )] +margin_left = 255.623 +margin_top = 129.885 +margin_right = 555.623 +margin_bottom = 201.885 + +[node name="Label" type="Label" parent="background_panel/server_ip_text_edit/join_server"] anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = 70.0 -margin_top = 40.0 -margin_right = -70.0 -margin_bottom = -175.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="searching_for_servers" type="Label" parent="background_panel/VBoxContainer"] -margin_right = 1588.0 -margin_bottom = 76.0 -rect_min_size = Vector2( 0, 70 ) -custom_fonts/font = ExtResource( 1 ) -text = "Searching for servers.." -align = 1 -valign = 1 - -[node name="AnimationPlayer" type="AnimationPlayer" parent="background_panel/VBoxContainer/searching_for_servers"] -autoplay = "searching_for_servers" -playback_speed = 0.5 -anims/searching_for_servers = SubResource( 1 ) - -[node name="server_browser_label" type="Label" parent="background_panel"] -anchor_right = 1.0 -margin_top = -176.0 -custom_fonts/font = ExtResource( 1 ) -text = "Server Browser" +custom_fonts/font = SubResource( 1 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "JOIN SERVER" align = 1 valign = 1 __meta__ = { -"_edit_use_anchors_": false +"_edit_lock_": true } [node name="server_listener" parent="." instance=ExtResource( 2 )] -[connection signal="pressed" from="background_panel/manual_setup" to="." method="_on_manual_setup_pressed"] -[connection signal="pressed" from="background_panel/go_back" to="." method="_on_go_back_pressed"] +[connection signal="pressed" from="controls/manual_setup" to="." method="_on_manual_setup_pressed"] +[connection signal="pressed" from="controls/return" to="." method="_on_return_pressed"] [connection signal="pressed" from="background_panel/server_ip_text_edit/join_server" to="." method="_on_join_server_pressed"] [connection signal="new_server" from="server_listener" to="." method="_on_server_listener_new_server"] [connection signal="remove_server" from="server_listener" to="." method="_on_server_listener_remove_server"] diff --git a/Game/source/scenes/GUI/server_handlers/server_display.tscn b/Game/source/scenes/GUI/server_handlers/server_display.tscn index 4fc876c..7cde319 100644 --- a/Game/source/scenes/GUI/server_handlers/server_display.tscn +++ b/Game/source/scenes/GUI/server_handlers/server_display.tscn @@ -1,18 +1,30 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=6 format=2] -[ext_resource path="res://source/fonts/roboto/roboto.tres" type="DynamicFont" id=1] +[ext_resource path="res://source/fonts/oxygen/Oxygen-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://source/assets/scripts/server_handlers/server_processors/server_display.gd" type="Script" id=2] +[ext_resource path="res://source/fonts/oxygen/Oxygen-Bold.ttf" type="DynamicFontData" id=3] + +[sub_resource type="DynamicFont" id=1] +size = 24 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) + +[sub_resource type="DynamicFont" id=2] +size = 36 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 3 ) [node name="server_display" type="Label" groups=[ "Server_display", ]] anchor_right = 1.0 -margin_right = -220.0 +margin_right = -1520.0 margin_bottom = 130.0 rect_min_size = Vector2( 0, 130 ) -custom_fonts/font = ExtResource( 1 ) +custom_fonts/font = SubResource( 1 ) text = "N/A: 000.000.000" -align = 1 valign = 1 script = ExtResource( 2 ) __meta__ = { @@ -22,11 +34,9 @@ __meta__ = { [node name="join_button" type="Button" parent="."] anchor_left = 1.0 anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = -302.0 -margin_top = 13.0 -margin_bottom = -13.0 -custom_fonts/font = ExtResource( 1 ) +margin_left = -100.0 +margin_bottom = 52.0 +custom_fonts/font = SubResource( 2 ) text = "Join" __meta__ = { "_edit_use_anchors_": false diff --git a/Game/source/scenes/OVERLAY/elements/button.tscn b/Game/source/scenes/OVERLAY/elements/button.tscn new file mode 100644 index 0000000..272b6e6 --- /dev/null +++ b/Game/source/scenes/OVERLAY/elements/button.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://source/assets/sprites/GUI/button.svg" type="Texture" id=1] +[ext_resource path="res://source/assets/sprites/GUI/button_hover.svg" type="Texture" id=2] +[ext_resource path="res://source/assets/sprites/GUI/button_pressed.svg" type="Texture" id=3] + +[node name="TextureButton" type="TextureButton"] +margin_right = 40.0 +margin_bottom = 40.0 +texture_normal = ExtResource( 1 ) +texture_pressed = ExtResource( 3 ) +texture_hover = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/Game/source/floor.tscn b/Game/source/scenes/OVERLAY/elements/floor.tscn similarity index 68% rename from Game/source/floor.tscn rename to Game/source/scenes/OVERLAY/elements/floor.tscn index 8ddbc8a..9915af7 100644 --- a/Game/source/floor.tscn +++ b/Game/source/scenes/OVERLAY/elements/floor.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://source/sprites/floor.svg" type="Texture" id=1] +[ext_resource path="res://source/assets/sprites/GUI/floor.svg" type="Texture" id=1] [sub_resource type="RectangleShape2D" id=1] -extents = Vector2( 960, 24 ) +extents = Vector2( 960, 64 ) [node name="floor" type="StaticBody2D"] @@ -11,4 +11,5 @@ extents = Vector2( 960, 24 ) texture = ExtResource( 1 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] +visible = false shape = SubResource( 1 ) diff --git a/Game/source/scenes/OVERLAY/elements/username_text.tscn b/Game/source/scenes/OVERLAY/elements/username_text.tscn index e253804..ff95f30 100644 --- a/Game/source/scenes/OVERLAY/elements/username_text.tscn +++ b/Game/source/scenes/OVERLAY/elements/username_text.tscn @@ -1,8 +1,14 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=4 format=2] -[ext_resource path="res://source/fonts/roboto/roboto.tres" type="DynamicFont" id=1] +[ext_resource path="res://source/fonts/oxygen/Oxygen-Bold.ttf" type="DynamicFontData" id=1] [ext_resource path="res://source/assets/scripts/ui_element_handlers/username_text.gd" type="Script" id=2] +[sub_resource type="DynamicFont" id=1] +size = 36 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) + [node name="username_text" type="Node2D" groups=[ "Net", ]] @@ -14,7 +20,7 @@ margin_left = -197.0 margin_top = -125.0 margin_right = 197.0 margin_bottom = -49.0 -custom_fonts/font = ExtResource( 1 ) +custom_fonts/font = SubResource( 1 ) text = "null" align = 1 valign = 1 diff --git a/Game/source/sprites/floor.svg b/Game/source/sprites/floor.svg deleted file mode 100644 index 4d53002..0000000 --- a/Game/source/sprites/floor.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - -