Add input sound cues to battle controls
This commit is contained in:
@@ -12,6 +12,7 @@ func _init() -> void:
|
||||
_check_scene_post_move_edge_positioning(failures)
|
||||
_check_scene_post_move_scrolled_view_positioning(failures)
|
||||
_check_scene_post_move_menu_tracks_map_scroll(failures)
|
||||
_check_scene_input_audio_cues(failures)
|
||||
_check_scene_post_move_text_fit(failures)
|
||||
_check_scene_post_move_blocked_command_labels(failures)
|
||||
_check_scene_post_move_tactic_picker_flow(failures)
|
||||
@@ -315,6 +316,46 @@ func _check_scene_post_move_menu_tracks_map_scroll(failures: Array[String]) -> v
|
||||
scene.free()
|
||||
|
||||
|
||||
func _check_scene_input_audio_cues(failures: Array[String]) -> void:
|
||||
var scene = BattleSceneScript.new()
|
||||
scene._create_hud()
|
||||
scene._create_audio()
|
||||
if not scene.state.load_battle("res://data/scenarios/001_yellow_turbans.json"):
|
||||
failures.append("could not load opening battle for input audio cues")
|
||||
scene.free()
|
||||
return
|
||||
scene.battle_started = true
|
||||
scene.campaign_complete_screen = false
|
||||
scene.briefing_panel.visible = false
|
||||
scene.result_panel.visible = false
|
||||
scene._clear_pending_move_state()
|
||||
|
||||
var cao_cao: Dictionary = scene.state.get_unit("cao_cao")
|
||||
var cao_cell: Vector2i = cao_cao.get("pos", Vector2i(-1, -1))
|
||||
scene.recent_sfx_keys.clear()
|
||||
scene._handle_board_click(_screen_for_cell(cao_cell))
|
||||
if not scene.recent_sfx_keys.has("ui_click"):
|
||||
failures.append("selecting a unit from the map should request a UI click sound: %s" % str(scene.recent_sfx_keys))
|
||||
|
||||
scene.recent_sfx_keys.clear()
|
||||
var minimap_press := InputEventMouseButton.new()
|
||||
minimap_press.button_index = MOUSE_BUTTON_LEFT
|
||||
minimap_press.pressed = true
|
||||
minimap_press.position = scene._minimap_map_rect().get_center()
|
||||
if not scene._handle_minimap_mouse_button(minimap_press):
|
||||
failures.append("minimap press should be handled for audio cue validation")
|
||||
if not scene.recent_sfx_keys.has("ui_click"):
|
||||
failures.append("clicking the minimap should request a UI click sound: %s" % str(scene.recent_sfx_keys))
|
||||
|
||||
scene.title_sfx_enabled = false
|
||||
scene.state.clear_selection()
|
||||
scene.recent_sfx_keys.clear()
|
||||
scene._handle_board_click(_screen_for_cell(cao_cell))
|
||||
if not scene.recent_sfx_keys.is_empty():
|
||||
failures.append("disabled SFX should suppress input audio requests: %s" % str(scene.recent_sfx_keys))
|
||||
scene.free()
|
||||
|
||||
|
||||
func _check_scene_post_move_text_fit(failures: Array[String]) -> void:
|
||||
var scene = BattleSceneScript.new()
|
||||
scene._create_hud()
|
||||
|
||||
Reference in New Issue
Block a user