32 lines
896 B
GDScript
32 lines
896 B
GDScript
extends BaseWidgetNode
|
|
class_name AccelerometerWidgetNode
|
|
|
|
var accel_vector: Line2D
|
|
var x_vector: Line2D
|
|
var y_vector: Line2D
|
|
var label: Label
|
|
var origin: Vector2 = Vector2(0., 0.)
|
|
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready() -> void:
|
|
super._ready()
|
|
label = get_node('Label')
|
|
accel_vector = get_node("AccelVector")
|
|
accel_vector.points = [origin, origin]
|
|
x_vector = get_node("XVector")
|
|
x_vector.points = [origin, origin]
|
|
y_vector = get_node("YVector")
|
|
y_vector.points = [origin, origin]
|
|
|
|
func _update_data():
|
|
if y_vector == null:
|
|
return
|
|
var lateral_gs = host_vehicle.lateral_accel
|
|
var accel_g = lateral_gs.length() / Constants.g
|
|
var x_vec = Vector2(lateral_gs.x, 0)
|
|
accel_vector.points = [origin, lateral_gs * 4]
|
|
x_vector.points = [origin, x_vec * 4]
|
|
y_vector.points = [x_vec * 4, lateral_gs * 4]
|
|
label.text = str(round(accel_g*10)/10) + ' g'
|