large amounts of stuff too much to describe

This commit is contained in:
Persephone Bubblegum-Holidy 2025-05-23 23:08:14 -07:00
parent 1ee0206110
commit d75221dc1b
12 changed files with 1575 additions and 1139 deletions

View file

@ -0,0 +1,32 @@
[gd_scene load_steps=3 format=3 uid="uid://dtkqaw5533rxy"]
[ext_resource type="StyleBox" uid="uid://d17amc25o63p1" path="res://UI/Themes/MovementsPanelOverride.tres" id="1_d1xev"]
[ext_resource type="Script" uid="uid://tn3aaldu7mm2" path="res://Scripts/MovementRow.gd" id="1_rm5t0"]
[node name="Row" type="Panel"]
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 40.0
grow_horizontal = 2
script = ExtResource("1_rm5t0")
[node name="Button" type="Button" parent="."]
layout_mode = 0
offset_left = 4.0
offset_top = 4.0
offset_right = 260.0
offset_bottom = 36.0
text = "0 - Name (Unbound)"
alignment = 0
[node name="MovementsBG" type="Panel" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 264.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = ExtResource("1_d1xev")
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]

File diff suppressed because it is too large Load diff

156
Scenes/HelenHouseFlyout.gd Normal file
View file

@ -0,0 +1,156 @@
extends Control
signal movement_in(movement, rate)
signal movement_out(movement, rate)
func _ready() -> void:
var animatronic = get_node("../SubViewport/HelenHouse/3stHelen")
movement_in.connect(animatronic._movement_in)
movement_out.connect(animatronic._movement_out)
movement_in.connect(self._movement_in)
movement_out.connect(self._movement_out)
func _movement_in(movement, _rate):
get_node("Movements/IndicatorLights/" + movement).turn_on();
func _movement_out(movement, _rate):
get_node("Movements/IndicatorLights/" + movement).turn_off();
func _on_movements_flyout_button_toggled(toggled_on: bool) -> void:
$Movements.visible = toggled_on
func _on_flows_flyout_button_toggled(toggled_on: bool) -> void:
$FlowControls.visible = toggled_on
func _on_mouth_button_down() -> void:
movement_in.emit("Mouth", $FlowControls/InFlows/MouthFlow.value)
func _on_mouth_button_up() -> void:
movement_out.emit("Mouth", $FlowControls/OutFlows/MouthFlow.value)
func _on_left_ear_button_down() -> void:
movement_in.emit("Left Ear", $FlowControls/InFlows/LeftEarFlow.value)
func _on_left_ear_button_up() -> void:
movement_out.emit("Left Ear", $FlowControls/OutFlows/LeftEarFlow.value)
func _on_right_ear_button_down() -> void:
movement_in.emit("Right Ear", $FlowControls/InFlows/RightEarFlow.value)
func _on_right_ear_button_up() -> void:
movement_out.emit("Right Ear", $FlowControls/OutFlows/RightEarFlow.value)
func _on_left_eyelid_button_down() -> void:
movement_in.emit("Left Eyelid", $FlowControls/InFlows/LeftEyelidFlow.value)
func _on_left_eyelid_button_up() -> void:
movement_out.emit("Left Eyelid", $FlowControls/OutFlows/LeftEyelidFlow.value)
func _on_right_eyelid_button_down() -> void:
movement_in.emit("Right Eyelid", $FlowControls/InFlows/RightEyelidFlow.value)
func _on_right_eyelid_button_up() -> void:
movement_out.emit("Right Eyelid", $FlowControls/OutFlows/RightEyelidFlow.value)
func _on_eyes_left_button_down() -> void:
movement_in.emit("Eyes Left", $FlowControls/InFlows/EyesLeftFlow.value)
func _on_eyes_left_button_up() -> void:
movement_out.emit("Eyes Left", $FlowControls/OutFlows/EyesLeftFlow.value)
func _on_eyes_right_button_down() -> void:
movement_in.emit("Eyes Right", $FlowControls/InFlows/EyesRightFlow.value)
func _on_eyes_right_button_up() -> void:
movement_out.emit("Eyes Right", $FlowControls/OutFlows/EyesRightFlow.value)
func _on_head_left_button_down() -> void:
movement_in.emit("Head Left", $FlowControls/InFlows/HeadLeftFlow.value)
func _on_head_left_button_up() -> void:
movement_out.emit("Head Left", $FlowControls/OutFlows/HeadLeftFlow.value)
func _on_head_right_button_down() -> void:
movement_in.emit("Head Right", $FlowControls/InFlows/HeadRightFlow.value)
func _on_head_right_button_up() -> void:
movement_out.emit("Head Right", $FlowControls/OutFlows/HeadRightFlow.value)
func _on_head_up_button_down() -> void:
movement_in.emit("Head Up", $FlowControls/InFlows/HeadUpFlow.value)
func _on_head_up_button_up() -> void:
movement_out.emit("Head Up", $FlowControls/OutFlows/HeadUpFlow.value)
func _on_left_arm_up_button_down() -> void:
movement_in.emit("Left Arm Up", $FlowControls/InFlows/LeftArmUpFlow.value)
func _on_left_arm_up_button_up() -> void:
movement_out.emit("Left Arm Up", $FlowControls/OutFlows/LeftArmUpFlow.value)
func _on_left_arm_twist_button_down() -> void:
movement_in.emit("Left Arm Twist", $FlowControls/InFlows/LeftArmTwistFlow.value)
func _on_left_arm_twist_button_up() -> void:
movement_out.emit("Left Arm Twist", $FlowControls/OutFlows/LeftArmTwistFlow.value)
func _on_left_elbow_button_down() -> void:
movement_in.emit("Left Elbow", $FlowControls/InFlows/LeftElbowFlow.value)
func _on_left_elbow_button_up() -> void:
movement_out.emit("Left Elbow", $FlowControls/OutFlows/LeftElbowFlow.value)
func _on_right_arm_up_button_down() -> void:
movement_in.emit("Right Arm Up", $FlowControls/InFlows/RightArmUpFlow.value)
func _on_right_arm_up_button_up() -> void:
movement_out.emit("Right Arm Up", $FlowControls/OutFlows/RightArmUpFlow.value)
func _on_right_arm_twist_button_down() -> void:
movement_in.emit("Right Arm Twist", $FlowControls/InFlows/RightArmTwistFlow.value)
func _on_right_arm_twist_button_up() -> void:
movement_out.emit("Right Arm Twist", $FlowControls/OutFlows/RightArmTwistFlow.value)
func _on_right_elbow_button_down() -> void:
movement_in.emit("Right Elbow", $FlowControls/InFlows/RightElbowFlow.value)
func _on_right_elbow_button_up() -> void:
movement_out.emit("Right Elbow", $FlowControls/OutFlows/RightElbowFlow.value)
func _on_body_left_button_down() -> void:
movement_in.emit("Body Left", $FlowControls/InFlows/BodyLeftFlow.value)
func _on_body_left_button_up() -> void:
movement_out.emit("Body Left", $FlowControls/OutFlows/BodyLeftFlow.value)
func _on_body_right_button_down() -> void:
movement_in.emit("Body Right", $FlowControls/InFlows/BodyRightFlow.value)
func _on_body_right_button_up() -> void:
movement_out.emit("Body Right", $FlowControls/OutFlows/BodyRightFlow.value)
func _on_body_lean_button_down() -> void:
movement_in.emit("Body Lean", $FlowControls/InFlows/BodyLeanFlow.value)
func _on_body_lean_button_up() -> void:
movement_out.emit("Body Lean", $FlowControls/OutFlows/BodyLeanFlow.value)

View file

@ -0,0 +1 @@
uid://bh512bgpm0kj7

View file

@ -0,0 +1,983 @@
[gd_scene load_steps=5 format=3 uid="uid://dwhrame6udwbh"]
[ext_resource type="Script" uid="uid://bh512bgpm0kj7" path="res://Scenes/HelenHouseFlyout.gd" id="1_82hqt"]
[ext_resource type="ButtonGroup" uid="uid://bij2tonqeslpt" path="res://Scenes/GUI/FlyoutButtonGroup.tres" id="1_p77ya"]
[ext_resource type="PackedScene" uid="uid://cbf3x44mvo701" path="res://Scenes/GUI/Controls/IndicatorLight.tscn" id="2_82hqt"]
[ext_resource type="PackedScene" uid="uid://blg1c3v4o44of" path="res://Scenes/GUI/Controls/FlowSlider.tscn" id="3_petwi"]
[node name="HelenHouseFlyout" type="Control"]
layout_mode = 3
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 136.0
grow_vertical = 2
script = ExtResource("1_82hqt")
[node name="FlyoutButtons" type="Panel" parent="."]
layout_mode = 1
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 136.0
grow_vertical = 2
[node name="MovementsFlyoutButton" type="Button" parent="FlyoutButtons"]
layout_mode = 0
offset_left = 4.0
offset_top = 4.0
offset_right = 132.0
offset_bottom = 36.0
toggle_mode = true
button_group = ExtResource("1_p77ya")
text = "Movements"
[node name="FlowsFlyoutButton" type="Button" parent="FlyoutButtons"]
layout_mode = 0
offset_left = 4.0
offset_top = 40.0
offset_right = 132.0
offset_bottom = 72.0
toggle_mode = true
button_group = ExtResource("1_p77ya")
text = "Flows"
[node name="CameraFlyoutButton" type="Button" parent="FlyoutButtons"]
layout_mode = 0
offset_left = 4.0
offset_top = 76.0
offset_right = 132.0
offset_bottom = 108.0
toggle_mode = true
button_group = ExtResource("1_p77ya")
text = "Camera"
[node name="CosmeticsFlyoutButton" type="Button" parent="FlyoutButtons"]
layout_mode = 0
offset_left = 4.0
offset_top = 112.0
offset_right = 132.0
offset_bottom = 144.0
toggle_mode = true
button_group = ExtResource("1_p77ya")
text = "Cosmetics"
[node name="StageFlyoutButton" type="Button" parent="FlyoutButtons"]
layout_mode = 0
offset_left = 4.0
offset_top = 148.0
offset_right = 132.0
offset_bottom = 180.0
toggle_mode = true
button_group = ExtResource("1_p77ya")
text = "Stage"
[node name="Movements" type="Panel" parent="."]
visible = false
layout_mode = 0
offset_left = 140.0
offset_right = 480.0
offset_bottom = 364.0
[node name="Buttons" type="Control" parent="Movements"]
anchors_preset = 0
[node name="Mouth" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 4.0
offset_right = 132.0
offset_bottom = 36.0
text = "Mouth"
[node name="LeftEar" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 40.0
offset_right = 132.0
offset_bottom = 72.0
text = "Left Ear"
[node name="RightEar" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 76.0
offset_right = 132.0
offset_bottom = 108.0
text = "Right Ear"
[node name="LeftEyelid" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 112.0
offset_right = 132.0
offset_bottom = 144.0
text = "Left Eyelid"
[node name="RightEyelid" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 148.0
offset_right = 132.0
offset_bottom = 180.0
text = "Right Eyelid"
[node name="EyesLeft" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 184.0
offset_right = 132.0
offset_bottom = 216.0
text = "Eyes Left"
[node name="EyesRight" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 220.0
offset_right = 132.0
offset_bottom = 252.0
text = "Eyes Right"
[node name="HeadLeft" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 256.0
offset_right = 132.0
offset_bottom = 288.0
text = "Head Left"
[node name="HeadRight" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 292.0
offset_right = 132.0
offset_bottom = 324.0
text = "Head Right"
[node name="HeadUp" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 328.0
offset_right = 132.0
offset_bottom = 360.0
text = "Head Up"
[node name="LeftArmUp" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 4.0
offset_right = 300.0
offset_bottom = 36.0
text = "Left Arm Up"
[node name="LeftArmTwist" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 40.0
offset_right = 300.0
offset_bottom = 72.0
text = "Left Arm Twist"
[node name="LeftElbow" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 76.0
offset_right = 300.0
offset_bottom = 108.0
text = "Left Elbow"
[node name="RightArmUp" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 112.0
offset_right = 300.0
offset_bottom = 144.0
text = "Right Arm Up"
[node name="RightArmTwist" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 148.0
offset_right = 300.0
offset_bottom = 180.0
text = "R. Arm Twist"
[node name="RightElbow" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 184.0
offset_right = 300.0
offset_bottom = 216.0
text = "Right Elbow"
[node name="BodyLeft" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 220.0
offset_right = 300.0
offset_bottom = 252.0
text = "Body Left"
[node name="BodyRight" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 256.0
offset_right = 300.0
offset_bottom = 288.0
text = "Body Right"
[node name="BodyLean" type="Button" parent="Movements/Buttons"]
layout_mode = 0
offset_left = 172.0
offset_top = 292.0
offset_right = 300.0
offset_bottom = 324.0
text = "Body Lean"
[node name="IndicatorLights" type="Control" parent="Movements"]
anchors_preset = 0
[node name="Mouth" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 4.0
offset_right = 136.0
offset_bottom = 4.0
[node name="Left Ear" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 40.0
offset_right = 136.0
offset_bottom = 40.0
[node name="Right Ear" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 76.0
offset_right = 136.0
offset_bottom = 76.0
[node name="Left Eyelid" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 112.0
offset_right = 136.0
offset_bottom = 112.0
[node name="Right Eyelid" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 148.0
offset_right = 136.0
offset_bottom = 148.0
[node name="Eyes Left" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 184.0
offset_right = 136.0
offset_bottom = 184.0
[node name="Eyes Right" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 220.0
offset_right = 136.0
offset_bottom = 220.0
[node name="Head Left" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 256.0
offset_right = 136.0
offset_bottom = 256.0
[node name="Head Right" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 292.0
offset_right = 136.0
offset_bottom = 292.0
[node name="Head Up" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 136.0
offset_top = 328.0
offset_right = 136.0
offset_bottom = 328.0
[node name="Left Arm Up" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 4.0
offset_right = 304.0
offset_bottom = 4.0
[node name="Left Arm Twist" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 40.0
offset_right = 304.0
offset_bottom = 40.0
[node name="Left Elbow" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 76.0
offset_right = 304.0
offset_bottom = 76.0
[node name="Right Arm Up" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 112.0
offset_right = 304.0
offset_bottom = 112.0
[node name="Right Arm Twist" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 148.0
offset_right = 304.0
offset_bottom = 148.0
[node name="Right Elbow" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 184.0
offset_right = 304.0
offset_bottom = 184.0
[node name="Body Left" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 220.0
offset_right = 304.0
offset_bottom = 220.0
[node name="Body Right" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 256.0
offset_right = 304.0
offset_bottom = 256.0
[node name="Body Lean" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")]
layout_mode = 1
offset_left = 304.0
offset_top = 292.0
offset_right = 304.0
offset_bottom = 292.0
[node name="FlowControls" type="Panel" parent="."]
visible = false
layout_mode = 0
offset_left = 140.0
offset_right = 808.0
offset_bottom = 392.0
[node name="Labels" type="Control" parent="FlowControls"]
anchors_preset = 0
offset_top = -40.0
offset_bottom = -40.0
[node name="MovementsLabel1" type="Label" parent="FlowControls/Labels"]
layout_mode = 0
offset_left = 4.0
offset_top = 40.0
offset_right = 132.0
offset_bottom = 72.0
text = "Movement"
horizontal_alignment = 1
vertical_alignment = 1
[node name="MovementsLabel2" type="Label" parent="FlowControls/Labels"]
layout_mode = 0
offset_left = 336.0
offset_top = 40.0
offset_right = 464.0
offset_bottom = 72.0
text = "Movement"
horizontal_alignment = 1
vertical_alignment = 1
[node name="InFlowsLabel1" type="Label" parent="FlowControls/Labels"]
layout_mode = 0
offset_left = 136.0
offset_top = 40.0
offset_right = 232.0
offset_bottom = 72.0
text = "In Flow"
horizontal_alignment = 1
vertical_alignment = 1
[node name="InFlowsLabel2" type="Label" parent="FlowControls/Labels"]
layout_mode = 0
offset_left = 468.0
offset_top = 40.0
offset_right = 564.0
offset_bottom = 72.0
text = "In Flow"
horizontal_alignment = 1
vertical_alignment = 1
[node name="OutFlowsLabel1" type="Label" parent="FlowControls/Labels"]
layout_mode = 0
offset_left = 236.0
offset_top = 40.0
offset_right = 332.0
offset_bottom = 72.0
text = "Out Flow"
horizontal_alignment = 1
vertical_alignment = 1
[node name="OutFlowsLabel2" type="Label" parent="FlowControls/Labels"]
layout_mode = 0
offset_left = 568.0
offset_top = 40.0
offset_right = 664.0
offset_bottom = 72.0
text = "Out Flow"
horizontal_alignment = 1
vertical_alignment = 1
[node name="InFlows" type="Control" parent="FlowControls"]
anchors_preset = 0
offset_top = -40.0
offset_bottom = -40.0
[node name="MouthFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 72.0
offset_right = 135.5
offset_bottom = 72.0
value = 3.0
[node name="LeftEarFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 108.0
offset_right = 135.5
offset_bottom = 108.0
value = 3.5
[node name="RightEarFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 144.0
offset_right = 135.5
offset_bottom = 144.0
value = 3.5
[node name="LeftEyelidFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 180.0
offset_right = 135.5
offset_bottom = 180.0
value = 1.5
[node name="RightEyelidFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 216.0
offset_right = 135.5
offset_bottom = 216.0
value = 1.5
[node name="EyesLeftFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 252.0
offset_right = 135.5
offset_bottom = 252.0
value = 2.0
[node name="EyesRightFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 288.0
offset_right = 135.5
offset_bottom = 288.0
value = 2.0
[node name="HeadLeftFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 324.0
offset_right = 135.5
offset_bottom = 324.0
value = 1.5
[node name="HeadRightFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 360.0
offset_right = 135.5
offset_bottom = 360.0
value = 1.5
[node name="HeadUpFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 135.5
offset_top = 396.0
offset_right = 135.5
offset_bottom = 396.0
[node name="LeftArmUpFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 72.0
offset_right = 467.5
offset_bottom = 72.0
value = 0.8
[node name="LeftArmTwistFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 108.0
offset_right = 467.5
offset_bottom = 108.0
value = 0.8
[node name="LeftElbowFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 144.0
offset_right = 467.5
offset_bottom = 144.0
[node name="RightArmUpFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 180.0
offset_right = 467.5
offset_bottom = 180.0
value = 0.8
[node name="RightArmTwistFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 216.0
offset_right = 467.5
offset_bottom = 216.0
value = 0.8
[node name="RightElbowFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 252.0
offset_right = 467.5
offset_bottom = 252.0
[node name="BodyLeftFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 288.0
offset_right = 467.5
offset_bottom = 288.0
value = 0.7
[node name="BodyRightFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 324.0
offset_right = 467.5
offset_bottom = 324.0
value = 0.7
[node name="BodyLeanFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 467.5
offset_top = 360.0
offset_right = 467.5
offset_bottom = 360.0
[node name="OutFlows" type="Control" parent="FlowControls"]
anchors_preset = 0
offset_top = -40.0
offset_bottom = -40.0
[node name="MouthFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 72.0
offset_right = 235.5
offset_bottom = 72.0
value = 2.0
[node name="LeftEarFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 108.0
offset_right = 235.5
offset_bottom = 108.0
value = 1.5
[node name="RightEarFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 144.0
offset_right = 235.5
offset_bottom = 144.0
value = 1.5
[node name="LeftEyelidFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 180.0
offset_right = 235.5
offset_bottom = 180.0
value = 2.0
[node name="RightEyelidFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 216.0
offset_right = 235.5
offset_bottom = 216.0
value = 2.0
[node name="EyesLeftFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 252.0
offset_right = 235.5
offset_bottom = 252.0
value = 2.0
[node name="EyesRightFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 288.0
offset_right = 235.5
offset_bottom = 288.0
value = 2.0
[node name="HeadLeftFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 324.0
offset_right = 235.5
offset_bottom = 324.0
value = 1.5
[node name="HeadRightFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 360.0
offset_right = 235.5
offset_bottom = 360.0
value = 1.5
[node name="HeadUpFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 235.5
offset_top = 396.0
offset_right = 235.5
offset_bottom = 396.0
[node name="LeftArmUpFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 72.0
offset_right = 567.5
offset_bottom = 72.0
value = 0.6
[node name="LeftArmTwistFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 108.0
offset_right = 567.5
offset_bottom = 108.0
value = 0.8
[node name="LeftElbowFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 144.0
offset_right = 567.5
offset_bottom = 144.0
[node name="RightArmUpFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 180.0
offset_right = 567.5
offset_bottom = 180.0
value = 0.6
[node name="RightArmTwistFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 216.0
offset_right = 567.5
offset_bottom = 216.0
value = 0.8
[node name="RightElbowFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 252.0
offset_right = 567.5
offset_bottom = 252.0
[node name="BodyLeftFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 288.0
offset_right = 567.5
offset_bottom = 288.0
value = 0.7
[node name="BodyRightFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 324.0
offset_right = 567.5
offset_bottom = 324.0
value = 0.7
[node name="BodyLeanFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")]
layout_mode = 1
offset_left = 567.5
offset_top = 360.0
offset_right = 567.5
offset_bottom = 360.0
value = 0.8
[node name="MovementLabels" type="Control" parent="FlowControls"]
layout_mode = 3
anchors_preset = 0
[node name="Mouth" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 32.0
offset_right = 132.0
offset_bottom = 64.0
text = "Mouth"
horizontal_alignment = 1
vertical_alignment = 1
[node name="LeftEar" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 68.0
offset_right = 132.0
offset_bottom = 100.0
text = "Left Ear"
horizontal_alignment = 1
vertical_alignment = 1
[node name="RightEar" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 104.0
offset_right = 132.0
offset_bottom = 136.0
text = "Right Ear"
horizontal_alignment = 1
vertical_alignment = 1
[node name="LeftEyelid" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 140.0
offset_right = 132.0
offset_bottom = 172.0
text = "Left Eyelid"
horizontal_alignment = 1
vertical_alignment = 1
[node name="RightEyelid" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 176.0
offset_right = 132.0
offset_bottom = 208.0
text = "Right Eyelid"
horizontal_alignment = 1
vertical_alignment = 1
[node name="EyesLeft" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 212.0
offset_right = 132.0
offset_bottom = 244.0
text = "Eyes Left"
horizontal_alignment = 1
vertical_alignment = 1
[node name="EyesRight" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 248.0
offset_right = 132.0
offset_bottom = 280.0
text = "Eyes Right"
horizontal_alignment = 1
vertical_alignment = 1
[node name="HeadLeft" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 284.0
offset_right = 132.0
offset_bottom = 316.0
text = "Head Left"
horizontal_alignment = 1
vertical_alignment = 1
[node name="HeadRight" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 320.0
offset_right = 132.0
offset_bottom = 352.0
text = "Head Right"
horizontal_alignment = 1
vertical_alignment = 1
[node name="HeadUp" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 4.0
offset_top = 356.0
offset_right = 132.0
offset_bottom = 388.0
text = "Head Up"
horizontal_alignment = 1
vertical_alignment = 1
[node name="LeftArmUp" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 32.0
offset_right = 464.0
offset_bottom = 64.0
text = "Left Arm Up"
horizontal_alignment = 1
vertical_alignment = 1
[node name="LeftArmTwist" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 68.0
offset_right = 464.0
offset_bottom = 100.0
text = "Left Arm Twist"
horizontal_alignment = 1
vertical_alignment = 1
[node name="LeftElbow" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 104.0
offset_right = 464.0
offset_bottom = 136.0
text = "Left Elbow"
horizontal_alignment = 1
vertical_alignment = 1
[node name="RightArmUp" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 140.0
offset_right = 464.0
offset_bottom = 172.0
text = "Right Arm Up"
horizontal_alignment = 1
vertical_alignment = 1
[node name="RightArmTwist" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 176.0
offset_right = 464.0
offset_bottom = 208.0
text = "R. Arm Twist"
horizontal_alignment = 1
vertical_alignment = 1
[node name="RightElbow" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 212.0
offset_right = 464.0
offset_bottom = 244.0
text = "Right Elbow"
horizontal_alignment = 1
vertical_alignment = 1
[node name="BodyLeft" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 248.0
offset_right = 464.0
offset_bottom = 280.0
text = "Body Left"
horizontal_alignment = 1
vertical_alignment = 1
[node name="BodyRight" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 284.0
offset_right = 464.0
offset_bottom = 316.0
text = "Body Right"
horizontal_alignment = 1
vertical_alignment = 1
[node name="BodyLean" type="Label" parent="FlowControls/MovementLabels"]
layout_mode = 0
offset_left = 336.0
offset_top = 320.0
offset_right = 464.0
offset_bottom = 352.0
text = "Body Lean"
horizontal_alignment = 1
vertical_alignment = 1
[connection signal="toggled" from="FlyoutButtons/MovementsFlyoutButton" to="." method="_on_movements_flyout_button_toggled"]
[connection signal="toggled" from="FlyoutButtons/FlowsFlyoutButton" to="." method="_on_flows_flyout_button_toggled"]
[connection signal="button_down" from="Movements/Buttons/Mouth" to="." method="_on_mouth_button_down"]
[connection signal="button_up" from="Movements/Buttons/Mouth" to="." method="_on_mouth_button_up"]
[connection signal="button_down" from="Movements/Buttons/LeftEar" to="." method="_on_left_ear_button_down"]
[connection signal="button_up" from="Movements/Buttons/LeftEar" to="." method="_on_left_ear_button_up"]
[connection signal="button_down" from="Movements/Buttons/RightEar" to="." method="_on_right_ear_button_down"]
[connection signal="button_up" from="Movements/Buttons/RightEar" to="." method="_on_right_ear_button_up"]
[connection signal="button_down" from="Movements/Buttons/LeftEyelid" to="." method="_on_left_eyelid_button_down"]
[connection signal="button_up" from="Movements/Buttons/LeftEyelid" to="." method="_on_left_eyelid_button_up"]
[connection signal="button_down" from="Movements/Buttons/RightEyelid" to="." method="_on_right_eyelid_button_down"]
[connection signal="button_up" from="Movements/Buttons/RightEyelid" to="." method="_on_right_eyelid_button_up"]
[connection signal="button_down" from="Movements/Buttons/EyesLeft" to="." method="_on_eyes_left_button_down"]
[connection signal="button_up" from="Movements/Buttons/EyesLeft" to="." method="_on_eyes_left_button_up"]
[connection signal="button_down" from="Movements/Buttons/EyesRight" to="." method="_on_eyes_right_button_down"]
[connection signal="button_up" from="Movements/Buttons/EyesRight" to="." method="_on_eyes_right_button_up"]
[connection signal="button_down" from="Movements/Buttons/HeadLeft" to="." method="_on_head_left_button_down"]
[connection signal="button_up" from="Movements/Buttons/HeadLeft" to="." method="_on_head_left_button_up"]
[connection signal="button_down" from="Movements/Buttons/HeadRight" to="." method="_on_head_right_button_down"]
[connection signal="button_up" from="Movements/Buttons/HeadRight" to="." method="_on_head_right_button_up"]
[connection signal="button_down" from="Movements/Buttons/HeadUp" to="." method="_on_head_up_button_down"]
[connection signal="button_up" from="Movements/Buttons/HeadUp" to="." method="_on_head_up_button_up"]
[connection signal="button_down" from="Movements/Buttons/LeftArmUp" to="." method="_on_left_arm_up_button_down"]
[connection signal="button_up" from="Movements/Buttons/LeftArmUp" to="." method="_on_left_arm_up_button_up"]
[connection signal="button_down" from="Movements/Buttons/LeftArmTwist" to="." method="_on_left_arm_twist_button_down"]
[connection signal="button_up" from="Movements/Buttons/LeftArmTwist" to="." method="_on_left_arm_twist_button_up"]
[connection signal="button_down" from="Movements/Buttons/LeftElbow" to="." method="_on_left_elbow_button_down"]
[connection signal="button_up" from="Movements/Buttons/LeftElbow" to="." method="_on_left_elbow_button_up"]
[connection signal="button_down" from="Movements/Buttons/RightArmUp" to="." method="_on_right_arm_up_button_down"]
[connection signal="button_up" from="Movements/Buttons/RightArmUp" to="." method="_on_right_arm_up_button_up"]
[connection signal="button_down" from="Movements/Buttons/RightArmTwist" to="." method="_on_right_arm_twist_button_down"]
[connection signal="button_up" from="Movements/Buttons/RightArmTwist" to="." method="_on_right_arm_twist_button_up"]
[connection signal="button_down" from="Movements/Buttons/RightElbow" to="." method="_on_right_elbow_button_down"]
[connection signal="button_up" from="Movements/Buttons/RightElbow" to="." method="_on_right_elbow_button_up"]
[connection signal="button_down" from="Movements/Buttons/BodyLeft" to="." method="_on_body_left_button_down"]
[connection signal="button_up" from="Movements/Buttons/BodyLeft" to="." method="_on_body_left_button_up"]
[connection signal="button_down" from="Movements/Buttons/BodyRight" to="." method="_on_body_right_button_down"]
[connection signal="button_up" from="Movements/Buttons/BodyRight" to="." method="_on_body_right_button_up"]
[connection signal="button_down" from="Movements/Buttons/BodyLean" to="." method="_on_body_lean_button_down"]
[connection signal="button_up" from="Movements/Buttons/BodyLean" to="." method="_on_body_lean_button_up"]

View file

@ -0,0 +1,178 @@
[gd_scene load_steps=2 format=3 uid="uid://dyuhywnk8heav"]
[ext_resource type="PackedScene" uid="uid://dtkqaw5533rxy" path="res://Scenes/GUI/Controls/MovementRow.tscn" id="1_g2q8r"]
[node name="HelenHouseMovementRows" type="Control"]
layout_mode = 3
anchors_preset = 10
anchor_right = 1.0
grow_horizontal = 2
[node name="MouthRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
grow_horizontal = 1
movement_bit = 1
movement_name = "Mouth"
[node name="LeftEarRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 44.0
offset_bottom = 84.0
grow_horizontal = 1
movement_bit = 2
movement_name = "Left Ear"
[node name="RightEarRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 88.0
offset_bottom = 128.0
grow_horizontal = 1
movement_bit = 3
movement_name = "Right Ear"
[node name="LeftEyelidRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 132.0
offset_bottom = 172.0
grow_horizontal = 1
movement_bit = 4
movement_name = "Left Eyelid"
[node name="RightEyelidRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 176.0
offset_bottom = 216.0
grow_horizontal = 1
movement_bit = 5
movement_name = "Right Eyelid"
[node name="EyesLeftRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 220.0
offset_bottom = 260.0
grow_horizontal = 1
movement_bit = 6
movement_name = "Eyes Left"
[node name="EyesRightRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 264.0
offset_bottom = 304.0
grow_horizontal = 1
movement_bit = 7
movement_name = "Eyes Right"
[node name="HeadLeftRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 308.0
offset_bottom = 348.0
grow_horizontal = 1
movement_bit = 8
movement_name = "Head Left"
[node name="HeadRightRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 352.0
offset_bottom = 392.0
grow_horizontal = 1
movement_bit = 9
movement_name = "Head Right"
[node name="HeadUpRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 396.0
offset_bottom = 436.0
grow_horizontal = 1
movement_bit = 10
movement_name = "Head Up"
[node name="LeftArmUpRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 440.0
offset_bottom = 480.0
grow_horizontal = 1
movement_bit = 11
movement_name = "Left Arm Up"
[node name="LeftArmTwistRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 484.0
offset_bottom = 524.0
grow_horizontal = 1
movement_bit = 12
movement_name = "Left Arm Twist"
[node name="LeftElbowRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 528.0
offset_bottom = 568.0
grow_horizontal = 1
movement_bit = 13
movement_name = "Left Elbow"
[node name="RightArmUpRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 572.0
offset_bottom = 612.0
grow_horizontal = 1
movement_bit = 14
movement_name = "Right Arm Up"
[node name="RightArmTwistRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 616.0
offset_bottom = 656.0
grow_horizontal = 1
movement_bit = 15
movement_name = "Right Arm Twist"
[node name="RightElbowRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 660.0
offset_bottom = 700.0
grow_horizontal = 1
movement_bit = 16
movement_name = "Right Elbow"
[node name="BodyLeftRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 704.0
offset_bottom = 744.0
grow_horizontal = 1
movement_bit = 17
movement_name = "Body Left"
[node name="BodyRightRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 748.0
offset_bottom = 788.0
grow_horizontal = 1
movement_bit = 18
movement_name = "Body Right"
[node name="BodyLeanRow" parent="." instance=ExtResource("1_g2q8r")]
layout_mode = 1
anchors_preset = -1
offset_top = 792.0
offset_bottom = 832.0
grow_horizontal = 1
movement_bit = 19
movement_name = "Body Lean"

View file

@ -1,14 +1,6 @@
extends Control
signal movement_in(movement, rate)
signal movement_out(movement, rate)
func _ready() -> void:
var animatronic = $"SubViewport/HelenHouse/3stHelen"
movement_in.connect(animatronic._movement_in)
movement_out.connect(animatronic._movement_out)
movement_in.connect(self._movement_in)
movement_out.connect(self._movement_out)
get_tree().get_root().size_changed.connect(_on_size_changed)
func _input(event: InputEvent) -> void:
@ -16,18 +8,6 @@ func _input(event: InputEvent) -> void:
$CameraPreview.visible = !$CameraPreview.visible;
$CameraFullScreen.visible = !$CameraFullScreen.visible;
func _on_movements_flyout_button_toggled(toggled_on: bool) -> void:
$Movements.visible = toggled_on
func _on_flows_flyout_button_toggled(toggled_on: bool) -> void:
$FlowControls.visible = toggled_on
func _movement_in(movement, _rate):
get_node("Movements/IndicatorLights/" + movement).turn_on();
func _movement_out(movement, _rate):
get_node("Movements/IndicatorLights/" + movement).turn_off();
func _on_size_changed() -> void:
$SubViewport.size = $ColorRect.size
@ -43,135 +23,5 @@ func _on_controls_input_eater_pressed() -> void:
func _on_credits_input_eater_pressed() -> void:
$CreditsScreen.visible = false
func _on_mouth_button_down() -> void:
movement_in.emit("Mouth", $FlowControls/InFlows/MouthFlow.value)
func _on_mouth_button_up() -> void:
movement_out.emit("Mouth", $FlowControls/OutFlows/MouthFlow.value)
func _on_left_ear_button_down() -> void:
movement_in.emit("Left Ear", $FlowControls/InFlows/LeftEarFlow.value)
func _on_left_ear_button_up() -> void:
movement_out.emit("Left Ear", $FlowControls/OutFlows/LeftEarFlow.value)
func _on_right_ear_button_down() -> void:
movement_in.emit("Right Ear", $FlowControls/InFlows/RightEarFlow.value)
func _on_right_ear_button_up() -> void:
movement_out.emit("Right Ear", $FlowControls/OutFlows/RightEarFlow.value)
func _on_left_eyelid_button_down() -> void:
movement_in.emit("Left Eyelid", $FlowControls/InFlows/LeftEyelidFlow.value)
func _on_left_eyelid_button_up() -> void:
movement_out.emit("Left Eyelid", $FlowControls/OutFlows/LeftEyelidFlow.value)
func _on_right_eyelid_button_down() -> void:
movement_in.emit("Right Eyelid", $FlowControls/InFlows/RightEyelidFlow.value)
func _on_right_eyelid_button_up() -> void:
movement_out.emit("Right Eyelid", $FlowControls/OutFlows/RightEyelidFlow.value)
func _on_eyes_left_button_down() -> void:
movement_in.emit("Eyes Left", $FlowControls/InFlows/EyesLeftFlow.value)
func _on_eyes_left_button_up() -> void:
movement_out.emit("Eyes Left", $FlowControls/OutFlows/EyesLeftFlow.value)
func _on_eyes_right_button_down() -> void:
movement_in.emit("Eyes Right", $FlowControls/InFlows/EyesRightFlow.value)
func _on_eyes_right_button_up() -> void:
movement_out.emit("Eyes Right", $FlowControls/OutFlows/EyesRightFlow.value)
func _on_head_left_button_down() -> void:
movement_in.emit("Head Left", $FlowControls/InFlows/HeadLeftFlow.value)
func _on_head_left_button_up() -> void:
movement_out.emit("Head Left", $FlowControls/OutFlows/HeadLeftFlow.value)
func _on_head_right_button_down() -> void:
movement_in.emit("Head Right", $FlowControls/InFlows/HeadRightFlow.value)
func _on_head_right_button_up() -> void:
movement_out.emit("Head Right", $FlowControls/OutFlows/HeadRightFlow.value)
func _on_head_up_button_down() -> void:
movement_in.emit("Head Up", $FlowControls/InFlows/HeadUpFlow.value)
func _on_head_up_button_up() -> void:
movement_out.emit("Head Up", $FlowControls/OutFlows/HeadUpFlow.value)
func _on_left_arm_up_button_down() -> void:
movement_in.emit("Left Arm Up", $FlowControls/InFlows/LeftArmUpFlow.value)
func _on_left_arm_up_button_up() -> void:
movement_out.emit("Left Arm Up", $FlowControls/OutFlows/LeftArmUpFlow.value)
func _on_left_arm_twist_button_down() -> void:
movement_in.emit("Left Arm Twist", $FlowControls/InFlows/LeftArmTwistFlow.value)
func _on_left_arm_twist_button_up() -> void:
movement_out.emit("Left Arm Twist", $FlowControls/OutFlows/LeftArmTwistFlow.value)
func _on_left_elbow_button_down() -> void:
movement_in.emit("Left Elbow", $FlowControls/InFlows/LeftElbowFlow.value)
func _on_left_elbow_button_up() -> void:
movement_out.emit("Left Elbow", $FlowControls/OutFlows/LeftElbowFlow.value)
func _on_right_arm_up_button_down() -> void:
movement_in.emit("Right Arm Up", $FlowControls/InFlows/RightArmUpFlow.value)
func _on_right_arm_up_button_up() -> void:
movement_out.emit("Right Arm Up", $FlowControls/OutFlows/RightArmUpFlow.value)
func _on_right_arm_twist_button_down() -> void:
movement_in.emit("Right Arm Twist", $FlowControls/InFlows/RightArmTwistFlow.value)
func _on_right_arm_twist_button_up() -> void:
movement_out.emit("Right Arm Twist", $FlowControls/OutFlows/RightArmTwistFlow.value)
func _on_right_elbow_button_down() -> void:
movement_in.emit("Right Elbow", $FlowControls/InFlows/RightElbowFlow.value)
func _on_right_elbow_button_up() -> void:
movement_out.emit("Right Elbow", $FlowControls/OutFlows/RightElbowFlow.value)
func _on_body_left_button_down() -> void:
movement_in.emit("Body Left", $FlowControls/InFlows/BodyLeftFlow.value)
func _on_body_left_button_up() -> void:
movement_out.emit("Body Left", $FlowControls/OutFlows/BodyLeftFlow.value)
func _on_body_right_button_down() -> void:
movement_in.emit("Body Right", $FlowControls/InFlows/BodyRightFlow.value)
func _on_body_right_button_up() -> void:
movement_out.emit("Body Right", $FlowControls/OutFlows/BodyRightFlow.value)
func _on_body_lean_button_down() -> void:
movement_in.emit("Body Lean", $FlowControls/InFlows/BodyLeanFlow.value)
func _on_body_lean_button_up() -> void:
movement_out.emit("Body Lean", $FlowControls/OutFlows/BodyLeanFlow.value)
func _on_v_scroll_bar_value_changed(value: float) -> void:
$SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle.position.y = value * -44

50
Scripts/MovementRow.gd Normal file
View file

@ -0,0 +1,50 @@
extends Panel
@export var movement_bit : int = 0;
@export var movement_name : String = "Name"
@export var flow_path : String = "../../../../../../HelenHouseFlyout/FlowControls/"
@export var recording : bool = false
var key_binding : InputEventKey = InputEventKey.new()
var binding : bool = false
signal movement_in(movement, rate)
signal movement_out(movement, rate)
func update_text() -> void:
$Button.text = "%d - %s (%s)" % [movement_bit, movement_name, key_binding.as_text() if key_binding.keycode != 0 else "Unbound"]
func _ready() -> void:
var animatronic = get_node("../../../../../../SubViewport/HelenHouse/3stHelen")
movement_in.connect(animatronic._movement_in)
movement_out.connect(animatronic._movement_out)
movement_in.connect(self._movement_in)
movement_out.connect(self._movement_out)
update_text()
func _movement_in(movement, rate):
pass
func _movement_out(movement, rate):
pass
func _on_button_pressed() -> void:
if (recording): return
if (binding):
update_text()
binding = false
return
if (key_binding.keycode == 0):
$Button.text = "Press a key to bind."
binding = true
else:
key_binding.keycode = 0
update_text()
func _input(event: InputEvent) -> void:
if (event is InputEventKey && binding):
if (event.keycode != KEY_ESCAPE):
key_binding = event
binding = false
update_text()
return

View file

@ -0,0 +1 @@
uid://tn3aaldu7mm2

View file

@ -0,0 +1,6 @@
[gd_resource type="StyleBoxFlat" format=3 uid="uid://d17amc25o63p1"]
[resource]
bg_color = Color(0.0941176, 0.0941176, 0.0941176, 1)
corner_radius_top_right = 4
corner_radius_bottom_right = 4

View file

@ -30,6 +30,87 @@ toggle_editor_screen={
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null)
]
}
sequencer_play_pause={
"deadzone": 0.2,
"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":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
]
}
sequencer_play_reverse={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
]
}
sequencer_fast_forward={
"deadzone": 0.2,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
sequencer_fast_reverse={
"deadzone": 0.2,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":4,"axis_value":1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
sequencer_skip_forward={
"deadzone": 0.2,
"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":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null)
]
}
sequencer_skip_backward={
"deadzone": 0.2,
"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":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null)
]
}
camera_angle_1={
"deadzone": 0.2,
"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":0,"physical_keycode":49,"key_label":0,"unicode":49,"location":0,"echo":false,"script":null)
]
}
camera_angle_2={
"deadzone": 0.2,
"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":0,"physical_keycode":50,"key_label":0,"unicode":50,"location":0,"echo":false,"script":null)
]
}
camera_angle_3={
"deadzone": 0.2,
"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":0,"physical_keycode":51,"key_label":0,"unicode":51,"location":0,"echo":false,"script":null)
]
}
camera_angle_4={
"deadzone": 0.2,
"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":0,"physical_keycode":52,"key_label":0,"unicode":52,"location":0,"echo":false,"script":null)
]
}
camera_angle_5={
"deadzone": 0.2,
"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":0,"physical_keycode":53,"key_label":0,"unicode":53,"location":0,"echo":false,"script":null)
]
}
camera_angle_6={
"deadzone": 0.2,
"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":0,"physical_keycode":54,"key_label":0,"unicode":54,"location":0,"echo":false,"script":null)
]
}
camera_angle_7={
"deadzone": 0.2,
"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":0,"physical_keycode":55,"key_label":0,"unicode":55,"location":0,"echo":false,"script":null)
]
}
camera_angle_8={
"deadzone": 0.2,
"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":0,"physical_keycode":56,"key_label":0,"unicode":56,"location":0,"echo":false,"script":null)
]
}
camera_angle_9={
"deadzone": 0.2,
"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":0,"physical_keycode":57,"key_label":0,"unicode":57,"location":0,"echo":false,"script":null)
]
}
[rendering]