fix(core): enforce CharacterData compile order and remove ClassDB type lookup on export
character.gd referenced CharacterData.State as a compile-time constant dict, causing export to fail when character.gd was compiled before character_data.gd (alphabetical order). The preload forces character_data.gd to be compiled first. Changing SubResource type to "Resource" removes the ClassDB lookup for the custom class name during scene export, relying on the explicit script reference instead. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
[ext_resource type="PackedScene" path="res://scenes/objects/ElevatorButton.tscn" id="6_elevbtn"]
|
||||
[ext_resource type="Script" path="res://scripts/characters/character_data.gd" id="7_chardata"]
|
||||
|
||||
[sub_resource type="CharacterData" id="CharacterData_bunny1"]
|
||||
[sub_resource type="Resource" id="CharacterData_bunny1"]
|
||||
script = ExtResource("7_chardata")
|
||||
id = "bunny_01"
|
||||
display_name = "Bunny"
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
## Character — base class for all playable figures (bunny, cat, etc.).
|
||||
class_name Character extends Node2D
|
||||
|
||||
const _CharacterData = preload("res://scripts/characters/character_data.gd")
|
||||
|
||||
signal character_picked_up(character: Character)
|
||||
signal character_placed(character: Character, position: Vector2)
|
||||
signal state_changed(new_state: CharacterData.State)
|
||||
|
||||
Reference in New Issue
Block a user