26 lines
749 B
GDScript
26 lines
749 B
GDScript
|
|
class_name SceneEntry extends Resource
|
||
|
|
|
||
|
|
# A single hidden-object row from the 'scenes' table of ahog.json.
|
||
|
|
|
||
|
|
@export var lock: bool = false
|
||
|
|
@export var label: String = ""
|
||
|
|
@export var key: String = ""
|
||
|
|
@export var level: int = -1
|
||
|
|
@export var mesh: String = ""
|
||
|
|
@export var label_counter: String = ""
|
||
|
|
@export var counter: int = 1
|
||
|
|
|
||
|
|
# Runtime-only state for the dissolve animation tracker (not persisted).
|
||
|
|
var dissolve_value: float = 0.0
|
||
|
|
var dissolve_tick_reference: int = 0
|
||
|
|
var dissolved: bool = false
|
||
|
|
|
||
|
|
func mesh_path() -> String:
|
||
|
|
return "HiddenObjectsItems/" + mesh
|
||
|
|
|
||
|
|
func audio_sound() -> AudioStream:
|
||
|
|
var stream: AudioStream = load("res://assets/sounds/objects/%s.ogg" % label)
|
||
|
|
if stream is AudioStreamOggVorbis:
|
||
|
|
stream.loop = false
|
||
|
|
return stream
|