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