fix: wrong edit history;feat: blendmode selector
This commit is contained in:
parent
18ecb79957
commit
0f8733ef3e
54
assets/icons/delete.svg
Normal file
54
assets/icons/delete.svg
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="16.933332mm"
|
||||||
|
height="16.933332mm"
|
||||||
|
viewBox="0 0 16.933332 16.933332"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="delete.svg"
|
||||||
|
inkscape:export-filename="../../project/assets/icons/delete.svg"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#999999"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="5.1187826"
|
||||||
|
inkscape:cx="30.280638"
|
||||||
|
inkscape:cy="16.80087"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
d="m 4.4006052,4.8168325 c -0.2167261,0 -0.3909619,0.1742357 -0.3909619,0.3909618 V 15.568873 c 0,0.216726 0.1742358,0.390963 0.3909619,0.390963 h 8.1321208 c 0.216726,0 0.390962,-0.174237 0.390962,-0.390963 V 5.2077943 c 0,-0.2167261 -0.174236,-0.3909618 -0.390962,-0.3909618 z M 6.0127134,6.5791597 H 6.696517 c 0.1925686,0 0.3473831,0.1548145 0.3473831,0.3473831 v 7.2178792 c 0,0.19257 -0.1548145,0.347384 -0.3473831,0.347384 H 6.0127134 c -0.1925686,0 -0.3473831,-0.154814 -0.3473831,-0.347384 V 6.9265428 c 0,-0.1925686 0.1548145,-0.3473831 0.3473831,-0.3473831 z m 2.0959471,0 h 0.6838036 c 0.1925686,0 0.3473831,0.1548145 0.3473831,0.3473831 v 7.2178792 c 0,0.19257 -0.1548145,0.347384 -0.3473831,0.347384 H 8.1086605 c -0.1925688,0 -0.3473831,-0.154814 -0.3473831,-0.347384 V 6.9265428 c 0,-0.1925686 0.1548143,-0.3473831 0.3473831,-0.3473831 z m 1.9376715,0 h 0.683119 c 0.192568,0 0.347382,0.1548145 0.347382,0.3473831 v 7.2178792 c 0,0.19257 -0.154814,0.347384 -0.347382,0.347384 h -0.683119 c -0.1925684,0 -0.3480681,-0.154814 -0.3480681,-0.347384 V 6.9265428 c 0,-0.1925686 0.1554997,-0.3473831 0.3480681,-0.3473831 z"
|
||||||
|
style="fill:#969696;stroke-width:4.99999;stroke-linecap:round;paint-order:fill markers stroke"
|
||||||
|
id="path4"
|
||||||
|
sodipodi:nodetypes="ssssssssssssssssssssssssssssssssssss" />
|
||||||
|
<rect
|
||||||
|
style="fill:#969696;fill-opacity:1;stroke:none;stroke-width:4.99999;stroke-linecap:round;paint-order:fill markers stroke"
|
||||||
|
id="rect2"
|
||||||
|
width="2.7221162"
|
||||||
|
height="10.311472"
|
||||||
|
x="1.8568949"
|
||||||
|
y="-13.622402"
|
||||||
|
ry="0.34995934"
|
||||||
|
transform="rotate(90)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
30
project/assets/icons/delete.svg
Normal file
30
project/assets/icons/delete.svg
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="16.933332mm"
|
||||||
|
height="16.933332mm"
|
||||||
|
viewBox="0 0 16.933332 16.933332"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
d="m 4.4006052,4.8168325 c -0.2167261,0 -0.3909619,0.1742357 -0.3909619,0.3909618 V 15.568873 c 0,0.216726 0.1742358,0.390963 0.3909619,0.390963 h 8.1321208 c 0.216726,0 0.390962,-0.174237 0.390962,-0.390963 V 5.2077943 c 0,-0.2167261 -0.174236,-0.3909618 -0.390962,-0.3909618 z M 6.0127134,6.5791597 H 6.696517 c 0.1925686,0 0.3473831,0.1548145 0.3473831,0.3473831 v 7.2178792 c 0,0.19257 -0.1548145,0.347384 -0.3473831,0.347384 H 6.0127134 c -0.1925686,0 -0.3473831,-0.154814 -0.3473831,-0.347384 V 6.9265428 c 0,-0.1925686 0.1548145,-0.3473831 0.3473831,-0.3473831 z m 2.0959471,0 h 0.6838036 c 0.1925686,0 0.3473831,0.1548145 0.3473831,0.3473831 v 7.2178792 c 0,0.19257 -0.1548145,0.347384 -0.3473831,0.347384 H 8.1086605 c -0.1925688,0 -0.3473831,-0.154814 -0.3473831,-0.347384 V 6.9265428 c 0,-0.1925686 0.1548143,-0.3473831 0.3473831,-0.3473831 z m 1.9376715,0 h 0.683119 c 0.192568,0 0.347382,0.1548145 0.347382,0.3473831 v 7.2178792 c 0,0.19257 -0.154814,0.347384 -0.347382,0.347384 h -0.683119 c -0.1925684,0 -0.3480681,-0.154814 -0.3480681,-0.347384 V 6.9265428 c 0,-0.1925686 0.1554997,-0.3473831 0.3480681,-0.3473831 z"
|
||||||
|
style="fill:#969696;stroke-width:4.99999;stroke-linecap:round;paint-order:fill markers stroke"
|
||||||
|
id="path4" />
|
||||||
|
<rect
|
||||||
|
style="fill:#969696;fill-opacity:1;stroke:none;stroke-width:4.99999;stroke-linecap:round;paint-order:fill markers stroke"
|
||||||
|
id="rect2"
|
||||||
|
width="2.7221162"
|
||||||
|
height="10.311472"
|
||||||
|
x="1.8568949"
|
||||||
|
y="-13.622402"
|
||||||
|
ry="0.34995934"
|
||||||
|
transform="rotate(90)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
43
project/assets/icons/delete.svg.import
Normal file
43
project/assets/icons/delete.svg.import
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bt72qid068u8u"
|
||||||
|
path="res://.godot/imported/delete.svg-e643415b9eb11db5bc3eead7997989c4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/icons/delete.svg"
|
||||||
|
dest_files=["res://.godot/imported/delete.svg-e643415b9eb11db5bc3eead7997989c4.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
[ext_resource type="Material" uid="uid://b4ip0oq8o76mc" path="res://assets/materials/peak_handle_depth_tested.tres" id="2_mx0s0"]
|
[ext_resource type="Material" uid="uid://b4ip0oq8o76mc" path="res://assets/materials/peak_handle_depth_tested.tres" id="2_mx0s0"]
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_njtj3"]
|
[sub_resource type="GDScript" id="GDScript_njtj3"]
|
||||||
|
resource_name = "HeightHandle"
|
||||||
script/source = "extends Area3D
|
script/source = "extends Area3D
|
||||||
|
|
||||||
var dragged : bool = false
|
var dragged : bool = false
|
||||||
|
|
@ -43,6 +44,7 @@ height = 9.59302
|
||||||
radius = 5.78125
|
radius = 5.78125
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_s814u"]
|
[sub_resource type="GDScript" id="GDScript_s814u"]
|
||||||
|
resource_name = "SlopeHandle"
|
||||||
script/source = "extends Area3D
|
script/source = "extends Area3D
|
||||||
|
|
||||||
var dragged : bool = false
|
var dragged : bool = false
|
||||||
|
|
@ -85,6 +87,7 @@ func _input_event(_camera: Camera3D, event: InputEvent, _event_position: Vector3
|
||||||
"
|
"
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_mx0s0"]
|
[sub_resource type="GDScript" id="GDScript_mx0s0"]
|
||||||
|
resource_name = "PositionHandle"
|
||||||
script/source = "extends Area3D
|
script/source = "extends Area3D
|
||||||
|
|
||||||
var dragged : bool = false
|
var dragged : bool = false
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
[ext_resource type="Texture2D" uid="uid://bl3gn6qruuy8w" path="res://assets/icons/plane.svg" id="4_xg7d5"]
|
[ext_resource type="Texture2D" uid="uid://bl3gn6qruuy8w" path="res://assets/icons/plane.svg" id="4_xg7d5"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d1te42w7wpkrx" path="res://assets/icons/noise.svg" id="5_eqbpn"]
|
[ext_resource type="Texture2D" uid="uid://d1te42w7wpkrx" path="res://assets/icons/noise.svg" id="5_eqbpn"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bsvvhue5x4rb" path="res://ui/primitive_inspectors/point_primitive_inspector.tscn" id="8_5tm2q"]
|
[ext_resource type="PackedScene" uid="uid://bsvvhue5x4rb" path="res://ui/primitive_inspectors/point_primitive_inspector.tscn" id="8_5tm2q"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bl16us512blpp" path="res://ui/primitive_inspectors/base_primitive_inspector.tscn" id="9_j8y2p"]
|
||||||
|
|
||||||
[sub_resource type="PointPrimitive" id="PointPrimitive_5tm2q"]
|
[sub_resource type="PointPrimitive" id="PointPrimitive_5tm2q"]
|
||||||
|
|
||||||
|
|
@ -75,6 +76,7 @@ volumetric_fog_sky_affect = 0.904
|
||||||
volumetric_fog_temporal_reprojection_amount = 0.99
|
volumetric_fog_temporal_reprojection_amount = 0.99
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_b1cmn"]
|
[sub_resource type="GDScript" id="GDScript_b1cmn"]
|
||||||
|
resource_name = "EditorCamera"
|
||||||
script/source = "extends Camera3D
|
script/source = "extends Camera3D
|
||||||
|
|
||||||
var pan_speed = .001
|
var pan_speed = .001
|
||||||
|
|
@ -157,7 +159,7 @@ script = SubResource("GDScript_b1cmn")
|
||||||
[node name="LeftPanel" type="Panel" parent="." unique_id=1768834661]
|
[node name="LeftPanel" type="Panel" parent="." unique_id=1768834661]
|
||||||
anchors_preset = 9
|
anchors_preset = 9
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
offset_right = 258.0
|
offset_right = 326.0
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
theme = ExtResource("3_ba0ut")
|
theme = ExtResource("3_ba0ut")
|
||||||
|
|
||||||
|
|
@ -229,6 +231,9 @@ icons = {
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
inspectors = {
|
inspectors = {
|
||||||
|
&"ExpressionPrimitive": ExtResource("9_j8y2p"),
|
||||||
|
&"NoisePrimitive": ExtResource("9_j8y2p"),
|
||||||
|
&"PlanePrimitive": ExtResource("9_j8y2p"),
|
||||||
&"PointPrimitive": ExtResource("8_5tm2q")
|
&"PointPrimitive": ExtResource("8_5tm2q")
|
||||||
}
|
}
|
||||||
terrain = NodePath("../../../TerrainMeshEditor")
|
terrain = NodePath("../../../TerrainMeshEditor")
|
||||||
|
|
|
||||||
|
|
@ -1,37 +1,51 @@
|
||||||
[gd_scene format=3 uid="uid://cwby0in0f2wi2"]
|
[gd_scene format=3 uid="uid://cwby0in0f2wi2"]
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_aclmm"]
|
[sub_resource type="GDScript" id="GDScript_aclmm"]
|
||||||
|
resource_name = "FloatEditor"
|
||||||
script/source = "extends HBoxContainer
|
script/source = "extends HBoxContainer
|
||||||
|
|
||||||
@export var changes_value : String = \"height\"
|
@export var changes_value : String = \"height\"
|
||||||
@onready var terrain : TerrainMeshEditor = $\"../../..\".terrain
|
@onready var terrain : TerrainMeshEditor = $\"../../..\".terrain
|
||||||
@onready var primitive : TerrainPrimitive = terrain.current_selected
|
@onready var primitive : TerrainPrimitive = terrain.current_selected
|
||||||
var value_before : float = 0.0
|
var value_before : float = 0.0
|
||||||
|
var dragging := false
|
||||||
|
|
||||||
func _ready() -> void:
|
func connect_changes():
|
||||||
$HSlider.connect(\"drag_ended\", _drag_ended)
|
$HSlider.connect(\"drag_ended\", _drag_ended)
|
||||||
$HSlider.connect(\"drag_started\", _drag_started)
|
$HSlider.connect(\"drag_started\", _drag_started)
|
||||||
$HSlider.connect(\"value_changed\", _slider_value_changed)
|
$HSlider.connect(\"value_changed\", _slider_value_changed)
|
||||||
$SpinBox.connect(\"value_changed\", _spin_value_changed)
|
$SpinBox.connect(\"value_changed\", _spin_value_changed)
|
||||||
|
|
||||||
|
func disconnect_changes():
|
||||||
|
$HSlider.disconnect(\"drag_ended\", _drag_ended)
|
||||||
|
$HSlider.disconnect(\"drag_started\", _drag_started)
|
||||||
|
$HSlider.disconnect(\"value_changed\", _slider_value_changed)
|
||||||
|
$SpinBox.disconnect(\"value_changed\", _spin_value_changed)
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
primitive.changed.connect(_primitive_changed)
|
primitive.changed.connect(_primitive_changed)
|
||||||
|
connect_changes()
|
||||||
_primitive_changed();
|
_primitive_changed();
|
||||||
|
|
||||||
func _primitive_changed():
|
func _primitive_changed():
|
||||||
var value = primitive.get(changes_value)
|
var value = primitive.get(changes_value)
|
||||||
$HSlider.value = value
|
$HSlider.set_value_no_signal(value)
|
||||||
$SpinBox.value = value
|
$SpinBox.set_value_no_signal(value)
|
||||||
|
|
||||||
func _spin_value_changed(value : float):
|
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)))
|
var old : float = primitive.get(changes_value)
|
||||||
|
var new : float = $SpinBox.value
|
||||||
|
EditHistory.push_action(primitive.set.bind(changes_value, new), primitive.set.bind(changes_value, old))
|
||||||
|
|
||||||
func _drag_started():
|
func _drag_started():
|
||||||
|
dragging = true
|
||||||
value_before = primitive.get(changes_value)
|
value_before = primitive.get(changes_value)
|
||||||
|
|
||||||
func _slider_value_changed(value : float):
|
func _slider_value_changed(value : float):
|
||||||
primitive.set(changes_value, value)
|
primitive.set(changes_value, value)
|
||||||
$SpinBox.value = value
|
|
||||||
|
|
||||||
func _drag_ended(changed : bool):
|
func _drag_ended(changed : bool):
|
||||||
|
dragging = false
|
||||||
if changed:
|
if changed:
|
||||||
EditHistory.push_action(primitive.set.bind(changes_value, $HSlider.value), primitive.set.bind(changes_value, value_before))
|
EditHistory.push_action(primitive.set.bind(changes_value, $HSlider.value), primitive.set.bind(changes_value, value_before))
|
||||||
"
|
"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
[gd_scene format=3 uid="uid://bl16us512blpp"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cwby0in0f2wi2" path="res://ui/editor_elements/float_editor.tscn" id="1_dildi"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bt72qid068u8u" path="res://assets/icons/delete.svg" id="1_h3glg"]
|
||||||
|
|
||||||
|
[sub_resource type="GDScript" id="GDScript_h3glg"]
|
||||||
|
resource_name = "BlendModeSelector"
|
||||||
|
script/source = "extends OptionButton
|
||||||
|
|
||||||
|
@onready var terrain : TerrainMeshEditor = $\"../../..\".terrain
|
||||||
|
@onready var primitive : TerrainPrimitive = terrain.current_selected
|
||||||
|
|
||||||
|
|
||||||
|
func _on_item_selected(index: int) -> void:
|
||||||
|
var before : int = primitive.blend_mode
|
||||||
|
EditHistory.push_action(primitive.set_blend_mode.bind(index), primitive.set_blend_mode.bind(before))
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="PointPrimitive" type="MarginContainer" unique_id=905749607]
|
||||||
|
offset_right = 302.0
|
||||||
|
offset_bottom = 230.0
|
||||||
|
theme_override_constants/margin_left = 5
|
||||||
|
theme_override_constants/margin_top = 5
|
||||||
|
theme_override_constants/margin_right = 5
|
||||||
|
theme_override_constants/margin_bottom = 5
|
||||||
|
metadata/_tab_index = 0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=236606520]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="BlendRange" type="Label" parent="VBoxContainer" unique_id=455258354]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
text = "Blend Range"
|
||||||
|
|
||||||
|
[node name="FloatEditor3" parent="VBoxContainer" unique_id=1730998858 instance=ExtResource("1_dildi")]
|
||||||
|
layout_mode = 2
|
||||||
|
changes_value = "blend_range"
|
||||||
|
|
||||||
|
[node name="SpinBox" parent="VBoxContainer/FloatEditor3" index="0" unique_id=580598896]
|
||||||
|
min_value = 0.0
|
||||||
|
max_value = 1000.0
|
||||||
|
|
||||||
|
[node name="HSlider" parent="VBoxContainer/FloatEditor3" index="1" unique_id=163542019]
|
||||||
|
max_value = 100.0
|
||||||
|
value = 100.0
|
||||||
|
exp_edit = true
|
||||||
|
tick_count = 11
|
||||||
|
ticks_on_borders = true
|
||||||
|
|
||||||
|
[node name="BlendModeSelector" type="OptionButton" parent="VBoxContainer" unique_id=1342650865]
|
||||||
|
layout_mode = 2
|
||||||
|
selected = 0
|
||||||
|
item_count = 3
|
||||||
|
popup/item_0/text = "Peaks"
|
||||||
|
popup/item_0/id = 0
|
||||||
|
popup/item_1/text = "Valleys"
|
||||||
|
popup/item_1/id = 1
|
||||||
|
popup/item_2/text = "Both"
|
||||||
|
popup/item_2/id = 2
|
||||||
|
script = SubResource("GDScript_h3glg")
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer" unique_id=274380821]
|
||||||
|
layout_mode = 2
|
||||||
|
alignment = 2
|
||||||
|
|
||||||
|
[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer" unique_id=1514690251]
|
||||||
|
custom_minimum_size = Vector2(32, 32)
|
||||||
|
layout_mode = 2
|
||||||
|
icon = ExtResource("1_h3glg")
|
||||||
|
icon_alignment = 1
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
|
[connection signal="item_selected" from="VBoxContainer/BlendModeSelector" to="VBoxContainer/BlendModeSelector" method="_on_item_selected"]
|
||||||
|
|
||||||
|
[editable path="VBoxContainer/FloatEditor3"]
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
[gd_scene format=3 uid="uid://bsvvhue5x4rb"]
|
[gd_scene format=3 uid="uid://bsvvhue5x4rb"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cwby0in0f2wi2" path="res://ui/editor_elements/float_editor.tscn" id="1_qb00w"]
|
[ext_resource type="PackedScene" uid="uid://cwby0in0f2wi2" path="res://ui/editor_elements/float_editor.tscn" id="1_qb00w"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bl16us512blpp" path="res://ui/primitive_inspectors/base_primitive_inspector.tscn" id="1_tqa7h"]
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_qb00w"]
|
[sub_resource type="GDScript" id="GDScript_qfu2v"]
|
||||||
|
resource_name = "PositionEditor"
|
||||||
script/source = "extends HBoxContainer
|
script/source = "extends HBoxContainer
|
||||||
|
|
||||||
@onready var terrain : TerrainMeshEditor = $\"../../..\".terrain
|
@onready var terrain : TerrainMeshEditor = $\"../../..\".terrain
|
||||||
|
|
@ -15,8 +17,8 @@ func _ready():
|
||||||
|
|
||||||
func _primitive_changed():
|
func _primitive_changed():
|
||||||
var new_position : Vector2 = primitive.center
|
var new_position : Vector2 = primitive.center
|
||||||
$XBox.value = new_position.x
|
$XBox.set_value_no_signal(new_position.x)
|
||||||
$YBox.value = new_position.y
|
$YBox.set_value_no_signal(new_position.y)
|
||||||
|
|
||||||
func _x_changed(value : float):
|
func _x_changed(value : float):
|
||||||
var old : Vector2 = primitive.center
|
var old : Vector2 = primitive.center
|
||||||
|
|
@ -27,64 +29,55 @@ func _y_changed(value : float):
|
||||||
EditHistory.push_action(primitive.set.bind(\"center\", Vector2(old.x, value)), primitive.set.bind(\"center\", old))
|
EditHistory.push_action(primitive.set.bind(\"center\", Vector2(old.x, value)), primitive.set.bind(\"center\", old))
|
||||||
"
|
"
|
||||||
|
|
||||||
[node name="PointPrimitive" type="MarginContainer" unique_id=905749607]
|
[node name="PointPrimitive" unique_id=905749607 instance=ExtResource("1_tqa7h")]
|
||||||
offset_right = 302.0
|
|
||||||
offset_bottom = 230.0
|
|
||||||
theme_override_constants/margin_left = 5
|
|
||||||
theme_override_constants/margin_top = 5
|
|
||||||
theme_override_constants/margin_right = 5
|
|
||||||
theme_override_constants/margin_bottom = 5
|
|
||||||
metadata/_tab_index = 0
|
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=236606520]
|
[node name="HeightLabel" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="0" unique_id=1675918554]
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="HeightLabel" type="Label" parent="VBoxContainer" unique_id=1478707845]
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Height"
|
text = "Height"
|
||||||
|
|
||||||
[node name="FloatEditor" parent="VBoxContainer" unique_id=1730998858 instance=ExtResource("1_qb00w")]
|
[node name="FloatEditor" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="1" unique_id=1730998858 instance=ExtResource("1_qb00w")]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="Slope" type="Label" parent="VBoxContainer" unique_id=303736827]
|
[node name="Slope" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="2" unique_id=1362885374]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Slope"
|
text = "Slope"
|
||||||
|
|
||||||
[node name="FloatEditor2" parent="VBoxContainer" unique_id=1151227800 instance=ExtResource("1_qb00w")]
|
[node name="FloatEditor2" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="3" unique_id=739098632 instance=ExtResource("1_qb00w")]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
changes_value = "slope"
|
changes_value = "slope"
|
||||||
|
|
||||||
[node name="HSlider" parent="VBoxContainer/FloatEditor2" index="0" unique_id=163542019]
|
[node name="SpinBox" parent="VBoxContainer/FloatEditor2" index="0" unique_id=580598896]
|
||||||
|
step = 0.1
|
||||||
|
|
||||||
|
[node name="HSlider" parent="VBoxContainer/FloatEditor2" index="1" unique_id=163542019]
|
||||||
min_value = -2.0
|
min_value = -2.0
|
||||||
max_value = 2.0
|
max_value = 2.0
|
||||||
value = -0.5
|
value = -0.5
|
||||||
tick_count = 5
|
tick_count = 5
|
||||||
ticks_on_borders = true
|
ticks_on_borders = true
|
||||||
|
|
||||||
[node name="SpinBox" parent="VBoxContainer/FloatEditor2" index="1" unique_id=580598896]
|
[node name="Position" type="Label" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="4" unique_id=527506771]
|
||||||
step = 0.1
|
|
||||||
|
|
||||||
[node name="Position" type="Label" parent="VBoxContainer" unique_id=200995882]
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Position"
|
text = "Position"
|
||||||
|
|
||||||
[node name="HSplitContainer" type="HBoxContainer" parent="VBoxContainer" unique_id=1958091184]
|
[node name="HSplitContainer" type="HBoxContainer" parent="VBoxContainer" parent_id_path=PackedInt32Array(236606520) index="5" unique_id=2016506236]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
script = SubResource("GDScript_qb00w")
|
script = SubResource("GDScript_qfu2v")
|
||||||
|
|
||||||
[node name="XBox" type="SpinBox" parent="VBoxContainer/HSplitContainer" unique_id=2044129298]
|
[node name="XBox" type="SpinBox" parent="VBoxContainer/HSplitContainer" index="0" unique_id=1149105773]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = -10000.0
|
min_value = -10000.0
|
||||||
max_value = 10000.0
|
max_value = 10000.0
|
||||||
prefix = "x"
|
prefix = "x"
|
||||||
|
|
||||||
[node name="YBox" type="SpinBox" parent="VBoxContainer/HSplitContainer" unique_id=1865142111]
|
[node name="YBox" type="SpinBox" parent="VBoxContainer/HSplitContainer" index="1" unique_id=1897326873]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
min_value = -10000.0
|
min_value = -10000.0
|
||||||
max_value = 10000.0
|
max_value = 10000.0
|
||||||
prefix = "y"
|
prefix = "y"
|
||||||
|
|
||||||
[editable path="VBoxContainer/FloatEditor2"]
|
[editable path="VBoxContainer/FloatEditor2"]
|
||||||
|
[editable path="VBoxContainer/FloatEditor3"]
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Reference in a new issue