Conexion de juegos con la api, validaciones, diseño de los juegos
This commit is contained in:
parent
b6f2a0f9af
commit
bdd2203bcb
|
|
@ -0,0 +1,4 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -0,0 +1,195 @@
|
||||||
|
[editor_states]
|
||||||
|
|
||||||
|
Anim={
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
2D={
|
||||||
|
"grid_offset": Vector2(0, 0),
|
||||||
|
"grid_snap_active": false,
|
||||||
|
"grid_step": Vector2(8, 8),
|
||||||
|
"grid_visibility": 1,
|
||||||
|
"ofs": Vector2(-852.9, -156.826),
|
||||||
|
"primary_grid_step": Vector2i(8, 8),
|
||||||
|
"show_group_gizmos": true,
|
||||||
|
"show_guides": true,
|
||||||
|
"show_helpers": false,
|
||||||
|
"show_lock_gizmos": true,
|
||||||
|
"show_origin": true,
|
||||||
|
"show_position_gizmos": true,
|
||||||
|
"show_rulers": true,
|
||||||
|
"show_transformation_gizmos": true,
|
||||||
|
"show_viewport": true,
|
||||||
|
"show_zoom_control": true,
|
||||||
|
"smart_snap_active": false,
|
||||||
|
"snap_guides": true,
|
||||||
|
"snap_node_anchors": true,
|
||||||
|
"snap_node_center": true,
|
||||||
|
"snap_node_parent": true,
|
||||||
|
"snap_node_sides": true,
|
||||||
|
"snap_other_nodes": true,
|
||||||
|
"snap_pixel": true,
|
||||||
|
"snap_relative": false,
|
||||||
|
"snap_rotation": false,
|
||||||
|
"snap_rotation_offset": 0.0,
|
||||||
|
"snap_rotation_step": 0.261799,
|
||||||
|
"snap_scale": false,
|
||||||
|
"snap_scale_step": 0.1,
|
||||||
|
"zoom": 0.424098
|
||||||
|
}
|
||||||
|
3D={
|
||||||
|
"fov": 70.01,
|
||||||
|
"gizmos_status": {
|
||||||
|
"AudioListener3D": 0,
|
||||||
|
"AudioStreamPlayer3D": 0,
|
||||||
|
"CPUParticles3D": 0,
|
||||||
|
"CSGShape3D": 0,
|
||||||
|
"Camera3D": 0,
|
||||||
|
"CollisionObject3D": 0,
|
||||||
|
"CollisionPolygon3D": 0,
|
||||||
|
"CollisionShape3D": 0,
|
||||||
|
"Decal": 0,
|
||||||
|
"FogVolume": 0,
|
||||||
|
"GPUParticles3D": 0,
|
||||||
|
"GPUParticlesCollision3D": 0,
|
||||||
|
"Joint3D": 0,
|
||||||
|
"Light3D": 0,
|
||||||
|
"LightmapGI": 0,
|
||||||
|
"LightmapProbe": 0,
|
||||||
|
"Marker3D": 0,
|
||||||
|
"MeshInstance3DCustomAABB": 0,
|
||||||
|
"NavigationLink3D": 0,
|
||||||
|
"NavigationObstacle3D": 0,
|
||||||
|
"NavigationRegion3D": 0,
|
||||||
|
"OccluderInstance3D": 0,
|
||||||
|
"Particles3DEmissionShape": 0,
|
||||||
|
"Path3D": 0,
|
||||||
|
"PhysicalBone3D": 0,
|
||||||
|
"RayCast3D": 0,
|
||||||
|
"ReflectionProbe": 0,
|
||||||
|
"ShapeCast3D": 0,
|
||||||
|
"Skeleton3D": 0,
|
||||||
|
"SoftBody3D": 0,
|
||||||
|
"SpringArm3D": 0,
|
||||||
|
"SpringBoneCollision3D": 0,
|
||||||
|
"SpringBoneSimulator3D": 0,
|
||||||
|
"VehicleWheel3D": 0,
|
||||||
|
"VisibleOnScreenNotifier3D": 0,
|
||||||
|
"VoxelGI": 0
|
||||||
|
},
|
||||||
|
"local_coords": false,
|
||||||
|
"preview_sun_env": {
|
||||||
|
"environ_ao_enabled": false,
|
||||||
|
"environ_enabled": true,
|
||||||
|
"environ_energy": 1.0,
|
||||||
|
"environ_gi_enabled": false,
|
||||||
|
"environ_glow_enabled": false,
|
||||||
|
"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
|
||||||
|
"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
|
||||||
|
"environ_tonemap_enabled": true,
|
||||||
|
"sun_color": Color(1, 1, 1, 1),
|
||||||
|
"sun_enabled": true,
|
||||||
|
"sun_energy": 1.0,
|
||||||
|
"sun_max_distance": 100.0,
|
||||||
|
"sun_rotation": Vector2(-1.0472, 2.61799)
|
||||||
|
},
|
||||||
|
"rotate_snap": 15.0,
|
||||||
|
"scale_snap": 10.0,
|
||||||
|
"show_grid": true,
|
||||||
|
"show_origin": true,
|
||||||
|
"snap_enabled": false,
|
||||||
|
"translate_snap": 1.0,
|
||||||
|
"viewport_mode": 1,
|
||||||
|
"viewports": [{
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": true,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}],
|
||||||
|
"zfar": 4000.01,
|
||||||
|
"znear": 0.05
|
||||||
|
}
|
||||||
|
Game={
|
||||||
|
"camera_override_mode": 2,
|
||||||
|
"hide_selection": false,
|
||||||
|
"select_mode": 0
|
||||||
|
}
|
||||||
|
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Game")])
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
node_unfolds=[NodePath("Window/ColorRect"), PackedStringArray("Layout"), NodePath("Window/VBoxContainer"), PackedStringArray("Layout", "Theme Overrides", "Theme Overrides/constants", "Layout/Transform"), NodePath("Window/VBoxContainer/Label"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/colors"), NodePath("Window/VBoxContainer/EmailInput"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal"), NodePath("Window/VBoxContainer/Label2"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/colors"), NodePath("Window/VBoxContainer/PasswordInput"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal"), NodePath("Window/VBoxContainer/LogInButton"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal"), NodePath("Bloqueador"), PackedStringArray("Visibility", "Layout", "Mouse")]
|
||||||
|
resource_unfolds=["res://scenes/configuration.tscn::StyleBoxFlat_hc4xr", PackedStringArray(), "res://scenes/configuration.tscn::StyleBoxFlat_7wcdq", PackedStringArray(), "res://scenes/configuration.tscn::StyleBoxFlat_lditi", PackedStringArray()]
|
||||||
|
nodes_folded=[NodePath("VBoxContainer")]
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
ColorRect
|
||||||
|
Control
|
||||||
|
VBoxContainer
|
||||||
|
Button
|
||||||
|
LineEdit
|
||||||
|
Label
|
||||||
|
Window
|
||||||
|
MenuButton
|
||||||
|
HBoxContainer
|
||||||
|
FlowContainer
|
||||||
|
Popup
|
||||||
|
TextureRect
|
||||||
|
TextureButton
|
||||||
|
AudioStreamPlayer2D
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
[docks]
|
||||||
|
|
||||||
|
dock_3_selected_tab_idx=0
|
||||||
|
dock_4_selected_tab_idx=0
|
||||||
|
dock_5_selected_tab_idx=0
|
||||||
|
dock_floating={}
|
||||||
|
dock_filesystem_h_split_offset=240
|
||||||
|
dock_filesystem_v_split_offset=0
|
||||||
|
dock_filesystem_display_mode=0
|
||||||
|
dock_filesystem_file_sort=0
|
||||||
|
dock_filesystem_file_list_display_mode=1
|
||||||
|
dock_filesystem_selected_paths=PackedStringArray("res://scenes/configuration.tscn")
|
||||||
|
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/")
|
||||||
|
dock_node_current_tab=0
|
||||||
|
dock_history_include_scene=true
|
||||||
|
dock_history_include_global=true
|
||||||
|
dock_bottom=[]
|
||||||
|
dock_closed=[]
|
||||||
|
dock_split_2=0
|
||||||
|
dock_split_3=0
|
||||||
|
dock_hsplit_1=0
|
||||||
|
dock_hsplit_2=270
|
||||||
|
dock_hsplit_3=-270
|
||||||
|
dock_hsplit_4=0
|
||||||
|
dock_3="Scene,Import"
|
||||||
|
dock_4="FileSystem"
|
||||||
|
dock_5="Inspector,Node,History"
|
||||||
|
|
||||||
|
[EditorNode]
|
||||||
|
|
||||||
|
open_scenes=PackedStringArray("res://scenes/game.tscn", "res://scenes/configuration.tscn")
|
||||||
|
current_scene="res://scenes/game.tscn"
|
||||||
|
center_split_offset=0
|
||||||
|
selected_default_debugger_tab_idx=0
|
||||||
|
selected_main_editor_idx=2
|
||||||
|
selected_bottom_panel_item=0
|
||||||
|
|
||||||
|
[EditorWindow]
|
||||||
|
|
||||||
|
screen=0
|
||||||
|
mode="maximized"
|
||||||
|
position=Vector2i(0, 23)
|
||||||
|
|
||||||
|
[ScriptEditor]
|
||||||
|
|
||||||
|
open_scripts=["res://scripts/configuration.gd", "res://scripts/game.gd", "res://scripts/game_data.gd", "res://scripts/screen_manager.gd"]
|
||||||
|
selected_script="res://scripts/configuration.gd"
|
||||||
|
open_help=[]
|
||||||
|
script_split_offset=200
|
||||||
|
list_split_offset=0
|
||||||
|
zoom_factor=1.0
|
||||||
|
|
||||||
|
[GameView]
|
||||||
|
|
||||||
|
floating_window_rect=Rect2i(0, 0, 1932, 1127)
|
||||||
|
floating_window_screen=0
|
||||||
|
|
||||||
|
[ShaderEditor]
|
||||||
|
|
||||||
|
open_shaders=[]
|
||||||
|
split_offset=200
|
||||||
|
selected_shader=""
|
||||||
|
text_shader_zoom_factor=1.0
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
ea4bc82a6ad023ab7ee23ee620429895
|
||||||
|
::res://::1744847524
|
||||||
|
Fondo.png::CompressedTexture2D/CompressedTexture2D::2897047315587731151::1744739710::1744739716::1::::<><><>0<>0<>eacad182f531010fb24ebac1df6691a5<>res://.godot/imported/Fondo.png-90ffc355f5eaeb5a9d9680e0d0d619ff.ctex::
|
||||||
|
icon.svg::CompressedTexture2D/CompressedTexture2D::5044074093411398912::1744633584::1744633593::1::::<><><>0<>0<>f9adb246a70a7d9e0b44b9e0dce472bb<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex::
|
||||||
|
::res://audio/::1744635741
|
||||||
|
Elefant.mp3::AudioStreamMP3/AudioStreamMP3::1108392689846586874::1744635741::1744635741::1::::<><><>0<>0<>009805eb2c7d9c7cd23bd1fcf3eb7bf8<>res://.godot/imported/Elefant.mp3-e3e5c8488a65256c22d6f79b59243fe7.mp3str::
|
||||||
|
::res://scenes/::1744845819
|
||||||
|
configuration.tscn::PackedScene::1018116344755398623::1744845798::0::1::::<><><>0<>0<><>::uid://e41ws6j00o5::::res://scripts/configuration.gd
|
||||||
|
game.tscn::PackedScene::6874229073676243903::1744845819::0::1::::<><><>0<>0<><>::uid://dhqnf0xm2mwwm::::res://scripts/game.gd<>uid://bhjl7furxm0dv::::res://Fondo.png
|
||||||
|
::res://scripts/::1744845819
|
||||||
|
configuration.gd::GDScript::10065919189713686::1744845819::0::1::::<>Control<><>0<>0<><>::
|
||||||
|
game.gd::GDScript/GDScript::7684413599682033952::1744827660::0::1::::<>Control<><>0<>0<><>::
|
||||||
|
game_data.gd::GDScript/GDScript::3070763797095879381::1744824670::0::1::::<>Node<><>0<>0<><>::
|
||||||
|
screen_manager.gd::GDScript/GDScript::1421320781459715397::1744728053::0::1::::<>Node<><>0<>0<><>::
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
res://scenes/game.tscn
|
||||||
|
res://scripts/game_data.gd
|
||||||
|
res://scripts/configuration.gd
|
||||||
|
res://scenes/configuration.tscn
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -0,0 +1,195 @@
|
||||||
|
[editor_states]
|
||||||
|
|
||||||
|
Anim={
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
2D={
|
||||||
|
"grid_offset": Vector2(0, 0),
|
||||||
|
"grid_snap_active": false,
|
||||||
|
"grid_step": Vector2(8, 8),
|
||||||
|
"grid_visibility": 1,
|
||||||
|
"ofs": Vector2(-165, -110),
|
||||||
|
"primary_grid_step": Vector2i(8, 8),
|
||||||
|
"show_group_gizmos": true,
|
||||||
|
"show_guides": true,
|
||||||
|
"show_helpers": false,
|
||||||
|
"show_lock_gizmos": true,
|
||||||
|
"show_origin": true,
|
||||||
|
"show_position_gizmos": true,
|
||||||
|
"show_rulers": true,
|
||||||
|
"show_transformation_gizmos": true,
|
||||||
|
"show_viewport": true,
|
||||||
|
"show_zoom_control": true,
|
||||||
|
"smart_snap_active": false,
|
||||||
|
"snap_guides": true,
|
||||||
|
"snap_node_anchors": true,
|
||||||
|
"snap_node_center": true,
|
||||||
|
"snap_node_parent": true,
|
||||||
|
"snap_node_sides": true,
|
||||||
|
"snap_other_nodes": true,
|
||||||
|
"snap_pixel": true,
|
||||||
|
"snap_relative": false,
|
||||||
|
"snap_rotation": false,
|
||||||
|
"snap_rotation_offset": 0.0,
|
||||||
|
"snap_rotation_step": 0.261799,
|
||||||
|
"snap_scale": false,
|
||||||
|
"snap_scale_step": 0.1,
|
||||||
|
"zoom": 1.0
|
||||||
|
}
|
||||||
|
3D={
|
||||||
|
"fov": 70.01,
|
||||||
|
"gizmos_status": {
|
||||||
|
"AudioListener3D": 0,
|
||||||
|
"AudioStreamPlayer3D": 0,
|
||||||
|
"CPUParticles3D": 0,
|
||||||
|
"CSGShape3D": 0,
|
||||||
|
"Camera3D": 0,
|
||||||
|
"CollisionObject3D": 0,
|
||||||
|
"CollisionPolygon3D": 0,
|
||||||
|
"CollisionShape3D": 0,
|
||||||
|
"Decal": 0,
|
||||||
|
"FogVolume": 0,
|
||||||
|
"GPUParticles3D": 0,
|
||||||
|
"GPUParticlesCollision3D": 0,
|
||||||
|
"Joint3D": 0,
|
||||||
|
"Light3D": 0,
|
||||||
|
"LightmapGI": 0,
|
||||||
|
"LightmapProbe": 0,
|
||||||
|
"Marker3D": 0,
|
||||||
|
"MeshInstance3DCustomAABB": 0,
|
||||||
|
"NavigationLink3D": 0,
|
||||||
|
"NavigationObstacle3D": 0,
|
||||||
|
"NavigationRegion3D": 0,
|
||||||
|
"OccluderInstance3D": 0,
|
||||||
|
"Particles3DEmissionShape": 0,
|
||||||
|
"Path3D": 0,
|
||||||
|
"PhysicalBone3D": 0,
|
||||||
|
"RayCast3D": 0,
|
||||||
|
"ReflectionProbe": 0,
|
||||||
|
"ShapeCast3D": 0,
|
||||||
|
"Skeleton3D": 0,
|
||||||
|
"SoftBody3D": 0,
|
||||||
|
"SpringArm3D": 0,
|
||||||
|
"SpringBoneCollision3D": 0,
|
||||||
|
"SpringBoneSimulator3D": 0,
|
||||||
|
"VehicleWheel3D": 0,
|
||||||
|
"VisibleOnScreenNotifier3D": 0,
|
||||||
|
"VoxelGI": 0
|
||||||
|
},
|
||||||
|
"local_coords": false,
|
||||||
|
"preview_sun_env": {
|
||||||
|
"environ_ao_enabled": false,
|
||||||
|
"environ_enabled": true,
|
||||||
|
"environ_energy": 1.0,
|
||||||
|
"environ_gi_enabled": false,
|
||||||
|
"environ_glow_enabled": false,
|
||||||
|
"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
|
||||||
|
"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
|
||||||
|
"environ_tonemap_enabled": true,
|
||||||
|
"sun_color": Color(1, 1, 1, 1),
|
||||||
|
"sun_enabled": true,
|
||||||
|
"sun_energy": 1.0,
|
||||||
|
"sun_max_distance": 100.0,
|
||||||
|
"sun_rotation": Vector2(-1.0472, 2.61799)
|
||||||
|
},
|
||||||
|
"rotate_snap": 15.0,
|
||||||
|
"scale_snap": 10.0,
|
||||||
|
"show_grid": true,
|
||||||
|
"show_origin": true,
|
||||||
|
"snap_enabled": false,
|
||||||
|
"translate_snap": 1.0,
|
||||||
|
"viewport_mode": 1,
|
||||||
|
"viewports": [{
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": true,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}],
|
||||||
|
"zfar": 4000.01,
|
||||||
|
"znear": 0.05
|
||||||
|
}
|
||||||
|
Game={
|
||||||
|
"camera_override_mode": 2,
|
||||||
|
"hide_selection": false,
|
||||||
|
"select_mode": 0
|
||||||
|
}
|
||||||
|
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Game")])
|
||||||
|
|
@ -0,0 +1,195 @@
|
||||||
|
[editor_states]
|
||||||
|
|
||||||
|
Anim={
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
2D={
|
||||||
|
"grid_offset": Vector2(0, 0),
|
||||||
|
"grid_snap_active": false,
|
||||||
|
"grid_step": Vector2(8, 8),
|
||||||
|
"grid_visibility": 1,
|
||||||
|
"ofs": Vector2(-592.641, -226.488),
|
||||||
|
"primary_grid_step": Vector2i(8, 8),
|
||||||
|
"show_group_gizmos": true,
|
||||||
|
"show_guides": true,
|
||||||
|
"show_helpers": false,
|
||||||
|
"show_lock_gizmos": true,
|
||||||
|
"show_origin": true,
|
||||||
|
"show_position_gizmos": true,
|
||||||
|
"show_rulers": true,
|
||||||
|
"show_transformation_gizmos": true,
|
||||||
|
"show_viewport": true,
|
||||||
|
"show_zoom_control": true,
|
||||||
|
"smart_snap_active": false,
|
||||||
|
"snap_guides": true,
|
||||||
|
"snap_node_anchors": true,
|
||||||
|
"snap_node_center": true,
|
||||||
|
"snap_node_parent": true,
|
||||||
|
"snap_node_sides": true,
|
||||||
|
"snap_other_nodes": true,
|
||||||
|
"snap_pixel": true,
|
||||||
|
"snap_relative": false,
|
||||||
|
"snap_rotation": false,
|
||||||
|
"snap_rotation_offset": 0.0,
|
||||||
|
"snap_rotation_step": 0.261799,
|
||||||
|
"snap_scale": false,
|
||||||
|
"snap_scale_step": 0.1,
|
||||||
|
"zoom": 0.513158
|
||||||
|
}
|
||||||
|
3D={
|
||||||
|
"fov": 70.01,
|
||||||
|
"gizmos_status": {
|
||||||
|
"AudioListener3D": 0,
|
||||||
|
"AudioStreamPlayer3D": 0,
|
||||||
|
"CPUParticles3D": 0,
|
||||||
|
"CSGShape3D": 0,
|
||||||
|
"Camera3D": 0,
|
||||||
|
"CollisionObject3D": 0,
|
||||||
|
"CollisionPolygon3D": 0,
|
||||||
|
"CollisionShape3D": 0,
|
||||||
|
"Decal": 0,
|
||||||
|
"FogVolume": 0,
|
||||||
|
"GPUParticles3D": 0,
|
||||||
|
"GPUParticlesCollision3D": 0,
|
||||||
|
"Joint3D": 0,
|
||||||
|
"Light3D": 0,
|
||||||
|
"LightmapGI": 0,
|
||||||
|
"LightmapProbe": 0,
|
||||||
|
"Marker3D": 0,
|
||||||
|
"MeshInstance3DCustomAABB": 0,
|
||||||
|
"NavigationLink3D": 0,
|
||||||
|
"NavigationObstacle3D": 0,
|
||||||
|
"NavigationRegion3D": 0,
|
||||||
|
"OccluderInstance3D": 0,
|
||||||
|
"Particles3DEmissionShape": 0,
|
||||||
|
"Path3D": 0,
|
||||||
|
"PhysicalBone3D": 0,
|
||||||
|
"RayCast3D": 0,
|
||||||
|
"ReflectionProbe": 0,
|
||||||
|
"ShapeCast3D": 0,
|
||||||
|
"Skeleton3D": 0,
|
||||||
|
"SoftBody3D": 0,
|
||||||
|
"SpringArm3D": 0,
|
||||||
|
"SpringBoneCollision3D": 0,
|
||||||
|
"SpringBoneSimulator3D": 0,
|
||||||
|
"VehicleWheel3D": 0,
|
||||||
|
"VisibleOnScreenNotifier3D": 0,
|
||||||
|
"VoxelGI": 0
|
||||||
|
},
|
||||||
|
"local_coords": false,
|
||||||
|
"preview_sun_env": {
|
||||||
|
"environ_ao_enabled": false,
|
||||||
|
"environ_enabled": true,
|
||||||
|
"environ_energy": 1.0,
|
||||||
|
"environ_gi_enabled": false,
|
||||||
|
"environ_glow_enabled": false,
|
||||||
|
"environ_ground_color": Color(0.2, 0.169, 0.133, 1),
|
||||||
|
"environ_sky_color": Color(0.385, 0.454, 0.55, 1),
|
||||||
|
"environ_tonemap_enabled": true,
|
||||||
|
"sun_color": Color(1, 1, 1, 1),
|
||||||
|
"sun_enabled": true,
|
||||||
|
"sun_energy": 1.0,
|
||||||
|
"sun_max_distance": 100.0,
|
||||||
|
"sun_rotation": Vector2(-1.0472, 2.61799)
|
||||||
|
},
|
||||||
|
"rotate_snap": 15.0,
|
||||||
|
"scale_snap": 10.0,
|
||||||
|
"show_grid": true,
|
||||||
|
"show_origin": true,
|
||||||
|
"snap_enabled": false,
|
||||||
|
"translate_snap": 1.0,
|
||||||
|
"viewport_mode": 1,
|
||||||
|
"viewports": [{
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": true,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}, {
|
||||||
|
"auto_orthogonal": false,
|
||||||
|
"auto_orthogonal_enabled": true,
|
||||||
|
"cinematic_preview": false,
|
||||||
|
"display_mode": 22,
|
||||||
|
"distance": 4.0,
|
||||||
|
"doppler": false,
|
||||||
|
"frame_time": false,
|
||||||
|
"gizmos": true,
|
||||||
|
"grid": true,
|
||||||
|
"half_res": false,
|
||||||
|
"information": false,
|
||||||
|
"listener": false,
|
||||||
|
"lock_rotation": false,
|
||||||
|
"orthogonal": false,
|
||||||
|
"position": Vector3(0, 0, 0),
|
||||||
|
"transform_gizmo": true,
|
||||||
|
"use_environment": false,
|
||||||
|
"view_type": 0,
|
||||||
|
"x_rotation": 0.5,
|
||||||
|
"y_rotation": -0.5
|
||||||
|
}],
|
||||||
|
"zfar": 4000.01,
|
||||||
|
"znear": 0.05
|
||||||
|
}
|
||||||
|
Game={
|
||||||
|
"camera_override_mode": 2,
|
||||||
|
"hide_selection": false,
|
||||||
|
"select_mode": 0
|
||||||
|
}
|
||||||
|
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Game")])
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
node_unfolds=[]
|
||||||
|
resource_unfolds=[]
|
||||||
|
nodes_folded=[]
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
node_unfolds=[NodePath("TextureRect"), PackedStringArray("Layout", "Layout/Transform"), NodePath("VBoxContainer"), PackedStringArray("Layout", "Layout/Transform", "Theme", "Theme Overrides"), NodePath("VBoxContainer/NextSoundButton"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal", "Theme Overrides/font_sizes"), NodePath("VBoxContainer/HBoxContainer"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("VBoxContainer/HBoxContainer/RepeatSoundButton"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal", "Theme Overrides/font_sizes"), NodePath("VBoxContainer/HBoxContainer/EndOfGameButton"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "Theme Overrides/font_sizes", "theme_override_styles/normal"), NodePath("WinnerSelector"), PackedStringArray("Theme Overrides", "theme_override_styles/embedded_unfocused_border", "theme_override_styles/embedded_border"), NodePath("WinnerSelector/ColorRect"), PackedStringArray("Layout"), NodePath("WinnerSelector/VBoxContainer"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/constants", "Layout/Transform"), NodePath("WinnerSelector/VBoxContainer/Label"), PackedStringArray("Layout/Container Sizing", "Theme Overrides", "Theme Overrides/colors", "Layout"), NodePath("WinnerSelector/VBoxContainer/MenuPlayers"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal", "Theme Overrides/colors"), NodePath("WinnerSelector/VBoxContainer/Button"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal"), NodePath("Bloqueador"), PackedStringArray("Layout", "Layout/Transform")]
|
||||||
|
resource_unfolds=["res://scenes/game.tscn::StyleBoxFlat_yqjtg", PackedStringArray("Corner Radius"), "res://scenes/game.tscn::StyleBoxFlat_lnu2h", PackedStringArray("Corner Radius"), "res://scenes/game.tscn::StyleBoxFlat_lbhrr", PackedStringArray("Corner Radius"), "res://scenes/game.tscn::StyleBoxFlat_iywne", PackedStringArray(), "res://scenes/game.tscn::StyleBoxFlat_p57ef", PackedStringArray()]
|
||||||
|
nodes_folded=[NodePath("VBoxContainer"), NodePath("WinnerSelector"), NodePath("WinnerSelector/VBoxContainer")]
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
[editor_metadata]
|
||||||
|
|
||||||
|
executable_path="C:/Users/moran/Downloads/Godot_v4.4.1-stable_win64.exe/Godot_v4.4.1-stable_win64.exe"
|
||||||
|
use_advanced_connections=false
|
||||||
|
|
||||||
|
[dialog_bounds]
|
||||||
|
|
||||||
|
project_settings=Rect2(360, 190, 1200, 700)
|
||||||
|
create_new_node=Rect2(510, 190, 900, 700)
|
||||||
|
|
||||||
|
[script_setup]
|
||||||
|
|
||||||
|
last_selected_language="GDScript"
|
||||||
|
|
||||||
|
[recent_files]
|
||||||
|
|
||||||
|
scripts=["res://scripts/game_data.gd", "res://scripts/screen_manager.gd", "res://scenes/configuration.gd", "res://game.gd"]
|
||||||
|
scenes=["res://scenes/configuration.tscn", "res://scenes/game.tscn", "res://game.tscn"]
|
||||||
|
|
||||||
|
[color_picker]
|
||||||
|
|
||||||
|
picker_shape=3
|
||||||
|
recent_presets=PackedColorArray(0.811765, 0, 0, 1, 0.545498, 3.1285e-07, 0.261076, 1, 1, 1, 1, 1, 0.8, 0.8, 0.8, 1, 0.588235, 0.654902, 0.686275, 1, 0.196078, 0.309804, 0.368627, 0.956863, 0.196078, 0.309804, 0.368627, 1, 0.196078, 0.309804, 0.368627, 0.784314, 0.588235, 0.654902, 0.686275, 1)
|
||||||
|
|
||||||
|
[quick_open_dialog]
|
||||||
|
|
||||||
|
last_mode=1
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
res://scripts
|
||||||
|
res://
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
[res://scripts/game.gd]
|
||||||
|
|
||||||
|
state={
|
||||||
|
"bookmarks": PackedInt32Array(),
|
||||||
|
"breakpoints": PackedInt32Array(),
|
||||||
|
"column": 27,
|
||||||
|
"folded_lines": Array[int]([]),
|
||||||
|
"h_scroll_position": 0,
|
||||||
|
"row": 54,
|
||||||
|
"scroll_position": 12.0,
|
||||||
|
"selection": true,
|
||||||
|
"selection_from_column": 20,
|
||||||
|
"selection_from_line": 54,
|
||||||
|
"selection_to_column": 27,
|
||||||
|
"selection_to_line": 54,
|
||||||
|
"syntax_highlighter": "GDScript"
|
||||||
|
}
|
||||||
|
|
||||||
|
[res://scripts/configuration.gd]
|
||||||
|
|
||||||
|
state={
|
||||||
|
"bookmarks": PackedInt32Array(),
|
||||||
|
"breakpoints": PackedInt32Array(),
|
||||||
|
"column": 40,
|
||||||
|
"folded_lines": Array[int]([]),
|
||||||
|
"h_scroll_position": 0,
|
||||||
|
"row": 89,
|
||||||
|
"scroll_position": 69.0,
|
||||||
|
"selection": false,
|
||||||
|
"syntax_highlighter": "GDScript"
|
||||||
|
}
|
||||||
|
|
||||||
|
[res://scripts/screen_manager.gd]
|
||||||
|
|
||||||
|
state={
|
||||||
|
"bookmarks": PackedInt32Array(),
|
||||||
|
"breakpoints": PackedInt32Array(),
|
||||||
|
"column": 0,
|
||||||
|
"folded_lines": Array[int]([]),
|
||||||
|
"h_scroll_position": 0,
|
||||||
|
"row": 22,
|
||||||
|
"scroll_position": 0.0,
|
||||||
|
"selection": false,
|
||||||
|
"syntax_highlighter": "GDScript"
|
||||||
|
}
|
||||||
|
|
||||||
|
[res://scripts/game_data.gd]
|
||||||
|
|
||||||
|
state={
|
||||||
|
"bookmarks": PackedInt32Array(),
|
||||||
|
"breakpoints": PackedInt32Array(),
|
||||||
|
"column": 25,
|
||||||
|
"folded_lines": Array[int]([]),
|
||||||
|
"h_scroll_position": 0,
|
||||||
|
"row": 22,
|
||||||
|
"scroll_position": 18.0,
|
||||||
|
"selection": false,
|
||||||
|
"syntax_highlighter": "GDScript"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
list=[]
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="d0a2e8efb08934c125002ca2342b0b1b"
|
||||||
|
dest_md5="5eac8ba711953b444769459c636fa80b"
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="4f399bb14dd4336695b39d49ec4efc50"
|
||||||
|
dest_md5="1da956c37aacbb2d616aff49df392e02"
|
||||||
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="78687f61f7636839a990dd7241418511"
|
||||||
|
dest_md5="31495e9ef1c8480db9407b663c9641c9"
|
||||||
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="b7ed27b8733ac3938ea97b6f62f03fe2"
|
||||||
|
dest_md5="078c2aa3879e5d8fb05a4a95d08f28cb"
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="13fa9399ff066d872ef7b61ab16b2e73"
|
||||||
|
dest_md5="3bf30b72728e17e5b7b4f06796930ccd"
|
||||||
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="0eed98577cbbf02f0bdc0f5c9f70465b"
|
||||||
|
dest_md5="b48bef1f2eefdd190e0a3e60a6188d75"
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
source_md5="5bf73d4812f73436c189095565252ae2"
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="5bf73d4812f73436c189095565252ae2"
|
||||||
|
dest_md5="8be7e08267d2e327926b679322f9196c"
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bhjl7furxm0dv"
|
||||||
|
path="res://.godot/imported/Fondo.png-90ffc355f5eaeb5a9d9680e0d0d619ff.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Fondo.png"
|
||||||
|
dest_files=["res://.godot/imported/Fondo.png-90ffc355f5eaeb5a9d9680e0d0d619ff.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://p16ch53umcvi"
|
||||||
|
path="res://.godot/imported/Elefant.mp3-e3e5c8488a65256c22d6f79b59243fe7.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://audio/Elefant.mp3"
|
||||||
|
dest_files=["res://.godot/imported/Elefant.mp3-e3e5c8488a65256c22d6f79b59243fe7.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0
|
||||||
|
bpm=0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 994 B |
|
|
@ -0,0 +1,37 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cd4nfs4di62lg"
|
||||||
|
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
; Engine configuration file.
|
||||||
|
; It's best edited using the editor UI and not directly,
|
||||||
|
; since the parameters that go here are not all obvious.
|
||||||
|
;
|
||||||
|
; Format:
|
||||||
|
; [section] ; section goes between []
|
||||||
|
; param=value ; assign values to parameters
|
||||||
|
|
||||||
|
config_version=5
|
||||||
|
|
||||||
|
[application]
|
||||||
|
|
||||||
|
config/name="Bingo Auditivo"
|
||||||
|
run/main_scene="uid://orghy6w50dfb"
|
||||||
|
config/features=PackedStringArray("4.4", "GL Compatibility")
|
||||||
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
[autoload]
|
||||||
|
|
||||||
|
ScreenManager="*res://scripts/screen_manager.gd"
|
||||||
|
GameData="*res://scripts/game_data.gd"
|
||||||
|
|
||||||
|
[display]
|
||||||
|
|
||||||
|
window/size/viewport_width=1920
|
||||||
|
window/size/viewport_height=1080
|
||||||
|
window/stretch/mode="viewport"
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
renderer/rendering_method="gl_compatibility"
|
||||||
|
renderer/rendering_method.mobile="gl_compatibility"
|
||||||
|
|
@ -0,0 +1,119 @@
|
||||||
|
[gd_scene load_steps=5 format=3 uid="uid://orghy6w50dfb"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://e41ws6j00o5" path="res://scripts/configuration.gd" id="1_hc4xr"]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hc4xr"]
|
||||||
|
bg_color = Color(0.588235, 0.654902, 0.686275, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_7wcdq"]
|
||||||
|
bg_color = Color(0.588235, 0.654902, 0.686275, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lditi"]
|
||||||
|
bg_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
|
||||||
|
[node name="Configuration" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 0
|
||||||
|
script = ExtResource("1_hc4xr")
|
||||||
|
|
||||||
|
[node name="Window" type="Window" parent="."]
|
||||||
|
initial_position = 1
|
||||||
|
size = Vector2i(500, 230)
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="Window"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.8, 0.8, 0.8, 1)
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Window"]
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -200.0
|
||||||
|
offset_top = -99.0
|
||||||
|
offset_right = 200.0
|
||||||
|
offset_bottom = 101.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_constants/separation = 10
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Window/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
text = "Correo electronico:"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="EmailInput" type="LineEdit" parent="Window/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(400, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_hc4xr")
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="Window/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
text = "Contraseña:"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="PasswordInput" type="LineEdit" parent="Window/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(400, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_7wcdq")
|
||||||
|
|
||||||
|
[node name="LogInButton" type="Button" parent="Window/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(250, 50)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_lditi")
|
||||||
|
text = "Iniciar sesion"
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "CONFIGURACIÓN"
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Selecciona los jugadores"
|
||||||
|
|
||||||
|
[node name="MenuButton" type="MenuButton" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Jugadores"
|
||||||
|
flat = false
|
||||||
|
|
||||||
|
[node name="Label3" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Jugadores seleccionados"
|
||||||
|
|
||||||
|
[node name="FlowContainer" type="FlowContainer" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PlayButton" type="Button" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Empezar juego"
|
||||||
|
|
||||||
|
[node name="Bloqueador" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
offset_right = 1920.0
|
||||||
|
offset_bottom = 1080.0
|
||||||
|
color = Color(0.196078, 0.309804, 0.368627, 0.784314)
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Window/VBoxContainer/LogInButton" to="." method="_on_log_in_button_pressed"]
|
||||||
|
[connection signal="pressed" from="VBoxContainer/PlayButton" to="." method="_on_play_button_pressed"]
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
[gd_scene load_steps=2 format=3 uid="uid://orghy6w50dfb"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://e41ws6j00o5" path="res://scripts/configuration.gd" id="1_hc4xr"]
|
||||||
|
|
||||||
|
[node name="Configuration" type="Node2D"]
|
||||||
|
script = ExtResource("1_hc4xr")
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "CONFIGURACIÓN"
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Selecciona los jugadores"
|
||||||
|
|
||||||
|
[node name="MenuButton" type="MenuButton" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Jugadores"
|
||||||
|
flat = false
|
||||||
|
|
||||||
|
[node name="Label3" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Jugadores seleccionados"
|
||||||
|
|
||||||
|
[node name="FlowContainer" type="FlowContainer" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PlayButton" type="Button" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Empezar juego"
|
||||||
|
|
||||||
|
[node name="Window" type="Window" parent="."]
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Window"]
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
text = "Correo electronico"
|
||||||
|
|
||||||
|
[node name="EmailInput" type="LineEdit" parent="Window"]
|
||||||
|
offset_right = 68.5625
|
||||||
|
offset_bottom = 31.0
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="Window"]
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
text = "Contraseña
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="PasswordInput" type="LineEdit" parent="Window"]
|
||||||
|
offset_right = 68.5625
|
||||||
|
offset_bottom = 31.0
|
||||||
|
|
||||||
|
[node name="LogInButton" type="Button" parent="Window"]
|
||||||
|
offset_right = 8.0
|
||||||
|
offset_bottom = 8.0
|
||||||
|
|
||||||
|
[connection signal="pressed" from="VBoxContainer/PlayButton" to="." method="_on_play_button_pressed"]
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
[gd_scene load_steps=2 format=3 uid="uid://orghy6w50dfb"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://e41ws6j00o5" path="res://scripts/configuration.gd" id="1_hc4xr"]
|
||||||
|
|
||||||
|
[node name="Configuration" type="Node2D"]
|
||||||
|
script = ExtResource("1_hc4xr")
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "CONFIGURACIÓN"
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Selecciona los jugadores"
|
||||||
|
|
||||||
|
[node name="MenuButton" type="MenuButton" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Jugadores"
|
||||||
|
flat = false
|
||||||
|
|
||||||
|
[node name="Label3" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Jugadores seleccionados"
|
||||||
|
|
||||||
|
[node name="FlowContainer" type="FlowContainer" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PlayButton" type="Button" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Empezar juego"
|
||||||
|
|
||||||
|
[node name="Window" type="Window" parent="."]
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Window"]
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
text = "Correo electronico"
|
||||||
|
|
||||||
|
[node name="EmailInput" type="LineEdit" parent="Window"]
|
||||||
|
offset_right = 68.5625
|
||||||
|
offset_bottom = 31.0
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="Window"]
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
text = "Contraseña
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="PasswordInput" type="LineEdit" parent="Window"]
|
||||||
|
offset_right = 68.5625
|
||||||
|
offset_bottom = 31.0
|
||||||
|
|
||||||
|
[node name="LogInButton" type="Button" parent="Window"]
|
||||||
|
offset_right = 8.0
|
||||||
|
offset_bottom = 8.0
|
||||||
|
|
||||||
|
[connection signal="pressed" from="VBoxContainer/PlayButton" to="." method="_on_play_button_pressed"]
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
[gd_scene load_steps=2 format=3 uid="uid://orghy6w50dfb"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://e41ws6j00o5" path="res://scripts/configuration.gd" id="1_hc4xr"]
|
||||||
|
|
||||||
|
[node name="Configuration" type="Node2D"]
|
||||||
|
script = ExtResource("1_hc4xr")
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "CONFIGURACIÓN"
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Selecciona los jugadores"
|
||||||
|
|
||||||
|
[node name="MenuButton" type="MenuButton" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Jugadores"
|
||||||
|
flat = false
|
||||||
|
|
||||||
|
[node name="Label3" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Jugadores seleccionados"
|
||||||
|
|
||||||
|
[node name="FlowContainer" type="FlowContainer" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PlayButton" type="Button" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Empezar juego"
|
||||||
|
|
||||||
|
[node name="Window" type="Window" parent="."]
|
||||||
|
initial_position = 1
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Window"]
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Window/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Correo electronico"
|
||||||
|
|
||||||
|
[node name="EmailInput" type="LineEdit" parent="Window/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="Window/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Contraseña
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="PasswordInput" type="LineEdit" parent="Window/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="LogInButton" type="Button" parent="Window/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[connection signal="pressed" from="VBoxContainer/PlayButton" to="." method="_on_play_button_pressed"]
|
||||||
|
|
@ -0,0 +1,136 @@
|
||||||
|
[gd_scene load_steps=8 format=3 uid="uid://c466swcqlfwtj"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://dhqnf0xm2mwwm" path="res://scripts/game.gd" id="1_uwrxv"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bhjl7furxm0dv" path="res://Fondo.png" id="2_yqjtg"]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yqjtg"]
|
||||||
|
bg_color = Color(0.926771, 0.375165, 0.614248, 0.909804)
|
||||||
|
corner_radius_top_left = 60
|
||||||
|
corner_radius_top_right = 60
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lnu2h"]
|
||||||
|
bg_color = Color(0, 0.718972, 0.352325, 1)
|
||||||
|
corner_radius_bottom_left = 60
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lbhrr"]
|
||||||
|
bg_color = Color(0.901268, 0.463041, 0.139193, 1)
|
||||||
|
corner_radius_bottom_right = 60
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_iywne"]
|
||||||
|
bg_color = Color(0.588235, 0.654902, 0.686275, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_p57ef"]
|
||||||
|
bg_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
|
||||||
|
[node name="Game" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 0
|
||||||
|
script = ExtResource("1_uwrxv")
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 1920.0
|
||||||
|
offset_bottom = 1080.0
|
||||||
|
texture = ExtResource("2_yqjtg")
|
||||||
|
expand_mode = 1
|
||||||
|
stretch_mode = 6
|
||||||
|
flip_h = true
|
||||||
|
|
||||||
|
[node name="AnimalAudio" type="AudioStreamPlayer2D" parent="."]
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 502.0
|
||||||
|
offset_top = 267.0
|
||||||
|
offset_right = 1585.0
|
||||||
|
offset_bottom = 794.0
|
||||||
|
|
||||||
|
[node name="NextSoundButton" type="Button" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_font_sizes/font_size = 50
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_yqjtg")
|
||||||
|
text = "Reproducir sonido"
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
|
||||||
|
[node name="RepeatSoundButton" type="Button" parent="VBoxContainer/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_lnu2h")
|
||||||
|
text = "Repetir sonido"
|
||||||
|
|
||||||
|
[node name="EndOfGameButton" type="Button" parent="VBoxContainer/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_lbhrr")
|
||||||
|
text = "Fin de partida"
|
||||||
|
|
||||||
|
[node name="WinnerSelector" type="Window" parent="."]
|
||||||
|
initial_position = 1
|
||||||
|
size = Vector2i(500, 200)
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="WinnerSelector"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.8, 0.8, 0.8, 1)
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="WinnerSelector"]
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -225.0
|
||||||
|
offset_top = -56.0
|
||||||
|
offset_right = 225.0
|
||||||
|
offset_bottom = 56.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_constants/separation = 30
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="WinnerSelector/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
text = "¿Quien a ganado?"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="MenuPlayers" type="MenuButton" parent="WinnerSelector/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(450, 30)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_iywne")
|
||||||
|
text = "Jugadores 🡣"
|
||||||
|
flat = false
|
||||||
|
|
||||||
|
[node name="Button" type="Button" parent="WinnerSelector/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(250, 50)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_p57ef")
|
||||||
|
text = "Finalizar partida"
|
||||||
|
|
||||||
|
[node name="Bloqueador" type="ColorRect" parent="."]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
offset_right = 1920.0
|
||||||
|
offset_bottom = 1080.0
|
||||||
|
color = Color(0.196078, 0.309804, 0.368627, 0.784314)
|
||||||
|
|
||||||
|
[connection signal="pressed" from="VBoxContainer/NextSoundButton" to="." method="_on_next_sound_button_pressed"]
|
||||||
|
[connection signal="pressed" from="VBoxContainer/HBoxContainer/RepeatSoundButton" to="." method="_on_repeat_sound_button_pressed"]
|
||||||
|
[connection signal="pressed" from="VBoxContainer/HBoxContainer/EndOfGameButton" to="." method="_on_end_of_game_button_pressed"]
|
||||||
|
[connection signal="pressed" from="WinnerSelector/VBoxContainer/Button" to="." method="_on_winner_button_pressed"]
|
||||||
|
|
@ -0,0 +1,91 @@
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var login_popup = $Window
|
||||||
|
@onready var email_input = $Window/VBoxContainer/EmailInput
|
||||||
|
@onready var password_input = $Window/VBoxContainer/PasswordInput
|
||||||
|
|
||||||
|
@onready var players_menu = $VBoxContainer/MenuButton
|
||||||
|
@onready var seleccionados_container = $VBoxContainer/FlowContainer
|
||||||
|
@onready var play_button = $VBoxContainer/PlayButton
|
||||||
|
|
||||||
|
var todos_los_jugadores = []
|
||||||
|
var jugadores_disponibles = []
|
||||||
|
var jugadores_seleccionados = []
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
await get_tree().process_frame # Esperar a que todo esté listo
|
||||||
|
if GameData.id_user == -1:
|
||||||
|
login_popup.show()
|
||||||
|
$Bloqueador.visible = true
|
||||||
|
|
||||||
|
todos_los_jugadores = await GameData.get_residents_loaded()
|
||||||
|
jugadores_disponibles = todos_los_jugadores.duplicate()
|
||||||
|
_actualizar_menu()
|
||||||
|
players_menu.get_popup().connect("id_pressed", Callable(self, "_on_jugador_seleccionado"))
|
||||||
|
|
||||||
|
func _on_log_in_button_pressed():
|
||||||
|
var users = await GameData.get_users_loaded()
|
||||||
|
var username = email_input.text.strip_edges()
|
||||||
|
var password = password_input.text.strip_edges()
|
||||||
|
|
||||||
|
for user in users:
|
||||||
|
if user.email == username:
|
||||||
|
GameData.id_user = int(user.id)
|
||||||
|
login_popup.hide()
|
||||||
|
$Bloqueador.visible = false
|
||||||
|
break
|
||||||
|
|
||||||
|
if GameData.id_user == -1:
|
||||||
|
email_input.clear()
|
||||||
|
password_input.clear()
|
||||||
|
|
||||||
|
# Color rojo en el borde o texto
|
||||||
|
email_input.add_theme_color_override("font_color", Color.RED)
|
||||||
|
password_input.add_theme_color_override("font_color", Color.RED)
|
||||||
|
|
||||||
|
func _actualizar_menu():
|
||||||
|
var popup = players_menu.get_popup()
|
||||||
|
popup.clear()
|
||||||
|
for i in jugadores_disponibles.size():
|
||||||
|
popup.add_item(jugadores_disponibles[i].nombre, i)
|
||||||
|
|
||||||
|
func _on_jugador_seleccionado(index: int):
|
||||||
|
var jugador = jugadores_disponibles[index]
|
||||||
|
jugadores_seleccionados.append(jugador)
|
||||||
|
jugadores_disponibles.erase(jugador)
|
||||||
|
_actualizar_menu()
|
||||||
|
_agregar_jugador_visual(jugador.nombre)
|
||||||
|
|
||||||
|
|
||||||
|
func _agregar_jugador_visual(nombre: String):
|
||||||
|
var boton = Button.new()
|
||||||
|
boton.text = nombre + " ❌"
|
||||||
|
boton.name = nombre
|
||||||
|
boton.pressed.connect(Callable(self, "_quitar_jugador").bind(nombre))
|
||||||
|
seleccionados_container.add_child(boton)
|
||||||
|
|
||||||
|
func _quitar_jugador(nombre: String):
|
||||||
|
# Quitar de la vista
|
||||||
|
var boton = seleccionados_container.get_node(nombre)
|
||||||
|
if boton:
|
||||||
|
seleccionados_container.remove_child(boton)
|
||||||
|
boton.queue_free()
|
||||||
|
|
||||||
|
# Buscar el jugador por nombre
|
||||||
|
for jugador in jugadores_seleccionados:
|
||||||
|
if jugador.nombre == nombre:
|
||||||
|
jugadores_seleccionados.erase(jugador)
|
||||||
|
jugadores_disponibles.append(jugador)
|
||||||
|
break
|
||||||
|
|
||||||
|
jugadores_disponibles.sort_custom(func(a, b): return a.nombre < b.nombre)
|
||||||
|
_actualizar_menu()
|
||||||
|
|
||||||
|
func _on_play_button_pressed():
|
||||||
|
var game_scene = preload("res://scenes/game.tscn").instantiate()
|
||||||
|
#Validar que selecciona almenos un jugador, sino mostrar popup informando
|
||||||
|
game_scene.jugadores_seleccionados = jugadores_seleccionados
|
||||||
|
|
||||||
|
for jugador in jugadores_seleccionados:
|
||||||
|
GameData.start_game(jugador.id, null)
|
||||||
|
ScreenManager.change_scene(game_scene, self)
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://e41ws6j00o5
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var next_sound_button = $VBoxContainer/NextSoundButton
|
||||||
|
@onready var repeat_sound_button = $VBoxContainer/HBoxContainer/RepeatSoundButton
|
||||||
|
@onready var end_of_game_button = $VBoxContainer/HBoxContainer/EndOfGameButton
|
||||||
|
|
||||||
|
@onready var winner_selector = $WinnerSelector
|
||||||
|
@onready var menu_players = $WinnerSelector/VBoxContainer/MenuPlayers
|
||||||
|
|
||||||
|
var animales = [
|
||||||
|
{ "nombre": "Elfante", "sonido": preload("res://audio/Elefant.mp3") },
|
||||||
|
|
||||||
|
]
|
||||||
|
var animales_restantes = []
|
||||||
|
var sound_just_played
|
||||||
|
|
||||||
|
@export var jugadores_seleccionados = []
|
||||||
|
var ganador = -1
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
animales_restantes = animales.duplicate()
|
||||||
|
randomize()
|
||||||
|
|
||||||
|
func _on_next_sound_button_pressed():
|
||||||
|
if animales_restantes.is_empty():
|
||||||
|
print("¡Todos los sonidos han sido usados!")
|
||||||
|
return
|
||||||
|
|
||||||
|
var index = randi() % animales_restantes.size()
|
||||||
|
var animal = animales_restantes[index]
|
||||||
|
sound_just_played = animal
|
||||||
|
|
||||||
|
# Reproduce el sonido
|
||||||
|
$AnimalAudio.stream = animal["sonido"]
|
||||||
|
$AnimalAudio.play()
|
||||||
|
|
||||||
|
animales_restantes.erase(index)
|
||||||
|
|
||||||
|
func _on_repeat_sound_button_pressed():
|
||||||
|
$AnimalAudio.stream = sound_just_played["sonido"]
|
||||||
|
$AnimalAudio.play()
|
||||||
|
|
||||||
|
func _on_end_of_game_button_pressed():
|
||||||
|
for i in jugadores_seleccionados.size():
|
||||||
|
menu_players.get_popup().add_item(jugadores_seleccionados[i].nombre, i)
|
||||||
|
menu_players.get_popup().connect("id_pressed", Callable(self, "_on_jugador_seleccionado"))
|
||||||
|
winner_selector.show()
|
||||||
|
$Bloqueador.visible = true
|
||||||
|
|
||||||
|
func _on_jugador_seleccionado(index: int):
|
||||||
|
ganador = jugadores_seleccionados[index].id
|
||||||
|
|
||||||
|
func _on_winner_button_pressed():
|
||||||
|
if ganador != -1:
|
||||||
|
GameData.end_game(ganador)
|
||||||
|
ScreenManager.go_back_to_previous_scene()
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://dhqnf0xm2mwwm
|
||||||
|
|
@ -0,0 +1,220 @@
|
||||||
|
extends Node
|
||||||
|
# Este script se encarga de comunicarse con la API
|
||||||
|
|
||||||
|
#Señales para saber cuando se recibe los datos
|
||||||
|
signal users_received(users)
|
||||||
|
signal residents_received(residents)
|
||||||
|
signal games_received(games)
|
||||||
|
|
||||||
|
var all_users = []
|
||||||
|
var all_residents = []
|
||||||
|
var all_games = []
|
||||||
|
|
||||||
|
var resident_playing = -1
|
||||||
|
var start_time: int = 0
|
||||||
|
var end_time: int = 0
|
||||||
|
var level_game = -1
|
||||||
|
var id_user = -1
|
||||||
|
|
||||||
|
var partidas_activas: Array = []
|
||||||
|
|
||||||
|
|
||||||
|
### Metodo para inicar partida
|
||||||
|
func start_game(resident, level):
|
||||||
|
var partida = {
|
||||||
|
"idUsuario": id_user,
|
||||||
|
"idResidente": resident,
|
||||||
|
"start_time": Time.get_unix_time_from_system(),
|
||||||
|
"nivel": level
|
||||||
|
}
|
||||||
|
partidas_activas.append(partida)
|
||||||
|
|
||||||
|
### Metodo para finalizar partida
|
||||||
|
func end_game(ganador):
|
||||||
|
var end_time = Time.get_unix_time_from_system()
|
||||||
|
|
||||||
|
var games = await get_games_loaded()
|
||||||
|
var game_id = 0;
|
||||||
|
for game in games:
|
||||||
|
if game.nombre == "Bingo auditivo":
|
||||||
|
game_id = 3 #game.id
|
||||||
|
|
||||||
|
for partida in partidas_activas:
|
||||||
|
var fallos = 0
|
||||||
|
if partida["idResidente"] == ganador:
|
||||||
|
fallos = 1
|
||||||
|
var duracion: int = end_time - partida["start_time"]
|
||||||
|
|
||||||
|
var data = {
|
||||||
|
"idJuego": game_id,
|
||||||
|
"idResidente": partida["idResidente"],
|
||||||
|
"idUsuario": partida["idUsuario"],
|
||||||
|
"fallos": fallos,
|
||||||
|
"duracion": duracion,
|
||||||
|
"dificultad": partida["nivel"]
|
||||||
|
}
|
||||||
|
|
||||||
|
send_game_data(data)
|
||||||
|
|
||||||
|
partidas_activas.clear()
|
||||||
|
|
||||||
|
### Metodo para calcular la duracion entre el incio y el final de la partida (en segundos)
|
||||||
|
func get_duration() -> int:
|
||||||
|
return end_time - start_time
|
||||||
|
|
||||||
|
#-------------------------------------GET USERS-------------------------------------------------------
|
||||||
|
|
||||||
|
func get_users():
|
||||||
|
var http_request = HTTPRequest.new()
|
||||||
|
get_tree().root.add_child(http_request)
|
||||||
|
|
||||||
|
var status = http_request.connect(
|
||||||
|
"request_completed",
|
||||||
|
Callable(self, "_on_request_get_users").bind(http_request)
|
||||||
|
)
|
||||||
|
|
||||||
|
var url = "http://localhost:8080/resi/users"
|
||||||
|
var headers = ["User-Agent: Godot"]
|
||||||
|
var error = http_request.request(url, headers)
|
||||||
|
|
||||||
|
if error != OK:
|
||||||
|
print("Error al hacer GET:", error)
|
||||||
|
|
||||||
|
### Metodo para parsear json de residentes y que emite una señal cuando lo tenga
|
||||||
|
func _on_request_get_users(result, response_code, headers, body, request_node):
|
||||||
|
print("Código de respuesta:", response_code)
|
||||||
|
|
||||||
|
if response_code == 200:
|
||||||
|
var response_text = body.get_string_from_utf8()
|
||||||
|
var parsed = JSON.parse_string(response_text)
|
||||||
|
|
||||||
|
if parsed != null:
|
||||||
|
all_users = parsed
|
||||||
|
print("Users obtenidos:", all_users)
|
||||||
|
|
||||||
|
# Emitir la señal para notificar a quien esté conectado
|
||||||
|
emit_signal("users_received", all_users)
|
||||||
|
else:
|
||||||
|
print("Error al parsear JSON")
|
||||||
|
else:
|
||||||
|
print("Error del servidor o conexión:", response_code)
|
||||||
|
|
||||||
|
request_node.queue_free() # Liberar para evitar error 31
|
||||||
|
|
||||||
|
### Metodo que espera a la señal de que se han obtenido y parseado los residentes y los devuelve.
|
||||||
|
func get_users_loaded() -> Array:
|
||||||
|
print("Hola")
|
||||||
|
get_users()
|
||||||
|
var result = await self.users_received
|
||||||
|
return result
|
||||||
|
|
||||||
|
#--------------------------------------GET RESIDENTES-----------------------------------------------
|
||||||
|
|
||||||
|
### Metodo para hacer un get a la api de todos los residentes
|
||||||
|
func get_residents():
|
||||||
|
var http_request = HTTPRequest.new()
|
||||||
|
get_tree().root.add_child(http_request)
|
||||||
|
|
||||||
|
var status = http_request.connect(
|
||||||
|
"request_completed",
|
||||||
|
Callable(self, "_on_request_get_residents").bind(http_request)
|
||||||
|
)
|
||||||
|
|
||||||
|
var url = "http://localhost:8080/resi/residents"
|
||||||
|
var headers = ["User-Agent: Godot"]
|
||||||
|
var error = http_request.request(url, headers)
|
||||||
|
|
||||||
|
if error != OK:
|
||||||
|
print("Error al hacer GET:", error)
|
||||||
|
|
||||||
|
### Metodo para parsear json de residentes y que emite una señal cuando lo tenga
|
||||||
|
func _on_request_get_residents(result, response_code, headers, body, request_node):
|
||||||
|
print("Código de respuesta:", response_code)
|
||||||
|
|
||||||
|
if response_code == 200:
|
||||||
|
var response_text = body.get_string_from_utf8()
|
||||||
|
var parsed = JSON.parse_string(response_text)
|
||||||
|
|
||||||
|
if parsed != null:
|
||||||
|
all_residents = parsed
|
||||||
|
print("Residentes obtenidos:", all_residents)
|
||||||
|
|
||||||
|
# Emitir la señal para notificar a quien esté conectado
|
||||||
|
emit_signal("residents_received", all_residents)
|
||||||
|
else:
|
||||||
|
print("Error al parsear JSON")
|
||||||
|
else:
|
||||||
|
print("Error del servidor o conexión:", response_code)
|
||||||
|
|
||||||
|
request_node.queue_free() # Liberar para evitar error 31
|
||||||
|
|
||||||
|
### Metodo que espera a la señal de que se han obtenido y parseado los residentes y los devuelve.
|
||||||
|
func get_residents_loaded() -> Array:
|
||||||
|
get_residents()
|
||||||
|
var result = await self.residents_received
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------- GET JUEGOS --------------------------------------------
|
||||||
|
func get_games():
|
||||||
|
var http_request = HTTPRequest.new()
|
||||||
|
get_tree().root.add_child(http_request)
|
||||||
|
|
||||||
|
var status = http_request.connect(
|
||||||
|
"request_completed",
|
||||||
|
Callable(self, "_on_request_get_games").bind(http_request)
|
||||||
|
)
|
||||||
|
|
||||||
|
var url = "http://localhost:8080/resi/juegos"
|
||||||
|
var headers = ["User-Agent: Godot"]
|
||||||
|
var error = http_request.request(url, headers)
|
||||||
|
|
||||||
|
if error != OK:
|
||||||
|
print("Error al hacer GET en juegos:", error)
|
||||||
|
|
||||||
|
### Metodo para parsear json de residentes y que emite una señal cuando lo tenga
|
||||||
|
func _on_request_get_games(result, response_code, headers, body, request_node):
|
||||||
|
print("Código de respuesta en juegos:", response_code)
|
||||||
|
|
||||||
|
if response_code == 200:
|
||||||
|
var response_text = body.get_string_from_utf8()
|
||||||
|
var parsed = JSON.parse_string(response_text)
|
||||||
|
|
||||||
|
if parsed != null:
|
||||||
|
all_games = parsed
|
||||||
|
print("Juegos obtenidos:", all_games)
|
||||||
|
|
||||||
|
# Emitir la señal para notificar a quien esté conectado
|
||||||
|
emit_signal("games_received", all_games)
|
||||||
|
else:
|
||||||
|
print("Error al parsear JSON de juegos")
|
||||||
|
else:
|
||||||
|
print("Error del servidor o conexión en juegos:", response_code)
|
||||||
|
|
||||||
|
request_node.queue_free() # Liberar para evitar error 31
|
||||||
|
|
||||||
|
### Metodo que espera a la señal de que se han obtenido y parseado los residentes y los devuelve.
|
||||||
|
func get_games_loaded() -> Array:
|
||||||
|
get_games()
|
||||||
|
var result = await self.games_received
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------- POST PARTIDA ------------------------------------
|
||||||
|
|
||||||
|
func send_game_data(data: Dictionary):
|
||||||
|
var http_request = HTTPRequest.new()
|
||||||
|
get_tree().root.add_child(http_request)
|
||||||
|
|
||||||
|
var json_body = JSON.stringify(data)
|
||||||
|
var headers = ["Content-Type: application/json"]
|
||||||
|
var url = "http://localhost:8080/resi/juegos/stats/add"
|
||||||
|
|
||||||
|
http_request.connect("request_completed", Callable(self, "_on_game_data_sent").bind(http_request))
|
||||||
|
var error = http_request.request(url, headers, HTTPClient.METHOD_POST, json_body)
|
||||||
|
|
||||||
|
if error != OK:
|
||||||
|
print("Error al enviar los datos:", error)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://bj0rbb7d8ojgf
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://uiq7fem2cocj
|
||||||
|
|
@ -8,7 +8,7 @@ Anim={
|
||||||
"grid_snap_active": false,
|
"grid_snap_active": false,
|
||||||
"grid_step": Vector2(8, 8),
|
"grid_step": Vector2(8, 8),
|
||||||
"grid_visibility": 1,
|
"grid_visibility": 1,
|
||||||
"ofs": Vector2(-115.402, 74.5408),
|
"ofs": Vector2(-555.679, -77.392),
|
||||||
"primary_grid_step": Vector2i(8, 8),
|
"primary_grid_step": Vector2i(8, 8),
|
||||||
"show_group_gizmos": true,
|
"show_group_gizmos": true,
|
||||||
"show_guides": true,
|
"show_guides": true,
|
||||||
|
|
@ -34,7 +34,7 @@ Anim={
|
||||||
"snap_rotation_step": 0.261799,
|
"snap_rotation_step": 0.261799,
|
||||||
"snap_scale": false,
|
"snap_scale": false,
|
||||||
"snap_scale_step": 0.1,
|
"snap_scale_step": 0.1,
|
||||||
"zoom": 0.683013
|
"zoom": 0.466507
|
||||||
}
|
}
|
||||||
3D={
|
3D={
|
||||||
"fov": 70.01,
|
"fov": 70.01,
|
||||||
|
|
@ -192,4 +192,4 @@ Game={
|
||||||
"hide_selection": false,
|
"hide_selection": false,
|
||||||
"select_mode": 0
|
"select_mode": 0
|
||||||
}
|
}
|
||||||
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Node2D")])
|
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Configuration")])
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
[folding]
|
[folding]
|
||||||
|
|
||||||
node_unfolds=[NodePath("VBoxContainer/bg_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("VBoxContainer/tiles_lines_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("VBoxContainer/table_lines_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("VBoxContainer/levels_menu"), PackedStringArray("item_count_array")]
|
node_unfolds=[NodePath("."), PackedStringArray("Layout"), NodePath("MarginContainer"), PackedStringArray("Layout", "Layout/Transform", "Theme Overrides", "Theme Overrides/constants"), NodePath("MarginContainer/VBoxContainer"), PackedStringArray("Layout", "Visibility", "Theme Overrides/constants", "Layout/Transform"), NodePath("MarginContainer/VBoxContainer/Label6"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/colors", "Layout", "Layout/Container Sizing"), NodePath("MarginContainer/VBoxContainer/Label"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/colors", "Theme Overrides/fonts"), NodePath("MarginContainer/VBoxContainer/residents_menu"), PackedStringArray("Layout", "Theme", "Theme Overrides", "Layout/Container Sizing", "theme_override_styles/normal"), NodePath("MarginContainer/VBoxContainer/Label2"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/colors"), NodePath("MarginContainer/VBoxContainer/bg_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing", "Layout/Transform", "Theme Overrides"), NodePath("MarginContainer/VBoxContainer/Label3"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/colors"), NodePath("MarginContainer/VBoxContainer/tiles_lines_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("MarginContainer/VBoxContainer/Label4"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/colors"), NodePath("MarginContainer/VBoxContainer/table_lines_color_picker"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("MarginContainer/VBoxContainer/Label5"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/colors"), NodePath("MarginContainer/VBoxContainer/levels_menu"), PackedStringArray("Theme Overrides/colors", "Theme Overrides", "theme_override_styles/normal", "Layout", "Layout/Container Sizing", "Theme Overrides/styles"), NodePath("MarginContainer/VBoxContainer/Button"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme", "theme", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal"), NodePath("Warning"), PackedStringArray("Flags"), NodePath("Warning/Panel"), PackedStringArray("theme_override_styles/panel", "Layout", "Theme Overrides", "Theme Overrides/styles"), NodePath("LogIn"), PackedStringArray("Theme Overrides", "Theme Overrides/styles", "Flags"), NodePath("LogIn/ColorRect"), PackedStringArray("Layout"), NodePath("LogIn/VBoxContainer"), PackedStringArray("Layout", "Layout/Transform", "Theme Overrides", "Theme Overrides/constants"), NodePath("LogIn/VBoxContainer/Label"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/colors"), NodePath("LogIn/VBoxContainer/EmailInput"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal", "Theme Overrides/colors"), NodePath("LogIn/VBoxContainer/Label2"), PackedStringArray("Theme Overrides", "Theme Overrides/colors"), NodePath("LogIn/VBoxContainer/PasswordInput"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal", "Theme Overrides/colors"), NodePath("LogIn/VBoxContainer/LogInButton"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal"), NodePath("Blocker"), PackedStringArray("Layout", "Layout/Transform")]
|
||||||
resource_unfolds=[]
|
resource_unfolds=["res://scenes/Configuration.tscn::StyleBoxFlat_742ft", PackedStringArray(), "res://scenes/Configuration.tscn::StyleBoxFlat_rjxe2", PackedStringArray(), "res://scenes/Configuration.tscn::StyleBoxFlat_hjuae", PackedStringArray(), "res://scenes/Configuration.tscn::StyleBoxFlat_d6xro", PackedStringArray(), "res://scenes/Configuration.tscn::StyleBoxFlat_u2atv", PackedStringArray(), "res://scenes/Configuration.tscn::StyleBoxFlat_khph0", PackedStringArray(), "res://scenes/Configuration.tscn::StyleBoxFlat_1f7ew", PackedStringArray()]
|
||||||
nodes_folded=[]
|
nodes_folded=[NodePath("MarginContainer/VBoxContainer"), NodePath("Warning"), NodePath("LogIn")]
|
||||||
|
|
|
||||||
|
|
@ -192,4 +192,4 @@ Game={
|
||||||
"hide_selection": false,
|
"hide_selection": false,
|
||||||
"select_mode": 0
|
"select_mode": 0
|
||||||
}
|
}
|
||||||
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Node2D")])
|
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Configuration/Blocker")])
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
[folding]
|
[folding]
|
||||||
|
|
||||||
node_unfolds=[NodePath("MenuButton"), PackedStringArray("Layout", "Layout/Transform", "icon"), NodePath("HBoxContainer"), PackedStringArray("Layout", "Theme Overrides", "Theme Overrides/constants"), NodePath("HBoxContainer/VBoxContainer"), PackedStringArray("Layout", "Layout/Transform", "Layout/Container Sizing"), NodePath("HBoxContainer/VBoxContainer/Label"), PackedStringArray("BiDi", "Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/fonts"), NodePath("HBoxContainer/VBoxContainer/TilesContainer"), PackedStringArray("Layout", "Layout/Transform", "Texture", "Layout/Container Sizing"), NodePath("HBoxContainer/VBoxContainer2"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("HBoxContainer/VBoxContainer2/Label"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes"), NodePath("HBoxContainer/VBoxContainer2/GameBoardContainer"), PackedStringArray("Layout", "Layout/Transform", "Layout/Container Sizing"), NodePath("HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard"), PackedStringArray("Layout", "Layout/Transform"), NodePath("HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer"), PackedStringArray("Layout", "Layout/Container Sizing", "Layout/Transform")]
|
node_unfolds=[NodePath("."), PackedStringArray("Layout"), NodePath("VBoxContainer"), PackedStringArray("Layout"), NodePath("VBoxContainer/MenuButton"), PackedStringArray("Layout", "Layout/Transform", "icon", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/constants"), NodePath("VBoxContainer/HBoxContainer"), PackedStringArray("Layout", "Theme Overrides", "Theme Overrides/constants", "Layout/Transform"), NodePath("VBoxContainer/HBoxContainer/VBoxContainer"), PackedStringArray("Layout", "Layout/Transform", "Layout/Container Sizing"), NodePath("VBoxContainer/HBoxContainer/VBoxContainer/Label"), PackedStringArray("BiDi", "Theme Overrides", "Theme Overrides/font_sizes", "Theme Overrides/fonts"), NodePath("VBoxContainer/HBoxContainer/VBoxContainer/TilesContainer"), PackedStringArray("Layout", "Layout/Transform", "Texture", "Layout/Container Sizing"), NodePath("VBoxContainer/HBoxContainer/VBoxContainer2"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("VBoxContainer/HBoxContainer/VBoxContainer2/Label"), PackedStringArray("Theme Overrides", "Theme Overrides/font_sizes"), NodePath("VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer"), PackedStringArray("Layout", "Layout/Transform", "Layout/Container Sizing"), NodePath("VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard"), PackedStringArray("Layout", "Theme", "Theme Overrides", "Theme Overrides/styles"), NodePath("VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer"), PackedStringArray("Layout", "Layout/Container Sizing", "Layout/Transform"), NodePath("WinPopup/ColorRect"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("WinPopup/VBoxContainer"), PackedStringArray("Layout"), NodePath("WinPopup/VBoxContainer/victory_label"), PackedStringArray("Theme Overrides", "Theme Overrides/colors"), NodePath("WinPopup/VBoxContainer/duration_label"), PackedStringArray("Theme Overrides", "Theme Overrides/styles", "Theme Overrides/colors"), NodePath("WinPopup/VBoxContainer/fail_count_label"), PackedStringArray("Theme Overrides", "Theme Overrides/colors"), NodePath("WinPopup/VBoxContainer/exit_endgame_button"), PackedStringArray("Layout", "Layout/Container Sizing", "Theme Overrides", "Theme Overrides/styles", "theme_override_styles/normal"), NodePath("Blocker"), PackedStringArray("Layout", "Layout/Transform")]
|
||||||
resource_unfolds=[]
|
resource_unfolds=["res://scenes/Game.tscn::StyleBoxEmpty_cpr0p", PackedStringArray(), "res://scenes/Game.tscn::StyleBoxFlat_cpr0p", PackedStringArray()]
|
||||||
nodes_folded=[]
|
nodes_folded=[NodePath("WinPopup"), NodePath("WinPopup/VBoxContainer")]
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
Button
|
|
||||||
Label
|
|
||||||
VBoxContainer
|
VBoxContainer
|
||||||
|
Control
|
||||||
|
MarginContainer
|
||||||
|
ColorRect
|
||||||
|
Window
|
||||||
PopupPanel
|
PopupPanel
|
||||||
|
Button
|
||||||
|
LineEdit
|
||||||
|
Label
|
||||||
|
Popup
|
||||||
|
Panel
|
||||||
MenuButton
|
MenuButton
|
||||||
ColorPickerButton
|
ColorPickerButton
|
||||||
Control
|
|
||||||
HBoxContainer
|
HBoxContainer
|
||||||
AudioStreamPlayer
|
|
||||||
TextureRect
|
|
||||||
GridContainer
|
|
||||||
PanelContainer
|
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,14 @@
|
||||||
|
|
||||||
dock_3_selected_tab_idx=0
|
dock_3_selected_tab_idx=0
|
||||||
dock_4_selected_tab_idx=0
|
dock_4_selected_tab_idx=0
|
||||||
dock_5_selected_tab_idx=1
|
dock_5_selected_tab_idx=0
|
||||||
dock_floating={}
|
dock_floating={}
|
||||||
dock_filesystem_h_split_offset=240
|
dock_filesystem_h_split_offset=240
|
||||||
dock_filesystem_v_split_offset=0
|
dock_filesystem_v_split_offset=0
|
||||||
dock_filesystem_display_mode=0
|
dock_filesystem_display_mode=0
|
||||||
dock_filesystem_file_sort=0
|
dock_filesystem_file_sort=0
|
||||||
dock_filesystem_file_list_display_mode=1
|
dock_filesystem_file_list_display_mode=1
|
||||||
dock_filesystem_selected_paths=PackedStringArray("res://scenes/Game.tscn")
|
dock_filesystem_selected_paths=PackedStringArray("res://scripts/game_data.gd")
|
||||||
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/")
|
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/")
|
||||||
dock_node_current_tab=0
|
dock_node_current_tab=0
|
||||||
dock_history_include_scene=true
|
dock_history_include_scene=true
|
||||||
|
|
@ -28,11 +28,11 @@ dock_5="Inspector,Node,History"
|
||||||
|
|
||||||
[EditorNode]
|
[EditorNode]
|
||||||
|
|
||||||
open_scenes=PackedStringArray("res://scenes/Game.tscn", "res://scenes/Configuration.tscn")
|
open_scenes=PackedStringArray("res://scenes/Configuration.tscn", "res://scenes/Game.tscn")
|
||||||
current_scene="res://scenes/Game.tscn"
|
current_scene="res://scenes/Game.tscn"
|
||||||
center_split_offset=0
|
center_split_offset=0
|
||||||
selected_default_debugger_tab_idx=0
|
selected_default_debugger_tab_idx=0
|
||||||
selected_main_editor_idx=2
|
selected_main_editor_idx=0
|
||||||
selected_bottom_panel_item=0
|
selected_bottom_panel_item=0
|
||||||
|
|
||||||
[EditorWindow]
|
[EditorWindow]
|
||||||
|
|
@ -44,8 +44,8 @@ size=Vector2i(1024, 1000)
|
||||||
|
|
||||||
[ScriptEditor]
|
[ScriptEditor]
|
||||||
|
|
||||||
open_scripts=["res://scripts/animal_tile.gd", "res://scripts/configuration.gd", "res://scripts/game_data.gd", "res://scripts/image_loader.gd", "res://scripts/node_2d.gd", "res://scripts/screen_manager.gd"]
|
open_scripts=["res://scripts/animal_tile.gd", "res://scripts/configuration.gd", "res://scripts/game.gd", "res://scripts/game_data.gd", "res://scripts/image_loader.gd", "res://scripts/screen_manager.gd"]
|
||||||
selected_script="res://scripts/game_data.gd"
|
selected_script="res://scripts/configuration.gd"
|
||||||
open_help=[]
|
open_help=[]
|
||||||
script_split_offset=200
|
script_split_offset=200
|
||||||
list_split_offset=0
|
list_split_offset=0
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
fc8a56933c4b1c8d796fdb8f7a9f9475
|
fc8a56933c4b1c8d796fdb8f7a9f9475
|
||||||
::res://::1744408654
|
::res://::1744835306
|
||||||
export_presets.cfg::TextFile::-1::1744399092::0::1::::<><><>0<>0<><>::
|
export_presets.cfg::TextFile::-1::1744834849::0::1::::<><><>0<>0<><>::
|
||||||
icon.svg::CompressedTexture2D/CompressedTexture2D::4846091670585274137::1744195706::1744195716::1::::<><><>0<>0<>a6ef899d0bda3cdd63eaa6b079d03aca<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex::
|
icon.svg::CompressedTexture2D/CompressedTexture2D::4846091670585274137::1744195706::1744195716::1::::<><><>0<>0<>a6ef899d0bda3cdd63eaa6b079d03aca<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex::
|
||||||
::res://audios/::1744295153
|
::res://audios/::1744295153
|
||||||
instrucciones.mp3::AudioStreamMP3/AudioStreamMP3::7110748935779360531::1744295152::1744295153::1::::<><><>0<>0<>907b78c75c0c4deb72d14e7a74dd7acf<>res://.godot/imported/instrucciones.mp3-3e910247f8d0baa2378a660539fef5b4.mp3str::
|
instrucciones.mp3::AudioStreamMP3/AudioStreamMP3::7110748935779360531::1744295152::1744295153::1::::<><><>0<>0<>907b78c75c0c4deb72d14e7a74dd7acf<>res://.godot/imported/instrucciones.mp3-3e910247f8d0baa2378a660539fef5b4.mp3str::
|
||||||
|
|
@ -60,14 +60,14 @@ vaca_color.png::CompressedTexture2D/CompressedTexture2D::1639453517109408540::17
|
||||||
vaca_sombra.png::CompressedTexture2D/CompressedTexture2D::4137840386567035395::1744226338::1744226677::1::::<><><>0<>0<>8b8f93705ab813c8fda24891062e2b93<>res://.godot/imported/vaca_sombra.png-87bf77b3bedacf2de6553221767d8158.ctex::
|
vaca_sombra.png::CompressedTexture2D/CompressedTexture2D::4137840386567035395::1744226338::1744226677::1::::<><><>0<>0<>8b8f93705ab813c8fda24891062e2b93<>res://.godot/imported/vaca_sombra.png-87bf77b3bedacf2de6553221767d8158.ctex::
|
||||||
zorro_color.png::CompressedTexture2D/CompressedTexture2D::1666546973926131984::1744220372::1744222652::1::::<><><>0<>0<>507db7ef7a8e54c877af1f7c2e943778<>res://.godot/imported/zorro_color.png-9357deebbe773a59422357e0f482914f.ctex::
|
zorro_color.png::CompressedTexture2D/CompressedTexture2D::1666546973926131984::1744220372::1744222652::1::::<><><>0<>0<>507db7ef7a8e54c877af1f7c2e943778<>res://.godot/imported/zorro_color.png-9357deebbe773a59422357e0f482914f.ctex::
|
||||||
zorro_sombra.png::CompressedTexture2D/CompressedTexture2D::6252548807644359177::1744226356::1744226677::1::::<><><>0<>0<>dd376ca5b7be9cc4c9ab8247eb78f99a<>res://.godot/imported/zorro_sombra.png-a7d9fb62668d52352c13e90c900ac2bc.ctex::
|
zorro_sombra.png::CompressedTexture2D/CompressedTexture2D::6252548807644359177::1744226356::1744226677::1::::<><><>0<>0<>dd376ca5b7be9cc4c9ab8247eb78f99a<>res://.godot/imported/zorro_sombra.png-a7d9fb62668d52352c13e90c900ac2bc.ctex::
|
||||||
::res://scenes/::1744404395
|
::res://scenes/::1744835032
|
||||||
Configuration.tscn::PackedScene::6729908559101085089::1744403417::0::1::::<><><>0<>0<><>::uid://ctge47k34s7yi::::res://scripts/configuration.gd
|
Configuration.tscn::PackedScene::6729908559101085089::1744835032::0::1::::<><><>0<>0<><>::uid://ctge47k34s7yi::::res://scripts/configuration.gd
|
||||||
Game.tscn::PackedScene::7300647384769136354::1744404395::0::1::::<><><>0<>0<><>::uid://3qvb4d882mqd::::res://scripts/node_2d.gd<>uid://c8kq84p5btav8::::res://audios/instrucciones.mp3<>uid://bkwdw0l43i15v::::res://images/menu_logo.png
|
Game.tscn::PackedScene::7300647384769136354::1744834812::0::1::::<><><>0<>0<><>::uid://3qvb4d882mqd::::res://scripts/game.gd<>uid://c8kq84p5btav8::::res://audios/instrucciones.mp3<>uid://bkwdw0l43i15v::::res://images/menu_logo.png
|
||||||
::res://scripts/::1744404395
|
::res://scripts/::1744834810
|
||||||
animal_tile.gd::GDScript::4714635075097887840::1744403019::0::1::::AnimalTile<>Node2D<><>0<>0<><>::
|
animal_tile.gd::GDScript::4714635075097887840::1744834515::0::1::::AnimalTile<>Node2D<><>0<>0<><>::
|
||||||
configuration.gd::GDScript::6119112016534423576::1744402008::0::1::::<>Control<><>0<>0<><>::
|
configuration.gd::GDScript::6119112016534423576::1744834810::0::1::::<>Control<><>0<>0<><>::
|
||||||
game_data.gd::GDScript::1767393862001390866::1744404395::0::1::::<>Node<><>0<>0<><>::
|
game.gd::GDScript::1999596037927974939::1744834409::0::1::::<>Control<><>0<>0<><>::
|
||||||
|
game_data.gd::GDScript::1767393862001390866::1744833131::0::1::::<>Node<><>0<>0<><>::
|
||||||
image_loader.gd::GDScript/GDScript::4945911806681378795::1744289398::0::1::::ImageLoader<>Node<><>0<>0<><>::
|
image_loader.gd::GDScript/GDScript::4945911806681378795::1744289398::0::1::::ImageLoader<>Node<><>0<>0<><>::
|
||||||
node_2d.gd::GDScript::1999596037927974939::1744403411::0::1::::<>Node2D<><>0<>0<><>::
|
|
||||||
screen_manager.gd::GDScript/GDScript::6637911554621855883::1744315379::0::1::::<>Node<><>0<>0<><>::
|
screen_manager.gd::GDScript/GDScript::6637911554621855883::1744315379::0::1::::<>Node<><>0<>0<><>::
|
||||||
screen_manager.tscn::PackedScene::1657251017967126927::1744396137::0::1::::<><><>0<>0<><>::
|
screen_manager.tscn::PackedScene/PackedScene::564416849166704526::1744815684::0::1::::<><><>0<>0<><>::
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,2 @@
|
||||||
res://scenes/Game.tscn
|
|
||||||
res://scripts/game_data.gd
|
|
||||||
res://scripts/node_2d.gd
|
|
||||||
res://scripts/configuration.gd
|
|
||||||
res://scenes/Configuration.tscn
|
res://scenes/Configuration.tscn
|
||||||
|
res://scripts/configuration.gd
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -17,9 +17,14 @@ last_selected_language="GDScript"
|
||||||
[recent_files]
|
[recent_files]
|
||||||
|
|
||||||
scripts=["Object", "res://scenes/configuration.gd", "res://scripts/screen_manager.gd", "res://scripts/game_data.gd", "res://image_loader.gd", "res://export_presets.cfg", "res://number_title.gd", "res://node_2d.gd"]
|
scripts=["Object", "res://scenes/configuration.gd", "res://scripts/screen_manager.gd", "res://scripts/game_data.gd", "res://image_loader.gd", "res://export_presets.cfg", "res://number_title.gd", "res://node_2d.gd"]
|
||||||
scenes=["res://scenes/Configuration.tscn", "res://scenes/Game.tscn"]
|
scenes=["res://scenes/Game.tscn", "res://scenes/Configuration.tscn", "res://scripts/screen_manager.tscn"]
|
||||||
|
|
||||||
[export_options]
|
[export_options]
|
||||||
|
|
||||||
default_filename="Empareja las sombras"
|
default_filename="Empareja las sombras"
|
||||||
export_debug=true
|
export_debug=true
|
||||||
|
|
||||||
|
[color_picker]
|
||||||
|
|
||||||
|
picker_shape=3
|
||||||
|
recent_presets=PackedColorArray(0.896849, 0.408015, 0.615551, 1, 0.895487, 0.454204, 0.346526, 1, 0.867944, 0.423967, 0.666011, 1, 0.588235, 0.654902, 0.686275, 1, 0.196078, 0.309804, 0.368627, 1, 0.8, 0.8, 0.8, 1, 5.0812e-05, 0.000128423, 0.000185361, 0.784314, 0, 0, 0, 1, 0.196078, 0.309804, 0.368627, 0.784314)
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ state={
|
||||||
"column": 0,
|
"column": 0,
|
||||||
"folded_lines": Array[int]([]),
|
"folded_lines": Array[int]([]),
|
||||||
"h_scroll_position": 0,
|
"h_scroll_position": 0,
|
||||||
"row": 89,
|
"row": 15,
|
||||||
"scroll_position": 71.0,
|
"scroll_position": 0.0,
|
||||||
"selection": false,
|
"selection": false,
|
||||||
"syntax_highlighter": "GDScript"
|
"syntax_highlighter": "GDScript"
|
||||||
}
|
}
|
||||||
|
|
@ -31,24 +31,10 @@ state={
|
||||||
state={
|
state={
|
||||||
"bookmarks": PackedInt32Array(),
|
"bookmarks": PackedInt32Array(),
|
||||||
"breakpoints": PackedInt32Array(),
|
"breakpoints": PackedInt32Array(),
|
||||||
"column": 2,
|
"column": 47,
|
||||||
"folded_lines": Array[int]([]),
|
"folded_lines": Array[int]([]),
|
||||||
"h_scroll_position": 0,
|
"h_scroll_position": 0,
|
||||||
"row": 32,
|
"row": 9,
|
||||||
"scroll_position": 10.0,
|
|
||||||
"selection": false,
|
|
||||||
"syntax_highlighter": "GDScript"
|
|
||||||
}
|
|
||||||
|
|
||||||
[res://scripts/node_2d.gd]
|
|
||||||
|
|
||||||
state={
|
|
||||||
"bookmarks": PackedInt32Array(),
|
|
||||||
"breakpoints": PackedInt32Array(),
|
|
||||||
"column": 0,
|
|
||||||
"folded_lines": Array[int]([]),
|
|
||||||
"h_scroll_position": 0,
|
|
||||||
"row": 182,
|
|
||||||
"scroll_position": 0.0,
|
"scroll_position": 0.0,
|
||||||
"selection": false,
|
"selection": false,
|
||||||
"syntax_highlighter": "GDScript"
|
"syntax_highlighter": "GDScript"
|
||||||
|
|
@ -59,12 +45,16 @@ state={
|
||||||
state={
|
state={
|
||||||
"bookmarks": PackedInt32Array(),
|
"bookmarks": PackedInt32Array(),
|
||||||
"breakpoints": PackedInt32Array(),
|
"breakpoints": PackedInt32Array(),
|
||||||
"column": 28,
|
"column": 0,
|
||||||
"folded_lines": Array[int]([]),
|
"folded_lines": Array[int]([]),
|
||||||
"h_scroll_position": 0,
|
"h_scroll_position": 0,
|
||||||
"row": 18,
|
"row": 3,
|
||||||
"scroll_position": 140.0,
|
"scroll_position": 0.0,
|
||||||
"selection": false,
|
"selection": true,
|
||||||
|
"selection_from_column": 0,
|
||||||
|
"selection_from_line": 3,
|
||||||
|
"selection_to_column": 30,
|
||||||
|
"selection_to_line": 3,
|
||||||
"syntax_highlighter": "GDScript"
|
"syntax_highlighter": "GDScript"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -87,10 +77,24 @@ state={
|
||||||
state={
|
state={
|
||||||
"bookmarks": PackedInt32Array(),
|
"bookmarks": PackedInt32Array(),
|
||||||
"breakpoints": PackedInt32Array(),
|
"breakpoints": PackedInt32Array(),
|
||||||
"column": 30,
|
"column": 18,
|
||||||
"folded_lines": Array[int]([]),
|
"folded_lines": Array[int]([]),
|
||||||
"h_scroll_position": 0,
|
"h_scroll_position": 0,
|
||||||
"row": 44,
|
"row": 11,
|
||||||
|
"scroll_position": 9.0,
|
||||||
|
"selection": false,
|
||||||
|
"syntax_highlighter": "GDScript"
|
||||||
|
}
|
||||||
|
|
||||||
|
[res://scripts/game.gd]
|
||||||
|
|
||||||
|
state={
|
||||||
|
"bookmarks": PackedInt32Array(),
|
||||||
|
"breakpoints": PackedInt32Array(),
|
||||||
|
"column": 21,
|
||||||
|
"folded_lines": Array[int]([]),
|
||||||
|
"h_scroll_position": 0,
|
||||||
|
"row": 13,
|
||||||
"scroll_position": 0.0,
|
"scroll_position": 0.0,
|
||||||
"selection": false,
|
"selection": false,
|
||||||
"syntax_highlighter": "GDScript"
|
"syntax_highlighter": "GDScript"
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,3 +1,3 @@
|
||||||
res://scenes/Game.tscn::470d2ca5918c266d5f5ad41f90064b19::1744399048::res://.godot/exported/133200997/export-ff8ceb9b2bd5b48777d3d52e811276ab-Game.scn
|
res://scenes/Game.tscn::c040271b6470fca2a39ef829cb0b3f75::1744834812::res://.godot/exported/133200997/export-ff8ceb9b2bd5b48777d3d52e811276ab-Game.scn
|
||||||
res://scenes/Configuration.tscn::c438d452251509b6acf75454df33bea5::1744399048::res://.godot/exported/133200997/export-9342d86e93843c4fab70a2c0224d3fd3-Configuration.scn
|
res://scenes/Configuration.tscn::dad3371c7771ec5d14ee92b8b60b036a::1744834812::res://.godot/exported/133200997/export-9342d86e93843c4fab70a2c0224d3fd3-Configuration.scn
|
||||||
res://scripts/screen_manager.tscn::9988fbb1a6b9e1613010f5ccda4bc922::1744396137::res://.godot/exported/133200997/export-d70c5745a12c569d3ecc03f08fad1e89-screen_manager.scn
|
res://scripts/screen_manager.tscn::3772d0b47a11041194608177b882051d::1744815684::res://.godot/exported/133200997/export-d70c5745a12c569d3ecc03f08fad1e89-screen_manager.scn
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -36,7 +36,7 @@ architectures/x86_64=false
|
||||||
version/code=1
|
version/code=1
|
||||||
version/name=""
|
version/name=""
|
||||||
package/unique_name="com.andresgmoran.$genname"
|
package/unique_name="com.andresgmoran.$genname"
|
||||||
package/name="g g"
|
package/name="Empareja las sombras"
|
||||||
package/signed=true
|
package/signed=true
|
||||||
package/app_category=2
|
package/app_category=2
|
||||||
package/retain_data_on_uninstall=false
|
package/retain_data_on_uninstall=false
|
||||||
|
|
|
||||||
|
|
@ -1,61 +1,124 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://c25au08um2kxt"]
|
[gd_scene load_steps=9 format=3 uid="uid://c25au08um2kxt"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://ctge47k34s7yi" path="res://scripts/configuration.gd" id="1_d6xro"]
|
[ext_resource type="Script" uid="uid://ctge47k34s7yi" path="res://scripts/configuration.gd" id="1_d6xro"]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_742ft"]
|
||||||
|
bg_color = Color(0.588235, 0.654902, 0.686275, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rjxe2"]
|
||||||
|
bg_color = Color(0.588235, 0.654902, 0.686275, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hjuae"]
|
||||||
|
bg_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_d6xro"]
|
||||||
|
bg_color = Color(0.8, 0.8, 0.8, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_u2atv"]
|
||||||
|
bg_color = Color(0.588235, 0.654902, 0.686275, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_khph0"]
|
||||||
|
bg_color = Color(0.588235, 0.654902, 0.686275, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1f7ew"]
|
||||||
|
bg_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
|
||||||
[node name="Configuration" type="Control"]
|
[node name="Configuration" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 0
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
script = ExtResource("1_d6xro")
|
script = ExtResource("1_d6xro")
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||||
layout_mode = 0
|
layout_mode = 1
|
||||||
offset_left = 180.0
|
anchors_preset = 15
|
||||||
offset_top = 344.0
|
anchor_right = 1.0
|
||||||
offset_right = 1794.0
|
anchor_bottom = 1.0
|
||||||
offset_bottom = 731.0
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_constants/margin_left = 30
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="VBoxContainer"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_constants/separation = 20
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="Label6" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
text = "CONFIGURACIÓN"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_font_sizes/font_size = 30
|
||||||
text = "Selecciona un jugador"
|
text = "Selecciona un jugador"
|
||||||
|
|
||||||
[node name="residents_menu" type="MenuButton" parent="VBoxContainer"]
|
[node name="residents_menu" type="MenuButton" parent="MarginContainer/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(1000, 30)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 0
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_742ft")
|
||||||
text = "Residentes"
|
text = "Residentes"
|
||||||
flat = false
|
flat = false
|
||||||
|
|
||||||
[node name="Label2" type="Label" parent="VBoxContainer"]
|
[node name="Label2" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_font_sizes/font_size = 30
|
||||||
text = "Selecciona el color de fondo"
|
text = "Selecciona el color de fondo"
|
||||||
|
|
||||||
[node name="bg_color_picker" type="ColorPickerButton" parent="VBoxContainer"]
|
[node name="bg_color_picker" type="ColorPickerButton" parent="MarginContainer/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(200, 70)
|
custom_minimum_size = Vector2(250, 120)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 0
|
size_flags_horizontal = 0
|
||||||
|
size_flags_vertical = 0
|
||||||
|
color = Color(1, 1, 1, 1)
|
||||||
|
|
||||||
[node name="Label3" type="Label" parent="VBoxContainer"]
|
[node name="Label3" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_font_sizes/font_size = 30
|
||||||
text = "Selecciona el color de las líneas de las fichas"
|
text = "Selecciona el color de las líneas de las fichas"
|
||||||
|
|
||||||
[node name="tiles_lines_color_picker" type="ColorPickerButton" parent="VBoxContainer"]
|
[node name="tiles_lines_color_picker" type="ColorPickerButton" parent="MarginContainer/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(200, 70)
|
custom_minimum_size = Vector2(250, 120)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 0
|
size_flags_horizontal = 0
|
||||||
|
size_flags_vertical = 0
|
||||||
|
color = Color(0.976471, 0, 0, 1)
|
||||||
|
|
||||||
[node name="Label4" type="Label" parent="VBoxContainer"]
|
[node name="Label4" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_font_sizes/font_size = 30
|
||||||
text = "Selecciona el color de las líneas del tablero"
|
text = "Selecciona el color de las líneas del tablero"
|
||||||
|
|
||||||
[node name="table_lines_color_picker" type="ColorPickerButton" parent="VBoxContainer"]
|
[node name="table_lines_color_picker" type="ColorPickerButton" parent="MarginContainer/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(200, 70)
|
custom_minimum_size = Vector2(250, 120)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 0
|
size_flags_horizontal = 0
|
||||||
|
color = Color(0, 0, 0.972549, 1)
|
||||||
|
|
||||||
[node name="Label5" type="Label" parent="VBoxContainer"]
|
[node name="Label5" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_font_sizes/font_size = 30
|
||||||
text = "Selecciona el nivel"
|
text = "Selecciona el nivel"
|
||||||
|
|
||||||
[node name="levels_menu" type="MenuButton" parent="VBoxContainer"]
|
[node name="levels_menu" type="MenuButton" parent="MarginContainer/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(1000, 30)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 0
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_rjxe2")
|
||||||
text = "Niveles"
|
text = "Niveles"
|
||||||
flat = false
|
flat = false
|
||||||
item_count = 3
|
item_count = 3
|
||||||
|
|
@ -66,8 +129,102 @@ popup/item_1/id = 1
|
||||||
popup/item_2/text = "Dificil"
|
popup/item_2/text = "Dificil"
|
||||||
popup/item_2/id = 2
|
popup/item_2/id = 2
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="VBoxContainer"]
|
[node name="Button" type="Button" parent="MarginContainer/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(1000, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 4
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_hjuae")
|
||||||
text = "EMPEZAR JUEGO"
|
text = "EMPEZAR JUEGO"
|
||||||
|
|
||||||
[connection signal="pressed" from="VBoxContainer/Button" to="." method="_on_button_pressed"]
|
[node name="Warning" type="Popup" parent="."]
|
||||||
|
title = "Alerta ⚠️"
|
||||||
|
borderless = false
|
||||||
|
|
||||||
|
[node name="Panel" type="Panel" parent="Warning"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxFlat_d6xro")
|
||||||
|
|
||||||
|
[node name="LogIn" type="Window" parent="."]
|
||||||
|
title = "Iniciar sesion"
|
||||||
|
initial_position = 2
|
||||||
|
size = Vector2i(500, 230)
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="LogIn"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.8, 0.8, 0.8, 1)
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="LogIn"]
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -72.0
|
||||||
|
offset_top = -77.5
|
||||||
|
offset_right = 72.0
|
||||||
|
offset_bottom = 77.5
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_constants/separation = 10
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="LogIn/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
text = "Correo electronico"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="EmailInput" type="LineEdit" parent="LogIn/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(400, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_u2atv")
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="LogIn/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
text = "Contrseña"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="PasswordInput" type="LineEdit" parent="LogIn/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(400, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_khph0")
|
||||||
|
|
||||||
|
[node name="LogInButton" type="Button" parent="LogIn/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(250, 50)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_1f7ew")
|
||||||
|
text = "Iniciar sesion"
|
||||||
|
|
||||||
|
[node name="Blocker" type="ColorRect" parent="."]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.196078, 0.309804, 0.368627, 0.784314)
|
||||||
|
|
||||||
|
[connection signal="pressed" from="MarginContainer/VBoxContainer/Button" to="." method="_on_button_pressed"]
|
||||||
|
[connection signal="pressed" from="LogIn/VBoxContainer/LogInButton" to="." method="_on_log_in_button_pressed"]
|
||||||
|
|
|
||||||
|
|
@ -1,94 +1,147 @@
|
||||||
[gd_scene load_steps=4 format=3 uid="uid://dcaquiy5tvss5"]
|
[gd_scene load_steps=6 format=3 uid="uid://dcaquiy5tvss5"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://3qvb4d882mqd" path="res://scripts/node_2d.gd" id="1_ibkli"]
|
[ext_resource type="Script" uid="uid://3qvb4d882mqd" path="res://scripts/game.gd" id="1_ibkli"]
|
||||||
[ext_resource type="AudioStream" uid="uid://c8kq84p5btav8" path="res://audios/instrucciones.mp3" id="2_qbsmt"]
|
[ext_resource type="AudioStream" uid="uid://c8kq84p5btav8" path="res://audios/instrucciones.mp3" id="2_qbsmt"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bkwdw0l43i15v" path="res://images/menu_logo.png" id="3_cpr0p"]
|
[ext_resource type="Texture2D" uid="uid://bkwdw0l43i15v" path="res://images/menu_logo.png" id="3_cpr0p"]
|
||||||
|
|
||||||
[node name="Node2D" type="Node2D"]
|
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cpr0p"]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cpr0p"]
|
||||||
|
bg_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
|
||||||
|
[node name="Node2D" 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_ibkli")
|
script = ExtResource("1_ibkli")
|
||||||
|
|
||||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||||
stream = ExtResource("2_qbsmt")
|
stream = ExtResource("2_qbsmt")
|
||||||
|
|
||||||
[node name="MenuButton" type="MenuButton" parent="."]
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
offset_left = 11.0
|
layout_mode = 1
|
||||||
offset_top = 3.0
|
anchors_preset = 15
|
||||||
offset_right = 88.0
|
anchor_right = 1.0
|
||||||
offset_bottom = 87.0
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="MenuButton" type="MenuButton" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 0
|
||||||
|
size_flags_vertical = 4
|
||||||
icon = ExtResource("3_cpr0p")
|
icon = ExtResource("3_cpr0p")
|
||||||
|
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
|
||||||
layout_direction = 2
|
layout_direction = 2
|
||||||
offset_left = 53.0
|
layout_mode = 2
|
||||||
offset_right = 1872.0
|
|
||||||
offset_bottom = 1073.0
|
|
||||||
theme_override_constants/separation = 100
|
theme_override_constants/separation = 100
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer"]
|
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_font_sizes/font_size = 44
|
theme_override_font_sizes/font_size = 44
|
||||||
text = "FICHAS"
|
text = "FICHAS"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
vertical_alignment = 1
|
vertical_alignment = 1
|
||||||
|
|
||||||
[node name="TilesContainer" type="GridContainer" parent="HBoxContainer/VBoxContainer"]
|
[node name="TilesContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(760, 880)
|
custom_minimum_size = Vector2(760, 880)
|
||||||
layout_direction = 2
|
layout_direction = 2
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
columns = 5
|
columns = 5
|
||||||
|
|
||||||
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer"]
|
[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer2"]
|
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/VBoxContainer2"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_font_sizes/font_size = 44
|
theme_override_font_sizes/font_size = 44
|
||||||
text = "TABLERO"
|
text = "TABLERO"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
vertical_alignment = 1
|
vertical_alignment = 1
|
||||||
|
|
||||||
[node name="GameBoardContainer" type="Control" parent="HBoxContainer/VBoxContainer2"]
|
[node name="GameBoardContainer" type="Control" parent="VBoxContainer/HBoxContainer/VBoxContainer2"]
|
||||||
custom_minimum_size = Vector2(760, 880)
|
custom_minimum_size = Vector2(760, 880)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="GameBoard" type="PanelContainer" parent="HBoxContainer/VBoxContainer2/GameBoardContainer"]
|
[node name="GameBoard" type="PanelContainer" parent="VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer"]
|
||||||
layout_mode = 0
|
layout_mode = 0
|
||||||
offset_left = 6.0
|
offset_left = 6.0
|
||||||
offset_top = 3.0
|
offset_top = 3.0
|
||||||
offset_right = 766.0
|
offset_right = 766.0
|
||||||
offset_bottom = 883.0
|
offset_bottom = 883.0
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxEmpty_cpr0p")
|
||||||
|
|
||||||
[node name="GridContainer" type="GridContainer" parent="HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard"]
|
[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard"]
|
||||||
custom_minimum_size = Vector2(760, 880)
|
custom_minimum_size = Vector2(760, 880)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 0
|
size_flags_horizontal = 0
|
||||||
size_flags_vertical = 0
|
size_flags_vertical = 0
|
||||||
columns = 5
|
columns = 5
|
||||||
|
|
||||||
[node name="WinPopup" type="PopupPanel" parent="."]
|
[node name="WinPopup" type="Window" parent="."]
|
||||||
|
initial_position = 1
|
||||||
|
size = Vector2i(500, 200)
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="WinPopup"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.8, 0.8, 0.8, 1)
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="WinPopup"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="WinPopup"]
|
||||||
offset_left = 4.0
|
anchors_preset = 8
|
||||||
offset_top = 4.0
|
anchor_left = 0.5
|
||||||
offset_right = 96.0
|
anchor_top = 0.5
|
||||||
offset_bottom = 96.0
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -46.0
|
||||||
|
offset_top = -56.0
|
||||||
|
offset_right = 46.0
|
||||||
|
offset_bottom = 56.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
[node name="victory_label" type="Label" parent="WinPopup/VBoxContainer"]
|
[node name="victory_label" type="Label" parent="WinPopup/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
|
||||||
[node name="duration_label" type="Label" parent="WinPopup/VBoxContainer"]
|
[node name="duration_label" type="Label" parent="WinPopup/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
|
||||||
[node name="fail_count_label" type="Label" parent="WinPopup/VBoxContainer"]
|
[node name="fail_count_label" type="Label" parent="WinPopup/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.196078, 0.309804, 0.368627, 1)
|
||||||
|
|
||||||
[node name="exit_endgame_button" type="Button" parent="WinPopup/VBoxContainer"]
|
[node name="exit_endgame_button" type="Button" parent="WinPopup/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(250, 50)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 6
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_cpr0p")
|
||||||
|
text = "SALIR"
|
||||||
|
|
||||||
|
[node name="Blocker" type="ColorRect" parent="."]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.196078, 0.309804, 0.368627, 0.784314)
|
||||||
|
|
||||||
[connection signal="pressed" from="WinPopup/VBoxContainer/exit_endgame_button" to="." method="_on_exit_button_pressed"]
|
[connection signal="pressed" from="WinPopup/VBoxContainer/exit_endgame_button" to="." method="_on_exit_button_pressed"]
|
||||||
|
|
|
||||||
|
|
@ -44,10 +44,10 @@ func get_tile_rect() -> Rect2:
|
||||||
|
|
||||||
func check_drop_on_board():
|
func check_drop_on_board():
|
||||||
# Ruta actualizada según jerarquía corregida
|
# Ruta actualizada según jerarquía corregida
|
||||||
if not get_tree().get_root().has_node("Node2D/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer"):
|
if not get_tree().get_root().has_node("Node2D/VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer"):
|
||||||
return
|
return
|
||||||
|
|
||||||
var game_board = get_tree().get_root().get_node("Node2D/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer")
|
var game_board = get_tree().get_root().get_node("Node2D/VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard/GridContainer")
|
||||||
|
|
||||||
var tile_rect = get_tile_rect()
|
var tile_rect = get_tile_rect()
|
||||||
var placed_on_board = false
|
var placed_on_board = false
|
||||||
|
|
@ -82,7 +82,7 @@ func check_drop_on_board():
|
||||||
slot.set("is_occupied", true)
|
slot.set("is_occupied", true)
|
||||||
queue_free() # Destruimos el tile porque ya está colocado
|
queue_free() # Destruimos el tile porque ya está colocado
|
||||||
|
|
||||||
var tiles_container = get_tree().get_root().get_node("Node2D/HBoxContainer/VBoxContainer/TilesContainer")
|
var tiles_container = get_tree().get_root().get_node("Node2D/VBoxContainer/HBoxContainer/VBoxContainer/TilesContainer")
|
||||||
if tiles_container.get_child_count() <= 1:
|
if tiles_container.get_child_count() <= 1:
|
||||||
get_tree().get_root().get_node("Node2D").check_win()
|
get_tree().get_root().get_node("Node2D").check_win()
|
||||||
placed_on_board = true
|
placed_on_board = true
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,30 @@
|
||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
@onready var levels_menu = $VBoxContainer/levels_menu
|
@onready var login_popup = $LogIn
|
||||||
@onready var residents_menu = $VBoxContainer/residents_menu
|
@onready var email_input = $LogIn/VBoxContainer/EmailInput
|
||||||
|
@onready var password_input = $LogIn/VBoxContainer/PasswordInput
|
||||||
|
@onready var login_button = $LogIn/VBoxContainer/LogInButton
|
||||||
|
|
||||||
|
@onready var levels_menu = $MarginContainer/VBoxContainer/levels_menu
|
||||||
|
@onready var residents_menu = $MarginContainer/VBoxContainer/residents_menu
|
||||||
|
|
||||||
var level = -1
|
var level = -1
|
||||||
var id_player = -1
|
var id_player = -1
|
||||||
|
var id_user = -1
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
RenderingServer.set_default_clear_color(Color.SKY_BLUE)
|
RenderingServer.set_default_clear_color("#CCCCCC")
|
||||||
|
|
||||||
|
await get_tree().process_frame # Esperar a que todo esté listo
|
||||||
|
|
||||||
|
if not GameData.is_logged_in:
|
||||||
|
login_popup.show()
|
||||||
|
$Blocker.visible = true
|
||||||
|
|
||||||
levels_menu.get_popup().connect("id_pressed", self._on_level_selected)
|
levels_menu.get_popup().connect("id_pressed", self._on_level_selected)
|
||||||
|
|
||||||
await get_tree().process_frame #Esperar a que se cree HTTPRequest en GameData
|
|
||||||
var residents = await GameData.get_residents_loaded()
|
var residents = await GameData.get_residents_loaded()
|
||||||
|
|
||||||
if residents_menu.item_count < residents.size():
|
if residents_menu.item_count < residents.size():
|
||||||
for resident in residents:
|
for resident in residents:
|
||||||
var full_name = "%s %s" % [resident.nombre, resident.apellido]
|
var full_name = "%s %s" % [resident.nombre, resident.apellido]
|
||||||
|
|
@ -20,32 +32,71 @@ func _ready():
|
||||||
residents_menu.get_popup().add_item(full_name, id)
|
residents_menu.get_popup().add_item(full_name, id)
|
||||||
residents_menu.get_popup().connect("id_pressed", self._on_player_selected)
|
residents_menu.get_popup().connect("id_pressed", self._on_player_selected)
|
||||||
|
|
||||||
|
### Metodo para cuando se pulse el boton de iniciar sesion
|
||||||
|
func _on_log_in_button_pressed():
|
||||||
|
var users = await GameData.get_users_loaded()
|
||||||
|
var username = email_input.text.strip_edges()
|
||||||
|
var password = password_input.text.strip_edges()
|
||||||
|
|
||||||
|
for user in users:
|
||||||
|
if user.email == username or not user.is_empty():
|
||||||
|
GameData.is_logged_in = true
|
||||||
|
id_user = int(user.id)
|
||||||
|
login_popup.hide()
|
||||||
|
$Blocker.visible = false
|
||||||
|
break
|
||||||
|
|
||||||
|
if not GameData.is_logged_in:
|
||||||
|
email_input.clear()
|
||||||
|
password_input.clear()
|
||||||
|
|
||||||
|
var stylebox_email = email_input.get_theme_stylebox("normal") as StyleBoxFlat
|
||||||
|
var stylebox_password = password_input.get_theme_stylebox("normal") as StyleBoxFlat
|
||||||
|
if stylebox_email and stylebox_password:
|
||||||
|
stylebox_email.bg_color = Color(1, 0.8, 0.8)
|
||||||
|
stylebox_password.bg_color = Color(1, 0.8, 0.8)
|
||||||
|
|
||||||
|
### Metodo para cuando el usuario elija el nivel en el menu
|
||||||
func _on_level_selected(id):
|
func _on_level_selected(id):
|
||||||
match id:
|
match id:
|
||||||
0:
|
0:
|
||||||
level = 1
|
level = 0
|
||||||
1:
|
1:
|
||||||
level = 2
|
level = 1
|
||||||
2:
|
2:
|
||||||
level = 3
|
level = 2
|
||||||
|
|
||||||
|
### Metodo para cuando el usuario elija el jugador en el menu
|
||||||
func _on_player_selected(id):
|
func _on_player_selected(id):
|
||||||
id_player = id
|
id_player = id
|
||||||
|
|
||||||
|
### Metodo para cuando el usuario le de al boton de jugar
|
||||||
func _on_button_pressed() -> void:
|
func _on_button_pressed() -> void:
|
||||||
var bg_color = $VBoxContainer/bg_color_picker.color
|
var bg_color = $MarginContainer/VBoxContainer/bg_color_picker.color
|
||||||
var tiles_lines_color = $VBoxContainer/tiles_lines_color_picker.color
|
var tiles_lines_color = $MarginContainer/VBoxContainer/tiles_lines_color_picker.color
|
||||||
var table_lines_color = $VBoxContainer/table_lines_color_picker.color
|
var table_lines_color = $MarginContainer/VBoxContainer/table_lines_color_picker.color
|
||||||
|
|
||||||
|
var warning = Label.new()
|
||||||
|
warning.text = ""
|
||||||
|
warning.add_theme_color_override("font_color","#324f5e")
|
||||||
|
if level == -1:
|
||||||
|
warning.text = " - Debes seleccionar un nivel\n"
|
||||||
|
|
||||||
|
if id_player == -1:
|
||||||
|
warning.text += " - Debes seleccionar un jugador"
|
||||||
|
|
||||||
|
if warning.text != "":
|
||||||
|
$Warning/Panel.add_child(warning)
|
||||||
|
$Warning.popup_centered(Vector2(400, 200))
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
var game_scene = preload("res://scenes/Game.tscn").instantiate()
|
var game_scene = preload("res://scenes/Game.tscn").instantiate()
|
||||||
|
|
||||||
game_scene.bg_color = bg_color
|
game_scene.bg_color = bg_color
|
||||||
game_scene.tiles_lines_color = tiles_lines_color
|
game_scene.tiles_lines_color = tiles_lines_color
|
||||||
game_scene.table_lines_color = table_lines_color
|
game_scene.table_lines_color = table_lines_color
|
||||||
game_scene.difficulty = level
|
game_scene.difficulty = level
|
||||||
|
|
||||||
if id_player != -1:
|
GameData.start_game(id_player, id_user, level)
|
||||||
GameData.start_game(id_player, level)
|
|
||||||
else:
|
|
||||||
print("Selecciona un jugador") #Cambiar a popup
|
|
||||||
ScreenManager.change_scene(game_scene, self)
|
ScreenManager.change_scene(game_scene, self)
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
extends Node2D
|
extends Control
|
||||||
|
|
||||||
@onready var game_board_container = $HBoxContainer/VBoxContainer2/GameBoardContainer
|
@onready var game_board_container = $VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer
|
||||||
@onready var game_board = $HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard
|
@onready var game_board = $VBoxContainer/HBoxContainer/VBoxContainer2/GameBoardContainer/GameBoard
|
||||||
@onready var tiles_container = $HBoxContainer/VBoxContainer/TilesContainer
|
@onready var tiles_container = $VBoxContainer/HBoxContainer/VBoxContainer/TilesContainer
|
||||||
@onready var audio_player = $AudioStreamPlayer
|
@onready var audio_player = $AudioStreamPlayer
|
||||||
|
|
||||||
@export var bg_color: Color = Color(1, 0, 0)
|
@export var bg_color: Color = Color(1, 0, 0)
|
||||||
@export var table_lines_color: Color = Color(1, 0, 0)
|
@export var table_lines_color: Color = Color(1, 0, 0)
|
||||||
@export var tiles_lines_color: Color = Color(1, 0, 0)
|
@export var tiles_lines_color: Color = Color(1, 0, 0)
|
||||||
@export var difficulty = 1 # 1: Fácil, 2: Medio, 3: Difícil
|
@export var difficulty = -1 # 0: Fácil, 1: Medio, 2: Difícil
|
||||||
|
|
||||||
var board_size = Vector2i(5, 5)
|
var board_size = Vector2i(5, 5)
|
||||||
var game_numbers = []
|
var game_numbers = []
|
||||||
|
|
@ -17,20 +17,20 @@ var used_animals = []
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
RenderingServer.set_default_clear_color(bg_color)
|
RenderingServer.set_default_clear_color(bg_color)
|
||||||
set_difficulty() # Cambiá a 2 o 3 para probar otros niveles
|
set_difficulty()
|
||||||
audio_player.play()
|
audio_player.play()
|
||||||
|
|
||||||
$MenuButton.get_popup().add_item("Reproducir sonido", 0)
|
$VBoxContainer/MenuButton.get_popup().add_item("Reproducir sonido", 0)
|
||||||
$MenuButton.get_popup().add_item("Salir", 1)
|
$VBoxContainer/MenuButton.get_popup().add_item("Salir", 1)
|
||||||
$MenuButton.get_popup().connect("id_pressed", self._on_menu_item_selected)
|
$VBoxContainer/MenuButton.get_popup().connect("id_pressed", self._on_menu_item_selected)
|
||||||
|
|
||||||
func set_difficulty():
|
func set_difficulty():
|
||||||
match difficulty:
|
match difficulty:
|
||||||
1:
|
0:
|
||||||
board_size = Vector2i(3, 3)
|
board_size = Vector2i(3, 3)
|
||||||
2:
|
1:
|
||||||
board_size = Vector2i(4, 4)
|
board_size = Vector2i(4, 4)
|
||||||
3:
|
2:
|
||||||
board_size = Vector2i(5, 5)
|
board_size = Vector2i(5, 5)
|
||||||
setup_game()
|
setup_game()
|
||||||
|
|
||||||
|
|
@ -194,16 +194,12 @@ func check_win():
|
||||||
|
|
||||||
if all_matched:
|
if all_matched:
|
||||||
GameData.end_game()
|
GameData.end_game()
|
||||||
GameData.send_game_data()
|
|
||||||
var popup = $WinPopup
|
var popup = $WinPopup
|
||||||
popup.get_node("VBoxContainer/victory_label").text = "✅ ¡Has ganado!"
|
popup.get_node("VBoxContainer/victory_label").text = "✅ ¡Has ganado!"
|
||||||
popup.get_node("VBoxContainer/duration_label").text = "🕐 Tiempo total: %s segundos" % GameData.get_duration()
|
popup.get_node("VBoxContainer/duration_label").text = "🕐 Tiempo total: %s segundos" % GameData.get_duration()
|
||||||
popup.get_node("VBoxContainer/fail_count_label").text = "❌ Fallos totales: %s" % GameData.fail_count
|
popup.get_node("VBoxContainer/fail_count_label").text = "❌ Fallos totales: %s" % GameData.fail_count
|
||||||
popup.popup_centered()
|
popup.show()
|
||||||
|
$Blocker.visible = true
|
||||||
|
|
||||||
func _on_exit_button_pressed() -> void:
|
func _on_exit_button_pressed():
|
||||||
ScreenManager.go_back_to_previous_scene()
|
ScreenManager.go_back_to_previous_scene()
|
||||||
|
|
||||||
|
|
||||||
func _on_exit_endgame_button_pressed() -> void:
|
|
||||||
pass # Replace with function body.
|
|
||||||
|
|
@ -1,21 +1,28 @@
|
||||||
extends Node
|
extends Node
|
||||||
# Este script se encarga de comunicarse con la API
|
# Este script se encarga de comunicarse con la API
|
||||||
|
|
||||||
|
var is_logged_in: bool = false
|
||||||
|
|
||||||
|
|
||||||
#Señales para saber cuando se recibe los datos
|
#Señales para saber cuando se recibe los datos
|
||||||
|
signal users_received(users)
|
||||||
signal residents_received(residents)
|
signal residents_received(residents)
|
||||||
signal games_received(games)
|
signal games_received(games)
|
||||||
|
|
||||||
|
var all_users = []
|
||||||
var all_residents = []
|
var all_residents = []
|
||||||
var all_games = []
|
var all_games = []
|
||||||
|
|
||||||
var resident_playing = " "
|
var user_id = -1
|
||||||
|
var resident_playing = -1
|
||||||
var start_time: int = 0
|
var start_time: int = 0
|
||||||
var end_time: int = 0
|
var end_time: int = 0
|
||||||
var fail_count: int = 0
|
var fail_count: int = 0
|
||||||
var level_game = -1
|
var level_game = -1
|
||||||
|
|
||||||
### Metodo para inicar partida
|
### Metodo para inicar partida
|
||||||
func start_game(resident, level):
|
func start_game(resident, user, level):
|
||||||
|
user_id = user
|
||||||
resident_playing = resident
|
resident_playing = resident
|
||||||
level_game = level
|
level_game = level
|
||||||
start_time = Time.get_unix_time_from_system()
|
start_time = Time.get_unix_time_from_system()
|
||||||
|
|
@ -24,6 +31,7 @@ func start_game(resident, level):
|
||||||
### Metodo para finalizar partida
|
### Metodo para finalizar partida
|
||||||
func end_game():
|
func end_game():
|
||||||
end_time = Time.get_unix_time_from_system()
|
end_time = Time.get_unix_time_from_system()
|
||||||
|
send_game_data()
|
||||||
|
|
||||||
### Metodo para añadir fallos
|
### Metodo para añadir fallos
|
||||||
func add_fail():
|
func add_fail():
|
||||||
|
|
@ -32,6 +40,55 @@ func add_fail():
|
||||||
### Metodo para calcular la duracion entre el incio y el final de la partida (en segundos)
|
### Metodo para calcular la duracion entre el incio y el final de la partida (en segundos)
|
||||||
func get_duration() -> int:
|
func get_duration() -> int:
|
||||||
return end_time - start_time
|
return end_time - start_time
|
||||||
|
|
||||||
|
#--------------------------------------COMUNICACION CON LA API-------------------------------------------------
|
||||||
|
|
||||||
|
#-------------------------------------GET USERS-------------------------------------------------------
|
||||||
|
|
||||||
|
func get_users():
|
||||||
|
var http_request = HTTPRequest.new()
|
||||||
|
get_tree().root.add_child(http_request)
|
||||||
|
|
||||||
|
var status = http_request.connect(
|
||||||
|
"request_completed",
|
||||||
|
Callable(self, "_on_request_get_users").bind(http_request)
|
||||||
|
)
|
||||||
|
|
||||||
|
var url = "http://localhost:8080/resi/users"
|
||||||
|
var headers = ["User-Agent: Godot"]
|
||||||
|
var error = http_request.request(url, headers)
|
||||||
|
|
||||||
|
if error != OK:
|
||||||
|
print("Error al hacer GET:", error)
|
||||||
|
|
||||||
|
### Metodo para parsear json de residentes y que emite una señal cuando lo tenga
|
||||||
|
func _on_request_get_users(result, response_code, headers, body, request_node):
|
||||||
|
print("Código de respuesta:", response_code)
|
||||||
|
|
||||||
|
if response_code == 200:
|
||||||
|
var response_text = body.get_string_from_utf8()
|
||||||
|
var parsed = JSON.parse_string(response_text)
|
||||||
|
|
||||||
|
if parsed != null:
|
||||||
|
all_users = parsed
|
||||||
|
print("Users obtenidos:", all_users)
|
||||||
|
|
||||||
|
# Emitir la señal para notificar a quien esté conectado
|
||||||
|
emit_signal("users_received", all_users)
|
||||||
|
else:
|
||||||
|
print("Error al parsear JSON")
|
||||||
|
else:
|
||||||
|
print("Error del servidor o conexión:", response_code)
|
||||||
|
|
||||||
|
request_node.queue_free() # Liberar para evitar error 31
|
||||||
|
|
||||||
|
### Metodo que espera a la señal de que se han obtenido y parseado los residentes y los devuelve.
|
||||||
|
func get_users_loaded() -> Array:
|
||||||
|
print("Hola")
|
||||||
|
get_users()
|
||||||
|
var result = await self.users_received
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
#--------------------------------------GET RESIDENTES-----------------------------------------------
|
#--------------------------------------GET RESIDENTES-----------------------------------------------
|
||||||
|
|
||||||
|
|
@ -45,7 +102,7 @@ func get_residents():
|
||||||
Callable(self, "_on_request_get_residents").bind(http_request)
|
Callable(self, "_on_request_get_residents").bind(http_request)
|
||||||
)
|
)
|
||||||
|
|
||||||
var url = "http://localhost:8080/resi/resident"
|
var url = "http://localhost:8080/resi/residents"
|
||||||
var headers = ["User-Agent: Godot"]
|
var headers = ["User-Agent: Godot"]
|
||||||
var error = http_request.request(url, headers)
|
var error = http_request.request(url, headers)
|
||||||
|
|
||||||
|
|
@ -133,7 +190,7 @@ func send_game_data():
|
||||||
var game_id = 0;
|
var game_id = 0;
|
||||||
for game in games:
|
for game in games:
|
||||||
if game.nombre == "Emparejar las sombras":
|
if game.nombre == "Emparejar las sombras":
|
||||||
game_id = game.id
|
game_id = 1 #game.id
|
||||||
|
|
||||||
var http_request = HTTPRequest.new()
|
var http_request = HTTPRequest.new()
|
||||||
get_tree().root.add_child(http_request)
|
get_tree().root.add_child(http_request)
|
||||||
|
|
@ -143,8 +200,10 @@ func send_game_data():
|
||||||
var data = {
|
var data = {
|
||||||
"idJuego": game_id,
|
"idJuego": game_id,
|
||||||
"idResidente": resident_playing,
|
"idResidente": resident_playing,
|
||||||
|
"idUsuario": user_id,
|
||||||
"fallos": fail_count,
|
"fallos": fail_count,
|
||||||
"duracion": get_duration()
|
"duracion": get_duration(),
|
||||||
|
"dificultad": level_game
|
||||||
}
|
}
|
||||||
|
|
||||||
var json_body = JSON.stringify(data)
|
var json_body = JSON.stringify(data)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
[gd_scene format=3 uid="uid://xu1xgs1ivyu6"]
|
[gd_scene format=3 uid="uid://ibn4lxcaykxy"]
|
||||||
|
|
||||||
[node name="ScreenManager" type="Node2D"]
|
[node name="ScreenManager" type="Node2D"]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[folding]
|
||||||
|
|
||||||
|
sections_unfolded=PackedStringArray()
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue