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
|
|
|
|
|
|
2021-06-26 15:33:34 +02:00
|
|
|
func tween():
|
|
|
|
|
return m_mesh + "/Tween"
|
|
|
|
|
|
2021-05-14 18:46:25 +02:00
|
|
|
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-06-06 16:54:38 +02:00
|
|
|
return "HiddenObjectsItems/" + String(_get_data(datas, MESH_ID))
|
2021-05-29 21:09:10 +02:00
|
|
|
|
|
|
|
|
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
|