Add noclip mode (F3)
This commit is contained in:
parent
5c69f5c4df
commit
7b9a43394c
@ -121,6 +121,11 @@ toggle_pause_menu={
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
toggle_noclip={
|
||||
"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":4194334,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[internationalization]
|
||||
|
||||
|
@ -3,11 +3,11 @@
|
||||
[ext_resource type="CameraAttributesPhysical" uid="uid://cxyj2tvfksjl6" path="res://scenes/hazy_env_camera_attrs.tres" id="1_r2j1d"]
|
||||
[ext_resource type="PackedScene" uid="uid://br315evr8x2gt" path="res://scenes/hazy_env.tscn" id="2_le85m"]
|
||||
[ext_resource type="LightmapGIData" uid="uid://bp05p4yab2ukx" path="res://scenes/demo/demo.lmbake" id="2_thfwf"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/demo/demo_map.tscn" id="4_0ojvw"]
|
||||
[ext_resource type="PackedScene" uid="uid://d4fn0ljcmjdnb" path="res://scenes/demo/demo_map.tscn" id="4_0ojvw"]
|
||||
[ext_resource type="PackedScene" uid="uid://wjbuh7jk50nm" path="res://scenes/player.tscn" id="10_3xiy2"]
|
||||
[ext_resource type="PackedScene" uid="uid://d02cqylu3xwos" path="res://scenes/table.tscn" id="11_7trvw"]
|
||||
[ext_resource type="PackedScene" uid="uid://c670g1qg5gaug" path="res://scenes/interface/pause_menu.tscn" id="11_lav3p"]
|
||||
[ext_resource type="Material" uid="uid://bq5oqyuwekryv" path="res://textures/building_block.tres" id="12_i3ahj"]
|
||||
[ext_resource type="Material" uid="uid://bq5oqyuwekryv" path="res://materials/building_block.tres" id="12_i3ahj"]
|
||||
|
||||
[node name="Demo" type="Node3D"]
|
||||
|
||||
|
@ -31,6 +31,8 @@ namespace Gmtk24 {
|
||||
private float JumpBufferTime = 0;
|
||||
private float FootstepCooldown = 0;
|
||||
|
||||
private bool NoclipEnabled = false;
|
||||
|
||||
public override void _UnhandledInput(InputEvent @event) {
|
||||
if (@event is InputEventMouseMotion mouseMotion && Input.MouseMode == Input.MouseModeEnum.Captured) {
|
||||
var cameraSensitivity = UserSettings.Singleton.GetCameraSpeedMultipliers();
|
||||
@ -42,6 +44,19 @@ namespace Gmtk24 {
|
||||
|
||||
if (@event.IsActionPressed("jump")) {
|
||||
JumpBufferTime = JumpBufferLengthSeconds;
|
||||
GetViewport().SetInputAsHandled();
|
||||
}
|
||||
|
||||
if (@event.IsActionPressed("toggle_noclip")) {
|
||||
NoclipEnabled = !NoclipEnabled;
|
||||
if (NoclipEnabled) {
|
||||
CollisionLayer = 0;
|
||||
CollisionMask = 0;
|
||||
} else {
|
||||
CollisionLayer = 1;
|
||||
CollisionMask = 1;
|
||||
}
|
||||
GetViewport().SetInputAsHandled();
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,6 +100,12 @@ namespace Gmtk24 {
|
||||
Input.GetActionStrength("move_backward") - Input.GetActionStrength("move_forward")
|
||||
);
|
||||
Vector3 move = Eye.Basis * moveInput;
|
||||
|
||||
if (NoclipEnabled) {
|
||||
GlobalPosition += move * MovementSpeed * 10 * (float)delta;
|
||||
return;
|
||||
}
|
||||
|
||||
move.Y = 0;
|
||||
move = move.Normalized() * Mathf.Min(1, moveInput.Length()) * MovementSpeed;
|
||||
if (Input.IsActionPressed("sprint")) {
|
||||
|
Loading…
Reference in New Issue
Block a user