feat: add stylized villager presentation
This commit is contained in:
@@ -27,6 +27,15 @@ func _run() -> void:
|
||||
body.material_override.albedo_color == profession_definition.visual_color,
|
||||
"NPC body color should come from its profession definition"
|
||||
)
|
||||
_check(
|
||||
(
|
||||
body.mesh is CylinderMesh
|
||||
and visual.has_node("Head")
|
||||
and visual.has_node("ArmLeft")
|
||||
and visual.has_node("LegRight/Foot")
|
||||
),
|
||||
"NPC presentation should use a readable multi-part villager silhouette"
|
||||
)
|
||||
_check(
|
||||
visual.get_node("ProfessionProp").mesh != null
|
||||
and profession_definition.display_name in visual.get_node("ProfessionLabel").text,
|
||||
@@ -74,6 +83,14 @@ func _run() -> void:
|
||||
npc.remove_inventory(SimulationIds.RESOURCE_FOOD, 1.0)
|
||||
manager.emit_signal("npc_inventory_changed", npc, SimulationIds.RESOURCE_FOOD, 0.0)
|
||||
_check(not carried_food.visible, "Deposited or eaten food should be hidden")
|
||||
var carried_wood: Node3D = visual.get_node("CarriedWood")
|
||||
_check(not carried_wood.visible, "NPC should begin without carried logs")
|
||||
npc.add_inventory(SimulationIds.RESOURCE_WOOD, 2.0)
|
||||
manager.emit_signal("npc_inventory_changed", npc, SimulationIds.RESOURCE_WOOD, 2.0)
|
||||
_check(carried_wood.visible, "Carried wood should show a visible log bundle")
|
||||
npc.remove_inventory(SimulationIds.RESOURCE_WOOD, 2.0)
|
||||
manager.emit_signal("npc_inventory_changed", npc, SimulationIds.RESOURCE_WOOD, 0.0)
|
||||
_check(not carried_wood.visible, "Deposited wood should hide the log bundle")
|
||||
|
||||
var resource_state: ResourceStateRecord = manager.get_resource_state(&"berry_bush_01")
|
||||
npc.set_task(SimulationIds.ACTION_GATHER_FOOD)
|
||||
|
||||
Reference in New Issue
Block a user