197 lines
5.4 KiB
GDScript
197 lines
5.4 KiB
GDScript
extends CanvasLayer
|
|
|
|
@onready var player_vars = get_node("/root/PlayerVariables")
|
|
@onready var game_time = get_node("/root/GameTimer")
|
|
@onready var finances = get_node("/root/Finances")
|
|
@onready var registers = get_node("/root/Registers")
|
|
@onready var pupil_manager = get_node("/root/Main/Pupils")
|
|
@onready var staff_manager = get_node("/root/Main/ClassTeachers")
|
|
|
|
var estimated_funds : int
|
|
|
|
|
|
func _ready():
|
|
game_time.connect("heartbeat", Callable(self, "_on_heartbeat"))
|
|
update_ui_timers()
|
|
$BuildMenu/ClassroomCost.text = str(player_vars.classroom_cost)
|
|
|
|
func disable_menus():
|
|
$BudgetMenu.visible = false
|
|
$PolicyMenu.visible = false
|
|
$PrincipalMenu.visible = false
|
|
$HRMenu.visible = false
|
|
$DebugMenu.visible = false
|
|
$BuildMenu.visible = false
|
|
$InfoMenu.visible = false
|
|
|
|
func update_ui_timers():
|
|
$MainMenu/DayNumber.text = str(player_vars.day)
|
|
$MainMenu/WeekNumber.text = str(player_vars.week)
|
|
$MainMenu/MonthNumber.text = str(player_vars.month)
|
|
$MainMenu/YearNumber.text = str(player_vars.year)
|
|
if player_vars.season == 1:
|
|
$MainMenu/SeasonNumber.text = "Autumn"
|
|
if player_vars.season == 2:
|
|
$MainMenu/SeasonNumber.text = "Winter"
|
|
if player_vars.season == 3:
|
|
$MainMenu/SeasonNumber.text = "Spring"
|
|
if player_vars.season == 4:
|
|
$MainMenu/SeasonNumber.text = "Easter"
|
|
if player_vars.season == 5:
|
|
$MainMenu/SeasonNumber.text = "Summer"
|
|
|
|
|
|
func update_funds():
|
|
$MainMenu/FundsNumber.text = str(player_vars.funds)
|
|
$MainMenu/RatingNumber.text = str(player_vars.rating)
|
|
$MainMenu/PupilsNumber.text = str(player_vars.pupil_pop)
|
|
$MainMenu/PupilsMax.text = str(player_vars.max_pupils)
|
|
|
|
func update_trackers():
|
|
$DebugMenu/PupilAchievementNumber.text = str(pupil_manager.pupil_tracker_achievement)
|
|
$DebugMenu/PupilEnjoymentNumber.text = str(pupil_manager.pupil_tracker_enjoyment)
|
|
$DebugMenu/PupilWellbeingNumber.text = str(pupil_manager.pupil_tracker_wellbeing)
|
|
$DebugMenu/PupilTotalScoreNumber.text = str(pupil_manager.pupil_tracker_total)
|
|
$DebugMenu/TeacherAchievementNumber.text = str(staff_manager.staff_tracker_achievement)
|
|
$DebugMenu/TeacherEnjoymentNumber.text = str(staff_manager.staff_tracker_enjoyment)
|
|
$DebugMenu/TeacherWellbeingNumber.text = str(staff_manager.staff_tracker_wellbeing)
|
|
$DebugMenu/TeacherTotalScoreNumber.text = str(staff_manager.staff_tracker_total)
|
|
$MainMenu/Bars/PupilBar.value = pupil_manager.pupil_tracker_total
|
|
$MainMenu/Bars/TeacherBar.value = staff_manager.staff_tracker_total
|
|
$InfoMenu/Year1Number.text = str(pupil_manager.year1_pop)
|
|
$InfoMenu/Year2Number.text = str(pupil_manager.year2_pop)
|
|
$InfoMenu/Year3Number.text = str(pupil_manager.year3_pop)
|
|
$InfoMenu/Year4Number.text = str(pupil_manager.year4_pop)
|
|
$InfoMenu/Year5Number.text = str(pupil_manager.year5_pop)
|
|
$InfoMenu/Year6Number.text = str(pupil_manager.year6_pop)
|
|
$InfoMenu/Year7Number.text = str(pupil_manager.year7_pop)
|
|
$InfoMenu/Year8Number.text = str(pupil_manager.year8_pop)
|
|
|
|
func update_policy():
|
|
$PolicyMenu/ClassSize.text = str(player_vars.pupils_per_classroom)
|
|
|
|
func _process(_delta):
|
|
$DebugMenu/TestTimer.text = str(game_time.game_timer)
|
|
update_funds()
|
|
update_policy()
|
|
update_trackers()
|
|
|
|
|
|
func _on_heartbeat():
|
|
update_ui_timers()
|
|
$InfoMenu/PupilRegister.text = str(registers.PupilRegister)
|
|
|
|
func _on_SpeedOne_pressed():
|
|
game_time.paused = 0
|
|
game_time.wait_time = 6
|
|
|
|
func _on_SpeedTwo_pressed():
|
|
game_time.paused = 0
|
|
game_time.wait_time = 3
|
|
|
|
func _on_SpeedThree_pressed():
|
|
game_time.paused = 0
|
|
game_time.wait_time = 1
|
|
|
|
func _on_SpeedPause_pressed():
|
|
game_time.paused = 1
|
|
|
|
func _on_DebugMenuClose_pressed():
|
|
$DebugMenu.visible = false
|
|
|
|
func _on_DebugMenuOn_pressed():
|
|
if player_vars.has_staffroom == true:
|
|
$DebugMenu/StaffroomLabel.text = str("HasStaffroom")
|
|
if player_vars.has_cpdroom == true:
|
|
$DebugMenu/CPDRoomLabel.text = str("HasCPDRoom")
|
|
disable_menus()
|
|
$DebugMenu.visible = true
|
|
|
|
func _on_BuildMenuOn_pressed():
|
|
disable_menus()
|
|
$BuildMenu.visible = true
|
|
|
|
func _on_BuildMenuClose_pressed():
|
|
$BuildMenu.visible = false
|
|
|
|
func _on_ClassroomButton_pressed():
|
|
pass
|
|
|
|
|
|
func _on_BudgetMenuClose_pressed():
|
|
$BudgetMenu.visible = false
|
|
# $PausedRect.visible = false
|
|
# $MainMenu.visible = true
|
|
# $MenuButtons.visible = true
|
|
# game_time.paused = 0
|
|
|
|
|
|
func _on_BudgetMenuOn_pressed():
|
|
disable_menus()
|
|
$BudgetMenu.visible = true
|
|
# $PausedRect.visible = true
|
|
# $MainMenu.visible = false
|
|
# $MenuButtons.visible = false
|
|
# game_time.paused = 1
|
|
|
|
|
|
func _on_ClosePolicyMenu_pressed():
|
|
$PolicyMenu.visible = false
|
|
# game_time.paused = 0
|
|
|
|
|
|
func _on_PolicyMenuOn_pressed():
|
|
disable_menus()
|
|
$PolicyMenu.visible = true
|
|
# game_time.paused = 1
|
|
|
|
|
|
func _on_PupilFeeDecrease_pressed():
|
|
if player_vars.pupil_fee > 99:
|
|
player_vars.pupil_fee -= 100
|
|
|
|
|
|
func _on_PupilFeeIncrease_pressed():
|
|
player_vars.pupil_fee += 100
|
|
|
|
|
|
func _on_ClassSizeLower_pressed():
|
|
player_vars.pupils_per_classroom -= 1
|
|
|
|
|
|
func _on_ClassSizeRaise_pressed():
|
|
player_vars.pupils_per_classroom += 1
|
|
|
|
|
|
func _on_PrincipalMenuOn_pressed():
|
|
disable_menus()
|
|
$PrincipalMenu/NameLine.text = player_vars.principal_name
|
|
$PrincipalMenu/SchoolNameLine.text = player_vars.school_name
|
|
$PrincipalMenu.visible = true
|
|
|
|
|
|
func _on_ClosePrincipalMenu_pressed():
|
|
$PrincipalMenu.visible = false
|
|
|
|
|
|
func _on_HRMenuButton_pressed():
|
|
disable_menus()
|
|
$HRMenu.visible = true
|
|
|
|
|
|
func _on_CloseHRMenu_pressed():
|
|
$HRMenu.visible = false
|
|
|
|
|
|
func _on_NameLineOK_pressed():
|
|
player_vars.principal_name = $PrincipalMenu/NameLine.text
|
|
|
|
|
|
func _on_InfoButton_pressed():
|
|
disable_menus()
|
|
$InfoMenu.visible = true
|
|
|
|
|
|
func _on_InfoMenuClose_pressed():
|
|
$InfoMenu.visible = false
|