key binding now fully works
This commit is contained in:
parent
d75221dc1b
commit
90043c8e6f
3 changed files with 51 additions and 3 deletions
|
@ -1,8 +1,15 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://dtkqaw5533rxy"]
|
[gd_scene load_steps=4 format=3 uid="uid://dtkqaw5533rxy"]
|
||||||
|
|
||||||
[ext_resource type="StyleBox" uid="uid://d17amc25o63p1" path="res://UI/Themes/MovementsPanelOverride.tres" id="1_d1xev"]
|
[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"]
|
[ext_resource type="Script" uid="uid://tn3aaldu7mm2" path="res://Scripts/MovementRow.gd" id="1_rm5t0"]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rm5t0"]
|
||||||
|
bg_color = Color(0, 1, 0, 1)
|
||||||
|
corner_radius_top_left = 4
|
||||||
|
corner_radius_top_right = 4
|
||||||
|
corner_radius_bottom_right = 4
|
||||||
|
corner_radius_bottom_left = 4
|
||||||
|
|
||||||
[node name="Row" type="Panel"]
|
[node name="Row" type="Panel"]
|
||||||
anchors_preset = 10
|
anchors_preset = 10
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
|
@ -10,6 +17,15 @@ offset_bottom = 40.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
script = ExtResource("1_rm5t0")
|
script = ExtResource("1_rm5t0")
|
||||||
|
|
||||||
|
[node name="ActiveBG" type="Panel" parent="."]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 4.0
|
||||||
|
offset_top = 4.0
|
||||||
|
offset_right = 260.0
|
||||||
|
offset_bottom = 36.0
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxFlat_rm5t0")
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="."]
|
[node name="Button" type="Button" parent="."]
|
||||||
layout_mode = 0
|
layout_mode = 0
|
||||||
offset_left = 4.0
|
offset_left = 4.0
|
||||||
|
|
|
@ -2,9 +2,12 @@ extends Control
|
||||||
|
|
||||||
@export var value : float = 1.0
|
@export var value : float = 1.0
|
||||||
|
|
||||||
|
signal value_updated(new_value: float)
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$Panel/Slider.value = self.value
|
$Panel/Slider.value = self.value
|
||||||
|
|
||||||
func _on_slider_value_changed(value: float) -> void:
|
func _on_slider_value_changed(value: float) -> void:
|
||||||
self.value = $Panel/Slider.value
|
self.value = $Panel/Slider.value
|
||||||
$Panel/ValueLabel.text = str(self.value)
|
$Panel/ValueLabel.text = str(self.value)
|
||||||
|
value_updated.emit(value)
|
||||||
|
|
|
@ -4,9 +4,14 @@ extends Panel
|
||||||
@export var movement_name : String = "Name"
|
@export var movement_name : String = "Name"
|
||||||
@export var flow_path : String = "../../../../../../HelenHouseFlyout/FlowControls/"
|
@export var flow_path : String = "../../../../../../HelenHouseFlyout/FlowControls/"
|
||||||
@export var recording : bool = false
|
@export var recording : bool = false
|
||||||
|
@export var current_index : int = 0;
|
||||||
|
|
||||||
|
var in_flow : float = 1.0
|
||||||
|
var out_flow : float = 1.0
|
||||||
|
|
||||||
var key_binding : InputEventKey = InputEventKey.new()
|
var key_binding : InputEventKey = InputEventKey.new()
|
||||||
var binding : bool = false
|
var binding : bool = false
|
||||||
|
var held_on_previous_frame : bool = false
|
||||||
|
|
||||||
signal movement_in(movement, rate)
|
signal movement_in(movement, rate)
|
||||||
signal movement_out(movement, rate)
|
signal movement_out(movement, rate)
|
||||||
|
@ -14,19 +19,43 @@ signal movement_out(movement, rate)
|
||||||
func update_text() -> void:
|
func update_text() -> void:
|
||||||
$Button.text = "%d - %s (%s)" % [movement_bit, movement_name, key_binding.as_text() if key_binding.keycode != 0 else "Unbound"]
|
$Button.text = "%d - %s (%s)" % [movement_bit, movement_name, key_binding.as_text() if key_binding.keycode != 0 else "Unbound"]
|
||||||
|
|
||||||
|
func _update_in_flow(new_value: float) -> void:
|
||||||
|
in_flow = new_value
|
||||||
|
|
||||||
|
func _update_out_flow(new_value: float) -> void:
|
||||||
|
out_flow = new_value
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
var animatronic = get_node("../../../../../../SubViewport/HelenHouse/3stHelen")
|
var animatronic = get_node("../../../../../../SubViewport/HelenHouse/3stHelen")
|
||||||
|
if (flow_path != "None"):
|
||||||
|
var if_node = get_node(flow_path + "InFlows/" + movement_name.replace(" ", "") + "Flow")
|
||||||
|
var of_node = get_node(flow_path + "OutFlows/" + movement_name.replace(" ", "") + "Flow")
|
||||||
|
if_node.value_updated.connect(self._update_in_flow)
|
||||||
|
of_node.value_updated.connect(self._update_out_flow)
|
||||||
|
in_flow = if_node.value
|
||||||
|
out_flow = of_node.value
|
||||||
movement_in.connect(animatronic._movement_in)
|
movement_in.connect(animatronic._movement_in)
|
||||||
movement_out.connect(animatronic._movement_out)
|
movement_out.connect(animatronic._movement_out)
|
||||||
movement_in.connect(self._movement_in)
|
movement_in.connect(self._movement_in)
|
||||||
movement_out.connect(self._movement_out)
|
movement_out.connect(self._movement_out)
|
||||||
update_text()
|
update_text()
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if (binding): return
|
||||||
|
if (Input.is_key_pressed(key_binding.keycode)):
|
||||||
|
if (!held_on_previous_frame):
|
||||||
|
movement_in.emit(movement_name, in_flow)
|
||||||
|
held_on_previous_frame = true;
|
||||||
|
else:
|
||||||
|
if (held_on_previous_frame):
|
||||||
|
movement_out.emit(movement_name, out_flow)
|
||||||
|
held_on_previous_frame = false;
|
||||||
|
|
||||||
func _movement_in(movement, rate):
|
func _movement_in(movement, rate):
|
||||||
pass
|
$ActiveBG.visible = true
|
||||||
|
|
||||||
func _movement_out(movement, rate):
|
func _movement_out(movement, rate):
|
||||||
pass
|
$ActiveBG.visible = false
|
||||||
|
|
||||||
func _on_button_pressed() -> void:
|
func _on_button_pressed() -> void:
|
||||||
if (recording): return
|
if (recording): return
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue