ClassSections | FB1ClassSectionData[] | List of class sections (initialized with DA values in InitCareerData). |
CurrentExamScheduleData | FB1ScheduledExamData | |
CurrentGraduationData | FB1GraduationData | Graduation-ceremony runtime state (reset after the event ends, on growth detection). |
CurrentPromPartyData | FB1PromPartyData | Prom-party runtime state (reset weekly). |
DisplayOnlyDefaultUniformConsumedGenders | table<EB1GenderType, boolean> | |
ExamDayOfWeek | EB1DayOfWeek | Exam day (can differ per school; default Thursday). Set in InitCareerData from UB1SchoolDataAsset::ExamDayOfWeek. DA validation (B1SchoolDefine.cpp::Validate) restricts it to Monday-Friday. |
NextEvictionSectionIndex | integer | Index of the next section to evict (round-robin). |
PendingSectionAssignment | table<integer, FB2PendingStudents> | |
PrincipalId | FB1EntityId | Principal EntityId (belongs to Business; reference only, cached in TryRegisterToSchool). |
SchoolUniformData | FB1SchoolUniformData | |
StudentCounselingMap | table<FB1EntityId, FB1CounselingData> | Per-student counseling state. One entry is created on entering academic-warning stage 2 or the misbehavior-counseling stage. If SiteEventId is valid, a counseling SocialEvent is scheduled/in progress. Cleaned up via ResetCounselingData on student dropout/expulsion/death. |
StudentDemeritMap | table<FB1EntityId, integer> | Per-student accumulated demerits. Accumulated for life until graduation (no weekly reset). Reaching the threshold (DA->DemeritThresholdForCounseling) auto-triggers counseling, and passing counseling resets it to 0. Auto-removed via RequestLeave when the student leaves the school (graduation/dropout/expulsion). |
StudentEvaluationMap | table<FB1EntityId, FB1SchoolEvaluationData> | Per-student weekly evaluation state. Each weekday, DailyRecords are filled via RecordAttendance/RecordHomework/RecordRelationEvent; each exam day, FinalizeWeeklyEvaluation computes the weekly result and appends to WeeklyHistory. Backfilled by MemberInfo in OnPostInit (save compatibility). |
StudentHomeworkMap | table<FB1EntityId, FB1SchoolHomeworkAssignment> | Tracks homework assigned per student (one per student). The result is recorded in the collection-day (today) cell. |
TodayAbsenceMissionVisitedStudentIds | table<FB1EntityId, boolean> | |
UserPinnedStudents | table<FB1EntityId, integer> | |
WeeklyAnnouncementSentResidenceStudents | table<FB1EntityId, boolean> | EntityIds of ResidenceFamily students to whom this week's exam/timetable announcement wall-post was sent. Emptied in OnWeekReset. Non-ResidenceFamily students are skipped and not included. Tracks only the target students in a Set (instead of a per-student bool flag) to minimize data use. |
bInitialSectionAssignmentPhase | boolean | |
bTodayAbsenceMissionChecked | boolean | |
bTodayEvaluationDone | boolean | Whether ProcessTodaySchoolEvaluation ran once today. An idempotency flag to change OnHourChanged's on-time guard from strict equality to 'has passed + not yet processed'. Reset to false in OnDayChanged. Must be serialized (prevents duplicate runs after loading on the same day). |