forked from interstellar_development/freeftf
		
	Initial Commit
This commit is contained in:
		
							parent
							
								
									6d0191e863
								
							
						
					
					
						commit
						beb2b93613
					
				
					 10 changed files with 516 additions and 0 deletions
				
			
		
							
								
								
									
										2
									
								
								.gitattributes
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitattributes
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| # Normalize EOL for all files that Git considers text files. | ||||
| * text=auto eol=lf | ||||
							
								
								
									
										2
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| # Godot 4+ specific ignores | ||||
| .godot/ | ||||
							
								
								
									
										205
									
								
								export_presets.cfg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								export_presets.cfg
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,205 @@ | |||
| [preset.0] | ||||
| 
 | ||||
| name="Windows Desktop" | ||||
| platform="Windows Desktop" | ||||
| runnable=true | ||||
| dedicated_server=false | ||||
| custom_features="" | ||||
| export_filter="all_resources" | ||||
| include_filter="" | ||||
| exclude_filter="" | ||||
| export_path="../Desktop/64.exe" | ||||
| encryption_include_filters="" | ||||
| encryption_exclude_filters="" | ||||
| encrypt_pck=false | ||||
| encrypt_directory=false | ||||
| 
 | ||||
| [preset.0.options] | ||||
| 
 | ||||
| custom_template/debug="" | ||||
| custom_template/release="" | ||||
| debug/export_console_wrapper=1 | ||||
| binary_format/embed_pck=true | ||||
| texture_format/bptc=true | ||||
| texture_format/s3tc=true | ||||
| texture_format/etc=false | ||||
| texture_format/etc2=false | ||||
| binary_format/architecture="x86_64" | ||||
| codesign/enable=false | ||||
| codesign/timestamp=true | ||||
| codesign/timestamp_server_url="" | ||||
| codesign/digest_algorithm=1 | ||||
| codesign/description="" | ||||
| codesign/custom_options=PackedStringArray() | ||||
| application/modify_resources=true | ||||
| application/icon="" | ||||
| application/console_wrapper_icon="" | ||||
| application/icon_interpolation=4 | ||||
| application/file_version="" | ||||
| application/product_version="" | ||||
| application/company_name="" | ||||
| application/product_name="" | ||||
| application/file_description="" | ||||
| application/copyright="" | ||||
| application/trademarks="" | ||||
| application/export_angle=0 | ||||
| ssh_remote_deploy/enabled=false | ||||
| ssh_remote_deploy/host="user@host_ip" | ||||
| ssh_remote_deploy/port="22" | ||||
| ssh_remote_deploy/extra_args_ssh="" | ||||
| ssh_remote_deploy/extra_args_scp="" | ||||
| ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' | ||||
| $action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' | ||||
| $trigger = New-ScheduledTaskTrigger -Once -At 00:00 | ||||
| $settings = New-ScheduledTaskSettingsSet | ||||
| $task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings | ||||
| Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true | ||||
| Start-ScheduledTask -TaskName godot_remote_debug | ||||
| while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } | ||||
| Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" | ||||
| ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue | ||||
| Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue | ||||
| Remove-Item -Recurse -Force '{temp_dir}'" | ||||
| 
 | ||||
| [preset.1] | ||||
| 
 | ||||
| name="Windows Desktop 2" | ||||
| platform="Windows Desktop" | ||||
| runnable=false | ||||
| dedicated_server=false | ||||
| custom_features="" | ||||
| export_filter="all_resources" | ||||
| include_filter="" | ||||
| exclude_filter="" | ||||
| export_path="../Desktop/32.exe" | ||||
| encryption_include_filters="" | ||||
| encryption_exclude_filters="" | ||||
| encrypt_pck=false | ||||
| encrypt_directory=false | ||||
| 
 | ||||
| [preset.1.options] | ||||
| 
 | ||||
| custom_template/debug="" | ||||
| custom_template/release="" | ||||
| debug/export_console_wrapper=1 | ||||
| binary_format/embed_pck=true | ||||
| texture_format/bptc=true | ||||
| texture_format/s3tc=true | ||||
| texture_format/etc=false | ||||
| texture_format/etc2=false | ||||
| binary_format/architecture="x86_32" | ||||
| codesign/enable=false | ||||
| codesign/timestamp=true | ||||
| codesign/timestamp_server_url="" | ||||
| codesign/digest_algorithm=1 | ||||
| codesign/description="" | ||||
| codesign/custom_options=PackedStringArray() | ||||
| application/modify_resources=true | ||||
| application/icon="" | ||||
| application/console_wrapper_icon="" | ||||
| application/icon_interpolation=4 | ||||
| application/file_version="" | ||||
| application/product_version="" | ||||
| application/company_name="" | ||||
| application/product_name="" | ||||
| application/file_description="" | ||||
| application/copyright="" | ||||
| application/trademarks="" | ||||
| application/export_angle=0 | ||||
| ssh_remote_deploy/enabled=false | ||||
| ssh_remote_deploy/host="user@host_ip" | ||||
| ssh_remote_deploy/port="22" | ||||
| ssh_remote_deploy/extra_args_ssh="" | ||||
| ssh_remote_deploy/extra_args_scp="" | ||||
| ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' | ||||
| $action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' | ||||
| $trigger = New-ScheduledTaskTrigger -Once -At 00:00 | ||||
| $settings = New-ScheduledTaskSettingsSet | ||||
| $task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings | ||||
| Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true | ||||
| Start-ScheduledTask -TaskName godot_remote_debug | ||||
| while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } | ||||
| Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" | ||||
| ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue | ||||
| Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue | ||||
| Remove-Item -Recurse -Force '{temp_dir}'" | ||||
| 
 | ||||
| [preset.2] | ||||
| 
 | ||||
| name="Linux/X11" | ||||
| platform="Linux/X11" | ||||
| runnable=true | ||||
| dedicated_server=false | ||||
| custom_features="" | ||||
| export_filter="all_resources" | ||||
| include_filter="" | ||||
| exclude_filter="" | ||||
| export_path="../Desktop/linux.x86_64" | ||||
| encryption_include_filters="" | ||||
| encryption_exclude_filters="" | ||||
| encrypt_pck=false | ||||
| encrypt_directory=false | ||||
| 
 | ||||
| [preset.2.options] | ||||
| 
 | ||||
| custom_template/debug="" | ||||
| custom_template/release="" | ||||
| debug/export_console_wrapper=1 | ||||
| binary_format/embed_pck=true | ||||
| texture_format/bptc=true | ||||
| texture_format/s3tc=true | ||||
| texture_format/etc=false | ||||
| texture_format/etc2=false | ||||
| binary_format/architecture="x86_64" | ||||
| ssh_remote_deploy/enabled=false | ||||
| ssh_remote_deploy/host="user@host_ip" | ||||
| ssh_remote_deploy/port="22" | ||||
| ssh_remote_deploy/extra_args_ssh="" | ||||
| ssh_remote_deploy/extra_args_scp="" | ||||
| ssh_remote_deploy/run_script="#!/usr/bin/env bash | ||||
| export DISPLAY=:0 | ||||
| unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" | ||||
| \"{temp_dir}/{exe_name}\" {cmd_args}" | ||||
| ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash | ||||
| kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") | ||||
| rm -rf \"{temp_dir}\"" | ||||
| 
 | ||||
| [preset.3] | ||||
| 
 | ||||
| name="Linux/X11 2" | ||||
| platform="Linux/X11" | ||||
| runnable=false | ||||
| dedicated_server=false | ||||
| custom_features="" | ||||
| export_filter="all_resources" | ||||
| include_filter="" | ||||
| exclude_filter="" | ||||
| export_path="../Desktop/linux.x86_32" | ||||
| encryption_include_filters="" | ||||
| encryption_exclude_filters="" | ||||
| encrypt_pck=false | ||||
| encrypt_directory=false | ||||
| 
 | ||||
| [preset.3.options] | ||||
| 
 | ||||
| custom_template/debug="" | ||||
| custom_template/release="" | ||||
| debug/export_console_wrapper=1 | ||||
| binary_format/embed_pck=true | ||||
| texture_format/bptc=true | ||||
| texture_format/s3tc=true | ||||
| texture_format/etc=false | ||||
| texture_format/etc2=false | ||||
| binary_format/architecture="x86_32" | ||||
| ssh_remote_deploy/enabled=false | ||||
| ssh_remote_deploy/host="user@host_ip" | ||||
| ssh_remote_deploy/port="22" | ||||
| ssh_remote_deploy/extra_args_ssh="" | ||||
| ssh_remote_deploy/extra_args_scp="" | ||||
| ssh_remote_deploy/run_script="#!/usr/bin/env bash | ||||
| export DISPLAY=:0 | ||||
| unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" | ||||
| \"{temp_dir}/{exe_name}\" {cmd_args}" | ||||
| ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash | ||||
| kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") | ||||
| rm -rf \"{temp_dir}\"" | ||||
							
								
								
									
										29
									
								
								maps/base_map.tscn
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								maps/base_map.tscn
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,29 @@ | |||
| [gd_scene load_steps=4 format=3 uid="uid://2qsccmko8yl8"] | ||||
| 
 | ||||
| [ext_resource type="PackedScene" uid="uid://b440i2oidk5sp" path="res://objects/player.tscn" id="1_e1efq"] | ||||
| [ext_resource type="PackedScene" uid="uid://4mhcwvn365ki" path="res://objects/computer.tscn" id="2_28qhl"] | ||||
| 
 | ||||
| [sub_resource type="BoxShape3D" id="BoxShape3D_34oyu"] | ||||
| size = Vector3(50, 1, 50) | ||||
| 
 | ||||
| [node name="Node3D" type="Node3D"] | ||||
| 
 | ||||
| [node name="StaticBody3D" type="StaticBody3D" parent="."] | ||||
| 
 | ||||
| [node name="CSGBox3D" type="CSGBox3D" parent="StaticBody3D"] | ||||
| size = Vector3(50, 1, 50) | ||||
| 
 | ||||
| [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] | ||||
| shape = SubResource("BoxShape3D_34oyu") | ||||
| 
 | ||||
| [node name="player" parent="." instance=ExtResource("1_e1efq")] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.32619, 2.43562, 13.4822) | ||||
| 
 | ||||
| [node name="light" type="DirectionalLight3D" parent="."] | ||||
| transform = Transform3D(0.545371, 0.353189, 0.76015, 0, -0.90689, 0.421368, 0.838195, -0.229802, -0.494591, 0, 10.2747, 0) | ||||
| 
 | ||||
| [node name="computers" parent="." instance=ExtResource("2_28qhl")] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 1, 3) | ||||
| 
 | ||||
| [node name="computers2" parent="." instance=ExtResource("2_28qhl")] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 3) | ||||
							
								
								
									
										72
									
								
								objects/computer.tscn
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								objects/computer.tscn
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,72 @@ | |||
| [gd_scene load_steps=4 format=3 uid="uid://4mhcwvn365ki"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://scripts/computer.gd" id="1_bnoot"] | ||||
| 
 | ||||
| [sub_resource type="BoxShape3D" id="BoxShape3D_bvobj"] | ||||
| size = Vector3(2, 1.75, 1.5) | ||||
| 
 | ||||
| [sub_resource type="BoxShape3D" id="BoxShape3D_nfndi"] | ||||
| 
 | ||||
| [node name="computers" type="StaticBody3D"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) | ||||
| script = ExtResource("1_bnoot") | ||||
| 
 | ||||
| [node name="collision" type="CollisionShape3D" parent="."] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.375, 0) | ||||
| shape = SubResource("BoxShape3D_bvobj") | ||||
| 
 | ||||
| [node name="desk" type="CSGBox3D" parent="."] | ||||
| size = Vector3(2, 1, 1.5) | ||||
| 
 | ||||
| [node name="pc_1" type="CSGBox3D" parent="."] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.875, 0.5) | ||||
| size = Vector3(1, 0.75, 0.25) | ||||
| 
 | ||||
| [node name="pc_1_area" type="Area3D" parent="pc_1"] | ||||
| 
 | ||||
| [node name="CollisionShape3D" type="CollisionShape3D" parent="pc_1/pc_1_area"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.75, 0.875) | ||||
| shape = SubResource("BoxShape3D_nfndi") | ||||
| 
 | ||||
| [node name="Label3D" type="Label3D" parent="pc_1"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.13) | ||||
| text = "0" | ||||
| 
 | ||||
| [node name="pc_2" type="CSGBox3D" parent="."] | ||||
| transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.75, 0.875, 0) | ||||
| size = Vector3(1, 0.75, 0.25) | ||||
| 
 | ||||
| [node name="pc_2_area" type="Area3D" parent="pc_2"] | ||||
| 
 | ||||
| [node name="CollisionShape3D" type="CollisionShape3D" parent="pc_2/pc_2_area"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.75, 0.875) | ||||
| shape = SubResource("BoxShape3D_nfndi") | ||||
| 
 | ||||
| [node name="Label3D" type="Label3D" parent="pc_2"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.13) | ||||
| text = "0" | ||||
| 
 | ||||
| [node name="pc_3" type="CSGBox3D" parent="."] | ||||
| transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.75, 0.875, 0) | ||||
| size = Vector3(1, 0.75, 0.25) | ||||
| 
 | ||||
| [node name="pc_3_area" type="Area3D" parent="pc_3"] | ||||
| 
 | ||||
| [node name="CollisionShape3D" type="CollisionShape3D" parent="pc_3/pc_3_area"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.75, 0.875) | ||||
| shape = SubResource("BoxShape3D_nfndi") | ||||
| 
 | ||||
| [node name="Label3D" type="Label3D" parent="pc_3"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.55271e-15, 0, 0.13) | ||||
| text = "0" | ||||
| 
 | ||||
| [node name="computer_tick" type="Timer" parent="."] | ||||
| autostart = true | ||||
| 
 | ||||
| [connection signal="body_entered" from="pc_1/pc_1_area" to="." method="_on_pc_1_area_body_entered"] | ||||
| [connection signal="body_exited" from="pc_1/pc_1_area" to="." method="_on_pc_1_area_body_exited"] | ||||
| [connection signal="body_entered" from="pc_2/pc_2_area" to="." method="_on_pc_2_area_body_entered"] | ||||
| [connection signal="body_exited" from="pc_2/pc_2_area" to="." method="_on_pc_2_area_body_exited"] | ||||
| [connection signal="body_entered" from="pc_3/pc_3_area" to="." method="_on_pc_3_area_body_entered"] | ||||
| [connection signal="body_exited" from="pc_3/pc_3_area" to="." method="_on_pc_3_area_body_exited"] | ||||
| [connection signal="timeout" from="computer_tick" to="." method="_on_computer_tick_timeout"] | ||||
							
								
								
									
										22
									
								
								objects/player.tscn
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								objects/player.tscn
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | |||
| [gd_scene load_steps=4 format=3 uid="uid://b440i2oidk5sp"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://scripts/movement.gd" id="1_uru11"] | ||||
| 
 | ||||
| [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2l8cp"] | ||||
| 
 | ||||
| [sub_resource type="CapsuleMesh" id="CapsuleMesh_fhldf"] | ||||
| 
 | ||||
| [node name="player" type="CharacterBody3D"] | ||||
| script = ExtResource("1_uru11") | ||||
| 
 | ||||
| [node name="collision" type="CollisionShape3D" parent="."] | ||||
| shape = SubResource("CapsuleShape3D_2l8cp") | ||||
| 
 | ||||
| [node name="bean" type="MeshInstance3D" parent="."] | ||||
| mesh = SubResource("CapsuleMesh_fhldf") | ||||
| 
 | ||||
| [node name="cam_y" type="Node3D" parent="."] | ||||
| transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0) | ||||
| 
 | ||||
| [node name="Camera3D" type="Camera3D" parent="cam_y"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 8) | ||||
							
								
								
									
										67
									
								
								project.godot
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								project.godot
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,67 @@ | |||
| ; 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="OpenFlee" | ||||
| run/main_scene="res://maps/base_map.tscn" | ||||
| config/features=PackedStringArray("4.2", "Forward Plus") | ||||
| 
 | ||||
| [autoload] | ||||
| 
 | ||||
| Game="*res://scripts/game.gd" | ||||
| 
 | ||||
| [input] | ||||
| 
 | ||||
| forwards={ | ||||
| "deadzone": 0.5, | ||||
| "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":87,"key_label":0,"unicode":119,"echo":false,"script":null) | ||||
| ] | ||||
| } | ||||
| backwards={ | ||||
| "deadzone": 0.5, | ||||
| "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,"echo":false,"script":null) | ||||
| ] | ||||
| } | ||||
| left={ | ||||
| "deadzone": 0.5, | ||||
| "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":65,"key_label":0,"unicode":97,"echo":false,"script":null) | ||||
| ] | ||||
| } | ||||
| right={ | ||||
| "deadzone": 0.5, | ||||
| "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":68,"key_label":0,"unicode":100,"echo":false,"script":null) | ||||
| ] | ||||
| } | ||||
| cam_look={ | ||||
| "deadzone": 0.5, | ||||
| "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null) | ||||
| ] | ||||
| } | ||||
| jump={ | ||||
| "deadzone": 0.5, | ||||
| "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":32,"key_label":0,"unicode":32,"echo":false,"script":null) | ||||
| ] | ||||
| } | ||||
| zoom_in={ | ||||
| "deadzone": 0.5, | ||||
| "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"canceled":false,"pressed":false,"double_click":false,"script":null) | ||||
| ] | ||||
| } | ||||
| zoom_out={ | ||||
| "deadzone": 0.5, | ||||
| "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null) | ||||
| ] | ||||
| } | ||||
| 
 | ||||
| [rendering] | ||||
| 
 | ||||
| renderer/rendering_method="gl_compatibility" | ||||
| renderer/rendering_method.mobile="gl_compatibility" | ||||
							
								
								
									
										58
									
								
								scripts/computer.gd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								scripts/computer.gd
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,58 @@ | |||
| extends StaticBody3D | ||||
| 
 | ||||
| const TARGET = 100 | ||||
| var current = 0 | ||||
| 
 | ||||
| var pc_occupied = [0, 0, 0,] | ||||
| 
 | ||||
| var pc_body = [0, 0, 0] | ||||
| 
 | ||||
| func _ready(): | ||||
| 	Game.computers += 1 | ||||
| 
 | ||||
| func _on_computer_tick_timeout(): | ||||
| 	current += (pc_occupied[0] + pc_occupied[1] + pc_occupied[2]) | ||||
| 	if current >= TARGET: | ||||
| 		current = "Complete" | ||||
| 		$computer_tick.stop() | ||||
| 		Game.computers -= 1 | ||||
| 	$pc_1/Label3D.text = str(current) | ||||
| 	$pc_2/Label3D.text = str(current) | ||||
| 	$pc_3/Label3D.text = str(current) | ||||
| 
 | ||||
| 
 | ||||
| func _on_pc_1_area_body_entered(body): | ||||
| 	if pc_occupied[0] == 0: | ||||
| 		body.has_method("_input") | ||||
| 		pc_occupied[0] = 1 | ||||
| 		pc_body[0] = body | ||||
| 
 | ||||
| 
 | ||||
| func _on_pc_2_area_body_entered(body): | ||||
| 	if pc_occupied[1] == 0: | ||||
| 		pc_occupied[1] = 1 | ||||
| 		pc_body[1] = body | ||||
| 
 | ||||
| 
 | ||||
| func _on_pc_3_area_body_entered(body): | ||||
| 	if pc_occupied[2] == 0: | ||||
| 		pc_occupied[2] = 1 | ||||
| 		pc_body[2] = body | ||||
| 
 | ||||
| 
 | ||||
| func _on_pc_1_area_body_exited(body): | ||||
| 	if pc_occupied[0] == 1 and body == pc_body[0]: | ||||
| 		pc_occupied[0] = 0 | ||||
| 		pc_body[0] = 0 | ||||
| 
 | ||||
| 
 | ||||
| func _on_pc_2_area_body_exited(body): | ||||
| 	if pc_occupied[1] == 1 and body == pc_body[1]: | ||||
| 		pc_occupied[1] = 0 | ||||
| 		pc_body[1] = 0 | ||||
| 
 | ||||
| 
 | ||||
| func _on_pc_3_area_body_exited(body): | ||||
| 	if pc_occupied[2] == 1 and body == pc_body[2]: | ||||
| 		pc_occupied[2] = 0 | ||||
| 		pc_body[2] = 0 | ||||
							
								
								
									
										6
									
								
								scripts/game.gd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								scripts/game.gd
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| extends Node | ||||
| 
 | ||||
| var computers = 0 | ||||
| 
 | ||||
| func _process(delta): | ||||
| 	print(computers) | ||||
							
								
								
									
										53
									
								
								scripts/movement.gd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								scripts/movement.gd
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| extends CharacterBody3D | ||||
| 
 | ||||
| 
 | ||||
| const SPEED = 5.0 | ||||
| const JUMP_VELOCITY = 4.5 | ||||
| var zoom = 0 | ||||
| 
 | ||||
| 
 | ||||
| var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") | ||||
| 
 | ||||
| 
 | ||||
| func _physics_process(delta): | ||||
| 
 | ||||
| 	if not is_on_floor(): | ||||
| 		velocity.y -= gravity * delta | ||||
| 
 | ||||
| 
 | ||||
| 	if Input.is_action_just_pressed("jump") and is_on_floor(): | ||||
| 		velocity.y = JUMP_VELOCITY | ||||
| 		 | ||||
| 	var input_dir = Input.get_vector("left", "right", "forwards", "backwards") | ||||
| 	var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() | ||||
| 	if direction: | ||||
| 		velocity.x = direction.x * SPEED | ||||
| 		velocity.z = direction.z * SPEED | ||||
| 	else: | ||||
| 		velocity.x = move_toward(velocity.x, 0, SPEED) | ||||
| 		velocity.z = move_toward(velocity.z, 0, SPEED) | ||||
| 
 | ||||
| 	move_and_slide() | ||||
| 	 | ||||
| func _input(event): | ||||
| 	if event is InputEventMouseMotion and (Input.is_action_pressed("cam_look") or $cam_y/Camera3D.position.z == 0): | ||||
| 		var camera_rotation = event.relative * 0.01 | ||||
| 		if $cam_y.rotation.x <= 1.6 && camera_rotation.y <= 0: | ||||
| 			$cam_y.rotate(Vector3.RIGHT, -camera_rotation.y) | ||||
| 		elif $cam_y.rotation.x >= -1.6 && camera_rotation.y >= 0: | ||||
| 			$cam_y.rotate(Vector3.RIGHT, -camera_rotation.y) | ||||
| 		if $cam_y.rotation.x >= 1.6: | ||||
| 			$cam_y.rotation.x = 1.6 | ||||
| 		elif $cam_y.rotation.x <= -1.6: | ||||
| 			$cam_y.rotation.x = -1.6 | ||||
| 		rotate(Vector3.DOWN, camera_rotation.x) | ||||
| 
 | ||||
| func _unhandled_input(event): | ||||
| 	if event.is_action_pressed("zoom_in") && $cam_y/Camera3D.position.z > 0: | ||||
| 		zoom = -1 | ||||
| 		$cam_y/Camera3D.position.z += zoom | ||||
| 	elif event.is_action_pressed("zoom_out") && $cam_y/Camera3D.position.z <= 20: | ||||
| 		zoom = 1 | ||||
| 		$cam_y/Camera3D.position.z += zoom | ||||
| 	else: | ||||
| 		zoom = 0 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 patrick_pluto
						patrick_pluto