extends RigidBody
|
|
|
|
var left = 0
|
|
var right = 0
|
|
var active = false
|
|
var right_active = false
|
|
var activation_margin = 0.1
|
|
|
|
var build_rate = 1
|
|
|
|
func _integrate_forces(state):
|
|
var rot = get_rotation().x
|
|
|
|
if active:
|
|
activation_margin = 0
|
|
if rot < -activation_margin:
|
|
active = true
|
|
right_active = false
|
|
if rot > activation_margin:
|
|
active = true
|
|
right_active = true
|
|
if active:
|
|
if right_active:
|
|
get_node("../HUD/LeftTeam").add_color_override("font_color_shadow", Color(0,0,0,0))
|
|
get_node("../HUD/RightTeam").add_color_override("font_color_shadow", Color(1,0,0))
|
|
else:
|
|
get_node("../HUD/LeftTeam").add_color_override("font_color_shadow", Color(1,0,0))
|
|
get_node("../HUD/RightTeam").add_color_override("font_color_shadow", Color(0,0,0,0))
|
|
|
|
func _process(delta):
|
|
if active:
|
|
if right_active:
|
|
right += delta * build_rate
|
|
else:
|
|
left += delta * build_rate
|
|
if left >= 100:
|
|
get_node("../HUD/Finish").set_text("Left wins!")
|
|
Engine.set_time_scale(0.1)
|
|
left = 100
|
|
if right >= 100:
|
|
get_node("../HUD/Finish").set_text("Left wins!")
|
|
Engine.set_time_scale(0.1)
|
|
right = 100
|
|
get_node("../HUD/LeftTeam").set_text("%d%%" % left)
|
|
get_node("../HUD/RightTeam").set_text("%d%%" % right)
|