1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-03-04 18:43:15 +00:00
Pixelorama/src/UI/Nodes/ValueSliderV3.tscn
Emmanouil Papadeas 91aea32864
Implement 3D layers (#840)
* Implement 3D layers

* Remove unneeded files

* Fix bug where a single hidden layer would ignore all of the layers on top when exporting

* Fix pxo loading

* Remove junk nodes from 3DShapeEdit

Seems like they were created when I copied from the old 3D Options.tscn panel to the new 3D Shape Edit tool.

* Make light gizmos half the size, and hide gizmos when rotating

* Fix crash when using the 3D shape edit tool on a group layer

* Remove unneeded code in Canvas.gd

* Add torus in the Cel3DObject.Type enumerator

Torus isn't currently supported in Godot 3.5, but it is in 3.6 and 4.0, so this is just future-proofing. May break compatibility with .pxo files that were exported with 3D layers before this change.

* Toggle 3D object visibility

* Change texts and some variable names

* Fill translation strings

* Fix crash on group blending, and make the code in Export.blend_layers() more general

* Fix errors when attempting to draw on a 3D cel

Can occur when multiple cels are selected, some of them 3D and some of them pixel

* Make scene properties and objects be per-cel instead of per-layer

Breaks compatibility with previous .pxo files that had 3D layers. Also introduces serialize() and deserialize() methods to BaseCel

* Use if not layer is get_script() in GroupLayer.blend_children()

* Flip the condition in GroupLayer.blend_children()

* Fix bug where locked/invisible layers could get drawn

Regression from c2f6bf0f3f

* Move gizmo code to 3DShapeEdit's draw_start(), move some undo/redo logic to 3DShapeEdit

* Move all of the undo/redo code to 3DShapeEdit, simplify code in Cel3D

* Store Cel3D image data to pxo, for easy usage by external software

This makes importing projects with 3D layers to other software, such as Godot using godot_pixelorama_importer easier.

* Make the linter happy

* Fix bug where the previously selected object would remain selected when it got removed with undo
2023-03-31 21:58:56 +03:00

101 lines
3.1 KiB
Text

[gd_scene load_steps=6 format=2]
[ext_resource path="res://src/UI/Nodes/ValueSlider.gd" type="Script" id=1]
[ext_resource path="res://src/UI/Nodes/ValueSliderV3.gd" type="Script" id=2]
[ext_resource path="res://assets/graphics/misc/lock_aspect_2.png" type="Texture" id=3]
[ext_resource path="res://assets/graphics/misc/lock_aspect_guides.png" type="Texture" id=4]
[ext_resource path="res://assets/graphics/misc/lock_aspect.png" type="Texture" id=5]
[node name="ValueSliderV3" type="HBoxContainer"]
margin_right = 45.0
margin_bottom = 52.0
script = ExtResource( 2 )
[node name="GridContainer" type="GridContainer" parent="."]
margin_right = 45.0
margin_bottom = 80.0
size_flags_horizontal = 3
[node name="X" type="TextureProgress" parent="GridContainer"]
margin_right = 45.0
margin_bottom = 24.0
rect_min_size = Vector2( 32, 24 )
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 1 )
prefix = "X:"
[node name="Y" type="TextureProgress" parent="GridContainer"]
margin_top = 28.0
margin_right = 45.0
margin_bottom = 52.0
rect_min_size = Vector2( 32, 24 )
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 1 )
prefix = "Y:"
[node name="Z" type="TextureProgress" parent="GridContainer"]
margin_top = 56.0
margin_right = 45.0
margin_bottom = 80.0
rect_min_size = Vector2( 32, 24 )
mouse_default_cursor_shape = 2
size_flags_horizontal = 3
theme_type_variation = "ValueSlider"
nine_patch_stretch = true
stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
script = ExtResource( 1 )
prefix = "Z:"
[node name="Ratio" type="Control" parent="."]
visible = false
margin_left = 36.0
margin_right = 52.0
margin_bottom = 80.0
rect_min_size = Vector2( 16, 0 )
[node name="RatioGuides" type="NinePatchRect" parent="Ratio" groups=["UIButtons"]]
anchor_bottom = 1.0
margin_right = 9.0
rect_min_size = Vector2( 9, 0 )
texture = ExtResource( 4 )
region_rect = Rect2( 0, 0, 9, 44 )
patch_margin_top = 15
patch_margin_bottom = 13
[node name="RatioButton" type="TextureButton" parent="Ratio" groups=["UIButtons"]]
unique_name_in_owner = true
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -8.0
margin_top = -8.0
margin_right = 8.0
margin_bottom = 8.0
hint_tooltip = "Lock aspect ratio"
mouse_default_cursor_shape = 2
toggle_mode = true
texture_normal = ExtResource( 3 )
texture_pressed = ExtResource( 5 )
[connection signal="value_changed" from="GridContainer/X" to="." method="_on_X_value_changed"]
[connection signal="value_changed" from="GridContainer/Y" to="." method="_on_Y_value_changed"]
[connection signal="value_changed" from="GridContainer/Z" to="." method="_on_Z_value_changed"]
[connection signal="toggled" from="Ratio/RatioButton" to="." method="_on_RatioButton_toggled"]