How do I get the properties of a exported resource with editor hint?
Let’s look at an example:
#its autoload script
class_name Character extends Node
@export var character_stat_res:CharacterStats
class_name CharacterStats extends Resource
var hp:int
var speed:int
extends Control
#get properties without editor hint
func get_character_stats_one():
CHARACTER.character_stat_res.speed
CHARACTER.character_stat_res.hp
#get properties with editor hint
func get_character_stats_two():
var stats = CHARACTER.character_stat_res as CharacterStats
stats.hp
stats.speed
Are there any workarounds to not create a new variable and still have access to the hint?
I don’t think it matters if the resource is exported or not, it doesn’t work because it’s a custom resource. I think it should work because it works with built-in resources. You could try checking Github to see if that’s a known issue.
Some alternative ways to access the properties:
func get_character_stats():
var hp: int = (CHARACTER.character_stat_res as CharacterStats).hp
var stats: CharacterStats = CHARACTER.character_stat_res
func get_character_stats():
var hp: int = stats.hp
Oh, thank you. I hadn’t even thought about user resources. I guess you’re right.
And thanks separately for the tip about creating a variable at the beginning. I hadn’t thought of that either, and it won’t be a problem since it’s an autoload script.