Files
puzzle-quest/db/MScene.gd
T

97 lines
1.9 KiB
GDScript
Raw Normal View History

2021-05-14 18:46:25 +02:00
extends "res://db/MBase.gd"
2021-05-29 21:09:10 +02:00
var m_value = 0
var m_lock = null
2021-05-14 18:46:25 +02:00
var m_label = null
2021-05-29 21:09:10 +02:00
var m_label_counter = null
var m_tick_reference = 0
2021-05-14 18:46:25 +02:00
var m_key = null
var m_level = null
var m_mesh = null
2021-05-29 21:09:10 +02:00
var m_counter = null
var m_row_id = null
const LOCK_ID = 0
const LABEL_ID = 1
const KEY_ID = 2
const LEVEL_ID = 3
const MESH_ID = 4
const LABEL_COUNTER = 5
const COUNTER_ID = 6
2021-05-14 18:46:25 +02:00
func _init(row_index):
table = Global.database.get_table_by_name("scenes")
2021-05-29 21:09:10 +02:00
m_row_id = row_index
var datas = table.get_data_at_row_idx(m_row_id)
2021-05-14 18:46:25 +02:00
if _get_level(datas) == Global.current_scene_int:
m_key = _get_key(datas)
2021-05-29 21:09:10 +02:00
m_lock = _get_lock(datas)
2021-05-14 18:46:25 +02:00
m_label = _get_label(datas)
2021-05-29 21:09:10 +02:00
m_label_counter = _get_label_counter(datas)
2021-05-14 18:46:25 +02:00
m_mesh = _get_mesh(datas)
2021-05-29 21:09:10 +02:00
m_counter = _get_counter(datas)
2021-05-14 18:46:25 +02:00
func key():
return m_key
2021-05-15 20:40:16 +02:00
func label():
return m_label
2021-05-29 21:09:10 +02:00
func label_counter():
return m_label_counter
2021-05-15 20:40:16 +02:00
2021-05-14 18:46:25 +02:00
func lock():
2021-05-29 21:09:10 +02:00
return m_lock
2021-05-14 18:46:25 +02:00
func set_lock(value):
2021-05-29 21:09:10 +02:00
m_lock = _set_data(LOCK_ID, m_row_id, value)
2021-05-14 18:46:25 +02:00
func mesh():
return m_mesh
func set_mesh(value):
m_mesh = value
func tick_reference():
2021-05-29 21:09:10 +02:00
return m_tick_reference
2021-05-14 18:46:25 +02:00
func set_tick_reference(value):
2021-05-29 21:09:10 +02:00
m_tick_reference = value
2021-05-14 18:46:25 +02:00
func value():
2021-05-29 21:09:10 +02:00
return m_value
2021-05-14 18:46:25 +02:00
func set_value(value):
2021-05-29 21:09:10 +02:00
m_value = value
2021-05-14 18:46:25 +02:00
2021-05-23 15:06:56 +02:00
func audio_sound():
var stream = load("res://assets/sounds/objects/" + label() + ".ogg")
stream.set_loop(false)
return stream
2021-05-29 21:09:10 +02:00
func counter():
return m_counter
2021-05-14 18:46:25 +02:00
2021-05-29 21:09:10 +02:00
## PRIVATE
2021-05-14 18:46:25 +02:00
func _get_lock(datas):
2021-05-29 21:09:10 +02:00
return int(_get_data(datas, LOCK_ID)) as bool
2021-05-14 18:46:25 +02:00
func _get_label(datas):
2021-05-29 21:09:10 +02:00
return _get_data(datas, LABEL_ID) as String
2021-05-14 18:46:25 +02:00
func _get_key(datas):
2021-05-29 21:09:10 +02:00
return _get_data(datas, KEY_ID) as String
2021-05-14 18:46:25 +02:00
func _get_level(datas):
2021-05-29 21:09:10 +02:00
return _get_data(datas, LEVEL_ID) as int
2021-05-14 18:46:25 +02:00
func _get_mesh(datas):
2021-05-29 21:09:10 +02:00
return "Hidden Objects Items/" + String(_get_data(datas, MESH_ID))
func _get_label_counter(datas):
return _get_data(datas, LABEL_COUNTER) as String
func _get_counter(datas):
return _get_data(datas, COUNTER_ID) as int