Files
Blockline/tests/node_architecture.gd
T

23 lines
959 B
GDScript
Raw Normal View History

2026-09-12 11:01:37 +02:00
extends SceneTree
func _initialize() -> void: call_deferred("run")
func run() -> void:
var movement := PlayerMovement.new()
var weapons := PlayerWeaponController.new()
root.add_child(movement)
root.add_child(weapons)
var velocity := movement.calculate(Vector3.ZERO,Vector2(0,-1),0,false,false,false,false,true,false,1,1.0/60)
assert(velocity.z < 0)
var state := weapons.tick(0.3,0.2,0.01,0,30,30,0.02)
assert(state.magazine == 30 and state.reserve == 0 and state.reload == 0)
var replica := FighterReplicationState.new()
root.add_child(replica)
var config := replica.configuration()
assert(config.get_properties().size() == 7)
for path in config.get_properties(): assert(replica.get_indexed(NodePath(path.get_concatenated_subnames())) != null)
movement.queue_free()
weapons.queue_free()
replica.queue_free()
await process_frame
print("NODE ARCHITECTURE PASS: independent movement/weapon nodes; seven replication properties resolve")
quit()