2020-01-16 09:44:44 +01:00
|
|
|
extends Node2D
|
|
|
|
|
|
|
|
|
2020-01-16 18:31:02 +01:00
|
|
|
export(float, 0, 2000, 40) var max_linear_speed := 120.0 setget set_max_linear_speed
|
|
|
|
export(float, 0, 200, 2) var max_linear_accel := 10.0 setget set_max_linear_accel
|
|
|
|
export(float, 0, 5, 0.1) var predict_time := 1.0 setget set_predict_time
|
2020-01-16 09:44:44 +01:00
|
|
|
|
2020-01-16 16:04:27 +01:00
|
|
|
onready var pursuer := $BoundaryManager/Pursuer
|
|
|
|
onready var seeker := $BoundaryManager/Seeker
|
|
|
|
|
|
|
|
|
|
|
|
func _ready() -> void:
|
|
|
|
pursuer.setup(predict_time, max_linear_speed, max_linear_accel)
|
|
|
|
seeker.setup(predict_time, max_linear_speed, max_linear_accel)
|
|
|
|
|
2020-01-16 09:44:44 +01:00
|
|
|
|
|
|
|
func set_max_linear_speed(value: float) -> void:
|
2020-01-16 18:31:02 +01:00
|
|
|
max_linear_speed = value
|
2020-01-16 09:44:44 +01:00
|
|
|
if not is_inside_tree():
|
|
|
|
return
|
|
|
|
|
|
|
|
pursuer.agent.max_linear_speed = value
|
|
|
|
seeker.agent.max_linear_speed = value
|
|
|
|
|
|
|
|
|
|
|
|
func set_max_linear_accel(value: float) -> void:
|
2020-01-16 18:31:02 +01:00
|
|
|
max_linear_accel = value
|
2020-01-16 09:44:44 +01:00
|
|
|
if not is_inside_tree():
|
|
|
|
return
|
|
|
|
|
|
|
|
pursuer.agent.max_linear_acceleration = value
|
|
|
|
seeker.agent.max_linear_acceleration = value
|
|
|
|
|
|
|
|
|
|
|
|
func set_predict_time(value: float) -> void:
|
2020-01-16 18:31:02 +01:00
|
|
|
predict_time = value
|
2020-01-16 09:44:44 +01:00
|
|
|
if not is_inside_tree():
|
|
|
|
return
|
|
|
|
|
|
|
|
pursuer._behavior.max_predict_time = value
|