Scripts renamed

This commit is contained in:
Rendo 2025-11-21 01:04:09 +05:00
commit aa35ee5975
17 changed files with 7 additions and 5 deletions

View file

@ -0,0 +1,6 @@
extends Resource
@export var internal_id: StringName
@export var immediate: bool
@export var max_uses: int
@export var cost: int

View file

@ -0,0 +1 @@
uid://cwn6swbl3bcqw

View file

@ -0,0 +1,21 @@
extends Control
@export var outline: bool = true
@export var outline_color: Color = Color.BLACK
@export var outline_width: float = 0.1
@export var dot_radius: float = 1.0
@export var dot_color: Color = Color.WHITE
@export var crosses_width: float = 1.0
@export var crosses_length: float = 2.0
@export var crosses_offset: float = 0.2
@export var crosses_color: Color = Color.WHITE
func _draw() -> void:
draw_circle(Vector2(0,0),dot_radius,dot_color,true,outline_width)
for i in range(0,4):
var direction: Vector2 = Vector2.RIGHT.rotated(i*PI/2)
var offset_position: Vector2 = direction * crosses_offset
draw_line(offset_position,direction*crosses_length+offset_position,crosses_color,crosses_width)

View file

@ -0,0 +1 @@
uid://dalwlndejfdhm

64
scripts/player/player.gd Normal file
View file

@ -0,0 +1,64 @@
extends CharacterBody3D
@export var animation_player: AnimationPlayer
@export var stand_up_area: Area3D
@export var CROUCH_TIME: float = 1.0
@export var SPEED: float = 5.0
@export var JUMP_VELOCITY: float = 4.5
# Replace with settings
@export var TOGGLE_CROUCH: bool = true
@export var WALK_MODIFIER: float = 0.5
var crouched: bool = false:
set(value):
if value != crouched and stand_up_area.has_overlapping_bodies() == false:
crouched = value
update_crouch()
SPEED = (SPEED*WALK_MODIFIER) if crouched else (SPEED/WALK_MODIFIER)
potential_crouched = value
get:
return crouched
var potential_crouched: bool = crouched
func _process(_delta: float) -> void:
if potential_crouched != crouched:
crouched = potential_crouched
func _physics_process(delta: float) -> void:
# Add the gravity.
if not is_on_floor():
velocity += get_gravity() * delta
# Handle jump.
if Input.is_action_just_pressed("plr_jump") and is_on_floor():
velocity.y = JUMP_VELOCITY
# Get the input direction and handle the movement/deceleration.
# As good practice, you should replace UI actions with custom gameplay actions.
var input_dir := Input.get_vector("plr_strafe_l", "plr_strafe_r", "plr_forward", "plr_back")
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 update_crouch():
if crouched:
animation_player.play("Crouch",-1,1/CROUCH_TIME)
else:
animation_player.play("Crouch",-1,-1/CROUCH_TIME,true)
func _input(event: InputEvent) -> void:
if event.is_action_pressed("plr_crouch"):
if TOGGLE_CROUCH:
crouched = not crouched
else:
crouched = true
elif event.is_action_released("plr_crouch") and TOGGLE_CROUCH == false:
crouched = false

View file

@ -0,0 +1 @@
uid://3dphlay25fih

View file

@ -0,0 +1,16 @@
extends Camera3D
const COLLINEAR = 1.5707963267948966
@export var SENSITIVITY = 0.02
func _ready() -> void:
# Move to level controller when possible
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
func _input(event: InputEvent) -> void:
if event is InputEventMouseMotion:
get_parent().rotate_y(-event.relative.x * SENSITIVITY)
rotate_x(-event.relative.y * SENSITIVITY)
rotation.x = clamp(rotation.x,-COLLINEAR,COLLINEAR)
orthonormalize()

View file

@ -0,0 +1 @@
uid://bjhbdh6xsjgnn

View file

@ -0,0 +1,4 @@
extends Node
var player: CharacterBody3D

View file

@ -0,0 +1 @@
uid://dv3pm11t6p4si

View file

@ -0,0 +1,36 @@
extends Node
class_name StateMachine
@export var current_state: State
var states: Dictionary[StringName,State] = {}
func _ready() -> void:
for child in get_children():
if child is State:
states[child.name] = child
child.transition.connect(on_transition_required)
else:
push_warning("Child of state machine is not state")
func on_transition_required(to: StringName):
if states.has(to) == false:
push_warning("Incorrect state request: " + to)
return
current_state.exit()
current_state = states[to]
current_state.enter()
func _process(delta: float) -> void:
if current_state == null:
push_error("State is not set")
return
current_state.update(delta)
func _physics_process(delta: float) -> void:
if current_state == null:
push_error("State is not set")
return
current_state.physics_update(delta)

View file

@ -0,0 +1 @@
uid://3777rkbebgjm

View file

@ -0,0 +1,12 @@
@abstract
extends Node
class_name State
signal transition(to: StringName)
@abstract func enter() -> void
@abstract func exit() -> void
@abstract func update(delta: float) -> void
@abstract func physics_update(delta: float) -> void

View file

@ -0,0 +1 @@
uid://cmsphnymgquwq