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) "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] [rendering]

View file

@ -172,8 +172,8 @@ layout_mode = 1
anchors_preset = 1 anchors_preset = 1
anchor_left = 1.0 anchor_left = 1.0
anchor_right = 1.0 anchor_right = 1.0
offset_left = -120.0 offset_left = -216.0
offset_right = -64.0 offset_right = -160.0
offset_bottom = 32.0 offset_bottom = 32.0
grow_horizontal = 0 grow_horizontal = 0
text = "Open" text = "Open"
@ -183,11 +183,22 @@ layout_mode = 1
anchors_preset = 1 anchors_preset = 1
anchor_left = 1.0 anchor_left = 1.0
anchor_right = 1.0 anchor_right = 1.0
offset_left = -56.0 offset_left = -152.0
offset_right = -96.0
offset_bottom = 32.0 offset_bottom = 32.0
grow_horizontal = 0 grow_horizontal = 0
text = "Save" 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="."] [node name="Camera" type="Camera2D" parent="."]
script = ExtResource("8_mls06") 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="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="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="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/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/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) c.connect("mouse_exited", _camera_unfreeze)
update() update()
func _on_code_edit_text_changed(): func _input(event):
var shader = Shader.new() if event.is_action_pressed("apply_shader"):
shader.code = code_editor.text _on_apply_shader_button_pressed()
Globals.shader = shader
Globals.target_viewport.update()
func _on_preset_options_item_selected(index): func _on_preset_options_item_selected(index):
selected_preset_name = preset_options.get_item_text(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 file = FileAccess.open(path, FileAccess.WRITE)
var content = Globals.shader.code var content = Globals.shader.code
file.store_string(content) 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()