generated from krampus/template-godot4
Input prompts show during play after the player is idle for a few seconds
This commit is contained in:
parent
b431c4715a
commit
b3821b4156
|
@ -125,6 +125,15 @@ ACTION_pause,Pause
|
|||
ACTION_ball_next,"Select next ball"
|
||||
ACTION_ball_previous,"Select previous ball"
|
||||
,
|
||||
ACTION_FREE_CAMERA,"Free Camera"
|
||||
ACTION_AIM,Aim
|
||||
ACTION_ZOOM,Zoom
|
||||
ACTION_HOLD_MODIFIER,(hold)
|
||||
ACTION_SET_POWER,"Set Power Level"
|
||||
ACTION_SET_CURVE,"Set Shot Curve"
|
||||
ACTION_CHANGE_BALL,"Switch Ball"
|
||||
ACTION_CHANGE_CLUB,"Switch Club"
|
||||
,
|
||||
CLUB_DRIVER,Driver
|
||||
CLUB_IRON,Iron
|
||||
CLUB_WEDGE,Wedge
|
||||
|
|
|
|
@ -119,6 +119,7 @@ _data = {
|
|||
[node name="Game" type="Node" groups=["GameGroup"]]
|
||||
process_mode = 3
|
||||
script = ExtResource("1_4qa87")
|
||||
start_scene = "res://src/world/world.tscn"
|
||||
|
||||
[node name="RootControl" type="Control" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
|
|
@ -161,6 +161,7 @@ var _tracking_camera: OrbitalCamera
|
|||
@onready var downswing_timer: Timer = %DownswingTimer
|
||||
@onready var ball_return_timer: Timer = %BallReturnTimer
|
||||
@onready var reset_prompt_timer: Timer = %ResetPromptTimer
|
||||
@onready var idle_prompt_timer: Timer = %IdlePromptTimer
|
||||
|
||||
@onready var explosion_animation: AnimationPlayer = %ExplosionAnimation
|
||||
@onready var player_label: Label3D = %PlayerLabel
|
||||
|
@ -217,6 +218,10 @@ func _set_camera_distance(value: float) -> void:
|
|||
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
# Hide idle prompts if shown & reset timer
|
||||
hud.hide_idle_prompts()
|
||||
idle_prompt_timer.start()
|
||||
|
||||
if event is InputEventMouseButton:
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
elif event is InputEventMouseMotion:
|
||||
|
@ -471,6 +476,9 @@ func _on_phase_change(new_phase: Phase) -> void:
|
|||
reset_prompt_timer.stop()
|
||||
reset_enabled = false
|
||||
|
||||
idle_prompt_timer.start()
|
||||
hud.hide_idle_prompts()
|
||||
|
||||
match new_phase:
|
||||
Phase.AIM:
|
||||
hud.show_hud()
|
||||
|
@ -483,7 +491,6 @@ func _on_phase_change(new_phase: Phase) -> void:
|
|||
character.reset()
|
||||
Phase.POWER_ADJUST:
|
||||
hud.curve_bar.hide()
|
||||
|
||||
hud.power_bar.show()
|
||||
hud.reset_power_bar() # Reset if needed
|
||||
Phase.CURVE_ADJUST:
|
||||
|
@ -705,3 +712,13 @@ static func create(_player: WorldPlayer) -> ShotSetup:
|
|||
var instance: ShotSetup = ShotSetup.scene.instantiate()
|
||||
instance.player = _player
|
||||
return instance
|
||||
|
||||
|
||||
func _on_idle_prompt_timer_timeout() -> void:
|
||||
match phase:
|
||||
Phase.AIM:
|
||||
hud.show_aim_prompt()
|
||||
Phase.POWER_ADJUST:
|
||||
hud.show_power_prompt()
|
||||
Phase.CURVE_ADJUST:
|
||||
hud.show_curve_prompt()
|
||||
|
|
|
@ -589,20 +589,6 @@ libraries = {
|
|||
"": SubResource("AnimationLibrary_u78hq")
|
||||
}
|
||||
|
||||
[node name="DownswingTimer" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
wait_time = 0.42
|
||||
one_shot = true
|
||||
|
||||
[node name="BallReturnTimer" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
one_shot = true
|
||||
|
||||
[node name="ResetPromptTimer" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
wait_time = 45.0
|
||||
one_shot = true
|
||||
|
||||
[node name="Hitbox" type="Area3D" parent="."]
|
||||
script = ExtResource("7_uh8kn")
|
||||
|
||||
|
@ -648,10 +634,32 @@ line_spacing = -16.0
|
|||
autowrap_mode = 2
|
||||
width = 120.0
|
||||
|
||||
[node name="Timers" type="Node" parent="."]
|
||||
|
||||
[node name="DownswingTimer" type="Timer" parent="Timers"]
|
||||
unique_name_in_owner = true
|
||||
wait_time = 0.42
|
||||
one_shot = true
|
||||
|
||||
[node name="BallReturnTimer" type="Timer" parent="Timers"]
|
||||
unique_name_in_owner = true
|
||||
one_shot = true
|
||||
|
||||
[node name="ResetPromptTimer" type="Timer" parent="Timers"]
|
||||
unique_name_in_owner = true
|
||||
wait_time = 45.0
|
||||
one_shot = true
|
||||
|
||||
[node name="IdlePromptTimer" type="Timer" parent="Timers"]
|
||||
unique_name_in_owner = true
|
||||
wait_time = 5.0
|
||||
one_shot = true
|
||||
|
||||
[connection signal="tree_exiting" from="." to="." method="_on_tree_exiting"]
|
||||
[connection signal="ball_changed" from="BallPoint" to="." method="_on_game_ball_changed"]
|
||||
[connection signal="timeout" from="DownswingTimer" to="." method="finish_downswing"]
|
||||
[connection signal="timeout" from="BallReturnTimer" to="." method="_on_ball_return_timer_timeout"]
|
||||
[connection signal="timeout" from="ResetPromptTimer" to="." method="_on_reset_prompt_timer_timeout"]
|
||||
[connection signal="ball_collision" from="Hitbox" to="." method="_on_hitbox_ball_collision"]
|
||||
[connection signal="body_entered" from="Hitbox" to="Hitbox" method="_on_body_entered"]
|
||||
[connection signal="timeout" from="Timers/DownswingTimer" to="." method="finish_downswing"]
|
||||
[connection signal="timeout" from="Timers/BallReturnTimer" to="." method="_on_ball_return_timer_timeout"]
|
||||
[connection signal="timeout" from="Timers/ResetPromptTimer" to="." method="_on_reset_prompt_timer_timeout"]
|
||||
[connection signal="timeout" from="Timers/IdlePromptTimer" to="." method="_on_idle_prompt_timer_timeout"]
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
class_name Fader extends Control
|
||||
## A UI container which fades between child elements
|
||||
## I don't want to write logic to check for non CanvasItems here so don't try it.
|
||||
|
||||
## Time in seconds for which an element will be shown before fading out.
|
||||
@export var show_time := 2.0
|
||||
|
||||
## Time in seconds for an element to fade in or out.
|
||||
@export var fade_time := 0.4
|
||||
|
||||
## Time in seconds for which an element will be hidden before fading in.
|
||||
@export var hidden_time := 0.0
|
||||
|
||||
## Modulate color when fully visible
|
||||
@export var visible_modulate := Color.WHITE
|
||||
|
||||
## Modulate color when fully hidden
|
||||
@export var hidden_modulate := Color.TRANSPARENT
|
||||
|
||||
var _index := -1
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if get_child_count() == 0:
|
||||
return
|
||||
|
||||
# Hide all children initially
|
||||
for child: Node in get_children():
|
||||
var canvas_item: CanvasItem = child
|
||||
canvas_item.hide()
|
||||
canvas_item.modulate = hidden_modulate
|
||||
|
||||
# Start animation cycle
|
||||
_fade_next_child()
|
||||
|
||||
|
||||
func _fade_next_child() -> void:
|
||||
_index = wrapi(_index + 1, 0, get_child_count())
|
||||
var child: CanvasItem = get_children()[_index]
|
||||
child.show()
|
||||
var tween := create_tween()
|
||||
tween.tween_property(child, "modulate", visible_modulate, fade_time)
|
||||
tween.tween_interval(show_time)
|
||||
tween.tween_property(child, "modulate", hidden_modulate, fade_time)
|
||||
tween.tween_interval(hidden_time)
|
||||
tween.tween_callback(child.hide)
|
||||
tween.tween_callback(_fade_next_child)
|
|
@ -50,7 +50,7 @@ tracks/0/keys = {
|
|||
tracks/1/type = "method"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../../..")
|
||||
tracks/1/path = NodePath("../../../..")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
|
|
|
@ -69,7 +69,7 @@ tracks/0/keys = {
|
|||
tracks/1/type = "method"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../../..")
|
||||
tracks/1/path = NodePath("../../../..")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
|
|
|
@ -1482,7 +1482,7 @@ grow_horizontal = 2
|
|||
grow_vertical = 2
|
||||
|
||||
[node name="PressStart" type="Label" parent="Menu"]
|
||||
modulate = Color(1, 1, 1, 0.976854)
|
||||
modulate = Color(1, 1, 1, 0.974307)
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
|
|
|
@ -14,6 +14,10 @@ const LIFE_BAR_HEAL_TIME := 1.0
|
|||
|
||||
var player: WorldPlayer
|
||||
|
||||
var _aim_prompt_shown := false
|
||||
var _power_prompt_shown := false
|
||||
var _curve_prompt_shown := false
|
||||
|
||||
@onready var power_bar: TextureProgressBar = %PowerBar
|
||||
@onready var curve_bar: CurveBar = %CurveBar
|
||||
|
||||
|
@ -36,6 +40,10 @@ var player: WorldPlayer
|
|||
@onready var _player_name: Label = %PlayerName
|
||||
|
||||
@onready var _reset_prompt_animation: AnimationPlayer = %ResetPromptAnimation
|
||||
@onready var _aim_equip_prompt_animation: AnimationPlayer = %AimEquipPromptAnimation
|
||||
@onready var _aim_prompt_animation: AnimationPlayer = %AimPromptAnimation
|
||||
@onready var _power_prompt_animation: AnimationPlayer = %PowerPromptAnimation
|
||||
@onready var _curve_prompt_animation: AnimationPlayer = %CurvePromptAnimation
|
||||
|
||||
@onready var _life_bar_rumbler: Rumbler = %LifeBarRumbler
|
||||
|
||||
|
@ -118,6 +126,54 @@ func hide_reset_prompt() -> void:
|
|||
_reset_prompt_animation.play_backwards("show")
|
||||
|
||||
|
||||
func _is_animation_at_neutral(player: AnimationPlayer) -> bool:
|
||||
return player.current_animation and false
|
||||
|
||||
|
||||
func show_aim_prompt() -> void:
|
||||
if not _aim_prompt_shown:
|
||||
_aim_prompt_shown = true
|
||||
_aim_equip_prompt_animation.play("show")
|
||||
_aim_prompt_animation.play("show")
|
||||
|
||||
|
||||
func hide_aim_prompt() -> void:
|
||||
if _aim_prompt_shown:
|
||||
_aim_prompt_shown = false
|
||||
_aim_equip_prompt_animation.play_backwards("show")
|
||||
_aim_prompt_animation.play_backwards("show")
|
||||
|
||||
|
||||
func show_power_prompt() -> void:
|
||||
if not _power_prompt_shown:
|
||||
_power_prompt_shown = true
|
||||
_power_prompt_animation.play("show")
|
||||
|
||||
|
||||
func hide_power_prompt() -> void:
|
||||
if _power_prompt_shown:
|
||||
_power_prompt_shown = false
|
||||
_power_prompt_animation.play_backwards("show")
|
||||
|
||||
|
||||
func show_curve_prompt() -> void:
|
||||
if not _curve_prompt_shown:
|
||||
_curve_prompt_shown = true
|
||||
_curve_prompt_animation.play("show")
|
||||
|
||||
|
||||
func hide_curve_prompt() -> void:
|
||||
if _curve_prompt_shown:
|
||||
_curve_prompt_shown = false
|
||||
_curve_prompt_animation.play_backwards("show")
|
||||
|
||||
|
||||
func hide_idle_prompts() -> void:
|
||||
hide_aim_prompt()
|
||||
hide_power_prompt()
|
||||
hide_curve_prompt()
|
||||
|
||||
|
||||
## Set the value of the life bar, potentially playing some kind of effect in response.
|
||||
##
|
||||
## To set the life bar without triggering an effect, set it directly with `life_bar.value`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=47 format=3 uid="uid://c4ifdiohng830"]
|
||||
[gd_scene load_steps=51 format=3 uid="uid://c4ifdiohng830"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/ui/shot_hud/shot_hud.gd" id="1_x5b4c"]
|
||||
[ext_resource type="Shader" path="res://src/shaders/canvas_retro.gdshader" id="1_ybxxp"]
|
||||
|
@ -18,6 +18,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://b47goj32i6sdh" path="res://src/ui/elements/input_prompt/input_prompt.tscn" id="14_ik4gg"]
|
||||
[ext_resource type="Texture2D" uid="uid://y07v10c8r1s6" path="res://assets/sprites/particles/health.png" id="15_eyqdi"]
|
||||
[ext_resource type="AudioStream" uid="uid://csbrinugqepk3" path="res://assets/sound/sfx/player/heal.wav" id="16_pub5c"]
|
||||
[ext_resource type="Script" path="res://src/ui/decorations/fader.gd" id="19_vn2m0"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2gt87"]
|
||||
resource_name = "RESET"
|
||||
|
@ -477,17 +478,52 @@ _data = {
|
|||
"idle": SubResource("Animation_ornnh")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i0y3d"]
|
||||
length = 0.001
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:offset_bottom")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0, -0.2, 0, 0.2, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2o53u"]
|
||||
resource_name = "show"
|
||||
length = 0.4
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:offset_bottom")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0),
|
||||
"points": PackedFloat32Array(0, -0.2, 0, 0.2, 0, 55, -0.2, 0, 0.2, 0),
|
||||
"times": PackedFloat32Array(0, 0.4)
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_e82k6"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_i0y3d"),
|
||||
"show": SubResource("Animation_2o53u")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qjs4v"]
|
||||
length = 0.001
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position:y")
|
||||
tracks/0/path = NodePath(".:offset_bottom")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(-55, -0.25, 0, 0.25, 0),
|
||||
"points": PackedFloat32Array(55, -0.2, 0, 0.2, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
|
||||
|
@ -497,12 +533,12 @@ length = 0.4
|
|||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position:y")
|
||||
tracks/0/path = NodePath(".:offset_bottom")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0),
|
||||
"points": PackedFloat32Array(-55, -0.25, 0, 0.0709939, 50.4391, 0, -0.251647, 15.8692, 0.2, 0),
|
||||
"points": PackedFloat32Array(55, -0.2, 0, 0.2, 0, 0, -0.2, 0, 0.2, 0),
|
||||
"times": PackedFloat32Array(0, 0.4)
|
||||
}
|
||||
|
||||
|
@ -784,25 +820,33 @@ libraries = {
|
|||
"": SubResource("AnimationLibrary_c3i4w")
|
||||
}
|
||||
|
||||
[node name="ResetPrompt" type="MarginContainer" parent="."]
|
||||
[node name="Prompts" type="Control" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="ResetPrompt" type="MarginContainer" parent="Prompts"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -237.5
|
||||
offset_top = -55.0
|
||||
offset_right = 237.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_constants/margin_top = 16
|
||||
|
||||
[node name="ResetInputPrompt" parent="ResetPrompt" instance=ExtResource("14_ik4gg")]
|
||||
[node name="ResetInputPrompt" parent="Prompts/ResetPrompt" instance=ExtResource("14_ik4gg")]
|
||||
clip_children = 2
|
||||
layout_mode = 2
|
||||
text = "❓ - ACTION_shot_reset"
|
||||
uppercase = true
|
||||
action = &"shot_reset"
|
||||
|
||||
[node name="Glint" type="TextureRect" parent="ResetPrompt/ResetInputPrompt"]
|
||||
[node name="Glint" type="TextureRect" parent="Prompts/ResetPrompt/ResetInputPrompt"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = -1.0
|
||||
|
@ -811,13 +855,387 @@ grow_horizontal = 2
|
|||
grow_vertical = 2
|
||||
texture = SubResource("GradientTexture2D_q43a6")
|
||||
|
||||
[node name="GlintAnimation" type="AnimationPlayer" parent="ResetPrompt/ResetInputPrompt"]
|
||||
[node name="GlintAnimation" type="AnimationPlayer" parent="Prompts/ResetPrompt/ResetInputPrompt"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_bdkm3")
|
||||
}
|
||||
autoplay = "idle"
|
||||
|
||||
[node name="ResetPromptAnimation" type="AnimationPlayer" parent="ResetPrompt"]
|
||||
[node name="ResetPromptAnimation" type="AnimationPlayer" parent="Prompts/ResetPrompt"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_e82k6")
|
||||
}
|
||||
|
||||
[node name="AimEquipPrompts" type="MarginContainer" parent="Prompts"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Prompts/AimEquipPrompts"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 64
|
||||
|
||||
[node name="ChangeClubPrompt" type="HBoxContainer" parent="Prompts/AimEquipPrompts/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPromptContainer"
|
||||
|
||||
[node name="ClubControlFader" type="Control" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeClubPrompt"]
|
||||
custom_minimum_size = Vector2(32, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
script = ExtResource("19_vn2m0")
|
||||
show_time = 1.0
|
||||
fade_time = 0.2
|
||||
|
||||
[node name="InputPrompt" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeClubPrompt/ClubControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"club_next"
|
||||
show_name = false
|
||||
|
||||
[node name="InputPrompt2" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeClubPrompt/ClubControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"club_previous"
|
||||
show_name = false
|
||||
|
||||
[node name="Label" type="Label" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeClubPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "-"
|
||||
|
||||
[node name="Label2" type="Label" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeClubPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "ACTION_CHANGE_CLUB"
|
||||
|
||||
[node name="ChangeBallPrompt" type="HBoxContainer" parent="Prompts/AimEquipPrompts/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPromptContainer"
|
||||
|
||||
[node name="BallControlFader" type="Control" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeBallPrompt"]
|
||||
custom_minimum_size = Vector2(32, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
script = ExtResource("19_vn2m0")
|
||||
show_time = 1.0
|
||||
fade_time = 0.2
|
||||
|
||||
[node name="InputPrompt" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeBallPrompt/BallControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"ball_next"
|
||||
show_name = false
|
||||
|
||||
[node name="InputPrompt2" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeBallPrompt/BallControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"ball_previous"
|
||||
show_name = false
|
||||
|
||||
[node name="Label" type="Label" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeBallPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "-"
|
||||
|
||||
[node name="Label2" type="Label" parent="Prompts/AimEquipPrompts/HBoxContainer/ChangeBallPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "ACTION_CHANGE_BALL"
|
||||
|
||||
[node name="AimEquipPromptAnimation" type="AnimationPlayer" parent="Prompts/AimEquipPrompts"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_e82k6")
|
||||
}
|
||||
|
||||
[node name="AimPrompts" type="MarginContainer" parent="Prompts"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_top = 60.0
|
||||
offset_bottom = 55.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Prompts/AimPrompts"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 64
|
||||
|
||||
[node name="AcceptPrompt" parent="Prompts/AimPrompts/HBoxContainer" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 2
|
||||
text = "❓ - ACTION_shot_accept"
|
||||
action = &"shot_accept"
|
||||
|
||||
[node name="FreeCameraPrompt" type="HBoxContainer" parent="Prompts/AimPrompts/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPromptContainer"
|
||||
|
||||
[node name="FreeCamControlFader" type="Control" parent="Prompts/AimPrompts/HBoxContainer/FreeCameraPrompt"]
|
||||
custom_minimum_size = Vector2(32, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
script = ExtResource("19_vn2m0")
|
||||
show_time = 1.0
|
||||
fade_time = 0.2
|
||||
|
||||
[node name="InputPrompt" parent="Prompts/AimPrompts/HBoxContainer/FreeCameraPrompt/FreeCamControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"camera_forward"
|
||||
show_name = false
|
||||
|
||||
[node name="InputPrompt2" parent="Prompts/AimPrompts/HBoxContainer/FreeCameraPrompt/FreeCamControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"camera_left"
|
||||
show_name = false
|
||||
|
||||
[node name="InputPrompt3" parent="Prompts/AimPrompts/HBoxContainer/FreeCameraPrompt/FreeCamControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"camera_back"
|
||||
show_name = false
|
||||
|
||||
[node name="InputPrompt4" parent="Prompts/AimPrompts/HBoxContainer/FreeCameraPrompt/FreeCamControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"camera_right"
|
||||
show_name = false
|
||||
|
||||
[node name="Label" type="Label" parent="Prompts/AimPrompts/HBoxContainer/FreeCameraPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "-"
|
||||
|
||||
[node name="Label2" type="Label" parent="Prompts/AimPrompts/HBoxContainer/FreeCameraPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "ACTION_FREE_CAMERA"
|
||||
|
||||
[node name="ZoomPrompt" type="HBoxContainer" parent="Prompts/AimPrompts/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPromptContainer"
|
||||
|
||||
[node name="ZoomControlFader" type="Control" parent="Prompts/AimPrompts/HBoxContainer/ZoomPrompt"]
|
||||
custom_minimum_size = Vector2(32, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
script = ExtResource("19_vn2m0")
|
||||
show_time = 1.0
|
||||
fade_time = 0.2
|
||||
|
||||
[node name="InputPrompt" parent="Prompts/AimPrompts/HBoxContainer/ZoomPrompt/ZoomControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"shot_zoom_in"
|
||||
show_name = false
|
||||
|
||||
[node name="InputPrompt2" parent="Prompts/AimPrompts/HBoxContainer/ZoomPrompt/ZoomControlFader" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 6
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -32.0
|
||||
offset_top = -19.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 0
|
||||
text = "❓"
|
||||
action = &"shot_zoom_out"
|
||||
show_name = false
|
||||
|
||||
[node name="Label" type="Label" parent="Prompts/AimPrompts/HBoxContainer/ZoomPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "-"
|
||||
|
||||
[node name="Label2" type="Label" parent="Prompts/AimPrompts/HBoxContainer/ZoomPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "ACTION_ZOOM"
|
||||
|
||||
[node name="AimPrompt" type="HBoxContainer" parent="Prompts/AimPrompts/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPromptContainer"
|
||||
|
||||
[node name="Label" type="Label" parent="Prompts/AimPrompts/HBoxContainer/AimPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "⟺ -"
|
||||
|
||||
[node name="Label2" type="Label" parent="Prompts/AimPrompts/HBoxContainer/AimPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "ACTION_AIM"
|
||||
|
||||
[node name="AimPromptAnimation" type="AnimationPlayer" parent="Prompts/AimPrompts"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_o70c6")
|
||||
}
|
||||
|
||||
[node name="PowerPrompt" type="MarginContainer" parent="Prompts"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_bottom = 55.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Prompts/PowerPrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPromptContainer"
|
||||
|
||||
[node name="InputPrompt" parent="Prompts/PowerPrompt/HBoxContainer" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 2
|
||||
text = "❓"
|
||||
action = &"shot_accept"
|
||||
show_name = false
|
||||
|
||||
[node name="Label" type="Label" parent="Prompts/PowerPrompt/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "ACTION_HOLD_MODIFIER"
|
||||
|
||||
[node name="Label2" type="Label" parent="Prompts/PowerPrompt/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "-"
|
||||
|
||||
[node name="Label3" type="Label" parent="Prompts/PowerPrompt/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "ACTION_SET_POWER"
|
||||
|
||||
[node name="PowerPromptAnimation" type="AnimationPlayer" parent="Prompts/PowerPrompt"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_o70c6")
|
||||
}
|
||||
|
||||
[node name="CurvePrompt" type="MarginContainer" parent="Prompts"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_bottom = 55.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Prompts/CurvePrompt"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPromptContainer"
|
||||
|
||||
[node name="InputPrompt" parent="Prompts/CurvePrompt/HBoxContainer" instance=ExtResource("14_ik4gg")]
|
||||
layout_mode = 2
|
||||
text = "❓"
|
||||
action = &"shot_accept"
|
||||
show_name = false
|
||||
|
||||
[node name="Label2" type="Label" parent="Prompts/CurvePrompt/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "-"
|
||||
|
||||
[node name="Label3" type="Label" parent="Prompts/CurvePrompt/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"InputPrompt"
|
||||
text = "ACTION_SET_CURVE"
|
||||
|
||||
[node name="CurvePromptAnimation" type="AnimationPlayer" parent="Prompts/CurvePrompt"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_o70c6")
|
||||
|
|
Loading…
Reference in New Issue