adding skipping logic
This commit is contained in:
parent
008279fa83
commit
a93e134c26
|
|
@ -0,0 +1,46 @@
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
signal skip
|
||||||
|
@export var skip_delay: float = 0.5
|
||||||
|
@export var costum_owner: NodePath
|
||||||
|
var time_pressed: float = 0
|
||||||
|
@onready var button: Button = $"Skip Button"
|
||||||
|
@onready var progress: ProgressBar = $ProgressBar
|
||||||
|
var pressed: bool
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
owner = get_node(costum_owner)
|
||||||
|
|
||||||
|
if owner == null:
|
||||||
|
owner = get_parent().get_parent()
|
||||||
|
|
||||||
|
owner.connect("visibility_changed", Callable(self, "owner_visibility_changed"))
|
||||||
|
visible = owner.visible
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
if pressed and visible:
|
||||||
|
time_pressed += delta
|
||||||
|
progress.value = time_pressed / skip_delay
|
||||||
|
if time_pressed >= skip_delay:
|
||||||
|
emit_signal("skip")
|
||||||
|
pressed = false
|
||||||
|
time_pressed = 0
|
||||||
|
|
||||||
|
func _input(event):
|
||||||
|
if visible:
|
||||||
|
if event.is_action_pressed("skip"):
|
||||||
|
pressed = true
|
||||||
|
elif event.is_action_released("skip"):
|
||||||
|
pressed = false
|
||||||
|
time_pressed = 0
|
||||||
|
|
||||||
|
func owner_visibility_changed():
|
||||||
|
visible = owner.visible
|
||||||
|
|
||||||
|
func _on_skip_button_toggled(button_pressed):
|
||||||
|
if button_pressed:
|
||||||
|
pressed = true
|
||||||
|
else:
|
||||||
|
pressed = false
|
||||||
|
time_pressed = 0
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
[gd_scene load_steps=2 format=3 uid="uid://dvwuhobhka78d"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://logic-scenes/misc/skip_control.gd" id="1_s6riu"]
|
||||||
|
|
||||||
|
[node name="skip_control" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 0
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 8
|
||||||
|
script = ExtResource("1_s6riu")
|
||||||
|
|
||||||
|
[node name="ProgressBar" type="ProgressBar" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -160.0
|
||||||
|
offset_top = -19.5
|
||||||
|
offset_right = 160.0
|
||||||
|
offset_bottom = 19.5
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
max_value = 1.0
|
||||||
|
show_percentage = false
|
||||||
|
|
||||||
|
[node name="Skip Button" type="Button" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -108.0
|
||||||
|
offset_top = -21.5
|
||||||
|
offset_right = 108.0
|
||||||
|
offset_bottom = 21.5
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
text = "hold x or [ ] to skip"
|
||||||
|
|
||||||
|
[connection signal="toggled" from="Skip Button" to="." method="_on_skip_button_toggled"]
|
||||||
Loading…
Reference in New Issue