extends Panel export var barColors: Dictionary = {} export var color: String = "none" func _ready(): if color.begins_with("multi|"): make_gradient(color.trim_prefix("multi|").split("+")) else: if not barColors.has(color): color = "none" $ColorIndicator.color = barColors[color] func make_gradient(colors: Array): var gradient := Gradient.new() var step = 1.0/(colors.size() - 1.0) var i = 0 gradient.colors = PoolColorArray([]) gradient.offsets = PoolRealArray([]) for color in colors: var offset: float = i*step gradient.add_point(offset, barColors[color]) i += 1 var texture := GradientTexture.new() texture.gradient = gradient $ColorIndicator/TextureRect.texture = texture $ColorIndicator/TextureRect.visible = true