src / account / account.tscn

Diagram

Diagram

Assets

200
200
200
200
200
200
200
200
200
200
200

Overridden virtual functions

_ready

func _ready() -> void:
	FocusHelper.set_neighbors_v(
		[%GetStartedButton, %ChangeNameButton, %AssistModeButton])
	reset_summary_visiblity()
	if resource: load_resource()

_input

func _input(event: InputEvent) -> void:
	if is_focused() && event.is_action_pressed("ui_accept"):
		selected.emit()
	elif event.is_action_pressed("ui_back"):
		if is_selected():  unselected.emit()
		elif is_focused(): ui_backed.emit()

_process

$VBoxContainer/MenuContainer/VBoxContainer/GetStartedContainer/GetStartedButton, $VBoxContainer/MenuContainer/VBoxContainer/ChangeNameContainer/ChangeNameButton, $VBoxContainer/MenuContainer/VBoxContainer/AssistModeContainer/AssistModeButton
func _process(delta: float) -> void:
	if not focused: return
	blink_time += delta
	add_theme_color_override("font_focus_color", get_focus_color())
	if blink_time > BLINK_INTERVAL: blink_time = 0

Scene Tree

  • Account BoxContainer

    • VBoxContainer VBoxContainer

      • MainContainer MarginContainer

        • Background ColorRect

        • TicketContainer BoxContainer

          • TicketRoot Node2D

            • Tikect Sprite2D

            • TicketSummaryPlaceholder Control

              • Label Label

            • TicketSummary Node2D

              • Skull Sprite2D

              • Multiplication Sprite2D

              • ControlRoot Control

                • TotalFailureCount Label

                • TotalPlayTime Label

              • CassettesPlaceholder Node2D

                • Cassette1 Sprite2D

                • Cassette2 Sprite2D

                • Cassette3 Sprite2D

                • Cassette4 Sprite2D

                • Cassette5 Sprite2D

                • Cassette6 Sprite2D

                • Cassette7 Sprite2D

                • Cassette8 Sprite2D

              • BlueHeartsPlaceh1older Node2D

                • BlueHeart1 Sprite2D

                • BlueHeart2 Sprite2D

                • BlueHeart3 Sprite2D

                • BlueHeart4 Sprite2D

                • BlueHeart5 Sprite2D

                • BlueHeart6 Sprite2D

                • BlueHeart7 Sprite2D

                • BlueHeart8 Sprite2D

              • ObtainedCassettes Node2D

                • Cassette1 Sprite2D

                • Cassette2 Sprite2D

                • Cassette3 Sprite2D

                • Cassette4 Sprite2D

                • Cassette5 Sprite2D

                • Cassette6 Sprite2D

                • Cassette7 Sprite2D

                • Cassette8 Sprite2D

              • ObtainedBlueHearts Node2D

                • BlueHeart1 Sprite2D

                • BlueHeart2 Sprite2D

                • BlueHeart3 Sprite2D

                • BlueHeart4 Sprite2D

                • BlueHeart5 Sprite2D

                • BlueHeart6 Sprite2D

                • BlueHeart7 Sprite2D

                • BlueHeart8 Sprite2D

        • CoverContainer BoxContainer

          • CoverRoot Node2D

            • TikectCover Sprite2D

            • CoverSummary Node2D

              • Face Sprite2D

              • SellotapeLeftTop Sprite2D

              • SellotapeRightBottom Sprite2D

              • FacePhotoMask PointLight2D

              • Strawberry Sprite2D

              • Multiplication Sprite2D

              • ControlRoot Control

                • PlayerName Label

                • LatestChapterName Label

                • ObtainedStrawberryCount Label

      • MenuContainer MarginContainer

    • AnimationPlayer AnimationPlayer

Signal Connections

$.:[focus_entered]⇒$.
func _on_focus_entered() -> void:
	if is_unfocused():
		%AnimationPlayer.play("focused")
$.:[focus_exited]⇒$.
func _on_focus_exited() -> void:
	if is_focused():
		%AnimationPlayer.play("unfocused")
$.:[selected]⇒$.
func _on_selected() -> void:
	%AnimationPlayer.play("selected")
$.:[unselected]⇒$.
func _on_unselected() -> void:
	%AnimationPlayer.play("unselected")
$VBoxContainer/MenuContainer/VBoxContainer/GetStartedContainer/GetStartedButton:[pressed]⇒$.
func _on_get_started_button_pressed() -> void:
	get_started.emit()

Animations

Animation_qli4a

Diagram

focused

Diagram

opening (autoplay)

Diagram

selected

Diagram

unfocused

Diagram

unselected

Diagram

Properties

Table 1. Root properties
Name Value

anchors_preset

10

anchor_right

1.0

offset_bottom

300.0

grow_horizontal

2

size_flags_vertical

3

focus_mode

2

theme

script

resource

Table 2. $VBoxContainer properties
Name Value

layout_mode

2

size_flags_horizontal

3

Table 3. $VBoxContainer/MainContainer properties
Name Value

layout_mode

2

size_flags_horizontal

3

size_flags_vertical

3

theme_override_constants/margin_left

200

theme_override_constants/margin_top

25

theme_override_constants/margin_right

200

theme_override_constants/margin_bottom

25

Table 4. $VBoxContainer/MainContainer/Background properties
Name Value

visible

false

layout_mode

2

size_flags_horizontal

3

color

Color(0.726355, 0.910634, 0.938029, 0.381)

Table 5. $VBoxContainer/MainContainer/TicketContainer properties
Name Value

layout_mode

2

Table 6. $VBoxContainer/MainContainer/TicketContainer/TicketRoot properties
Name Value

texture_filter

2

position

Vector2(200, 25)

Table 7. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/Tikect properties
Name Value

texture_filter

2

position

Vector2(933.5, 103)

scale

Vector2(0.873, 0.833333)

texture

Tikect
Figure 1. res://assets/images/ui/Tikect.svg
Table 8. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummaryPlaceholder properties
Name Value

unique_name_in_owner

true

visible

false

layout_mode

3

anchors_preset

0

offset_left

737.0

offset_top

5.0

offset_right

1319.0

offset_bottom

191.0

theme

Table 9. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummaryPlaceholder/Label properties
Name Value

layout_mode

0

offset_left

7.0

offset_top

59.0

offset_right

527.0

offset_bottom

126.0

theme_override_colors/font_color

Color(0.53792, 0.416994, 0.382547, 1)

theme_override_colors/font_outline_color

Color(0, 0, 0, 0)

text

New Game

horizontal_alignment

1

Table 10. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary properties
Name Value

unique_name_in_owner

true

Table 11. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/Skull properties
Name Value

position

Vector2(783, 156)

scale

Vector2(0.431641, 0.431641)

texture

Skull
Figure 2. res://assets/images/ui/Skull.svg
Table 12. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/Multiplication properties
Name Value

position

Vector2(842, 158)

scale

Vector2(0.161157, 0.161157)

texture

Multiplication
Figure 3. res://assets/images/ui/Multiplication.svg
Table 13. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ControlRoot properties
Name Value

layout_mode

3

anchors_preset

0

offset_left

674.0

offset_right

1320.0

offset_bottom

200.0

theme

Table 14. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ControlRoot/TotalFailureCount properties
Name Value

unique_name_in_owner

true

layout_mode

0

offset_left

200.0

offset_top

123.0

offset_right

282.0

offset_bottom

190.0

text

123

Table 15. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ControlRoot/TotalPlayTime properties
Name Value

unique_name_in_owner

true

layout_mode

0

offset_left

345.0

offset_top

123.0

offset_right

631.0

offset_bottom

190.0

theme_override_colors/font_color

Color(0.51933, 0.412748, 0.413729, 1)

theme_override_colors/font_outline_color

Color(0, 0, 0, 0)

theme_override_font_sizes/font_size

32

text

12:34:56.789

horizontal_alignment

2

vertical_alignment

1

Table 16. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/CassettesPlaceholder/Cassette1 properties
Name Value

position

Vector2(788, 34)

scale

Vector2(0.361, 0.361)

texture

Casstte BlueHear placeholder
Figure 4. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 17. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/CassettesPlaceholder/Cassette2 properties
Name Value

position

Vector2(858, 34)

scale

Vector2(0.361, 0.361)

texture

Casstte BlueHear placeholder
Figure 5. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 18. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/CassettesPlaceholder/Cassette3 properties
Name Value

position

Vector2(927, 34)

scale

Vector2(0.361, 0.361)

texture

Casstte BlueHear placeholder
Figure 6. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 19. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/CassettesPlaceholder/Cassette4 properties
Name Value

position

Vector2(997, 34)

scale

Vector2(0.361, 0.361)

texture

Casstte BlueHear placeholder
Figure 7. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 20. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/CassettesPlaceholder/Cassette5 properties
Name Value

position

Vector2(1066, 34)

scale

Vector2(0.361, 0.361)

texture

Casstte BlueHear placeholder
Figure 8. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 21. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/CassettesPlaceholder/Cassette6 properties
Name Value

position

Vector2(1135, 34)

scale

Vector2(0.361, 0.306)

texture

Casstte BlueHear placeholder
Figure 9. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 22. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/CassettesPlaceholder/Cassette7 properties
Name Value

position

Vector2(1205, 34)

scale

Vector2(0.361, 0.361)

texture

Casstte BlueHear placeholder
Figure 10. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 23. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/CassettesPlaceholder/Cassette8 properties
Name Value

position

Vector2(1275, 34)

scale

Vector2(0.361, 0.361)

texture

Casstte BlueHear placeholder
Figure 11. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 24. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/BlueHeartsPlaceh1older/BlueHeart1 properties
Name Value

position

Vector2(788, 86.125)

scale

Vector2(0.361328, 0.361328)

texture

Casstte BlueHear placeholder
Figure 12. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 25. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/BlueHeartsPlaceh1older/BlueHeart2 properties
Name Value

position

Vector2(857, 86.125)

scale

Vector2(0.361328, 0.361328)

texture

Casstte BlueHear placeholder
Figure 13. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 26. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/BlueHeartsPlaceh1older/BlueHeart3 properties
Name Value

position

Vector2(927, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

Casstte BlueHear placeholder
Figure 14. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 27. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/BlueHeartsPlaceh1older/BlueHeart4 properties
Name Value

position

Vector2(996, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

Casstte BlueHear placeholder
Figure 15. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 28. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/BlueHeartsPlaceh1older/BlueHeart5 properties
Name Value

position

Vector2(1066, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

Casstte BlueHear placeholder
Figure 16. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 29. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/BlueHeartsPlaceh1older/BlueHeart6 properties
Name Value

position

Vector2(1135, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

Casstte BlueHear placeholder
Figure 17. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 30. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/BlueHeartsPlaceh1older/BlueHeart7 properties
Name Value

position

Vector2(1205, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

Casstte BlueHear placeholder
Figure 18. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 31. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/BlueHeartsPlaceh1older/BlueHeart8 properties
Name Value

position

Vector2(1275, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

Casstte BlueHear placeholder
Figure 19. res://assets/images/ui/Casstte-BlueHear_placeholder.svg
Table 32. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes properties
Name Value

unique_name_in_owner

true

Table 33. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes/Cassette1 properties
Name Value

position

Vector2(788, 34)

scale

Vector2(0.458984, 0.458984)

texture

Cassette
Figure 20. res://assets/images/ui/Cassette.svg
Table 34. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes/Cassette2 properties
Name Value

position

Vector2(858, 34)

scale

Vector2(0.458984, 0.458984)

texture

Cassette
Figure 21. res://assets/images/ui/Cassette.svg
Table 35. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes/Cassette3 properties
Name Value

position

Vector2(927, 34)

scale

Vector2(0.458984, 0.458984)

texture

Cassette
Figure 22. res://assets/images/ui/Cassette.svg
Table 36. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes/Cassette4 properties
Name Value

position

Vector2(997, 34)

scale

Vector2(0.458984, 0.458984)

texture

Cassette
Figure 23. res://assets/images/ui/Cassette.svg
Table 37. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes/Cassette5 properties
Name Value

position

Vector2(1066, 34)

scale

Vector2(0.458984, 0.458984)

texture

Cassette
Figure 24. res://assets/images/ui/Cassette.svg
Table 38. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes/Cassette6 properties
Name Value

position

Vector2(1135, 34)

scale

Vector2(0.458984, 0.458984)

texture

Cassette
Figure 25. res://assets/images/ui/Cassette.svg
Table 39. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes/Cassette7 properties
Name Value

position

Vector2(1205, 34)

scale

Vector2(0.458984, 0.458984)

texture

Cassette
Figure 26. res://assets/images/ui/Cassette.svg
Table 40. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedCassettes/Cassette8 properties
Name Value

position

Vector2(1275, 34)

scale

Vector2(0.458984, 0.458984)

texture

Cassette
Figure 27. res://assets/images/ui/Cassette.svg
Table 41. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts properties
Name Value

unique_name_in_owner

true

Table 42. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts/BlueHeart1 properties
Name Value

position

Vector2(788, 86.125)

scale

Vector2(0.361328, 0.361328)

texture

BlueHeart
Figure 28. res://assets/images/ui/BlueHeart.svg
Table 43. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts/BlueHeart2 properties
Name Value

position

Vector2(857, 86.125)

scale

Vector2(0.361328, 0.361328)

texture

BlueHeart
Figure 29. res://assets/images/ui/BlueHeart.svg
Table 44. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts/BlueHeart3 properties
Name Value

position

Vector2(927, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

BlueHeart
Figure 30. res://assets/images/ui/BlueHeart.svg
Table 45. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts/BlueHeart4 properties
Name Value

position

Vector2(996, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

BlueHeart
Figure 31. res://assets/images/ui/BlueHeart.svg
Table 46. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts/BlueHeart5 properties
Name Value

position

Vector2(1066, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

BlueHeart
Figure 32. res://assets/images/ui/BlueHeart.svg
Table 47. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts/BlueHeart6 properties
Name Value

position

Vector2(1135, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

BlueHeart
Figure 33. res://assets/images/ui/BlueHeart.svg
Table 48. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts/BlueHeart7 properties
Name Value

position

Vector2(1205, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

BlueHeart
Figure 34. res://assets/images/ui/BlueHeart.svg
Table 49. $VBoxContainer/MainContainer/TicketContainer/TicketRoot/TicketSummary/ObtainedBlueHearts/BlueHeart8 properties
Name Value

position

Vector2(1275, 89.125)

scale

Vector2(0.361328, 0.361328)

texture

BlueHeart
Figure 35. res://assets/images/ui/BlueHeart.svg
Table 50. $VBoxContainer/MainContainer/CoverContainer properties
Name Value

layout_mode

2

Table 51. $VBoxContainer/MainContainer/CoverContainer/CoverRoot properties
Name Value

texture_filter

2

position

Vector2(1720, 25)

Table 52. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/TikectCover properties
Name Value

position

Vector2(-1264, 103)

scale

Vector2(0.878, 0.836667)

texture

TikectCover
Figure 36. res://assets/images/ui/TikectCover.svg
Table 53. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary properties
Name Value

unique_name_in_owner

true

Table 54. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/Face properties
Name Value

material

SubResource("CanvasItemMaterial_pgbv1")

position

Vector2(-1539.67, 102.401)

scale

Vector2(0.677092, 0.691006)

texture

Player face default
Figure 37. res://assets/images/faces/Player_face_default.png

flip_h

true

Table 55. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/SellotapeLeftTop properties
Name Value

position

Vector2(-1621, 20)

rotation

2.82394

scale

Vector2(1.30551, 1.09847)

texture

sellotape
Figure 38. res://assets/images/ui/sellotape.svg
Table 56. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/SellotapeRightBottom properties
Name Value

position

Vector2(-1466.23, 186.298)

rotation

-0.174533

scale

Vector2(1.2486, 1.12155)

texture

sellotape
Figure 39. res://assets/images/ui/sellotape.svg
Table 57. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/FacePhotoMask properties
Name Value

position

Vector2(-1539.5, 102.5)

scale

Vector2(0.675781, 0.691406)

blend_mode

2

texture

VintagePhotoMask
Figure 40. res://assets/images/ui/VintagePhotoMask.svg
Table 58. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/Strawberry properties
Name Value

position

Vector2(-1229.25, 158.75)

scale

Vector2(0.279297, 0.279297)

texture

Strawberry
Figure 41. res://assets/images/ui/Strawberry.png
Table 59. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/Multiplication properties
Name Value

position

Vector2(-1171.25, 163.75)

scale

Vector2(0.161157, 0.161157)

texture

Multiplication
Figure 42. res://assets/images/ui/Multiplication.svg
Table 60. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/ControlRoot properties
Name Value

layout_mode

3

anchors_preset

0

offset_left

-1420.0

offset_right

-1420.0

size_flags_horizontal

0

theme

Table 61. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/ControlRoot/PlayerName properties
Name Value

unique_name_in_owner

true

layout_mode

1

anchors_preset

15

anchor_right

1.0

anchor_bottom

1.0

offset_left

-33.0

offset_top

5.0

offset_right

529.0

offset_bottom

77.0

grow_horizontal

2

grow_vertical

2

size_flags_horizontal

0

theme_override_colors/font_color

Color(0.362424, 0.294801, 0.28132, 1)

theme_override_colors/font_outline_color

Color(0, 0, 0, 0)

theme_override_font_sizes/font_size

46

text

Madeline

horizontal_alignment

1

Table 62. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/ControlRoot/LatestChapterName properties
Name Value

unique_name_in_owner

true

layout_mode

1

anchors_preset

15

anchor_right

1.0

anchor_bottom

1.0

offset_left

-33.0

offset_top

71.0

offset_right

529.0

offset_bottom

121.0

grow_horizontal

2

grow_vertical

2

size_flags_horizontal

0

theme_override_colors/font_color

Color(0.59645, 0.505738, 0.487581, 1)

theme_override_colors/font_outline_color

Color(0, 0, 0, 0)

theme_override_font_sizes/font_size

32

text

1st Chapter

horizontal_alignment

1

Table 63. $VBoxContainer/MainContainer/CoverContainer/CoverRoot/CoverSummary/ControlRoot/ObtainedStrawberryCount properties
Name Value

unique_name_in_owner

true

layout_mode

0

offset_left

276.0

offset_top

128.0

offset_right

358.0

offset_bottom

195.0

text

123

Table 64. $VBoxContainer/MenuContainer properties
Name Value

visible

false

layout_mode

2

size_flags_horizontal

6

size_flags_vertical

2

theme_override_constants/margin_top

250

Table 65. $VBoxContainer/MenuContainer/VBoxContainer properties
Name Value

layout_mode

2

Table 66. $VBoxContainer/MenuContainer/VBoxContainer/GetStartedContainer properties
Name Value

layout_mode

2

alignment

1

Table 67. $VBoxContainer/MenuContainer/VBoxContainer/GetStartedContainer/GetStartedButton properties
Name Value

unique_name_in_owner

true

layout_mode

2

focus_neighbor_bottom

NodePath("../../ChangeNameContainer/ChangeNameButton")

focus_next

NodePath("../../ChangeNameContainer/ChangeNameButton")

text

Get Started

icon

null

focus_move_direction

2

Table 68. $VBoxContainer/MenuContainer/VBoxContainer/ChangeNameContainer properties
Name Value

layout_mode

2

alignment

1

Table 69. $VBoxContainer/MenuContainer/VBoxContainer/ChangeNameContainer/ChangeNameButton properties
Name Value

unique_name_in_owner

true

layout_mode

2

focus_neighbor_top

NodePath("../../GetStartedContainer/GetStartedButton")

focus_neighbor_bottom

NodePath("../../AssistModeContainer/AssistModeButton")

focus_next

NodePath("../../AssistModeContainer/AssistModeButton")

focus_previous

NodePath("../../GetStartedContainer/GetStartedButton")

theme_override_font_sizes/font_size

40

text

Change name

icon

null

focus_move_direction

2

Table 70. $VBoxContainer/MenuContainer/VBoxContainer/AssistModeContainer properties
Name Value

layout_mode

2

alignment

1

Table 71. $VBoxContainer/MenuContainer/VBoxContainer/AssistModeContainer/AssistModeButton properties
Name Value

unique_name_in_owner

true

layout_mode

2

focus_neighbor_top

NodePath("../../ChangeNameContainer/ChangeNameButton")

focus_previous

NodePath("../../ChangeNameContainer/ChangeNameButton")

theme_override_font_sizes/font_size

40

text

Assist mode : OFF

icon

null

focus_move_direction

2

Table 72. $AnimationPlayer properties
Name Value

unique_name_in_owner

true

libraries

{ &"": SubResource("AnimationLibrary_ci47f") }

autoplay

opening

account.gd

extends BoxContainer
class_name Account

signal ui_backed
signal selected
signal unselected
signal get_started

@export var resource : AccountResource : set = set_resource
const LABELS_IN_RESOURCE = [
	'player_name',
	'latest_chapter_name',
	'obtained_strawberry_count',
	'total_failure_count',
	'total_play_time',
	'obtained_cassettes',
	'obtained_blue_hearts',
]
enum State { UNFOCUSED, FOCUSED, SELECTED }
@export var state : State = State.UNFOCUSED
@export var focus_top : bool = false : set = set_focus_top
@export var focus_menu : bool = false : set = set_focus_menu


func _ready() -> void:
	FocusHelper.set_neighbors_v(
		[%GetStartedButton, %ChangeNameButton, %AssistModeButton])
	reset_summary_visiblity()
	if resource: load_resource()


func reset_summary_visiblity() -> void:
	if resource:
		%TicketSummaryPlaceholder.hide()
		%TicketSummary.show()
		%CoverSummary.show()
	else:
		%TicketSummaryPlaceholder.show()
		%TicketSummary.hide()
		%CoverSummary.hide()


func _input(event: InputEvent) -> void:
	if is_focused() && event.is_action_pressed("ui_accept"):
		selected.emit()
	elif event.is_action_pressed("ui_back"):
		if is_selected():  unselected.emit()
		elif is_focused(): ui_backed.emit()


func set_resource(_resource: AccountResource) -> void:
	resource = _resource


func load_resource() -> void:
	reset_summary_visiblity()
	if not resource: return
	for key in LABELS_IN_RESOURCE:
		var node = get_node("%" + key.to_pascal_case())
		if node:
			match key:
				'obtained_cassettes':
					set_icon_visibility_on(node,
						resource.obtained_cassettes())
				'obtained_blue_hearts':
					set_icon_visibility_on(node,
						resource.obtained_blue_hearts())
				_:
					node.text = str(resource.attr(key))


func set_icon_visibility_on(node: Node, flags: Array[bool]) -> void:
	for i in flags.size():
		var child = node.get_child(i)
		if child: child.visible = flags[i]


func set_focus_top(val) -> void:
	if val: grab_focus()


func set_focus_menu(val) -> void:
	if val: %GetStartedButton.grab_focus()


func is_focused() -> bool:
	return state == State.FOCUSED


func is_unfocused() -> bool:
	return state == State.UNFOCUSED


func is_selected() -> bool:
	return state == State.SELECTED


func _on_focus_entered() -> void:
	if is_unfocused():
		%AnimationPlayer.play("focused")


func _on_focus_exited() -> void:
	if is_focused():
		%AnimationPlayer.play("unfocused")


func _on_selected() -> void:
	%AnimationPlayer.play("selected")


func _on_unselected() -> void:
	%AnimationPlayer.play("unselected")


func _on_get_started_button_pressed() -> void:
	get_started.emit()