Skip to content

Commit

Permalink
Add agent movement reset test case
Browse files Browse the repository at this point in the history
  • Loading branch information
Scony committed Jul 6, 2022
1 parent 109a25e commit 92cca93
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
4 changes: 4 additions & 0 deletions project.godot
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ config/icon="res://icon.png"

AdvancedNavigationServer3D="*res://addons/godot-advanced-navigation-plugin/nodes/AdvancedNavigationServer3D.gdns"

[debug]

gdscript/warnings/return_value_discarded=false

[editor_plugins]

enabled=PoolStringArray( "res://addons/godot-advanced-navigation-plugin/plugin.cfg", "res://addons/gut/plugin.cfg" )
Expand Down
29 changes: 29 additions & 0 deletions tests/int/TestDetourCrowd.gd
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,35 @@ func test_small_step_for_agent_but_big_setp_for_mankind():
assert_almost_eq_v3(agent_1.position, Vector3(4.0, 0.2, 4.0))


func test_agent_movement_interrupted():
# input:
var input_geometry = AdvancedNavigationServer3D.create_empty_input_geometry()
var plane_mesh = PlaneMesh.new()
plane_mesh.size = Vector2(10, 10)
input_geometry.add_resources([plane_mesh])

# config:
var recast_config = AdvancedNavigationServer3D.create_empty_recast_polygon_mesh_config()
var detour_config = AdvancedNavigationServer3D.create_empty_detour_navigation_mesh_config()
var crowd_config = AdvancedNavigationServer3D.create_empty_detour_crowd_config()

# navmesh:
var navmesh = AdvancedNavigationServer3D.create_empty_detour_navigation_mesh()
navmesh.build_from_input_geometry(input_geometry, recast_config, detour_config)

# crowd:
var crowd = navmesh.create_crowd(crowd_config)
assert(crowd)
var agent_1_config = AdvancedNavigationServer3D.create_empty_detour_crowd_agent_config()
var agent_1 = crowd.create_agent(Vector3(-5, 10, -5), agent_1_config)
assert_almost_eq_v3(agent_1.position, Vector3(-4.1, 0.2, -4.1))
assert_true(agent_1.set_target(Vector3(5, 0, 5)))
assert_almost_eq_v3(agent_1.get_target(), Vector3(4.0, 0.2, 4.0))
assert_true(agent_1.set_target(Vector3.INF))
crowd.update(999.0)
assert_almost_eq_v3(agent_1.position, Vector3(-4.1, 0.2, -4.1))


func test_agent_acceleration_and_speed():
# input:
var input_geometry = AdvancedNavigationServer3D.create_empty_input_geometry()
Expand Down

0 comments on commit 92cca93

Please sign in to comment.