From d7f88649a792f58c19602db668a9433872c9ce3f Mon Sep 17 00:00:00 2001 From: Overside srl Date: Thu, 22 Jan 2026 12:09:46 +0100 Subject: [PATCH] add travel time --- .godot/editor/editor_layout.cfg | 8 +-- .godot/editor/editor_script_doc_cache.res | Bin 4189 -> 0 bytes .godot/editor/filesystem_cache10 | 28 ++++---- .godot/editor/filesystem_update4 | 5 +- ...lding-ea87194edadc78abf01a231d607e6fcf.cfg | 3 + ...state-3ad5c15c4f3250da0cc7c1af1770d85f.cfg | 6 +- ...lding-3ad5c15c4f3250da0cc7c1af1770d85f.cfg | 4 +- .godot/editor/project_metadata.cfg | 8 +-- .godot/editor/recent_dirs | 4 +- .godot/editor/script_editor_cache.cfg | 16 ++--- .godot/global_script_class_cache.cfg | 8 --- ....png-5de4b789ed4209650f8e97f1032a5f0f.ctex | Bin 8862 -> 9546 bytes ...f.png-5de4b789ed4209650f8e97f1032a5f0f.md5 | 4 +- ....png-657a96ae18a58fc0378492c2262197f8.ctex | Bin 8186 -> 9028 bytes ...n.png-657a96ae18a58fc0378492c2262197f8.md5 | 4 +- .godot/scene_groups_cache.cfg | 2 +- .godot/uid_cache.bin | Bin 7530 -> 7570 bytes project.godot | 7 +- resources/audio_off.png | Bin 10544 -> 18061 bytes resources/audio_on.png | Bin 10031 -> 16571 bytes scenes/main.tscn | 62 +++++++++-------- scenes/musicmanager.tscn | 1 + scripts/gamestate.gd | 24 +++---- scripts/main.gd | 63 ++++++++++-------- scripts/train.gd | 9 +-- 25 files changed, 139 insertions(+), 127 deletions(-) delete mode 100644 .godot/editor/editor_script_doc_cache.res create mode 100644 .godot/editor/gamemanager.gd-folding-ea87194edadc78abf01a231d607e6fcf.cfg diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg index 131b289..db9dc38 100644 --- a/.godot/editor/editor_layout.cfg +++ b/.godot/editor/editor_layout.cfg @@ -2,14 +2,14 @@ dock_3_selected_tab_idx=0 dock_4_selected_tab_idx=0 -dock_5_selected_tab_idx=0 +dock_5_selected_tab_idx=1 dock_floating={} dock_filesystem_h_split_offset=480 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://resources/audio_on.png") +dock_filesystem_selected_paths=PackedStringArray("res://resources/audio_off.png") dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/", "res://resources/") dock_node_current_tab=0 dock_history_include_scene=true @@ -28,7 +28,7 @@ dock_5="Inspector,Node,History" [EditorNode] -open_scenes=PackedStringArray("res://scenes/main.tscn") +open_scenes=PackedStringArray("res://scenes/main.tscn", "res://scenes/gamestate.tscn", "res://scenes/musicmanager.tscn") current_scene="res://scenes/main.tscn" center_split_offset=-864 selected_default_debugger_tab_idx=0 @@ -53,7 +53,7 @@ zoom_factor=1.0714285 [GameView] -floating_window_rect=Rect2i(4156, 1299, 1399, 813) +floating_window_rect=Rect2i(508, 56, 8600, 3424) floating_window_screen=1 [ShaderEditor] diff --git a/.godot/editor/editor_script_doc_cache.res b/.godot/editor/editor_script_doc_cache.res deleted file mode 100644 index 8ce99febc0f49cc7907da546f06d52abd5457da7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4189 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 nA{zim4&;M&%?3+QyP2LZOgYL6x<><>0<>0<><>:: -::res://build/::1768659995 -::res://resources/::1768814043 -audio_off.png::CompressedTexture2D::976528084422995703::1768814036::1768814043::1::::<><><>0<>0<>8eb956cbe7f28bcd33a4d0f3f309056a<>res://.godot/imported/audio_off.png-5de4b789ed4209650f8e97f1032a5f0f.ctex:: -audio_on.png::CompressedTexture2D::3003704488001052360::1768814021::1768814043::1::::<><><>0<>0<>973b72d02e17330456b5163139ac14ea<>res://.godot/imported/audio_on.png-657a96ae18a58fc0378492c2262197f8.ctex:: +::res://build/::1769067196 +::res://resources/::1769079583 +audio_off.png::CompressedTexture2D::976528084422995703::1769079374::1769079589::1::::<><><>0<>0<>8eb956cbe7f28bcd33a4d0f3f309056a<>res://.godot/imported/audio_off.png-5de4b789ed4209650f8e97f1032a5f0f.ctex:: +audio_on.png::CompressedTexture2D::3003704488001052360::1769079583::1769079589::1::::<><><>0<>0<>973b72d02e17330456b5163139ac14ea<>res://.godot/imported/audio_on.png-657a96ae18a58fc0378492c2262197f8.ctex:: thomastanks_new.mp3::AudioStreamMP3::2620953876642984028::1768657428::1768657898::1::::<><><>0<>0<>71420e05b9122bd8011b233595a3388e<>res://.godot/imported/thomastanks_new.mp3-faeee3575032f4283c1731a17141e11b.mp3str:: -::res://resources/train kit/::1768551395 +::res://resources/train kit/::1769067197 railroad-corner-large-ramp.obj::Mesh::2409206090616818222::1727040297::1768551394::1::::<><><>0<>0<>a61f88305257a119568988a927ed078e<>res://.godot/imported/railroad-corner-large-ramp.obj-c7a23496c1b2b1d5a93b93632f472e09.mesh<*>res://.godot/imported/railroad-corner-large-ramp.obj-c7a23496c1b2b1d5a93b93632f472e09.mesh::uid://cdwwcby54pecs::::res://resources/train kit/Textures/colormap.png railroad-corner-large.obj::Mesh::1018263567210823548::1727040297::1768551394::1::::<><><>0<>0<>ba409591917422db5258b9c49d31d67d<>res://.godot/imported/railroad-corner-large.obj-767290257b068e81bba8afabe771bb45.mesh<*>res://.godot/imported/railroad-corner-large.obj-767290257b068e81bba8afabe771bb45.mesh::uid://cdwwcby54pecs::::res://resources/train kit/Textures/colormap.png railroad-corner-small-ramp.obj::Mesh::4748424812719052670::1727040297::1768551394::1::::<><><>0<>0<>47dfd4cc2518e09b75595da6e912f629<>res://.godot/imported/railroad-corner-small-ramp.obj-30da76b04fe12bfd305857de58c73650.mesh<*>res://.godot/imported/railroad-corner-small-ramp.obj-30da76b04fe12bfd305857de58c73650.mesh::uid://cdwwcby54pecs::::res://resources/train kit/Textures/colormap.png @@ -110,17 +110,17 @@ train-locomotive-passenger-b.obj::Mesh::1005507222256758922::1727040295::1768551 train-tram-classic.obj::Mesh::3684736170611761855::1727040295::1768551393::1::::<><><>0<>0<>d1d075ca4ec51c7c6d88bedade388eb6<>res://.godot/imported/train-tram-classic.obj-5c5f7e3ed997a3c6e1af166558bae205.mesh<*>res://.godot/imported/train-tram-classic.obj-5c5f7e3ed997a3c6e1af166558bae205.mesh::uid://cdwwcby54pecs::::res://resources/train kit/Textures/colormap.png train-tram-modern.obj::Mesh::7951114505230208222::1727040295::1768551393::1::::<><><>0<>0<>e6e1242a7148f32651a5ee57a18fd513<>res://.godot/imported/train-tram-modern.obj-91e1e88eed04b0393ca1115cb1980e1b.mesh<*>res://.godot/imported/train-tram-modern.obj-91e1e88eed04b0393ca1115cb1980e1b.mesh::uid://cdwwcby54pecs::::res://resources/train kit/Textures/colormap.png train-tram-round.obj::Mesh::115250456338501034::1727040295::1768551393::1::::<><><>0<>0<>5e3772ddb59635a364b94e1db000bd4a<>res://.godot/imported/train-tram-round.obj-1b613e087f922f3f788c8bf27b8a5616.mesh<*>res://.godot/imported/train-tram-round.obj-1b613e087f922f3f788c8bf27b8a5616.mesh::uid://cdwwcby54pecs::::res://resources/train kit/Textures/colormap.png -::res://resources/train kit/Textures/::1768551396 +::res://resources/train kit/Textures/::1769067197 colormap.png::CompressedTexture2D::5030163645319353198::1727040840::1768551396::1::::<><><>0<>0<>49486029a612050ab47ae771aec92b8c<>res://.godot/imported/colormap.png-d3d02b00fd834f010bf45b2b9259ea63.s3tc.ctex:: -::res://scenes/::1768930393 -gamestate.tscn::PackedScene::4137542781585662412::1768815074::0::1::::<><><>0<>0<><>::uid://s80bt8i6u2hv::::res://scripts/gamestate.gd -main.tscn::PackedScene::7111673961189096216::1768930393::0::1::::<><><>0<>0<><>::uid://dfyo0h5yj3us8::::res://scripts/main.gd<>uid://bymoo78gun6a4::::res://scripts/track_generator.gd<>uid://cvn333pymsowx::::res://scripts/train.gd<>uid://cgy51h6a5syer::::res://scripts/train_camera.gd<>uid://cer3o7xlhju7v::::res://scenes/train.tscn<>uid://qrf08uiuhyqg::::res://scenes/musicmanager.tscn<>uid://bi2atrvjj23tk::::res://resources/audio_on.png<>uid://by7iywhy2d8uy::::res://scenes/gamestate.tscn<>uid://n6bjl02ikh00::::res://resources/audio_off.png +::res://scenes/::1769079144 +gamestate.tscn::PackedScene::4137542781585662412::1769074093::0::1::::<><><>0<>0<><>::uid://s80bt8i6u2hv::::res://scripts/gamestate.gd +main.tscn::PackedScene::7111673961189096216::1769079144::0::1::::<><><>0<>0<><>::uid://dfyo0h5yj3us8::::res://scripts/main.gd<>uid://bymoo78gun6a4::::res://scripts/track_generator.gd<>uid://cvn333pymsowx::::res://scripts/train.gd<>uid://cgy51h6a5syer::::res://scripts/train_camera.gd<>uid://cer3o7xlhju7v::::res://scenes/train.tscn<>uid://qrf08uiuhyqg::::res://scenes/musicmanager.tscn<>uid://bi2atrvjj23tk::::res://resources/audio_on.png<>uid://by7iywhy2d8uy::::res://scenes/gamestate.tscn<>uid://n6bjl02ikh00::::res://resources/audio_off.png musicmanager.tscn::PackedScene::1158465914396145662::1768815835::0::1::::<><><>0<>0<><>::uid://bdluyy5uodjb5::::res://resources/thomastanks_new.mp3 train.tscn::PackedScene::5090417957456705533::1768656983::0::1::::<><><>0<>0<><>:: -::res://scripts/::1768930355 -gamestate.gd::GDScript::1333044411309547839::1768893877::0::1::::GameState<>Node<><>0<>0<><>:: -main.gd::GDScript::7560646433224437573::1768930355::0::1::::<>Node3D<><>0<>0<><>:: +::res://scripts/::1769079144 +gamestate.gd::GDScript::1333044411309547839::1769079115::0::1::::<>Node<><>0<>0<><>:: +main.gd::GDScript::7560646433224437573::1769079144::0::1::::<>Node3D<><>0<>0<><>:: objloader.gd::GDScript::2596173299165953535::1768586602::0::1::::OBJLoader<>RefCounted<><>0<>0<><>:: track_generator.gd::GDScript::4096602235093631041::1768587411::0::1::::TrackGenerator<>Node3D<><>0<>0<><>:: -train.gd::GDScript::6275395567547538251::1768659862::0::1::::Train<>Node3D<><>0<>0<><>:: +train.gd::GDScript::6275395567547538251::1769077662::0::1::::Train<>Node3D<><>0<>0<><>:: train_camera.gd::GDScript::5245387851329565609::1768586722::0::1::::TrainCamera<>Camera3D<><>0<>0<><>:: diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4 index d987c53..19aa350 100644 --- a/.godot/editor/filesystem_update4 +++ b/.godot/editor/filesystem_update4 @@ -1,3 +1,6 @@ -res://scripts/main.gd res://scenes/main.tscn res://scripts/gamestate.gd +res://scripts/main.gd +res://scenes/gamestate.tscn +res://scripts/train.gd +res://scenes/musicmanager.tscn diff --git a/.godot/editor/gamemanager.gd-folding-ea87194edadc78abf01a231d607e6fcf.cfg b/.godot/editor/gamemanager.gd-folding-ea87194edadc78abf01a231d607e6fcf.cfg new file mode 100644 index 0000000..e860dd4 --- /dev/null +++ b/.godot/editor/gamemanager.gd-folding-ea87194edadc78abf01a231d607e6fcf.cfg @@ -0,0 +1,3 @@ +[folding] + +sections_unfolded=PackedStringArray() diff --git a/.godot/editor/main.tscn-editstate-3ad5c15c4f3250da0cc7c1af1770d85f.cfg b/.godot/editor/main.tscn-editstate-3ad5c15c4f3250da0cc7c1af1770d85f.cfg index a29b7d9..03d2721 100644 --- a/.godot/editor/main.tscn-editstate-3ad5c15c4f3250da0cc7c1af1770d85f.cfg +++ b/.godot/editor/main.tscn-editstate-3ad5c15c4f3250da0cc7c1af1770d85f.cfg @@ -8,7 +8,7 @@ Anim={ "grid_snap_active": false, "grid_step": Vector2(8, 8), "grid_visibility": 1, -"ofs": Vector2(-1149.5973, 303.8107), +"ofs": Vector2(-929.1912, -15.849335), "primary_grid_step": Vector2i(8, 8), "show_group_gizmos": true, "show_guides": true, @@ -34,7 +34,7 @@ Anim={ "snap_rotation_step": 0.2617994, "snap_scale": false, "snap_scale_step": 0.1, -"zoom": 1.6105102 +"zoom": 1.3310001 } 3D={ "fov": 70.01, @@ -187,4 +187,4 @@ Anim={ "zfar": 4000.01, "znear": 0.05 } -selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@20438/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10871/@VSplitContainer@10516/@HSplitContainer@10518/@HSplitContainer@10520/@Control@10521/@SubViewportContainer@10522/@SubViewport@10523/Main/GameState")]) +selected_nodes=Array[NodePath]([]) diff --git a/.godot/editor/main.tscn-folding-3ad5c15c4f3250da0cc7c1af1770d85f.cfg b/.godot/editor/main.tscn-folding-3ad5c15c4f3250da0cc7c1af1770d85f.cfg index a363a85..6bd647a 100644 --- a/.godot/editor/main.tscn-folding-3ad5c15c4f3250da0cc7c1af1770d85f.cfg +++ b/.godot/editor/main.tscn-folding-3ad5c15c4f3250da0cc7c1af1770d85f.cfg @@ -1,5 +1,5 @@ [folding] -node_unfolds=[NodePath("."), PackedStringArray("Visibility", "Transform"), NodePath("TrackGenerator"), PackedStringArray("Visibility"), NodePath("Train"), PackedStringArray("Transform", "Train"), NodePath("TrainCamera"), PackedStringArray("Transform"), NodePath("HUD/tripdistance_label"), PackedStringArray("Layout", "Layout/Transform", "label_settings"), NodePath("HUD/speed_label"), PackedStringArray("label_settings", "Layout", "Layout/Transform"), NodePath("HUD/camera_label"), PackedStringArray("Layout", "Layout/Transform", "label_settings"), NodePath("HUD/controls_label"), PackedStringArray("Layout", "Layout/Transform"), NodePath("HUD/totaldistance_label"), PackedStringArray("Layout", "Layout/Transform"), NodePath("HUD/newtrain_button"), PackedStringArray("Layout", "Layout/Transform"), NodePath("HUD/audio_button"), PackedStringArray("Layout", "Layout/Transform"), NodePath("DirectionalLight3D"), PackedStringArray("Directional Shadow", "Light", "Shadow"), NodePath("WorldEnvironment"), PackedStringArray("environment")] +node_unfolds=[NodePath("."), PackedStringArray("Visibility", "Transform"), NodePath("TrackGenerator"), PackedStringArray("Visibility"), NodePath("Train"), PackedStringArray("Transform", "Train"), NodePath("TrainCamera"), PackedStringArray("Transform"), NodePath("HUD/tripdistance_label"), PackedStringArray("Layout", "Layout/Transform", "label_settings"), NodePath("HUD/speed_label"), PackedStringArray("label_settings", "Layout", "Layout/Transform"), NodePath("HUD/camera_label"), PackedStringArray("Layout", "Layout/Transform", "label_settings"), NodePath("HUD/controls_label"), PackedStringArray("Layout", "Layout/Transform"), NodePath("HUD/totaldistance_label"), PackedStringArray("Layout", "Layout/Transform"), NodePath("HUD/audio_button"), PackedStringArray("Layout", "Layout/Transform"), NodePath("DirectionalLight3D"), PackedStringArray("Directional Shadow", "Light", "Shadow"), NodePath("WorldEnvironment"), PackedStringArray("environment")] resource_unfolds=["res://scenes/main.tscn::LabelSettings_tbgi4", PackedStringArray("Font"), "res://scenes/main.tscn::LabelSettings_tefeu", PackedStringArray("Font"), "res://scenes/musicmanager.tscn::GDScript_ht1d5", PackedStringArray(), "res://scenes/main.tscn::Environment_tipki", PackedStringArray("Background", "Sky", "Fog", "Ambient Light", "Tonemap", "sky")] -nodes_folded=[] +nodes_folded=[NodePath("HUD")] diff --git a/.godot/editor/project_metadata.cfg b/.godot/editor/project_metadata.cfg index 5bd5168..bd40874 100644 --- a/.godot/editor/project_metadata.cfg +++ b/.godot/editor/project_metadata.cfg @@ -1,7 +1,7 @@ [game_view] select_mode=0 -embed_size_mode=2 +embed_size_mode=0 [editor_metadata] @@ -10,13 +10,13 @@ use_advanced_connections=false [recent_files] -scenes=["res://scenes/gamestate.tscn", "res://scenes/musicmanager.tscn", "res://scenes/main.tscn", "res://scenes/game_state.tscn", "res://scenes/train.tscn", "res://scenes/wagon.tscn"] -scripts=["res://scenes/musicmanager.tscn::GDScript_ht1d5", "res://Scripts/game_state.gd", "res://scripts/gamestate.gd", "res://scripts/musicmanager.gd", "res://scripts/common.gd", "res://scripts/train_camera.gd", "res://scripts/train.gd", "res://scripts/main.gd", "res://scripts/track_generator.gd"] +scenes=["res://scenes/musicmanager.tscn", "res://scenes/gamestate.tscn", "res://scenes/main.tscn", "res://scenes/game_state.tscn", "res://scenes/train.tscn", "res://scenes/wagon.tscn"] +scripts=["Texture2D", "res://scenes/musicmanager.tscn::GDScript_ht1d5", "res://scenes/gamemanager.gd", "res://Scripts/game_state.gd", "res://scripts/gamestate.gd", "res://scripts/musicmanager.gd", "res://scripts/common.gd", "res://scripts/train_camera.gd", "res://scripts/train.gd", "res://scripts/main.gd"] [dialog_bounds] create_new_node=Rect2(1146, 771, 1800, 1400) -project_settings=Rect2(889, 416, 2400, 1400) +project_settings=Rect2(2865, 809, 2400, 1400) export=Rect2(1020, 700, 1800, 1000) [script_setup] diff --git a/.godot/editor/recent_dirs b/.godot/editor/recent_dirs index 845f391..8545b2c 100644 --- a/.godot/editor/recent_dirs +++ b/.godot/editor/recent_dirs @@ -1,5 +1,5 @@ -res://resources res://scenes +res://scripts +res://resources C:/Users/FlavioFabbrizi/Downloads/godot_train_project/build C:/Users/FlavioFabbrizi/Downloads/godot_train_project -res://scripts diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg index b60aff6..f1dd4bf 100644 --- a/.godot/editor/script_editor_cache.cfg +++ b/.godot/editor/script_editor_cache.cfg @@ -17,11 +17,11 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 1, +"column": 88, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 21, -"scroll_position": 0.0, +"row": 117, +"scroll_position": 83.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -34,8 +34,8 @@ state={ "column": 0, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 49, -"scroll_position": 0.0, +"row": 53, +"scroll_position": 21.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -49,7 +49,7 @@ state={ "folded_lines": Array[int]([]), "h_scroll_position": 0, "row": 100, -"scroll_position": 49.0, +"scroll_position": 0.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -77,10 +77,10 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 26, +"column": 0, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 24, +"row": 12, "scroll_position": 0.0, "selection": false, "syntax_highlighter": "GDScript" diff --git a/.godot/global_script_class_cache.cfg b/.godot/global_script_class_cache.cfg index 2340fdf..230a2af 100644 --- a/.godot/global_script_class_cache.cfg +++ b/.godot/global_script_class_cache.cfg @@ -1,12 +1,4 @@ list=[{ -"base": &"Node", -"class": &"GameState", -"icon": "", -"is_abstract": false, -"is_tool": false, -"language": &"GDScript", -"path": "res://scripts/gamestate.gd" -}, { "base": &"RefCounted", "class": &"OBJLoader", "icon": "", diff --git a/.godot/imported/audio_off.png-5de4b789ed4209650f8e97f1032a5f0f.ctex b/.godot/imported/audio_off.png-5de4b789ed4209650f8e97f1032a5f0f.ctex index c406cb462a674f5d0f998ced02e6ac1d70557dce..f89b840b896d03091537fa85f98cb465e62bd2e8 100644 GIT binary patch literal 9546 zcmV-QCAHc|Q&chm0001|0001}00000000gD|Ns900000000000000020001|0H^=} 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 literal 8186 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 delta 10 RcmbPa{mP25bR%P?EC3d~1E2r^ diff --git a/project.godot b/project.godot index 3718be7..db841e2 100644 --- a/project.godot +++ b/project.godot @@ -26,7 +26,7 @@ window/stretch/mode="canvas_items" [global_group] -state="" +save_data="" [input] @@ -50,6 +50,11 @@ speed_down={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) ] } +change_train={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} [rendering] diff --git a/resources/audio_off.png b/resources/audio_off.png index d91ca3a8a41f1abbcdfbbd139f6cf5152b05e55b..7049675deddf9813bb36099f10d847e32437cb36 100644 GIT binary patch literal 18061 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 pO~feXBsbE-9k?yanf&H){|}`cF0Kqx2myT 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 aizdz3ACa<#!2Uk~i0oS>$#QX{um1y6>iabS delta 9862 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 float: - return total_distance + initial_total_distance - - -func AddToTotalDistance(value :float): - total_distance =+ value - - -func SetInitialValue(value :float): - initial_total_distance = value - total_distance = value +func SetInitialValue(distance :float, time: int): + initial_distance = distance + initial_time = time func save() -> Dictionary: return { "filename": get_scene_file_path(), "parent": get_parent().get_path(), - "total_distance": getTotalDistance() + "total_distance": initial_distance + total_distance, + "total_time": initial_time + total_time } diff --git a/scripts/main.gd b/scripts/main.gd index d140def..2ed7da4 100644 --- a/scripts/main.gd +++ b/scripts/main.gd @@ -8,18 +8,24 @@ extends Node3D @onready var camera_label : Label = $HUD/camera_label @onready var distance_label : Label = $HUD/tripdistance_label @onready var total_distance_label : Label = $HUD/totaldistance_label +@onready var time_label : Label = $HUD/triptime_label +@onready var totaltime_label : Label = $HUD/totaltime_label @onready var auto_save_timer = $AutoSaveTimer +@onready var trip_timer = $TripTime var savegame_path: String = "user://savegame.save" +var total_time_in_secs : int = 0 func _ready() -> void: - # caricamento stato gioco - ##load_game() + load_game() + # avvia autosaver auto_save_timer.start() - + # time + trip_timer.start() + train.track_generator = track_generator camera.train = train @@ -55,10 +61,24 @@ func _update_ui() -> void: var km = train.distance_traveled / 1000.0 distance_label.text = "Distanza viaggio: %.2f km" % km - if total_distance_label and train and Gamestate: - Gamestate.AddToTotalDistance(train.distance_traveled) - var km = (Gamestate.getTotalDistance() / 1000) + if total_distance_label and train: + Gamestate.total_distance = train.distance_traveled + var km = (Gamestate.total_distance + Gamestate.initial_distance) / 1000 total_distance_label.text = "Distanza totale: %.2f km" % km + + if time_label and train: + var h = int(total_time_in_secs / 3600.0) + var m = int(total_time_in_secs / 60.0) + var s = total_time_in_secs - m * 60 + time_label.text = "Tempo viaggio: %02d:%02d:%02d" % [h, m, s] + + if totaltime_label and train: + Gamestate.total_time = total_time_in_secs + var tot = Gamestate.total_time + Gamestate.initial_time + var h = int(tot / 3600.0) + var m = int(tot / 60.0) + var s = tot - m * 60 + totaltime_label.text = "Tempo totale: %02d:%02d:%02d" % [h, m, s] if camera_label and camera: camera_label.text = "Camera: %s" % camera.get_mode_name() @@ -74,7 +94,7 @@ func _update_ground() -> void: func save_game(): var save_file = FileAccess.open(savegame_path, FileAccess.WRITE) - var save_nodes = get_tree().get_nodes_in_group("state") + var save_nodes = get_tree().get_nodes_in_group("save_data") for node in save_nodes: if !node.has_method("save"): @@ -86,11 +106,7 @@ func save_game(): func load_game(): if not FileAccess.file_exists(savegame_path): return # nessun salvataggio trovato - - var existing_nodes = get_tree().get_nodes_in_group("state") - for node in existing_nodes: - node.queue_free() - + var save_file = FileAccess.open(savegame_path, FileAccess.READ) while save_file.get_position() < save_file.get_length(): var json_string = save_file.get_line() @@ -99,23 +115,14 @@ func load_game(): if node_data == null: continue - # Ricrea il nodo dalla scena salvata - var new_node = load(node_data["filename"]).instantiate() - - # Aggiungi al parent originale - get_node(node_data["parent"]).add_child(new_node) - - # Ripristina le proprietà - new_node.SetInitialValue(node_data["total_distance"]) - ##new_node.total_distance = new_node.initial_total_distance - - # Ripristina proprietà custom - for key in node_data.keys(): - if key in ["filename", "parent", "total_distance"]: - continue - if key in new_node: - new_node.set(key, node_data[key]) + if node_data["filename"] == "res://scenes/gamestate.tscn" and node_data["parent"] == "/root": + Gamestate.SetInitialValue(node_data["total_distance"], node_data["total_time"]) func _on_timer_timeout() -> void: save_game() + + +func _on_trip_time_timeout() -> void: + total_time_in_secs += 1 + diff --git a/scripts/train.gd b/scripts/train.gd index fedde91..ee19aa7 100644 --- a/scripts/train.gd +++ b/scripts/train.gd @@ -48,11 +48,6 @@ func _ready() -> void: current_speed = base_speed -func _on_button_pressed() -> void: - _create_train() - current_speed = base_speed - - func _remove_train(): for node in get_tree().get_nodes_in_group(group_name): node.queue_free() @@ -146,7 +141,9 @@ func _handle_input(delta: float) -> void: elif Input.is_action_pressed("speed_down"): current_speed = max(current_speed - acceleration * delta, min_speed) speed_changed.emit(current_speed) - + elif Input.is_action_pressed("change_train"): + _create_train() + current_speed = base_speed func _update_movement(delta: float) -> void: distance_traveled += current_speed * delta