LabelFontChanger.gd 763 B

123456789101112131415161718192021222324252627282930313233
  1. class_name LabelFontChanger
  2. extends Node
  3. @export var labels: Array[Label]
  4. const SMB1 = preload("uid://bl7sbw4nx3l1t")
  5. const SMBLL = preload("uid://djxdgxy1iv8yv")
  6. const SCORE_FONT = preload("uid://bk0no5p6sifgu")
  7. @export var use_score_font := false
  8. static var current_font: Font = null
  9. func _ready() -> void:
  10. refresh_font()
  11. Global.level_theme_changed.connect(refresh_font)
  12. func refresh_font() -> void:
  13. if Global.current_campaign == "SMBLL":
  14. current_font = SMBLL
  15. else:
  16. current_font = SMB1
  17. update_labels()
  18. func update_labels() -> void:
  19. var font_to_use = current_font
  20. if use_score_font:
  21. font_to_use = SCORE_FONT
  22. for i in labels:
  23. if i == null:
  24. continue
  25. i.remove_theme_font_override("font")
  26. i.add_theme_font_override("font", font_to_use)