Skip to content

Conversation

@gaboose
Copy link
Contributor

@gaboose gaboose commented Sep 8, 2023

I noticed that all LdtkFieldInstances return null identifiers. Turns out that's because the def class field is never set. This PR fixes that. Let me know if the fix looks good or needs some tweaking :)

Tracing the field instances of entities from the ceramic-samples/ldtk-level.

Before the change:

-- Field instances of entity "Item" --
field: LdtkFieldInstance(identifier=null value=Gold tile=null), field.def: null
field: LdtkFieldInstance(identifier=null value=0 tile=null), field.def: null
field: LdtkFieldInstance(identifier=null value=100 tile=null), field.def: null
-- Field instances of entity "Item" --
field: LdtkFieldInstance(identifier=null value=Healing_potion tile=null), field.def: null
field: LdtkFieldInstance(identifier=null value=0 tile=null), field.def: null
field: LdtkFieldInstance(identifier=null value=1 tile=null), field.def: null
-- Field instances of entity "Player" --
field: LdtkFieldInstance(identifier=null value=[Ammo,Bow] tile=null), field.def: null
field: LdtkFieldInstance(identifier=null value=10 tile=null), field.def: null
-- Field instances of entity "Ladder" --
-- Field instances of entity "Item" --
field: LdtkFieldInstance(identifier=null value=Ammo tile=null), field.def: null
field: LdtkFieldInstance(identifier=null value=0 tile=null), field.def: null
field: LdtkFieldInstance(identifier=null value=5 tile=null), field.def: null

After the change:

-- Field instances of entity "Item" --
field: LdtkFieldInstance(identifier=type value=Gold tile=null), field.def: LdtkFieldDefinition(type=LocalEnum.ItemType identifier=type uid=76 isArray=false)
field: LdtkFieldInstance(identifier=price value=0 tile=null), field.def: LdtkFieldDefinition(type=Int identifier=price uid=93 isArray=false)
field: LdtkFieldInstance(identifier=count value=100 tile=null), field.def: LdtkFieldDefinition(type=Int identifier=count uid=139 isArray=false)
-- Field instances of entity "Item" --
field: LdtkFieldInstance(identifier=type value=Healing_potion tile=null), field.def: LdtkFieldDefinition(type=LocalEnum.ItemType identifier=type uid=76 isArray=false)
field: LdtkFieldInstance(identifier=price value=0 tile=null), field.def: LdtkFieldDefinition(type=Int identifier=price uid=93 isArray=false)
field: LdtkFieldInstance(identifier=count value=1 tile=null), field.def: LdtkFieldDefinition(type=Int identifier=count uid=139 isArray=false)
-- Field instances of entity "Player" --
field: LdtkFieldInstance(identifier=inventory value=[Ammo,Bow] tile=null), field.def: LdtkFieldDefinition(type=Array<LocalEnum.ItemType> identifier=inventory uid=91 isArray=true)
field: LdtkFieldInstance(identifier=HP value=10 tile=null), field.def: LdtkFieldDefinition(type=Int identifier=HP uid=92 isArray=false)
-- Field instances of entity "Ladder" --
-- Field instances of entity "Item" --
field: LdtkFieldInstance(identifier=type value=Ammo tile=null), field.def: LdtkFieldDefinition(type=LocalEnum.ItemType identifier=type uid=76 isArray=false)

@jeremyfa
Copy link
Member

jeremyfa commented Sep 9, 2023

The changes look good so far so I'll merge it and check that it doesn't break anything. likely to be included in next Ceramic release thanks!

@jeremyfa jeremyfa merged commit 2ff345e into ceramic-engine:master Sep 9, 2023
@gaboose
Copy link
Contributor Author

gaboose commented Sep 9, 2023

Thanks! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants