pir-serious-game-ethics/scenes/end-screen/EndCharacter.gd

47 lines
1.3 KiB
GDScript

extends Control
export(bool) var is_left := true
export(String) var title := ""
export(Texture) var texture_bad
export(Texture) var texture_neutral
export(Texture) var texture_good
export(String, MULTILINE) var description_bad: = ""
export(String, MULTILINE) var description_neutral := ""
export(String, MULTILINE) var description_good := ""
var DESCRIPTION_THRESHOLDS = [40, 60]
var relation : float = 0 setget set_relation
onready var texture_rect = $TextureRect
onready var hover_control = $HoverControl
func _ready():
texture_rect.texture = texture_neutral
hover_control.selection_object = texture_rect
if is_left:
hover_control.infobox_position = "right"
else:
hover_control.infobox_position = "left"
hover_control.info_panel.title = title
hover_control.info_panel.content = ""
func _set_description():
if relation < DESCRIPTION_THRESHOLDS[0]:
hover_control.info_panel.content = description_bad
texture_rect.texture = texture_bad
elif relation > DESCRIPTION_THRESHOLDS[1]:
hover_control.info_panel.content = description_good
texture_rect.texture = texture_good
else:
hover_control.info_panel.content = description_neutral
texture_rect.texture = texture_neutral
func set_relation(new_value: float):
relation = new_value
_set_description()