Files
2025-09-13 16:30:32 +01:00

32 lines
852 B
GDScript

class_name PlayerGhost
extends Node2D
@onready var sprite: PlayerSprite = $PlayerSprite
static var idx := 0
var recording := []
var current_power_state := ""
func delete() -> void:
idx = 0
func apply_data(data := "") -> void:
if Global.current_level == null:
hide()
return
$Label.visible = SpeedrunHandler.ghost_idx < 60
var values = data.split("=", false)
global_position.x = int(values[0])
global_position.y = int(values[1])
sprite.force_power_state = ["Small", "Big", "Fire"][int(values[2])]
if sprite.force_power_state != current_power_state:
sprite.update()
current_power_state = sprite.force_power_state
sprite.animation = (SpeedrunHandler.anim_list[int(values[3])])
sprite.frame = int(values[4])
sprite.scale.x = int(values[5])
visible = SpeedrunHandler.levels[int(values[6])] == Global.current_level.scene_file_path