[gd_scene load_steps=2 format=2]

[ext_resource path="res://castagne/editor/tools/perf/CETool-Perf.gd" type="Script" id=1]

[node name="Performance" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource( 1 )

[node name="PerfSmall" type="VBoxContainer" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
alignment = 1

[node name="FrameTime" type="HBoxContainer" parent="PerfSmall"]
margin_right = 1920.0
margin_bottom = 484.0
size_flags_vertical = 3

[node name="BudgetBar" type="ProgressBar" parent="PerfSmall/FrameTime"]
margin_top = 234.0
margin_right = 272.0
margin_bottom = 250.0
rect_min_size = Vector2( 0, 16 )
size_flags_horizontal = 3
size_flags_vertical = 4
size_flags_stretch_ratio = 0.5
max_value = 16600.0
step = 1.0
value = 50.0

[node name="FrameTime" type="Label" parent="PerfSmall/FrameTime"]
margin_left = 276.0
margin_top = 226.0
margin_right = 821.0
margin_bottom = 257.0
size_flags_horizontal = 3
text = "xx.xxxms
Mean:"

[node name="FrameTime2" type="Label" parent="PerfSmall/FrameTime"]
margin_left = 825.0
margin_top = 226.0
margin_right = 1370.0
margin_bottom = 257.0
size_flags_horizontal = 3
text = "Min: xx.xxxms
Max: xx.xxxms"

[node name="GraphicsTime" type="Label" parent="PerfSmall/FrameTime"]
margin_left = 1374.0
margin_top = 235.0
margin_right = 1920.0
margin_bottom = 249.0
size_flags_horizontal = 3
text = "Graphics: xx.xxxms"

[node name="Physics" type="GridContainer" parent="PerfSmall"]
margin_top = 488.0
margin_right = 1920.0
margin_bottom = 972.0
size_flags_vertical = 3
columns = 3

[node name="Total" type="Label" parent="PerfSmall/Physics"]
margin_right = 638.0
margin_bottom = 14.0
size_flags_horizontal = 3
text = "Total: XX.xxms"

[node name="Setup" type="Label" parent="PerfSmall/Physics"]
margin_left = 642.0
margin_right = 1279.0
margin_bottom = 14.0
size_flags_horizontal = 3
text = "Setup: XX.xxms"

[node name="Total3" type="Label" parent="PerfSmall/Physics"]
margin_left = 1283.0
margin_right = 1920.0
margin_bottom = 14.0
size_flags_horizontal = 3

[node name="EnvTotal" type="Label" parent="PerfSmall/Physics"]
margin_top = 18.0
margin_right = 638.0
margin_bottom = 32.0
size_flags_horizontal = 3
text = "Total: XX.xxms"

[node name="EnvSetup" type="Label" parent="PerfSmall/Physics"]
margin_left = 642.0
margin_top = 18.0
margin_right = 1279.0
margin_bottom = 32.0
size_flags_horizontal = 3
text = "Total: XX.xxms"

[node name="EnvMain" type="Label" parent="PerfSmall/Physics"]
margin_left = 1283.0
margin_top = 18.0
margin_right = 1920.0
margin_bottom = 32.0
size_flags_horizontal = 3
text = "Total: XX.xxms"

[node name="AtkTotal" type="Label" parent="PerfSmall/Physics"]
margin_top = 36.0
margin_right = 638.0
margin_bottom = 50.0
size_flags_horizontal = 3
text = "Total: XX.xxms"

[node name="AtkSetup" type="Label" parent="PerfSmall/Physics"]
margin_left = 642.0
margin_top = 36.0
margin_right = 1279.0
margin_bottom = 50.0
size_flags_horizontal = 3
text = "Total: XX.xxms"

[node name="AtkMain" type="Label" parent="PerfSmall/Physics"]
margin_left = 1283.0
margin_top = 36.0
margin_right = 1920.0
margin_bottom = 50.0
size_flags_horizontal = 3
text = "Total: XX.xxms"

[node name="Phases" type="GridContainer" parent="PerfSmall"]
margin_top = 976.0
margin_right = 1920.0
margin_bottom = 1080.0
columns = 2

[node name="Init" type="HBoxContainer" parent="PerfSmall/Phases"]
margin_right = 958.0
margin_bottom = 32.0
size_flags_horizontal = 3

[node name="Icon" type="Control" parent="PerfSmall/Phases/Init"]
margin_right = 32.0
margin_bottom = 32.0
rect_min_size = Vector2( 32, 32 )

[node name="PhaseName" type="Label" parent="PerfSmall/Phases/Init"]
margin_left = 36.0
margin_top = 9.0
margin_right = 187.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "Init:"

[node name="TotalTime" type="Label" parent="PerfSmall/Phases/Init"]
margin_left = 191.0
margin_top = 9.0
margin_right = 493.0
margin_bottom = 23.0
size_flags_horizontal = 3
size_flags_stretch_ratio = 2.0
text = "XX.xxms"

[node name="StartTime" type="Label" parent="PerfSmall/Phases/Init"]
margin_left = 497.0
margin_top = 9.0
margin_right = 648.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="CodeTime" type="Label" parent="PerfSmall/Phases/Init"]
margin_left = 652.0
margin_top = 9.0
margin_right = 803.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="EndTime" type="Label" parent="PerfSmall/Phases/Init"]
margin_left = 807.0
margin_top = 9.0
margin_right = 958.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="Input" type="HBoxContainer" parent="PerfSmall/Phases"]
margin_left = 962.0
margin_right = 1920.0
margin_bottom = 32.0
size_flags_horizontal = 3

[node name="Icon" type="Control" parent="PerfSmall/Phases/Input"]
margin_right = 32.0
margin_bottom = 32.0
rect_min_size = Vector2( 32, 32 )

[node name="PhaseName" type="Label" parent="PerfSmall/Phases/Input"]
margin_left = 36.0
margin_top = 9.0
margin_right = 187.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "Input:"

[node name="TotalTime" type="Label" parent="PerfSmall/Phases/Input"]
margin_left = 191.0
margin_top = 9.0
margin_right = 493.0
margin_bottom = 23.0
size_flags_horizontal = 3
size_flags_stretch_ratio = 2.0
text = "XX.xxms"

[node name="StartTime" type="Label" parent="PerfSmall/Phases/Input"]
margin_left = 497.0
margin_top = 9.0
margin_right = 648.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="CodeTime" type="Label" parent="PerfSmall/Phases/Input"]
margin_left = 652.0
margin_top = 9.0
margin_right = 803.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="EndTime" type="Label" parent="PerfSmall/Phases/Input"]
margin_left = 807.0
margin_top = 9.0
margin_right = 958.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="Action" type="HBoxContainer" parent="PerfSmall/Phases"]
margin_top = 36.0
margin_right = 958.0
margin_bottom = 68.0
size_flags_horizontal = 3

[node name="Icon" type="Control" parent="PerfSmall/Phases/Action"]
margin_right = 32.0
margin_bottom = 32.0
rect_min_size = Vector2( 32, 32 )

[node name="PhaseName" type="Label" parent="PerfSmall/Phases/Action"]
margin_left = 36.0
margin_top = 9.0
margin_right = 187.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "Action:"

[node name="TotalTime" type="Label" parent="PerfSmall/Phases/Action"]
margin_left = 191.0
margin_top = 9.0
margin_right = 493.0
margin_bottom = 23.0
size_flags_horizontal = 3
size_flags_stretch_ratio = 2.0
text = "XX.xxms"

[node name="StartTime" type="Label" parent="PerfSmall/Phases/Action"]
margin_left = 497.0
margin_top = 9.0
margin_right = 648.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="CodeTime" type="Label" parent="PerfSmall/Phases/Action"]
margin_left = 652.0
margin_top = 9.0
margin_right = 803.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="EndTime" type="Label" parent="PerfSmall/Phases/Action"]
margin_left = 807.0
margin_top = 9.0
margin_right = 958.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="Physics" type="HBoxContainer" parent="PerfSmall/Phases"]
margin_left = 962.0
margin_top = 36.0
margin_right = 1920.0
margin_bottom = 68.0
size_flags_horizontal = 3

[node name="Icon" type="Control" parent="PerfSmall/Phases/Physics"]
margin_right = 32.0
margin_bottom = 32.0
rect_min_size = Vector2( 32, 32 )

[node name="PhaseName" type="Label" parent="PerfSmall/Phases/Physics"]
margin_left = 36.0
margin_top = 9.0
margin_right = 187.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "Physics:"

[node name="TotalTime" type="Label" parent="PerfSmall/Phases/Physics"]
margin_left = 191.0
margin_top = 9.0
margin_right = 493.0
margin_bottom = 23.0
size_flags_horizontal = 3
size_flags_stretch_ratio = 2.0
text = "XX.xxms"

[node name="StartTime" type="Label" parent="PerfSmall/Phases/Physics"]
margin_left = 497.0
margin_top = 9.0
margin_right = 648.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="CodeTime" type="Label" parent="PerfSmall/Phases/Physics"]
margin_left = 652.0
margin_top = 9.0
margin_right = 803.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="EndTime" type="Label" parent="PerfSmall/Phases/Physics"]
margin_left = 807.0
margin_top = 9.0
margin_right = 958.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="Reaction" type="HBoxContainer" parent="PerfSmall/Phases"]
margin_top = 72.0
margin_right = 958.0
margin_bottom = 104.0
size_flags_horizontal = 3

[node name="Icon" type="Control" parent="PerfSmall/Phases/Reaction"]
margin_right = 32.0
margin_bottom = 32.0
rect_min_size = Vector2( 32, 32 )

[node name="PhaseName" type="Label" parent="PerfSmall/Phases/Reaction"]
margin_left = 36.0
margin_top = 9.0
margin_right = 187.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "Reaction:"

[node name="TotalTime" type="Label" parent="PerfSmall/Phases/Reaction"]
margin_left = 191.0
margin_top = 9.0
margin_right = 493.0
margin_bottom = 23.0
size_flags_horizontal = 3
size_flags_stretch_ratio = 2.0
text = "XX.xxms"

[node name="StartTime" type="Label" parent="PerfSmall/Phases/Reaction"]
margin_left = 497.0
margin_top = 9.0
margin_right = 648.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="CodeTime" type="Label" parent="PerfSmall/Phases/Reaction"]
margin_left = 652.0
margin_top = 9.0
margin_right = 803.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="EndTime" type="Label" parent="PerfSmall/Phases/Reaction"]
margin_left = 807.0
margin_top = 9.0
margin_right = 958.0
margin_bottom = 23.0
size_flags_horizontal = 3
text = "XX.xxms"

[node name="EntityAnalyser" type="Control" parent="."]
visible = false
anchor_right = 1.0
anchor_bottom = 1.0

[node name="EntityList" type="VBoxContainer" parent="EntityAnalyser"]
visible = false
anchor_right = 0.2
anchor_bottom = 1.0
alignment = 1

[node name="Label2" type="Label" parent="EntityAnalyser/EntityList"]
margin_top = 447.0
margin_right = 384.0
margin_bottom = 461.0
text = "--- State Selection ---"
align = 1

[node name="StateName" type="LineEdit" parent="EntityAnalyser/EntityList"]
margin_top = 465.0
margin_right = 384.0
margin_bottom = 489.0
text = "Character"

[node name="Label" type="Label" parent="EntityAnalyser/EntityList"]
margin_top = 493.0
margin_right = 384.0
margin_bottom = 507.0
text = "--- Phase Selection ---"
align = 1

[node name="Phases" type="GridContainer" parent="EntityAnalyser/EntityList"]
margin_top = 511.0
margin_right = 384.0
margin_bottom = 579.0
columns = 2

[node name="Init" type="Button" parent="EntityAnalyser/EntityList/Phases"]
margin_right = 190.0
margin_bottom = 20.0
hint_tooltip = "Init phase is executed once for each new entity. This is used for states beginning with Init--"
size_flags_horizontal = 3
text = "Init"

[node name="Freeze" type="Button" parent="EntityAnalyser/EntityList/Phases"]
margin_left = 194.0
margin_right = 384.0
margin_bottom = 20.0
hint_tooltip = "Freeze phase is activated on command for elements like hitstun, or super freeze. This is a different main loop type."
size_flags_horizontal = 3
text = "Freeze"

[node name="Action" type="Button" parent="EntityAnalyser/EntityList/Phases"]
margin_top = 24.0
margin_right = 190.0
margin_bottom = 44.0
hint_tooltip = "Main phase where behavior is set up. Most of the time, the only phase you need to be concerned with."
size_flags_horizontal = 3
text = "Action"

[node name="Reaction" type="Button" parent="EntityAnalyser/EntityList/Phases"]
margin_left = 194.0
margin_top = 24.0
margin_right = 384.0
margin_bottom = 44.0
hint_tooltip = "Phase executed after the physics resolution. Mostly useful to react to hits or movement changes, and where the transitions are actually made."
size_flags_horizontal = 3
text = "Reaction"

[node name="AI" type="Button" parent="EntityAnalyser/EntityList/Phases"]
margin_top = 48.0
margin_right = 190.0
margin_bottom = 68.0
hint_tooltip = "Phase used to drive AI behavior by pressing buttons. Executed before the Action phase."
size_flags_horizontal = 3
text = "AI"

[node name="Manual" type="Button" parent="EntityAnalyser/EntityList/Phases"]
margin_left = 194.0
margin_top = 48.0
margin_right = 384.0
margin_bottom = 68.0
hint_tooltip = "Special phase used internally by the engine to force full execution at times."
size_flags_horizontal = 3
text = "Manual"

[node name="Label3" type="Label" parent="EntityAnalyser/EntityList"]
margin_top = 583.0
margin_right = 384.0
margin_bottom = 597.0
text = "--- Variables ---"
align = 1

[node name="VariablesTotal" type="Label" parent="EntityAnalyser/EntityList"]
margin_top = 601.0
margin_right = 384.0
margin_bottom = 632.0
text = "Global: 0 / Players: 0 / Entities: 0
Total: 0"
align = 1

[node name="Main" type="VBoxContainer" parent="EntityAnalyser"]
visible = false
anchor_left = 0.2
anchor_right = 1.0
anchor_bottom = 1.0
alignment = 1

[node name="Label" type="Label" parent="EntityAnalyser/Main"]
margin_right = 1536.0
margin_bottom = 14.0
text = "--- Code Visualisation ---"
align = 1

[node name="State" type="Label" parent="EntityAnalyser/Main"]
margin_top = 18.0
margin_right = 1536.0
margin_bottom = 32.0
text = "State: "
align = 1

[node name="HSeparator" type="HSeparator" parent="EntityAnalyser/Main"]
margin_top = 36.0
margin_right = 1536.0
margin_bottom = 40.0

[node name="Display" type="TextEdit" parent="EntityAnalyser/Main"]
margin_top = 44.0
margin_right = 1536.0
margin_bottom = 1080.0
size_flags_vertical = 3
text = "FUNCTION 1()
FUNCTION 2()"
readonly = true
highlight_current_line = true
syntax_highlighting = true
show_line_numbers = true

[connection signal="text_changed" from="EntityAnalyser/EntityList/StateName" to="." method="_on_StateName_text_changed"]
