Use Apply button with F5 keybinding instead of reapplying the shader on every code change

This commit is contained in:
ChaoticByte 2024-06-09 14:32:00 +02:00
parent 88a6460f85
commit 641cb9f8d3
No known key found for this signature in database
3 changed files with 29 additions and 9 deletions

View file

@ -54,6 +54,11 @@ drag={
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(183, 23),"global_position":Vector2(187, 64),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}
apply_shader={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194336,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
]
}
[rendering]

View file

@ -172,8 +172,8 @@ layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -120.0
offset_right = -64.0
offset_left = -216.0
offset_right = -160.0
offset_bottom = 32.0
grow_horizontal = 0
text = "Open"
@ -183,11 +183,22 @@ layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -56.0
offset_left = -152.0
offset_right = -96.0
offset_bottom = 32.0
grow_horizontal = 0
text = "Save"
[node name="ApplyShaderButton" type="Button" parent="UI_Layer/UserInterfaceContainer/Editor"]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -88.0
offset_bottom = 32.0
grow_horizontal = 0
text = "Apply (F5)"
[node name="Camera" type="Camera2D" parent="."]
script = ExtResource("8_mls06")
@ -200,6 +211,6 @@ script = ExtResource("8_mls06")
[connection signal="file_selected" from="UI_Layer/UserInterfaceContainer/Editor/SaveShaderDialog" to="UI_Layer/UserInterfaceContainer/Editor" method="_on_save_shader_dialog_file_selected"]
[connection signal="item_selected" from="UI_Layer/UserInterfaceContainer/Editor/PresetOptions" to="UI_Layer/UserInterfaceContainer/Editor" method="_on_preset_options_item_selected"]
[connection signal="code_completion_requested" from="UI_Layer/UserInterfaceContainer/Editor/CodeEdit" to="UI_Layer/UserInterfaceContainer/Editor" method="_on_code_edit_code_completion_requested"]
[connection signal="text_changed" from="UI_Layer/UserInterfaceContainer/Editor/CodeEdit" to="UI_Layer/UserInterfaceContainer/Editor" method="_on_code_edit_text_changed"]
[connection signal="pressed" from="UI_Layer/UserInterfaceContainer/Editor/OpenShaderButton" to="UI_Layer/UserInterfaceContainer/Editor" method="_on_open_shader_button_pressed"]
[connection signal="pressed" from="UI_Layer/UserInterfaceContainer/Editor/SaveShaderButton" to="UI_Layer/UserInterfaceContainer/Editor" method="_on_save_shader_button_pressed"]
[connection signal="pressed" from="UI_Layer/UserInterfaceContainer/Editor/ApplyShaderButton" to="UI_Layer/UserInterfaceContainer/Editor" method="_on_apply_shader_button_pressed"]

View file

@ -187,11 +187,9 @@ func _ready():
c.connect("mouse_exited", _camera_unfreeze)
update()
func _on_code_edit_text_changed():
var shader = Shader.new()
shader.code = code_editor.text
Globals.shader = shader
Globals.target_viewport.update()
func _input(event):
if event.is_action_pressed("apply_shader"):
_on_apply_shader_button_pressed()
func _on_preset_options_item_selected(index):
selected_preset_name = preset_options.get_item_text(index)
@ -233,3 +231,9 @@ func _on_save_shader_dialog_file_selected(path):
var file = FileAccess.open(path, FileAccess.WRITE)
var content = Globals.shader.code
file.store_string(content)
func _on_apply_shader_button_pressed():
var shader = Shader.new()
shader.code = code_editor.text
Globals.shader = shader
Globals.target_viewport.update()