WIP checkpoint: PC2: Basic visible player character representation

This commit is contained in:
2026-08-21 00:01:08 +00:00
parent 8118f3074b
commit 945c498a31
2 changed files with 37 additions and 34 deletions
+10 -6
View File
@@ -12,34 +12,38 @@ var failed := 0
func _initialize() -> void:
print("SMOKE: starting player smoke test")
_run()
func _run() -> void:
await process_frame
print("SMOKE: loading test level scene")
# Load the test level scene (which now includes the player).
var packed: PackedScene = load("res://scenes/worlds/test_level.tscn")
var level: Node3D = packed.instantiate()
root.add_child(level)
await process_frame
print("SMOKE: level instantiated, waiting for ready")
await level.ready
print("SMOKE: level ready")
# 1. Verify the player node exists in the scene tree.
var player: CharacterBody3D = level.get_node("Player") as CharacterBody3D
var player := level.get_node("Player")
_check("Player node exists in test level", player != null)
_check("Player is a CharacterBody3D", player is CharacterBody3D)
# 2. Verify the player has the expected child structure.
var collision: CollisionShape3D = player.get_node("CollisionShape3D") as CollisionShape3D
var collision := player.get_node("CollisionShape3D")
_check("Player has CollisionShape3D", collision != null)
_check("CollisionShape3D has a shape", collision.shape != null)
var mesh: MeshInstance3D = player.get_node("CapsuleMesh") as MeshInstance3D
var mesh := player.get_node("CapsuleMesh")
_check("Player has CapsuleMesh", mesh != null)
_check("CapsuleMesh has a mesh", mesh.mesh != null)
# 3. Verify the player spawned at the PlayerSpawn marker position.
var spawn_marker: Marker3D = level.get_node("PlayerSpawn") as Marker3D
var spawn_marker: Marker3D = level.get_node("PlayerSpawn")
_check("PlayerSpawn marker exists", spawn_marker != null)
# The player's _ready() should have moved it to the spawn marker's
@@ -50,7 +54,7 @@ func _run() -> void:
player.global_position == expected_pos)
# 4. Verify the player script class_name is correct.
var script: GDScript = player.get_script() as GDScript
var script := player.get_script()
_check("Player has a script attached", script != null)
_check("Player script is Player class", script is GDScript)