Align patterns better around what UI components are. Move script related controllers to scripts folder
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dy51wny4x53f4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://52eithlmedm3" path="res://scenes/data/game_data.gd" id="1_hulqm"]
|
||||
[ext_resource type="Script" uid="uid://dvw46rvml3ec" path="res://scenes/data/game_state.gd" id="2_6ash1"]
|
||||
[ext_resource type="Script" uid="uid://6sfwe1hwgf0g" path="res://scenes/data/lobby_data.gd" id="3_80q4n"]
|
||||
[ext_resource type="Script" uid="uid://bs4vblwa3u5jq" path="res://scenes/data/multiplayer_data.gd" id="4_setx2"]
|
||||
|
||||
[node name="data_bridge" type="Node"]
|
||||
|
||||
[node name="game_data" type="Node" parent="."]
|
||||
script = ExtResource("1_hulqm")
|
||||
|
||||
[node name="game_state" type="Node" parent="."]
|
||||
script = ExtResource("2_6ash1")
|
||||
|
||||
[node name="lobby_data" type="Node" parent="."]
|
||||
script = ExtResource("3_80q4n")
|
||||
|
||||
[node name="multiplayer_data" type="Node" parent="."]
|
||||
script = ExtResource("4_setx2")
|
||||
@@ -1,70 +0,0 @@
|
||||
class_name GameData extends Node
|
||||
|
||||
|
||||
var client1: int
|
||||
var client2: int
|
||||
var player_id: String = ""
|
||||
|
||||
var game_address: String = "0.0.0.0"
|
||||
var game_port: int = 8080
|
||||
var game_mode: String = "freeball"
|
||||
|
||||
enum PlayerType {
|
||||
Player1,
|
||||
Player2
|
||||
}
|
||||
|
||||
enum GameModeType {
|
||||
BALL_8,
|
||||
BALL_9,
|
||||
SNOOKER,
|
||||
FREE_BALL
|
||||
}
|
||||
|
||||
const MATCH_TYPES: Dictionary = {
|
||||
"8ball": GameModeType.BALL_8,
|
||||
"9ball": GameModeType.BALL_9,
|
||||
"snooker": GameModeType.SNOOKER,
|
||||
"freeball": GameModeType.FREE_BALL
|
||||
}
|
||||
|
||||
var GameMode: Dictionary = {
|
||||
GameModeType.BALL_8: Ball8,
|
||||
GameModeType.BALL_9: Ball9,
|
||||
GameModeType.SNOOKER: Snooker,
|
||||
GameModeType.FREE_BALL: FreeBall
|
||||
}
|
||||
|
||||
var SelectedGameMode: GameModeType = GameModeType.FREE_BALL
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
Globals.game_data = self
|
||||
|
||||
func get_mode_pretty() -> String:
|
||||
match game_mode:
|
||||
"8ball":
|
||||
return "8-Ball"
|
||||
"9ball":
|
||||
return "9-Ball"
|
||||
"snooker":
|
||||
return "Snooker"
|
||||
"freeball":
|
||||
return "Free Ball"
|
||||
_:
|
||||
return ""
|
||||
|
||||
@rpc("authority", "reliable")
|
||||
func set_game_address(address: String) -> void:
|
||||
game_address = address
|
||||
|
||||
@rpc("authority", "reliable")
|
||||
func set_game_port(port: String) -> void:
|
||||
game_port = int(port)
|
||||
|
||||
|
||||
func set_game_mode(mode: String) -> void:
|
||||
SelectedGameMode = MATCH_TYPES[mode]
|
||||
|
||||
func set_player_id(is_player_1: bool) -> void:
|
||||
player_id = "Player 1" if is_player_1 else "Player 2"
|
||||
@@ -1 +0,0 @@
|
||||
uid://52eithlmedm3
|
||||
@@ -1,57 +0,0 @@
|
||||
class_name GameState extends Node
|
||||
|
||||
|
||||
@warning_ignore_start("unused_signal")
|
||||
signal update_cue_cam_position
|
||||
|
||||
signal balls_stopped_moving
|
||||
signal white_ball_sunk
|
||||
signal white_ball_needs_hard_reset
|
||||
signal reload_scene
|
||||
signal process_ball
|
||||
signal reap_ball
|
||||
@warning_ignore_restore("unused_signal")
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
Globals.game_state = self
|
||||
|
||||
func load_game_scene(scene_str: String) -> void:
|
||||
var scene = load(scene_str).instantiate()
|
||||
var target = get_tree().root.get_node("billiards/scene")
|
||||
|
||||
target.add_child(scene)
|
||||
|
||||
func set_game_scene(scene_str: String) -> void:
|
||||
var scene = load(scene_str).instantiate()
|
||||
var target = get_tree().root.get_node("billiards/scene")
|
||||
|
||||
if "game" in scene_str:
|
||||
scene.name = "game"
|
||||
elif "lobby" in scene_str:
|
||||
scene.name = "lobby_screen"
|
||||
elif "start" in scene_str:
|
||||
scene.name = "start_screen"
|
||||
|
||||
clear_game_scene(target)
|
||||
|
||||
target.add_child(scene)
|
||||
|
||||
func clear_game_scene(container: Node) -> void:
|
||||
for child in container.get_children():
|
||||
child.queue_free()
|
||||
|
||||
await get_tree().process_frame
|
||||
|
||||
func switch_active_player() -> void:
|
||||
# TODO: Move away from using client ID or mask it with a map ID
|
||||
if Globals.multiplayer_data.current_turn_player_id == Globals.game_data.client1:
|
||||
Globals.multiplayer_data.rpc(
|
||||
"set_active_player_id",
|
||||
Globals.game_data.client2
|
||||
)
|
||||
elif Globals.multiplayer_data.current_turn_player_id == Globals.game_data.client2:
|
||||
Globals.multiplayer_data.rpc(
|
||||
"set_active_player_id",
|
||||
Globals.game_data.client1
|
||||
)
|
||||
@@ -1 +0,0 @@
|
||||
uid://dvw46rvml3ec
|
||||
@@ -1,31 +0,0 @@
|
||||
class_name LobbyData extends Node
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
Globals.lobby_data = self
|
||||
|
||||
|
||||
@rpc("authority", "reliable")
|
||||
func connect_to_game() -> void:
|
||||
# NOTE: Leave the lobby
|
||||
MessageBus.emit_local("lobby_close_connection", null)
|
||||
|
||||
# NOTE: Join target game server
|
||||
MessageBus.emit_local(
|
||||
"game_start_client",
|
||||
[
|
||||
Globals.game_data.game_address,
|
||||
Globals.game_data.game_port
|
||||
],
|
||||
true
|
||||
)
|
||||
|
||||
@rpc("authority", "reliable")
|
||||
func go_back_to_match_screen() -> void:
|
||||
if multiplayer.is_server(): return
|
||||
|
||||
push_warning("Client peer disconnected...")
|
||||
|
||||
Globals.game_state.set_game_scene(
|
||||
"res://scenes/screens/lobby_screen/lobby.tscn"
|
||||
)
|
||||
@@ -1 +0,0 @@
|
||||
uid://6sfwe1hwgf0g
|
||||
@@ -1,139 +0,0 @@
|
||||
class_name MultiplayerData extends Node
|
||||
|
||||
|
||||
var is_multiplayer_active: bool = false
|
||||
var multiplayer_synchronizer: MultiplayerSynchronizer = MultiplayerSynchronizer.new()
|
||||
var synchronizer_config: SceneReplicationConfig = SceneReplicationConfig.new()
|
||||
var current_turn_player_id: int = -1
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
Globals.multiplayer_data = self
|
||||
multiplayer_synchronizer.name = "multiplayer_synchronizer"
|
||||
multiplayer_synchronizer.replication_config = synchronizer_config
|
||||
multiplayer_synchronizer.root_path = "/root/billiards"
|
||||
|
||||
@rpc("authority", "call_local", "reliable")
|
||||
func set_multiplayer_active() -> void:
|
||||
is_multiplayer_active = true
|
||||
|
||||
@rpc("authority", "call_local", "reliable")
|
||||
func set_active_player_id(id: int) -> void:
|
||||
push_warning("Server assigned active player: ", id)
|
||||
|
||||
current_turn_player_id = id
|
||||
MessageBus.emit_local("update_active_lbl", null)
|
||||
|
||||
|
||||
func reset() -> void:
|
||||
multiplayer_synchronizer = MultiplayerSynchronizer.new()
|
||||
synchronizer_config = SceneReplicationConfig.new()
|
||||
current_turn_player_id = -1
|
||||
|
||||
is_multiplayer_active = true
|
||||
multiplayer_synchronizer.name = "multiplayer_synchronizer"
|
||||
multiplayer_synchronizer.replication_config = synchronizer_config
|
||||
multiplayer_synchronizer.root_path = "/root/billiards"
|
||||
|
||||
func init_match() -> void:
|
||||
var match_entry = Dictionary()
|
||||
match_entry.set("type", Globals.game_data.game_mode)
|
||||
|
||||
rpc("set_active_player_id", Globals.game_data.client1)
|
||||
|
||||
MessageBus.emit_propagation_clients_only.rpc_id(
|
||||
Globals.game_data.client1,
|
||||
"match_list_entry_load_match",
|
||||
[match_entry, true],
|
||||
true
|
||||
)
|
||||
|
||||
MessageBus.emit_propagation_clients_only.rpc_id(
|
||||
Globals.game_data.client2,
|
||||
"match_list_entry_load_match",
|
||||
[match_entry, false],
|
||||
true
|
||||
)
|
||||
|
||||
|
||||
func set_multiplayer_inactive() -> void:
|
||||
is_multiplayer_active = false
|
||||
|
||||
func can_do_request_server_only() -> bool:
|
||||
return can_do_request(true)
|
||||
|
||||
# NOTE: Clients could be modified to pass checks; but, because we are server authority based
|
||||
# it wouldn't matter because server should/will override any state of balls/scores and
|
||||
# checks which player is active when processing input. This is mostly patterned
|
||||
# to reduce client side overhead.
|
||||
func can_do_request(server_only: bool = false) -> bool:
|
||||
# NOTE: If request is local and not multiplayer
|
||||
if not is_multiplayer_active:
|
||||
return true
|
||||
|
||||
# NOTE: If request is server only; checkable by client and server side
|
||||
# server_only check must return so CANNOT do if 'server_only and multiplayer.is_server()' ...
|
||||
if server_only:
|
||||
return multiplayer.is_server()
|
||||
|
||||
# NOTE: If request is local or server side
|
||||
if current_turn_player_id == multiplayer.get_unique_id():
|
||||
return true
|
||||
|
||||
# NOTE: If request is on server and checking active player
|
||||
if current_turn_player_id == multiplayer.get_remote_sender_id():
|
||||
return true
|
||||
|
||||
return false
|
||||
|
||||
func set_tracking_of_cue(path: String) -> void:
|
||||
path = str(path).trim_prefix(str(multiplayer_synchronizer.root_path) + "/")
|
||||
|
||||
var position_pth = NodePath( path + ":position" )
|
||||
var rotation_pth = NodePath( path + ":rotation" )
|
||||
|
||||
synchronizer_config.add_property(position_pth)
|
||||
synchronizer_config.add_property(rotation_pth)
|
||||
|
||||
synchronizer_config.property_set_replication_mode(
|
||||
position_pth, SceneReplicationConfig.REPLICATION_MODE_ON_CHANGE
|
||||
)
|
||||
synchronizer_config.property_set_replication_mode(
|
||||
rotation_pth, SceneReplicationConfig.REPLICATION_MODE_ON_CHANGE
|
||||
)
|
||||
|
||||
|
||||
func set_tracking_of_ball(path: String) -> void:
|
||||
path = str(path).trim_prefix(str(multiplayer_synchronizer.root_path) + "/")
|
||||
|
||||
var position_pth = NodePath( path + ":position" )
|
||||
var rotation_pth = NodePath( path + ":rotation" )
|
||||
var linear_velocity_pth = NodePath( path + ":linear_velocity" )
|
||||
|
||||
synchronizer_config.add_property(position_pth)
|
||||
synchronizer_config.add_property(rotation_pth)
|
||||
synchronizer_config.add_property(linear_velocity_pth)
|
||||
|
||||
synchronizer_config.property_set_replication_mode(
|
||||
position_pth, SceneReplicationConfig.REPLICATION_MODE_ON_CHANGE
|
||||
)
|
||||
synchronizer_config.property_set_replication_mode(
|
||||
rotation_pth, SceneReplicationConfig.REPLICATION_MODE_ON_CHANGE
|
||||
)
|
||||
synchronizer_config.property_set_replication_mode(
|
||||
linear_velocity_pth, SceneReplicationConfig.REPLICATION_MODE_ON_CHANGE
|
||||
)
|
||||
|
||||
func remove_tracking_of_ball(path: String) -> void:
|
||||
path = str(path).trim_prefix(str(multiplayer_synchronizer.root_path) + "/")
|
||||
|
||||
var position_pth = NodePath( path + ":position" )
|
||||
var rotation_pth = NodePath( path + ":rotation" )
|
||||
var linear_velocity_pth = NodePath( path + ":linear_velocity" )
|
||||
|
||||
if synchronizer_config.has_property(position_pth):
|
||||
synchronizer_config.remove_property(position_pth)
|
||||
if synchronizer_config.has_property(rotation_pth):
|
||||
synchronizer_config.remove_property(rotation_pth)
|
||||
if synchronizer_config.has_property(linear_velocity_pth):
|
||||
synchronizer_config.remove_property(linear_velocity_pth)
|
||||
@@ -1 +0,0 @@
|
||||
uid://bs4vblwa3u5jq
|
||||
@@ -3,8 +3,8 @@
|
||||
[ext_resource type="Script" uid="uid://kpfpfmvbg24c" path="res://scenes/game.gd" id="1_iywne"]
|
||||
[ext_resource type="PackedScene" uid="uid://djtq6hbp70kut" path="res://scenes/environments/base_environment.tscn" id="2_lbhrr"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5idltq8s4srp" path="res://scenes/individual_parts/table/pool_table_manager.tscn" id="3_lnu2h"]
|
||||
[ext_resource type="PackedScene" uid="uid://bw7f8kunlxd2" path="res://controllers/game/modes/game_manager.tscn" id="4_iywne"]
|
||||
[ext_resource type="PackedScene" uid="uid://himb0o6py5pt" path="res://scenes/ui_controls/base_ui.tscn" id="7_u5sy4"]
|
||||
[ext_resource type="PackedScene" uid="uid://bw7f8kunlxd2" path="res://scripts/controllers/game/modes/game_manager.tscn" id="4_iywne"]
|
||||
[ext_resource type="PackedScene" uid="uid://himb0o6py5pt" path="res://scenes/ui/game/game_ui.tscn" id="7_u5sy4"]
|
||||
|
||||
[node name="game" type="Node3D"]
|
||||
script = ExtResource("1_iywne")
|
||||
@@ -17,4 +17,4 @@ metadata/_edit_lock_ = true
|
||||
|
||||
[node name="game_manager" parent="." instance=ExtResource("4_iywne")]
|
||||
|
||||
[node name="base_ui" parent="." instance=ExtResource("7_u5sy4")]
|
||||
[node name="game_ui" parent="." instance=ExtResource("7_u5sy4")]
|
||||
|
||||
@@ -1,42 +1,42 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://dkes5cdu45q6e"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dk7afnf7ol7dy" path="res://scenes/screens/lobby_screen/lobby.gd" id="1_hhiik"]
|
||||
[ext_resource type="PackedScene" uid="uid://dg7pgj6i5pk8p" path="res://scenes/ui_controls/lobby/ui.tscn" id="2_lqt48"]
|
||||
[ext_resource type="PackedScene" uid="uid://dg7pgj6i5pk8p" path="res://scenes/ui/lobby/lobby_ui.tscn" id="2_lqt48"]
|
||||
[ext_resource type="Script" uid="uid://dv7j35h2ngiq7" path="res://scenes/screens/lobby_screen/lobby_client.gd" id="4_glu7g"]
|
||||
|
||||
[node name="lobby" type="Node"]
|
||||
script = ExtResource("1_hhiik")
|
||||
|
||||
[node name="ui" parent="." instance=ExtResource("2_lqt48")]
|
||||
[node name="lobby_ui" parent="." instance=ExtResource("2_lqt48")]
|
||||
|
||||
[node name="host_address_input" parent="ui/body/left_body/server_host_hbox" index="1"]
|
||||
[node name="host_address_input" parent="lobby_ui/body/left_body/server_host_hbox" index="1"]
|
||||
context_menu_enabled = false
|
||||
select_all_on_focus = true
|
||||
|
||||
[node name="host_port_range" parent="ui/body/left_body/server_host_hbox" index="2"]
|
||||
[node name="host_port_range" parent="lobby_ui/body/left_body/server_host_hbox" index="2"]
|
||||
select_all_on_focus = true
|
||||
|
||||
[node name="match_search_input" parent="ui/body/left_body/search_vbox/search_hbox" index="0"]
|
||||
[node name="match_search_input" parent="lobby_ui/body/left_body/search_vbox/search_hbox" index="0"]
|
||||
context_menu_enabled = false
|
||||
|
||||
[node name="right_body" parent="ui/body" index="1"]
|
||||
[node name="right_body" parent="lobby_ui/body" index="1"]
|
||||
visible = false
|
||||
|
||||
[node name="new_match_name_input" parent="ui/body/right_body/create_match_hbox" index="0"]
|
||||
[node name="new_match_name_input" parent="lobby_ui/body/right_body/create_match_hbox" index="0"]
|
||||
context_menu_enabled = false
|
||||
select_all_on_focus = true
|
||||
|
||||
[node name="client" type="Node" parent="."]
|
||||
script = ExtResource("4_glu7g")
|
||||
|
||||
[connection signal="pressed" from="ui/body/left_body/server_host_hbox/home_bttn" to="." method="_on_home_bttn_pressed"]
|
||||
[connection signal="pressed" from="ui/body/left_body/server_host_hbox/host_connect_bttn" to="." method="_on_host_connect_bttn_pressed"]
|
||||
[connection signal="pressed" from="ui/body/left_body/server_host_hbox/host_disconnect_bttn" to="." method="_on_host_disconnect_bttn_pressed"]
|
||||
[connection signal="pressed" from="ui/body/left_body/search_vbox/search_hbox/match_search_bttn" to="." method="_on_match_search_bttn_pressed"]
|
||||
[connection signal="pressed" from="ui/body/right_body/create_match_hbox/match_create_bttn" to="." method="_on_match_create_bttn_pressed"]
|
||||
[connection signal="pressed" from="ui/body/right_body/vbox/8ball" to="." method="_on_mode_bttn_pressed" flags=18]
|
||||
[connection signal="pressed" from="ui/body/right_body/vbox/9ball" to="." method="_on_mode_bttn_pressed" flags=18]
|
||||
[connection signal="pressed" from="ui/body/right_body/vbox/snooker" to="." method="_on_mode_bttn_pressed" flags=18]
|
||||
[connection signal="pressed" from="ui/body/right_body/vbox/freeball" to="." method="_on_mode_bttn_pressed" flags=18]
|
||||
[connection signal="pressed" from="lobby_ui/body/left_body/server_host_hbox/home_bttn" to="." method="_on_home_bttn_pressed"]
|
||||
[connection signal="pressed" from="lobby_ui/body/left_body/server_host_hbox/host_connect_bttn" to="." method="_on_host_connect_bttn_pressed"]
|
||||
[connection signal="pressed" from="lobby_ui/body/left_body/server_host_hbox/host_disconnect_bttn" to="." method="_on_host_disconnect_bttn_pressed"]
|
||||
[connection signal="pressed" from="lobby_ui/body/left_body/search_vbox/search_hbox/match_search_bttn" to="." method="_on_match_search_bttn_pressed"]
|
||||
[connection signal="pressed" from="lobby_ui/body/right_body/create_match_hbox/match_create_bttn" to="." method="_on_match_create_bttn_pressed"]
|
||||
[connection signal="pressed" from="lobby_ui/body/right_body/vbox/8ball" to="." method="_on_mode_bttn_pressed" flags=18]
|
||||
[connection signal="pressed" from="lobby_ui/body/right_body/vbox/9ball" to="." method="_on_mode_bttn_pressed" flags=18]
|
||||
[connection signal="pressed" from="lobby_ui/body/right_body/vbox/snooker" to="." method="_on_mode_bttn_pressed" flags=18]
|
||||
[connection signal="pressed" from="lobby_ui/body/right_body/vbox/freeball" to="." method="_on_mode_bttn_pressed" flags=18]
|
||||
|
||||
[editable path="ui"]
|
||||
[editable path="lobby_ui"]
|
||||
|
||||
@@ -3,18 +3,18 @@ class_name LobbyBase extends Node
|
||||
|
||||
const MATCH_ENTRY = preload("res://scenes/screens/lobby_screen/match_entry.tscn")
|
||||
|
||||
@onready var host_address_input: LineEdit = $ui/body/left_body/server_host_hbox/host_address_input
|
||||
@onready var host_port_range: SpinBox = $ui/body/left_body/server_host_hbox/host_port_range
|
||||
@onready var host_connect_bttn: Button = $ui/body/left_body/server_host_hbox/host_connect_bttn
|
||||
@onready var host_disconnect_bttn: Button = $ui/body/left_body/server_host_hbox/host_disconnect_bttn
|
||||
@onready var host_address_input: LineEdit = $lobby_ui/body/left_body/server_host_hbox/host_address_input
|
||||
@onready var host_port_range: SpinBox = $lobby_ui/body/left_body/server_host_hbox/host_port_range
|
||||
@onready var host_connect_bttn: Button = $lobby_ui/body/left_body/server_host_hbox/host_connect_bttn
|
||||
@onready var host_disconnect_bttn: Button = $lobby_ui/body/left_body/server_host_hbox/host_disconnect_bttn
|
||||
|
||||
@onready var search_vbox: VBoxContainer = $ui/body/left_body/search_vbox
|
||||
@onready var match_search_input: LineEdit = $ui/body/left_body/search_vbox/search_hbox/match_search_input
|
||||
@onready var match_search_bttn: Button = $ui/body/left_body/search_vbox/search_hbox/match_search_bttn
|
||||
@onready var match_list: VBoxContainer = $ui/body/left_body/search_vbox/scroll_container/match_list
|
||||
@onready var search_vbox: VBoxContainer = $lobby_ui/body/left_body/search_vbox
|
||||
@onready var match_search_input: LineEdit = $lobby_ui/body/left_body/search_vbox/search_hbox/match_search_input
|
||||
@onready var match_search_bttn: Button = $lobby_ui/body/left_body/search_vbox/search_hbox/match_search_bttn
|
||||
@onready var match_list: VBoxContainer = $lobby_ui/body/left_body/search_vbox/scroll_container/match_list
|
||||
|
||||
@onready var match_create_vbox: VBoxContainer = $ui/body/right_body
|
||||
@onready var new_match_name_input: LineEdit = $ui/body/right_body/create_match_hbox/new_match_name_input
|
||||
@onready var match_create_vbox: VBoxContainer = $lobby_ui/body/right_body
|
||||
@onready var new_match_name_input: LineEdit = $lobby_ui/body/right_body/create_match_hbox/new_match_name_input
|
||||
|
||||
@onready var client: LobbyClient = $client
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
[ext_resource type="Script" uid="uid://cywa27h25s1j8" path="res://scenes/screens/start_screen/start.gd" id="1_mqdda"]
|
||||
[ext_resource type="PackedScene" uid="uid://djtq6hbp70kut" path="res://scenes/environments/base_environment.tscn" id="2_7nvb2"]
|
||||
[ext_resource type="PackedScene" uid="uid://2ib7f3y41pq4" path="res://assets/converted/full_pool_scene_original/scene.gltf" id="3_rfj27"]
|
||||
[ext_resource type="PackedScene" uid="uid://da0ok71rkjpx8" path="res://scenes/menus/start_menu/start_menu_controls.tscn" id="4_hk434"]
|
||||
[ext_resource type="PackedScene" uid="uid://da0ok71rkjpx8" path="res://scenes/ui/start_screen/start_ui.tscn" id="4_hk434"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qell1"]
|
||||
length = 0.001
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://w3vh1gj6t2k2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bpf107mmjiswh" path="res://scenes/ui_controls/camera/camera_controller.gd" id="1_mvpa7"]
|
||||
[ext_resource type="Script" uid="uid://bpf107mmjiswh" path="res://scenes/ui/game/camera/camera_controller.gd" id="1_mvpa7"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_mvpa7"]
|
||||
font_size = 24
|
||||
@@ -1,16 +1,16 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://l3bve6miq8od"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://br6jmlm4poh62" path="res://scenes/ui_controls/game/data.gd" id="1_s7215"]
|
||||
[ext_resource type="Script" uid="uid://br6jmlm4poh62" path="res://scenes/ui/game/data/data_ui.gd" id="1_nropj"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_o1hjn"]
|
||||
font_color = Color(0, 1, 0.14117648, 1)
|
||||
|
||||
[node name="data" type="Control"]
|
||||
[node name="data_ui" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
grow_horizontal = 2
|
||||
script = ExtResource("1_s7215")
|
||||
script = ExtResource("1_nropj")
|
||||
|
||||
[node name="vbox" type="VBoxContainer" parent="."]
|
||||
layout_mode = 0
|
||||
@@ -1,10 +1,10 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://himb0o6py5pt"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b3torx8lbkrj7" path="res://scenes/ui_controls/base_ui.gd" id="1_4moq4"]
|
||||
[ext_resource type="PackedScene" uid="uid://l3bve6miq8od" path="res://scenes/ui_controls/game/data.tscn" id="1_ff2ky"]
|
||||
[ext_resource type="PackedScene" uid="uid://w3vh1gj6t2k2" path="res://scenes/ui_controls/camera/camera_controller.tscn" id="2_4moq4"]
|
||||
[ext_resource type="Script" uid="uid://b3torx8lbkrj7" path="res://scenes/ui/game/game_ui.gd" id="1_4moq4"]
|
||||
[ext_resource type="PackedScene" uid="uid://l3bve6miq8od" path="res://scenes/ui/game/data/data_ui.tscn" id="1_ff2ky"]
|
||||
[ext_resource type="PackedScene" uid="uid://w3vh1gj6t2k2" path="res://scenes/ui/game/camera/camera_controller.tscn" id="2_4moq4"]
|
||||
|
||||
[node name="base_ui" type="Control"]
|
||||
[node name="game_ui" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@@ -48,7 +48,7 @@ shortcut_keys_enabled = false
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="game_data" parent="." instance=ExtResource("1_ff2ky")]
|
||||
[node name="data_ui" parent="." instance=ExtResource("1_ff2ky")]
|
||||
z_index = 5
|
||||
layout_mode = 1
|
||||
|
||||
@@ -22,7 +22,7 @@ corner_radius_top_right = 3
|
||||
corner_radius_bottom_right = 3
|
||||
corner_radius_bottom_left = 3
|
||||
|
||||
[node name="margin" type="MarginContainer"]
|
||||
[node name="lobby_ui" type="MarginContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
@@ -1,16 +1,16 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://da0ok71rkjpx8"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://dcaul3y5u0mko" path="res://sounds/effects/ball-hits.wav" id="1_b58tg"]
|
||||
[ext_resource type="Script" uid="uid://ykbcl0j1wouh" path="res://scenes/menus/start_menu/start_menu_controls.gd" id="1_fnwei"]
|
||||
[ext_resource type="Script" uid="uid://ykbcl0j1wouh" path="res://scenes/ui/start_screen/start_ui.gd" id="1_mwcbl"]
|
||||
[ext_resource type="AudioStream" uid="uid://dcaul3y5u0mko" path="res://sounds/effects/ball-hits.wav" id="2_uxmhm"]
|
||||
|
||||
[node name="start_menu_controls" type="Control"]
|
||||
[node name="start_ui" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_fnwei")
|
||||
script = ExtResource("1_mwcbl")
|
||||
|
||||
[node name="vbox" type="VBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
@@ -32,7 +32,7 @@ mouse_default_cursor_shape = 2
|
||||
text = "Multiplayer"
|
||||
|
||||
[node name="button_sound" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("1_b58tg")
|
||||
stream = ExtResource("2_uxmhm")
|
||||
|
||||
[connection signal="mouse_entered" from="vbox/play_bttn" to="." method="_bttn_mouse_entered"]
|
||||
[connection signal="pressed" from="vbox/play_bttn" to="." method="_on_play_bttn_pressed"]
|
||||
Reference in New Issue
Block a user