meat_madness_redux/godot/util.gd

40 lines
1011 B
GDScript

extends Node
# Updated by player
onready var player = null
onready var meat_sink_parameters = null
signal meat_sink_parameters
var shader = null
func never_called():
emit_signal("meat_sink_parameters")
func vec3_componentwise_clamp(vec: Vector3, lower: float, upper: float) -> Vector3:
return Vector3(
clamp(vec.x, lower, upper),
clamp(vec.y, lower, upper),
clamp(vec.z, lower, upper)
)
func vec2_xz_to_vec3(xz: Vector2, y: float = 0.0) -> Vector3:
return Vector3(xz.x, y, xz.y)
func vec3_xz(vec: Vector3) -> Vector2:
return Vector2(vec.x, vec.z)
func deactivate_node(node: Node):
node.set_process(false)
node.set_physics_process(false)
node.set_process_input(false)
func activate_node(node: Node):
node.set_process(true)
node.set_physics_process(true)
node.set_process_input(true)
func clamped_lerp(src: float, dest: float, weight: float, close_enough: float):
weight = clamp(weight, 0.0, 1.0)
var v = lerp(src, dest, weight)
if abs(dest - v) < close_enough:
return dest
return v