Standardize lowercase UI presentation

This commit is contained in:
Alexander Sellite 2026-07-26 23:20:51 -04:00
parent 7ab3c86e93
commit 633bbd9a88
29 changed files with 100 additions and 100 deletions

View file

@ -5,7 +5,7 @@
[resource] [resource]
script = ExtResource("1_profile") script = ExtResource("1_profile")
id = &"main_fishing_shop" id = &"main_fishing_shop"
display_name = "Main Fishing Shop" display_name = "main fishing shop"
animal_name_singular = "shopkeeper" animal_name_singular = "shopkeeper"
animal_name_plural = "shopkeepers" animal_name_plural = "shopkeepers"
payout_multiplier = 1.0 payout_multiplier = 1.0

View file

@ -5,7 +5,7 @@
[resource] [resource]
script = ExtResource("1_profile") script = ExtResource("1_profile")
id = &"pelicans" id = &"pelicans"
display_name = "Pelicans" display_name = "pelicans"
animal_name_singular = "pelican" animal_name_singular = "pelican"
animal_name_plural = "pelicans" animal_name_plural = "pelicans"
payout_multiplier = 0.25 payout_multiplier = 0.25

View file

@ -5,7 +5,7 @@
[resource] [resource]
script = ExtResource("1_profile") script = ExtResource("1_profile")
id = &"trading_post" id = &"trading_post"
display_name = "Trading Post" display_name = "trading post"
animal_name_singular = "otter" animal_name_singular = "otter"
animal_name_plural = "otters" animal_name_plural = "otters"
payout_multiplier = 0.85 payout_multiplier = 0.85

View file

@ -39,7 +39,7 @@ func get_sale_message(
var buyer_name: String = animal_name_plural var buyer_name: String = animal_name_plural
if buyer_name.is_empty(): if buyer_name.is_empty():
buyer_name = display_name buyer_name = display_name
return "You sold your %s to the %s for $%d." % [ return "you sold your %s to the %s for $%d." % [
fish_name, fish_name,
buyer_name, buyer_name,
payout, payout,

View file

@ -385,14 +385,14 @@ func _unhandled_input(event: InputEvent) -> void:
get_viewport().set_input_as_handled() get_viewport().set_input_as_handled()
return return
if not has_active_fishing_rod(): if not has_active_fishing_rod():
status_changed.emit("Select a fishing rod to cast.") status_changed.emit("select a fishing rod to cast.")
get_viewport().set_input_as_handled() get_viewport().set_input_as_handled()
return return
if ( if (
_is_cooler_full() _is_cooler_full()
): ):
status_changed.emit( status_changed.emit(
"Cooler full. Sell fish before casting again." "cooler full. sell fish before casting again."
) )
get_viewport().set_input_as_handled() get_viewport().set_input_as_handled()
return return
@ -438,7 +438,7 @@ func _begin_aiming(player: PlayerType) -> void:
_cast_charge = 0.0 _cast_charge = 0.0
_cast_target = _calculate_cast_target(minimum_cast_distance) _cast_target = _calculate_cast_target(minimum_cast_distance)
state = FishingState.AIMING_CAST state = FishingState.AIMING_CAST
status_changed.emit("Hold left click to aim • Release to cast") status_changed.emit("hold left click to aim • release to cast")
var target_is_fishable: bool = is_target_fishable(_cast_target) var target_is_fishable: bool = is_target_fishable(_cast_target)
var preview_position: Vector3 = _resolve_preview_surface_position(_cast_target) var preview_position: Vector3 = _resolve_preview_surface_position(_cast_target)
_presentation.begin_aim( _presentation.begin_aim(
@ -530,7 +530,7 @@ func _confirm_cast() -> void:
return return
state = FishingState.CASTING state = FishingState.CASTING
status_changed.emit("Casting...") status_changed.emit("casting...")
_presentation.begin_cast(_cast_target) _presentation.begin_cast(_cast_target)
_presentation.set_line_mode(FishingPresentationType.LineMode.TAUT) _presentation.set_line_mode(FishingPresentationType.LineMode.TAUT)
@ -542,7 +542,7 @@ func _on_cast_completed() -> void:
_selected_water_region = get_fishable_water_region(_cast_target) _selected_water_region = get_fishable_water_region(_cast_target)
_cast_landing_is_fishable = _selected_water_region != null _cast_landing_is_fishable = _selected_water_region != null
if not _cast_landing_is_fishable: if not _cast_landing_is_fishable:
_cleanup_attempt("Can't fish there.", &"invalid") _cleanup_attempt("can't fish there.", &"invalid")
return return
_selection_context = _build_fishing_context(_selected_water_region) _selection_context = _build_fishing_context(_selected_water_region)
_fish_selector.undiscovered_weight_multiplier = undiscovered_weight_multiplier _fish_selector.undiscovered_weight_multiplier = undiscovered_weight_multiplier
@ -562,7 +562,7 @@ func _on_cast_completed() -> void:
_local_collection_log _local_collection_log
) )
if _selected_fish == null: if _selected_fish == null:
_cleanup_attempt("Nothing is biting here.", &"invalid") _cleanup_attempt("nothing is biting here.", &"invalid")
return return
state = FishingState.WAITING_FOR_BITE state = FishingState.WAITING_FOR_BITE
@ -580,7 +580,7 @@ func _on_cast_completed() -> void:
_cast_origin_position.z + _cast_direction.z * withdrawal_cancel_distance _cast_origin_position.z + _cast_direction.z * withdrawal_cancel_distance
) )
_presentation.set_line_mode(FishingPresentationType.LineMode.SLACK) _presentation.set_line_mode(FishingPresentationType.LineMode.SLACK)
status_changed.emit("Waiting for a bite...") status_changed.emit("waiting for a bite...")
func _update_waiting_for_bite(delta: float) -> void: func _update_waiting_for_bite(delta: float) -> void:
@ -698,7 +698,7 @@ func _activate_bite() -> void:
_withdrawal_input_held = false _withdrawal_input_held = false
_fight_start_position = _bobber_water_position _fight_start_position = _bobber_water_position
bite_activated.emit() bite_activated.emit()
status_changed.emit("Fish on!") status_changed.emit("fish on!")
_presentation.set_line_mode(FishingPresentationType.LineMode.TAUT) _presentation.set_line_mode(FishingPresentationType.LineMode.TAUT)
_presentation.begin_reeling() _presentation.begin_reeling()
_catch_controller.start_encounter( _catch_controller.start_encounter(
@ -800,9 +800,9 @@ func _on_catch_escaped() -> void:
if state != FishingState.FIGHTING: if state != FishingState.FIGHTING:
return return
var fish_name: String = "The fish" var fish_name: String = "the fish"
if _selected_fish != null and not _selected_fish.display_name.is_empty(): if _selected_fish != null and not _selected_fish.display_name.is_empty():
fish_name = "The %s" % _selected_fish.display_name fish_name = "the %s" % _selected_fish.display_name
_cleanup_attempt("%s got away!" % fish_name, &"escape") _cleanup_attempt("%s got away!" % fish_name, &"escape")
@ -822,7 +822,7 @@ func _on_outcome_completed(outcome: StringName) -> void:
_pending_catch.weight_lb, _pending_catch.weight_lb,
true true
) )
status_changed.emit("Left click or Escape to put away") status_changed.emit("left click or escape to put away")
func _put_away_catch() -> void: func _put_away_catch() -> void:
@ -846,7 +846,7 @@ func _put_away_catch() -> void:
_active_player.end_catch_showcase( _active_player.end_catch_showcase(
_finish_showcase_put_away.bind( _finish_showcase_put_away.bind(
restore_generation, restore_generation,
"Caught %s!" % caught_name "caught %s!" % caught_name
) )
) )
@ -926,7 +926,7 @@ func _return_to_ready() -> void:
func _cancel_attempt() -> void: func _cancel_attempt() -> void:
_cleanup_attempt("Fishing cancelled.", &"cancel") _cleanup_attempt("fishing cancelled.", &"cancel")
func _cancel_from_withdrawal() -> void: func _cancel_from_withdrawal() -> void:

View file

@ -6,8 +6,8 @@
[resource] [resource]
script = ExtResource("1_script") script = ExtResource("1_script")
item_id = &"basic_fishing_rod" item_id = &"basic_fishing_rod"
display_name = "Basic Fishing Rod" display_name = "basic fishing rod"
description = "A dependable starter rod. Select it to cast." description = "a dependable starter rod. select it to cast."
category = 0 category = 0
icon = ExtResource("2_icon") icon = ExtResource("2_icon")
stackable = false stackable = false

View file

@ -6,8 +6,8 @@
[resource] [resource]
script = ExtResource("1") script = ExtResource("1")
item_id = &"coffee" item_id = &"coffee"
display_name = "Coffee" display_name = "coffee"
description = "Temporarily increases ground movement speed." description = "temporarily increases ground movement speed."
category = 3 category = 3
icon = ExtResource("2") icon = ExtResource("2")
stackable = true stackable = true

View file

@ -6,8 +6,8 @@
[resource] [resource]
script = ExtResource("1") script = ExtResource("1")
item_id = &"cooler_expansion" item_id = &"cooler_expansion"
display_name = "Cooler Expansion" display_name = "cooler expansion"
description = "Permanently increases the number of fish the Cooler can hold." description = "permanently increases the number of fish the cooler can hold."
category = 4 category = 4
icon = ExtResource("2") icon = ExtResource("2")
stackable = false stackable = false

View file

@ -6,8 +6,8 @@
[resource] [resource]
script = ExtResource("1") script = ExtResource("1")
item_id = &"energy_drink" item_id = &"energy_drink"
display_name = "Energy Drink" display_name = "energy drink"
description = "Temporarily increases reeling progress." description = "temporarily increases reeling progress."
category = 3 category = 3
icon = ExtResource("2") icon = ExtResource("2")
stackable = true stackable = true

View file

@ -6,8 +6,8 @@
[resource] [resource]
script = ExtResource("1") script = ExtResource("1")
item_id = &"fish_finder" item_id = &"fish_finder"
display_name = "Fish Finder" display_name = "fish finder"
description = "Temporarily shortens bite waits and improves rarity weights." description = "temporarily shortens bite waits and improves rarity weights."
category = 3 category = 3
icon = ExtResource("2") icon = ExtResource("2")
stackable = true stackable = true

View file

@ -6,8 +6,8 @@
[resource] [resource]
script = ExtResource("1") script = ExtResource("1")
item_id = &"snack" item_id = &"snack"
display_name = "Snack" display_name = "snack"
description = "Temporarily adds one barrier damage." description = "temporarily adds one barrier damage."
category = 3 category = 3
icon = ExtResource("2") icon = ExtResource("2")
stackable = true stackable = true

View file

@ -33,4 +33,4 @@ func is_valid() -> bool:
func get_category_name() -> String: func get_category_name() -> String:
return Category.keys()[category].capitalize() return Category.keys()[category].to_lower()

View file

@ -117,13 +117,13 @@ func get_rarity_weight_multiplier(rarity: int) -> float:
func get_feedback(item_id: StringName) -> String: func get_feedback(item_id: StringName) -> String:
match item_id: match item_id:
COFFEE_ID: COFFEE_ID:
return "Coffee active: movement speed increased." return "coffee active: movement speed increased."
ENERGY_DRINK_ID: ENERGY_DRINK_ID:
return "Energy Drink active: reeling speed increased." return "energy drink active: reeling speed increased."
SNACK_ID: SNACK_ID:
return "Snack active: barrier damage increased." return "snack active: barrier damage increased."
FISH_FINDER_ID: FISH_FINDER_ID:
return "Fish Finder active: bites and uncommon catches improved." return "fish finder active: bites and uncommon catches improved."
_: _:
return "" return ""

View file

@ -227,46 +227,46 @@ func inspect_save() -> SaveInspectionType:
result.has_primary_file = FileAccess.file_exists(SAVE_PATH) result.has_primary_file = FileAccess.file_exists(SAVE_PATH)
if not result.has_primary_file: if not result.has_primary_file:
result.status = SaveInspectionType.Status.MISSING result.status = SaveInspectionType.Status.MISSING
result.message = "No save found." result.message = "no save found."
return result return result
var save_file := FileAccess.open(SAVE_PATH, FileAccess.READ) var save_file := FileAccess.open(SAVE_PATH, FileAccess.READ)
if save_file == null: if save_file == null:
result.status = SaveInspectionType.Status.IO_ERROR result.status = SaveInspectionType.Status.IO_ERROR
result.message = "The save could not be read." result.message = "the save could not be read."
return result return result
var json := JSON.new() var json := JSON.new()
var parse_error: Error = json.parse(save_file.get_as_text()) var parse_error: Error = json.parse(save_file.get_as_text())
save_file.close() save_file.close()
if parse_error != OK or typeof(json.data) != TYPE_DICTIONARY: if parse_error != OK or typeof(json.data) != TYPE_DICTIONARY:
result.status = SaveInspectionType.Status.MALFORMED result.status = SaveInspectionType.Status.MALFORMED
result.message = "The save is corrupt and was preserved." result.message = "the save is corrupt and was preserved."
return result return result
var save_data: Dictionary = json.data var save_data: Dictionary = json.data
result.detected_version = _read_integer(save_data.get("save_version"), -1) result.detected_version = _read_integer(save_data.get("save_version"), -1)
if result.detected_version > SAVE_VERSION: if result.detected_version > SAVE_VERSION:
result.status = SaveInspectionType.Status.UNSUPPORTED_VERSION result.status = SaveInspectionType.Status.UNSUPPORTED_VERSION
result.message = "This save belongs to a newer game version." result.message = "this save belongs to a newer game version."
return result return result
if result.detected_version < 1: if result.detected_version < 1:
result.status = SaveInspectionType.Status.MALFORMED result.status = SaveInspectionType.Status.MALFORMED
result.message = "The save version is unsupported." result.message = "the save version is unsupported."
return result return result
if result.detected_version != SAVE_VERSION: if result.detected_version != SAVE_VERSION:
save_data = _migrate_save(save_data, result.detected_version) save_data = _migrate_save(save_data, result.detected_version)
if save_data.is_empty(): if save_data.is_empty():
result.status = SaveInspectionType.Status.MALFORMED result.status = SaveInspectionType.Status.MALFORMED
result.message = "The save version is unsupported." result.message = "the save version is unsupported."
return result return result
var snapshot: LoadSnapshot = _build_load_snapshot(save_data) var snapshot: LoadSnapshot = _build_load_snapshot(save_data)
if snapshot == null: if snapshot == null:
result.status = SaveInspectionType.Status.MALFORMED result.status = SaveInspectionType.Status.MALFORMED
result.message = "The save is structurally invalid and was preserved." result.message = "the save is structurally invalid and was preserved."
return result return result
result.status = SaveInspectionType.Status.VALID_SUPPORTED result.status = SaveInspectionType.Status.VALID_SUPPORTED
result.catch_count = snapshot.catches.size() result.catch_count = snapshot.catches.size()
result.wallet_balance = snapshot.wallet_balance result.wallet_balance = snapshot.wallet_balance
result.discovered_species_count = snapshot.discovered_ids.size() result.discovered_species_count = snapshot.discovered_ids.size()
result.message = "Save ready." result.message = "save ready."
return result return result

View file

@ -129,10 +129,10 @@ func _process(_delta: float) -> void:
if remaining <= 0.0: if remaining <= 0.0:
continue continue
var label: String = { var label: String = {
PlayerItemEffectsType.COFFEE_ID: "Coffee", PlayerItemEffectsType.COFFEE_ID: "coffee",
PlayerItemEffectsType.ENERGY_DRINK_ID: "Energy", PlayerItemEffectsType.ENERGY_DRINK_ID: "energy",
PlayerItemEffectsType.SNACK_ID: "Snack", PlayerItemEffectsType.SNACK_ID: "snack",
PlayerItemEffectsType.FISH_FINDER_ID: "Finder", PlayerItemEffectsType.FISH_FINDER_ID: "finder",
}.get(item_id, "") }.get(item_id, "")
parts.append( parts.append(
"%s %d:%02d" "%s %d:%02d"
@ -296,7 +296,7 @@ func _on_catch_display_changed(
"%d%% %s" "%d%% %s"
% [roundi(barrier_positions[barrier_index] * 100.0), marker] % [roundi(barrier_positions[barrier_index] * 100.0), marker]
) )
_barrier_summary.text = "Barriers: %s" % " ".join(barrier_labels) _barrier_summary.text = "barriers: %s" % " ".join(barrier_labels)
if ( if (
active_barrier_index >= 0 active_barrier_index >= 0
@ -304,14 +304,14 @@ func _on_catch_display_changed(
and active_barrier_index < barrier_max_health.size() and active_barrier_index < barrier_max_health.size()
): ):
_barrier_health.text = ( _barrier_health.text = (
"Barrier: %d / %d" "barrier: %d / %d"
% [ % [
barrier_health[active_barrier_index], barrier_health[active_barrier_index],
barrier_max_health[active_barrier_index], barrier_max_health[active_barrier_index],
] ]
) )
else: else:
_barrier_health.text = "Hold left click to reel" _barrier_health.text = "hold left click to reel"
var chase_gap: float = progress - chase_progress var chase_gap: float = progress - chase_progress
if chase_gap <= 0.05: if chase_gap <= 0.05:
@ -319,7 +319,7 @@ func _on_catch_display_changed(
"%s%s" "%s%s"
% [ % [
_barrier_health.text, _barrier_health.text,
"\nRed is closing in!", "\nred is closing in!",
] ]
).strip_edges() ).strip_edges()
_refresh_fishing_panel_visibility() _refresh_fishing_panel_visibility()
@ -377,11 +377,11 @@ func _on_showcase_changed(
_barrier_health.visible = false _barrier_health.visible = false
_clear_barrier_markers() _clear_barrier_markers()
_showcase_details.text = ( _showcase_details.text = (
"%.1f lb • %s\nLeft click or Escape to put away" "%.1f lb • %s\nleft click or escape to put away"
% [weight_lb, rarity_name] % [weight_lb, rarity_name]
) )
_showcase_details.visible = true _showcase_details.visible = true
_set_fishing_status("You caught a %s!" % fish_name) _set_fishing_status("you caught a %s!" % fish_name)
func _on_player_menu_visibility_changed(is_open: bool) -> void: func _on_player_menu_visibility_changed(is_open: bool) -> void:

View file

@ -161,7 +161,7 @@ theme_override_constants/margin_bottom = 7
[node name="Label" type="Label" parent="ShopPrompt/Margin"] [node name="Label" type="Label" parent="ShopPrompt/Margin"]
layout_mode = 2 layout_mode = 2
text = "Press E to open Fishing Shop" text = "press e to open fishing shop"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="FishingShop" parent="." instance=ExtResource("8_shop")] [node name="FishingShop" parent="." instance=ExtResource("8_shop")]

View file

@ -75,7 +75,7 @@ func refresh() -> void:
_quantity_label.text = quantity_text _quantity_label.text = quantity_text
_quantity_label.visible = not quantity_text.is_empty() _quantity_label.visible = not quantity_text.is_empty()
tooltip_text = ( tooltip_text = (
item.display_name if item != null else "Empty hotbar slot" item.display_name if item != null else "empty hotbar slot"
) )
button_pressed = slot_index == _hotbar.get_selected_slot() button_pressed = slot_index == _hotbar.get_selected_slot()

View file

@ -161,9 +161,9 @@ func _save_now() -> void:
_action_in_progress = true _action_in_progress = true
_save_button.disabled = true _save_button.disabled = true
if _save_manager.save_now(): if _save_manager.save_now():
_feedback.text = "Game saved." _feedback.text = "game saved."
else: else:
_feedback.text = "Save failed. Previous save was preserved." _feedback.text = "save failed. previous save was preserved."
_action_in_progress = false _action_in_progress = false
call_deferred("_reenable_save_button") call_deferred("_reenable_save_button")
@ -181,7 +181,7 @@ func _open_settings() -> void:
func _on_settings_applied() -> void: func _on_settings_applied() -> void:
_root_panel.show() _root_panel.show()
_feedback.text = "Settings saved." _feedback.text = "settings saved."
%SettingsButton.grab_focus() %SettingsButton.grab_focus()
@ -193,9 +193,9 @@ func _on_settings_closed() -> void:
func _confirm_return_to_title() -> void: func _confirm_return_to_title() -> void:
_open_confirmation( _open_confirmation(
ConfirmationAction.RETURN_TO_TITLE, ConfirmationAction.RETURN_TO_TITLE,
"Return to Title", "return to title",
"Unsaved progress will be saved first.", "unsaved progress will be saved first.",
"Save and Return", "save and return",
false false
) )
@ -203,13 +203,13 @@ func _confirm_return_to_title() -> void:
func _confirm_reset_progress() -> void: func _confirm_reset_progress() -> void:
_open_confirmation( _open_confirmation(
ConfirmationAction.RESET_PROGRESS, ConfirmationAction.RESET_PROGRESS,
"Reset all progression?", "reset all progression?",
( (
"This permanently deletes your fish, discoveries, " "this permanently deletes your fish, discoveries, "
+ "favorites, and wallet balance.\n\n" + "favorites, and wallet balance.\n\n"
+ "Your settings will be preserved." + "your settings will be preserved."
), ),
"DELETE ALL PROGRESS", "delete all progress",
true true
) )
@ -226,9 +226,9 @@ func _request_quit() -> void:
return return
_open_confirmation( _open_confirmation(
ConfirmationAction.QUIT_ANYWAY, ConfirmationAction.QUIT_ANYWAY,
"Save failed", "save failed",
"Some progress or settings could not be saved. Quit anyway?", "some progress or settings could not be saved. quit anyway?",
"Quit Anyway", "quit anyway",
true true
) )
@ -276,7 +276,7 @@ func _accept_confirmation() -> void:
if _save_manager.save_now(): if _save_manager.save_now():
return_to_title_requested.emit() return_to_title_requested.emit()
else: else:
_feedback.text = "Save failed. Previous save was preserved." _feedback.text = "save failed. previous save was preserved."
_root_panel.show() _root_panel.show()
ConfirmationAction.RESET_PROGRESS: ConfirmationAction.RESET_PROGRESS:
reset_progress_requested.emit() reset_progress_requested.emit()
@ -291,7 +291,7 @@ func report_reset_failure() -> void:
_action_in_progress = false _action_in_progress = false
_root_panel.show() _root_panel.show()
_confirmation_panel.hide() _confirmation_panel.hide()
_feedback.text = "Reset failed. Your progression was preserved." _feedback.text = "reset failed. your progression was preserved."
%ResumeButton.grab_focus() %ResumeButton.grab_focus()

View file

@ -55,45 +55,45 @@ theme_override_constants/separation = 11
[node name="Title" type="Label" parent="RootCenter/RootPanel/Margin/Content"] [node name="Title" type="Label" parent="RootCenter/RootPanel/Margin/Content"]
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 30 theme_override_font_sizes/font_size = 30
text = "Game Menu" text = "game menu"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="ResumeButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"] [node name="ResumeButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(0, 43) custom_minimum_size = Vector2(0, 43)
layout_mode = 2 layout_mode = 2
text = "Return to Game" text = "return to game"
[node name="SaveButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"] [node name="SaveButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(0, 43) custom_minimum_size = Vector2(0, 43)
layout_mode = 2 layout_mode = 2
text = "Save Now" text = "save now"
[node name="SettingsButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"] [node name="SettingsButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(0, 43) custom_minimum_size = Vector2(0, 43)
layout_mode = 2 layout_mode = 2
text = "Settings" text = "settings"
[node name="ReturnToTitleButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"] [node name="ReturnToTitleButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(0, 43) custom_minimum_size = Vector2(0, 43)
layout_mode = 2 layout_mode = 2
text = "Return to Title" text = "return to title"
[node name="ResetProgressButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"] [node name="ResetProgressButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(0, 43) custom_minimum_size = Vector2(0, 43)
layout_mode = 2 layout_mode = 2
theme_type_variation = &"DangerButton" theme_type_variation = &"DangerButton"
text = "Reset Progress" text = "reset progress"
[node name="QuitButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"] [node name="QuitButton" type="Button" parent="RootCenter/RootPanel/Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(0, 43) custom_minimum_size = Vector2(0, 43)
layout_mode = 2 layout_mode = 2
text = "Quit" text = "quit"
[node name="FeedbackLabel" type="Label" parent="RootCenter/RootPanel/Margin/Content"] [node name="FeedbackLabel" type="Label" parent="RootCenter/RootPanel/Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
@ -147,13 +147,13 @@ unique_name_in_owner = true
layout_mode = 2 layout_mode = 2
theme_override_colors/font_color = Color(0.937, 0.357, 0.384, 1) theme_override_colors/font_color = Color(0.937, 0.357, 0.384, 1)
theme_override_font_sizes/font_size = 24 theme_override_font_sizes/font_size = 24
text = "Confirm" text = "confirm"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="ConfirmationText" type="Label" parent="ConfirmationCenter/ConfirmationPanel/Margin/Content"] [node name="ConfirmationText" type="Label" parent="ConfirmationCenter/ConfirmationPanel/Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
layout_mode = 2 layout_mode = 2
text = "Are you sure?" text = "are you sure?"
horizontal_alignment = 1 horizontal_alignment = 1
autowrap_mode = 2 autowrap_mode = 2
@ -166,10 +166,10 @@ alignment = 1
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(190, 43) custom_minimum_size = Vector2(190, 43)
layout_mode = 2 layout_mode = 2
text = "Confirm" text = "confirm"
[node name="CancelConfirmButton" type="Button" parent="ConfirmationCenter/ConfirmationPanel/Margin/Content/Buttons"] [node name="CancelConfirmButton" type="Button" parent="ConfirmationCenter/ConfirmationPanel/Margin/Content/Buttons"]
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(130, 43) custom_minimum_size = Vector2(130, 43)
layout_mode = 2 layout_mode = 2
text = "Cancel" text = "cancel"

View file

@ -47,7 +47,7 @@ func close_panel() -> void:
func _apply_settings() -> void: func _apply_settings() -> void:
if _settings_manager == null: if _settings_manager == null:
_feedback.text = "Settings are unavailable." _feedback.text = "settings are unavailable."
return return
var edited := PlayerSettings.new() var edited := PlayerSettings.new()
edited.auto_click_enabled = _auto_click_toggle.button_pressed edited.auto_click_enabled = _auto_click_toggle.button_pressed
@ -59,7 +59,7 @@ func _apply_settings() -> void:
hide() hide()
applied.emit() applied.emit()
else: else:
_feedback.text = "Failed to save settings." _feedback.text = "failed to save settings."
func _load_controls() -> void: func _load_controls() -> void:

View file

@ -23,17 +23,17 @@ theme_override_constants/separation = 12
[node name="Heading" type="Label" parent="Margin/Content"] [node name="Heading" type="Label" parent="Margin/Content"]
layout_mode = 2 layout_mode = 2
theme_override_font_sizes/font_size = 26 theme_override_font_sizes/font_size = 26
text = "Settings" text = "settings"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="AutoClickToggle" type="CheckButton" parent="Margin/Content"] [node name="AutoClickToggle" type="CheckButton" parent="Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
layout_mode = 2 layout_mode = 2
text = "Accessibility auto-click" text = "accessibility auto-click"
[node name="AutoClickHelp" type="Label" parent="Margin/Content"] [node name="AutoClickHelp" type="Label" parent="Margin/Content"]
layout_mode = 2 layout_mode = 2
text = "Lower intervals click barriers faster while held." text = "lower intervals click barriers faster while held."
[node name="AutoClickRow" type="HBoxContainer" parent="Margin/Content"] [node name="AutoClickRow" type="HBoxContainer" parent="Margin/Content"]
layout_mode = 2 layout_mode = 2
@ -42,7 +42,7 @@ theme_override_constants/separation = 12
[node name="Label" type="Label" parent="Margin/Content/AutoClickRow"] [node name="Label" type="Label" parent="Margin/Content/AutoClickRow"]
custom_minimum_size = Vector2(190, 0) custom_minimum_size = Vector2(190, 0)
layout_mode = 2 layout_mode = 2
text = "Auto-click interval" text = "auto-click interval"
[node name="AutoClickInterval" type="HSlider" parent="Margin/Content/AutoClickRow"] [node name="AutoClickInterval" type="HSlider" parent="Margin/Content/AutoClickRow"]
unique_name_in_owner = true unique_name_in_owner = true
@ -66,7 +66,7 @@ theme_override_constants/separation = 12
[node name="Label" type="Label" parent="Margin/Content/MouseRow"] [node name="Label" type="Label" parent="Margin/Content/MouseRow"]
custom_minimum_size = Vector2(190, 0) custom_minimum_size = Vector2(190, 0)
layout_mode = 2 layout_mode = 2
text = "Mouse camera sensitivity" text = "mouse camera sensitivity"
[node name="MouseSensitivity" type="HSlider" parent="Margin/Content/MouseRow"] [node name="MouseSensitivity" type="HSlider" parent="Margin/Content/MouseRow"]
unique_name_in_owner = true unique_name_in_owner = true
@ -90,7 +90,7 @@ theme_override_constants/separation = 12
[node name="Label" type="Label" parent="Margin/Content/ControllerRow"] [node name="Label" type="Label" parent="Margin/Content/ControllerRow"]
custom_minimum_size = Vector2(190, 0) custom_minimum_size = Vector2(190, 0)
layout_mode = 2 layout_mode = 2
text = "Controller camera sensitivity" text = "controller camera sensitivity"
[node name="ControllerSensitivity" type="HSlider" parent="Margin/Content/ControllerRow"] [node name="ControllerSensitivity" type="HSlider" parent="Margin/Content/ControllerRow"]
unique_name_in_owner = true unique_name_in_owner = true
@ -110,7 +110,7 @@ text = "2.5"
[node name="InvertYToggle" type="CheckButton" parent="Margin/Content"] [node name="InvertYToggle" type="CheckButton" parent="Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
layout_mode = 2 layout_mode = 2
text = "Invert vertical camera" text = "invert vertical camera"
[node name="SettingsFeedback" type="Label" parent="Margin/Content"] [node name="SettingsFeedback" type="Label" parent="Margin/Content"]
unique_name_in_owner = true unique_name_in_owner = true
@ -127,10 +127,10 @@ alignment = 2
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(120, 42) custom_minimum_size = Vector2(120, 42)
layout_mode = 2 layout_mode = 2
text = "Apply" text = "apply"
[node name="CancelSettingsButton" type="Button" parent="Margin/Content/Buttons"] [node name="CancelSettingsButton" type="Button" parent="Margin/Content/Buttons"]
unique_name_in_owner = true unique_name_in_owner = true
custom_minimum_size = Vector2(120, 42) custom_minimum_size = Vector2(120, 42)
layout_mode = 2 layout_mode = 2
text = "Back" text = "back"

View file

@ -60,7 +60,7 @@ material_override = SubResource("PrimaryMaterial")
[node name="ShopName" type="Label3D" parent="Visuals"] [node name="ShopName" type="Label3D" parent="Visuals"]
position = Vector3(0, 3.7, 0) position = Vector3(0, 3.7, 0)
text = "Fishing Shop" text = "fishing shop"
font_size = 42 font_size = 42
outline_size = 9 outline_size = 9
billboard = 1 billboard = 1

View file

@ -35,7 +35,7 @@ material_override = SubResource("WoodMaterial")
[node name="Sign" type="Label3D" parent="Visuals"] [node name="Sign" type="Label3D" parent="Visuals"]
position = Vector3(0, 2.55, 0) position = Vector3(0, 2.55, 0)
text = "Sell to Pelicans\nfrom the Cooler" text = "sell to pelicans\nfrom the cooler"
font_size = 30 font_size = 30
outline_size = 8 outline_size = 8
billboard = 1 billboard = 1
@ -43,7 +43,7 @@ no_depth_test = true
[node name="ConvenienceLabel" type="Label3D" parent="Visuals"] [node name="ConvenienceLabel" type="Label3D" parent="Visuals"]
position = Vector3(0, 1.65, -1.15) position = Vector3(0, 1.65, -1.15)
text = "Available anywhere • 0.25x" text = "available anywhere • 0.25x"
font_size = 20 font_size = 20
outline_size = 6 outline_size = 6
billboard = 1 billboard = 1

View file

@ -82,7 +82,7 @@ mesh = SubResource("CraneArmMesh")
material_override = SubResource("BeaconMaterial") material_override = SubResource("BeaconMaterial")
[node name="CoastLabel" type="Label3D" parent="Visuals"] [node name="CoastLabel" type="Label3D" parent="Visuals"]
position = Vector3(25, 3.2, 23) position = Vector3(25, 3.2, 23)
text = "COAST" text = "coast"
font_size = 38 font_size = 38
outline_size = 8 outline_size = 8
billboard = 1 billboard = 1

View file

@ -71,7 +71,7 @@ mesh = SubResource("DockRampMesh")
material_override = SubResource("DockMaterial") material_override = SubResource("DockMaterial")
[node name="LakeLabel" type="Label3D" parent="Visuals"] [node name="LakeLabel" type="Label3D" parent="Visuals"]
position = Vector3(-25, 3, 20) position = Vector3(-25, 3, 20)
text = "LAKE" text = "lake"
font_size = 38 font_size = 38
outline_size = 8 outline_size = 8
billboard = 1 billboard = 1

View file

@ -90,7 +90,7 @@ mesh = SubResource("ReedMesh")
material_override = SubResource("ReedMaterial") material_override = SubResource("ReedMaterial")
[node name="MarshLabel" type="Label3D" parent="Visuals"] [node name="MarshLabel" type="Label3D" parent="Visuals"]
position = Vector3(21, 3, 17) position = Vector3(21, 3, 17)
text = "MARSH" text = "marsh"
font_size = 36 font_size = 36
outline_size = 8 outline_size = 8
billboard = 1 billboard = 1

View file

@ -76,7 +76,7 @@ mesh = SubResource("RailMesh")
material_override = SubResource("RailMaterial") material_override = SubResource("RailMaterial")
[node name="RiverLabel" type="Label3D" parent="Visuals"] [node name="RiverLabel" type="Label3D" parent="Visuals"]
position = Vector3(-16, 3, 20) position = Vector3(-16, 3, 20)
text = "RIVER" text = "river"
font_size = 34 font_size = 34
outline_size = 7 outline_size = 7
billboard = 1 billboard = 1

View file

@ -54,7 +54,7 @@ mesh = SubResource("WaterMesh")
material_override = SubResource("WaterMaterial") material_override = SubResource("WaterMaterial")
[node name="PondLabel" type="Label3D" parent="Visuals"] [node name="PondLabel" type="Label3D" parent="Visuals"]
position = Vector3(-14, 2.4, 11) position = Vector3(-14, 2.4, 11)
text = "POND" text = "pond"
font_size = 34 font_size = 34
outline_size = 7 outline_size = 7
billboard = 1 billboard = 1

View file

@ -122,7 +122,7 @@ material_override = SubResource("RoofMaterial")
[node name="VillageLabel" type="Label3D" parent="Visuals"] [node name="VillageLabel" type="Label3D" parent="Visuals"]
position = Vector3(0, 3.2, 7) position = Vector3(0, 3.2, 7)
text = "VILLAGE" text = "village"
font_size = 42 font_size = 42
outline_size = 8 outline_size = 8
billboard = 1 billboard = 1