Created
April 8, 2020 15:46
-
-
Save bitwes/44f851d94d1cdd746e3bb7bf2623980a to your computer and use it in GitHub Desktop.
Code for a custom spin box.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Hook this up to a label and two buttons. The label must be named "Value" | |
# or you can change the code. | |
extends Control | |
export var _low = 0.0 setget set_low, get_low | |
export var _high = 100.0 setget set_high, get_high | |
export var _step = 1.0 setget set_step, get_step | |
export var _value = 0.0 setget set_value, get_value | |
signal value_changed | |
func _ready(): | |
_update_display() | |
func _on_More_pressed(): | |
increment() | |
emit_signal('value_changed') | |
func _on_Less_pressed(): | |
decrement() | |
emit_signal('value_changed') | |
func _update_display(): | |
$Value.set_text(str(_value)) | |
func get_low(): | |
return _low | |
func set_low(low): | |
if(low <= _high): | |
_low = low | |
if(_low > _value): | |
set_value(_low) | |
func get_high(): | |
return _high | |
func set_high(high): | |
if(high >= _low): | |
_high = high | |
if(_high < _value): | |
set_value(_high) | |
func get_step(): | |
return _step | |
func set_step(step): | |
_step = step | |
func get_value(): | |
return _value | |
func set_value(value): | |
_value = value | |
_update_display() | |
func increment(): | |
set_value(min(_value + _step, _high)) | |
func decrement(): | |
set_value(max(_value - _step, _low)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment