More work on pawn select sounds and controls.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
extends Control
|
||||
|
||||
var pawns = [
|
||||
var pawns : Array[PawnData] = [
|
||||
preload("res://data/pawns/van_reily.tres"),
|
||||
preload("res://data/pawns/lou_riche.tres"),
|
||||
preload("res://data/pawns/tico.tres"),
|
||||
@@ -8,3 +8,54 @@ var pawns = [
|
||||
preload("res://data/pawns/abdoll_relin.tres"),
|
||||
preload("res://data/pawns/tenrou_ugetsu.tres")
|
||||
]
|
||||
|
||||
var selector_wait : float = 0
|
||||
var selection : int = 0
|
||||
var selected : int = -1
|
||||
@onready var selector = %Selector
|
||||
@onready var selector_start : Control = %SelectorStart
|
||||
@onready var p1_pawn_display : PawnDisplay = %P1PawnDisplay
|
||||
@onready var switch_sound : AudioStreamPlayer = %SwitchSound
|
||||
@onready var select_sound : AudioStreamPlayer = %SelectSound
|
||||
|
||||
func _ready() -> void:
|
||||
#Set up each pawn on bottom
|
||||
#Highlight P1 pawn as 0
|
||||
change_display(1, 0)
|
||||
pass
|
||||
|
||||
|
||||
func _process(delta : float) -> void:
|
||||
if selected != -1:
|
||||
return
|
||||
|
||||
if Input.is_action_just_pressed("ui_accept"):
|
||||
selected = selection
|
||||
selector.play_animation("selected")
|
||||
select_sound.play()
|
||||
|
||||
if selector_wait > 0:
|
||||
selector_wait -= delta
|
||||
return
|
||||
var input_vector = Input.get_vector("west","east","north","south")
|
||||
var move_dir : Vector2 = Vector2.ZERO
|
||||
|
||||
if input_vector.x < 0:
|
||||
move_dir.x -= 1
|
||||
|
||||
if input_vector.x > 0:
|
||||
move_dir.x += 1
|
||||
|
||||
if move_dir.x != 0:
|
||||
selection = wrapi(selection + sign(move_dir.x),0, len(pawns))
|
||||
change_display(1, selection)
|
||||
selector.position = selector_start.position + Vector2(175 * selection, 0)
|
||||
switch_sound.play()
|
||||
selector_wait = 0.25
|
||||
|
||||
func change_display(player : int, selection: int) -> void:
|
||||
var pd : PawnDisplay
|
||||
if player == 1:
|
||||
pd = p1_pawn_display
|
||||
pd.set_pawn_name(pawns[selection].name)
|
||||
pd.set_traps(pawns[selection].starting_traps)
|
||||
|
||||
Reference in New Issue
Block a user