feat: point primitive editor
This commit is contained in:
parent
cd730ac8d4
commit
18ecb79957
3 changed files with 113 additions and 9 deletions
|
|
@ -1,8 +1,52 @@
|
|||
[gd_scene format=3 uid="uid://cwby0in0f2wi2"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_aclmm"]
|
||||
script/source = "extends HBoxContainer
|
||||
|
||||
@export var changes_value : String = \"height\"
|
||||
@onready var terrain : TerrainMeshEditor = $\"../../..\".terrain
|
||||
@onready var primitive : TerrainPrimitive = terrain.current_selected
|
||||
var value_before : float = 0.0
|
||||
|
||||
func _ready() -> void:
|
||||
$HSlider.connect(\"drag_ended\", _drag_ended)
|
||||
$HSlider.connect(\"drag_started\", _drag_started)
|
||||
$HSlider.connect(\"value_changed\", _slider_value_changed)
|
||||
$SpinBox.connect(\"value_changed\", _spin_value_changed)
|
||||
primitive.changed.connect(_primitive_changed)
|
||||
_primitive_changed();
|
||||
|
||||
func _primitive_changed():
|
||||
var value = primitive.get(changes_value)
|
||||
$HSlider.value = value
|
||||
$SpinBox.value = value
|
||||
|
||||
func _spin_value_changed(value : float):
|
||||
EditHistory.push_action(primitive.set.bind(changes_value, $SpinBox.value), primitive.set.bind(changes_value, primitive.get(changes_value)))
|
||||
|
||||
func _drag_started():
|
||||
value_before = primitive.get(changes_value)
|
||||
|
||||
func _slider_value_changed(value : float):
|
||||
primitive.set(changes_value, value)
|
||||
$SpinBox.value = value
|
||||
|
||||
func _drag_ended(changed : bool):
|
||||
if changed:
|
||||
EditHistory.push_action(primitive.set.bind(changes_value, $HSlider.value), primitive.set.bind(changes_value, value_before))
|
||||
"
|
||||
|
||||
[node name="FloatEditor" type="HBoxContainer" unique_id=1730998858]
|
||||
offset_right = 318.0
|
||||
offset_bottom = 31.0
|
||||
script = SubResource("GDScript_aclmm")
|
||||
|
||||
[node name="SpinBox" type="SpinBox" parent="." unique_id=580598896]
|
||||
layout_mode = 2
|
||||
min_value = -10000.0
|
||||
max_value = 100000.0
|
||||
value = 10.0
|
||||
allow_greater = true
|
||||
|
||||
[node name="HSlider" type="HSlider" parent="." unique_id=163542019]
|
||||
layout_mode = 2
|
||||
|
|
@ -11,11 +55,3 @@ size_flags_vertical = 1
|
|||
max_value = 300.0
|
||||
step = 0.01
|
||||
value = 200.0
|
||||
|
||||
[node name="SpinBox" type="SpinBox" parent="." unique_id=580598896]
|
||||
layout_mode = 2
|
||||
min_value = -10000.0
|
||||
max_value = 100000.0
|
||||
step = 0.01
|
||||
value = 10.0
|
||||
allow_greater = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue