Basic player controls and aiming
This commit is contained in:
parent
56695d303e
commit
f5999da412
114 changed files with 6611 additions and 2 deletions
|
@ -0,0 +1,52 @@
|
|||
@tool
|
||||
|
||||
extends ConfirmationDialog
|
||||
|
||||
const StateChartUtil = preload("../state_chart_util.gd")
|
||||
|
||||
@onready var _event_list:ItemList = %EventList
|
||||
@onready var _event_name_edit:LineEdit = %EventNameEdit
|
||||
|
||||
var _chart:StateChart
|
||||
var _undo_redo:EditorUndoRedoManager
|
||||
var _current_event_name:StringName = ""
|
||||
|
||||
func open(chart:StateChart, undo_redo:EditorUndoRedoManager):
|
||||
title = "Events of " + chart.name
|
||||
_chart = chart
|
||||
_refresh_events()
|
||||
_undo_redo = undo_redo
|
||||
|
||||
|
||||
func _refresh_events():
|
||||
_event_list.clear()
|
||||
for item in StateChartUtil.events_of(_chart):
|
||||
_event_list.add_item(item)
|
||||
|
||||
func _close():
|
||||
hide()
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_event_list_item_selected(index:int):
|
||||
_current_event_name = _event_list.get_item_text(index)
|
||||
_event_name_edit.text = _current_event_name
|
||||
_on_event_name_edit_text_changed(_current_event_name)
|
||||
|
||||
|
||||
func _on_event_name_edit_text_changed(new_text):
|
||||
# disable rename button if the event name is the same as the
|
||||
# currently selected event
|
||||
get_ok_button().disabled = new_text == _current_event_name
|
||||
|
||||
|
||||
func _on_confirmed():
|
||||
var new_event_name = _event_name_edit.text
|
||||
var transitions = StateChartUtil.transitions_of(_chart)
|
||||
_undo_redo.create_action("Rename state chart event")
|
||||
for transition in transitions:
|
||||
if transition.event == _current_event_name:
|
||||
_undo_redo.add_do_property(transition, "event", new_event_name)
|
||||
_undo_redo.add_undo_property(transition, "event", _current_event_name)
|
||||
_undo_redo.commit_action()
|
||||
_close()
|
|
@ -0,0 +1,55 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://cvlabg8e2qbk3"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/godot_state_charts/utilities/event_refactor/event_refactor.gd" id="1_hh1x6"]
|
||||
|
||||
[node name="event_refactor" type="ConfirmationDialog"]
|
||||
initial_position = 1
|
||||
title = "Rename Event"
|
||||
size = Vector2i(586, 562)
|
||||
visible = true
|
||||
ok_button_text = "Rename"
|
||||
dialog_autowrap = true
|
||||
script = ExtResource("1_hh1x6")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
offset_left = 8.0
|
||||
offset_top = 8.0
|
||||
offset_right = 578.0
|
||||
offset_bottom = 513.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
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Event"
|
||||
|
||||
[node name="EventList" type="ItemList" parent="MarginContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(560, 330)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="Label2" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "New name"
|
||||
|
||||
[node name="EventNameEdit" type="LineEdit" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[connection signal="canceled" from="." to="." method="_close"]
|
||||
[connection signal="confirmed" from="." to="." method="_on_confirmed"]
|
||||
[connection signal="item_selected" from="MarginContainer/VBoxContainer/EventList" to="." method="_on_event_list_item_selected"]
|
||||
[connection signal="text_changed" from="MarginContainer/VBoxContainer/HBoxContainer/EventNameEdit" to="." method="_on_event_name_edit_text_changed"]
|
Reference in a new issue