60 lines
1.8 KiB
GDScript

extends Control
var _container: GridContainer
var _labelPillLevel: Label
var _pillLevel: TextureProgress
var _labelDayTime: Label
var _dayTime: ProgressBar
var _dayTimeVisual: TextureRect
onready var _keyTexture = load("res://Resources/Models/key/key.png")
var _cardTexture = {
1: preload("res://Resources/Models/keycard/lvl1_keycard.png"),
2: preload("res://Resources/Models/keycard/lvl2_keycard.png")
}
# Called when the node enters the scene tree for the first time.
func _ready():
_container = get_node("InventoryContainer")
_labelPillLevel = get_node("PillLevel")
_pillLevel = get_node("PillProgress")
_labelDayTime = get_node("DayTime")
_dayTime = get_node("DayTimeProgress")
_dayTimeVisual = get_node("DayTimeVisual")
# TODO: may use global values in Inspector?
_pillLevel.max_value = Pills.get_max()
_dayTime.max_value = Daytime.get_max()
func add_item (object):
Logger.info("Adding item \"" + object.name + "\" with class \"" + String(object.get_class()) + "\" to inventory")
var texture
if object is Key:
Logger.info("key")
texture = _keyTexture
elif object is Keycard:
Logger.info("keycard")
var lvl = (object as Keycard).card_lvl
if _cardTexture.has(lvl) == false:
Logger.info("no keycard model for lvl: " + String(lvl))
return
texture = _cardTexture[lvl]
else:
Logger.info("no texture found for: " + object.name)
return
var rect = TextureRect.new()
rect.texture = texture
_container.add_child(rect)
func _process(_delta):
_labelPillLevel.text = "curLevel: " + String(Pills.get_level())
_pillLevel.value = Pills.get_level()
var val = int(Daytime.get_time())
#_labelDayTime.text = "dayTime: " + String(val) + " - %02d:%02d" % [val/60%24, val%60]
_dayTime.value = val
_dayTimeVisual.rect_rotation = ((val/_dayTime.max_value) * 180) - 90