online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/colorpicker/ColorSelect.gd')
| -rw-r--r-- | ui/colorpicker/ColorSelect.gd | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/ui/colorpicker/ColorSelect.gd b/ui/colorpicker/ColorSelect.gd index 211e9f9..5ee779b 100644 --- a/ui/colorpicker/ColorSelect.gd +++ b/ui/colorpicker/ColorSelect.gd @@ -3,8 +3,6 @@ class_name ColorSelect var color: Color setget set_color -var _focused := false setget set_focused - onready var shader_holder := $ShaderHolder signal color_changed(color) @@ -22,33 +20,24 @@ func apply_hue(newhue): func _gui_input(event): - if _focused and Input.is_action_pressed("click") and event is InputEventMouse: + if Input.is_action_pressed("click") and event is InputEventMouse: var position = event.position - var saturation = position.x / rect_size.x - var value = 1 - (position.y / rect_size.y) - if saturation > 1 or saturation < 0 or value > 1 or value < 0: - _focused = false - return + var saturation = clamp(position.x / rect_size.x, 0, 1) + var value = clamp(1 - (position.y / rect_size.y), 0, 1) set_color(Color.from_hsv(color.h, saturation, value)) update() emit_signal("color_changed", color) func _draw(): + var draw_color = color.inverted() + var vlinex = color.s * rect_size.x var vliney = rect_size.y - draw_line(Vector2(vlinex - 1, 0), Vector2(vlinex - 1, vliney), Color.black) - draw_line(Vector2(vlinex, 0), Vector2(vlinex, vliney), Color.white) - draw_line(Vector2(vlinex + 1, 0), Vector2(vlinex + 1, vliney), Color.black) + draw_line(Vector2(vlinex, 0), Vector2(vlinex, vliney), draw_color) var hlinex = rect_size.x var hliney = rect_size.y - color.v * rect_size.y - draw_line(Vector2(0, hliney - 1), Vector2(hlinex, hliney - 1), Color.black) - draw_line(Vector2(0, hliney), Vector2(hlinex, hliney), Color.white) - draw_line(Vector2(0, hliney + 1), Vector2(hlinex, hliney + 1), Color.black) - - -func set_focused(focused): - _focused = focused + draw_line(Vector2(0, hliney), Vector2(hlinex, hliney), draw_color) |