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…
Reference in a new issue