extends Node ## Captures the actual imported character and in-game inspection controls. var studio: Control var frame: int = 0 const FPS: float = 30.0 const SCHEDULE = [["idle",2.5],["start",1.2],["walk",4.2],["stop",1.2],["attack_a",3.8],["attack_b",3.8],["hit",1.5],["ability",3.7],["death",3.4]] func _ready() -> void: get_window().size = Vector2i(1280,800) Soundscape.enabled = false WaveManager.set_physics_process(false) var main: Node3D = preload("res://scenes/main.tscn").instantiate() add_child(main) studio = main.hud.model_inspector studio.show_model("w04") studio._rotate = false studio._clip_paused = true func _process(_delta: float) -> void: if studio == null:return var time: float = frame/FPS var cursor: float = 0.0 for item: Array in SCHEDULE: if time < cursor+float(item[1]): var clip: String = item[0] for i: int in range(studio._clip_selector.item_count): if studio._clip_selector.get_item_metadata(i)==clip:studio._clip_selector.select(i) var local_time: float = time-cursor var length: float = studio._figure.clip_length(clip) studio._clip_time = minf(local_time,length) if clip=="death" else fmod(local_time,length+.12) studio._turntable.rotation.y = -.25+.16*sin(time*.28) frame += 1 return cursor += item[1] get_tree().quit()