forked from woofmeow/straywild
fix: improve crab spawning and net targeting
This commit is contained in:
parent
c59328b524
commit
34fcb957e9
8 changed files with 79 additions and 18 deletions
|
|
@ -22,13 +22,36 @@ func _run() -> void:
|
|||
|
||||
var wall := _make_surface(
|
||||
Vector3(2.0, 2.0, 0.1),
|
||||
Vector3(0.0, 0.9, -1.5),
|
||||
Vector3(0.0, 0.9, -1.1),
|
||||
)
|
||||
root.add_child(wall)
|
||||
await physics_frame
|
||||
controller.call("_update_marker_target")
|
||||
var marker := controller.get("_marker") as MeshInstance3D
|
||||
assert(marker != null)
|
||||
var disc := marker.mesh as CylinderMesh
|
||||
assert(disc != null)
|
||||
assert(is_equal_approx(disc.top_radius, controller.marker_radius))
|
||||
assert(is_equal_approx(disc.bottom_radius, controller.marker_radius))
|
||||
var invalid_material := controller.get(
|
||||
"_marker_invalid_material"
|
||||
) as StandardMaterial3D
|
||||
var valid_material := controller.get(
|
||||
"_marker_valid_material"
|
||||
) as StandardMaterial3D
|
||||
assert(invalid_material != null)
|
||||
assert(valid_material != null)
|
||||
assert(invalid_material.albedo_color == Color.WHITE)
|
||||
assert(is_equal_approx(invalid_material.albedo_color.a, 1.0))
|
||||
assert(is_equal_approx(valid_material.albedo_color.a, 1.0))
|
||||
assert(
|
||||
invalid_material.shading_mode
|
||||
== BaseMaterial3D.SHADING_MODE_UNSHADED
|
||||
)
|
||||
assert(
|
||||
valid_material.shading_mode
|
||||
== BaseMaterial3D.SHADING_MODE_UNSHADED
|
||||
)
|
||||
assert(bool(controller.get("_marker_has_surface")))
|
||||
assert(marker.global_basis.y.dot(Vector3.BACK) > 0.99)
|
||||
|
||||
|
|
@ -44,6 +67,16 @@ func _run() -> void:
|
|||
assert(bool(controller.get("_marker_has_surface")))
|
||||
assert(marker.global_basis.y.dot(Vector3.UP) > 0.99)
|
||||
assert(is_equal_approx(absf(marker.global_basis.determinant()), 1.0))
|
||||
var horizontal_marker_offset := Vector2(
|
||||
marker.global_position.x - player.global_position.x,
|
||||
marker.global_position.z - player.global_position.z,
|
||||
).length()
|
||||
assert(
|
||||
is_equal_approx(
|
||||
horizontal_marker_offset,
|
||||
controller.marker_distance,
|
||||
)
|
||||
)
|
||||
|
||||
floor.queue_free()
|
||||
controller.queue_free()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue