Skip to main content

FB2TimelineComponent

Overview

  • Component that manages a character's timeline.

Metadata

FieldValue
Kindcomponent
EnvironmentB2 - Simulation
Categorycomponents
ExtendsFB2Component
Requirerequire('Components.B2TimelineComponent')

Properties (30)

NameTypeDescription
ArrivedCareerRoomPurposeIdstring
ArrivedGotoOtherSiteEntityIdFB1EntityIdDestination site at which a GoToOtherSite (no RoomPurpose) arrival completed (Invalid = not arrived). Like RoomPurpose arrival (ArrivedCareerRoomPurposeId), it ensures the ArrivedInteractionBag runs only once on arrival.
AutonomyTimeTaskIdFB1TimeTaskId
BaseTimelinesFB1Timeline[]
CachedDayOfWeekEB1DayOfWeek
CareerTimelineParamstable<EB1CareerType, FB1CareerTimelineParam>
CompletedScheduleIdsFB1ScheduleId[]
CurrentScheduleIdFB1ScheduleId
DespawnCountintegerUPROPERTY(Transient); not saved.
DespawnSpawnerEntityIdFB1EntityId
DestTargetEntityIdFB1EntityId
OrderQueueFB1Order[]
OverrideTimelinesFB1Timeline[]
PreviousLocationFVector
RetryOrderCountinteger
ScheduleMoveFailCountinteger
SiteExitRemainMinuteinteger
SiteScheduleFB1SiteSchedule
StartWorkingScheduleTimeinteger
TPOPlanContextFB2TPOPlanContext
UneditedBaseTimelinesFB1Timeline[]
bExecutedCrowdOverrideTimelineboolean
bForceUpdateboolean
bIsArrivedDestinationboolean
bIsExecuteArrivedScheduleboolean
bIsExecuteCancelScheduleboolean
bIsExecuteLeavedSiteScheduleboolean
bIsExecuteStartScheduleboolean
bIsNextDayExtendedboolean
bWakeupPassedScheduleTimeboolean

Functions (93)

FunctionParametersReturnsDescription
AddScheduleInDayOfWeek: EB1DayOfWeek, InIndex: integer, InSiteId: string-Adds Schedule.
AdjustScheduleWhileNotPlayingbMaintainTimeline: boolean-
ApplyCustomSiteTimelineInSiteSchedule: FB1SiteSchedule, InCustomTimelineList: FB1Timeline[]-Applies Custom Site Timeline.
ApplySiteTimelineInSiteSchedule: FB1SiteSchedule-Applies Site Timeline.
CaptureUneditedBaseTimelines--
CatchUpScheduleInTick: integer-
ChangeDailyAllScheduleStateInDayOfWeekList: EB1DayOfWeek[], InScheduleControlState: EB1ScheduleControlState, InReason: string-
ChangePlayingZoiAdjustTimelinebMaintainTimeline: boolean-
ChangeScheduleStateInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InScheduleControlState: EB1ScheduleControlState, InReason: string-
ClearAllCustomSchedules--Clears All Custom Schedules.
ClearCustomSchedulesInDayOfWeek: EB1DayOfWeek, bNeedRefresh: boolean-Clears Custom Schedules.
ClearHouseholdBizSchedulesInDayOfWeek: EB1DayOfWeek-Clears Household Biz Schedules.
ClearScheduleMoveFailCount--Clears Schedule Move Fail Count.
ClearTimelinebReserve: boolean-Clears Timeline.
DeleteAllOverrideSchedulesInDayOfWeek: EB1DayOfWeek, InIsRequest: boolean-Deletes All Override Schedules.
EndActiveScheduleAndSnapBarToCurrentTimebForceDelete: boolean-Ends Active Schedule And Snap Bar To Current Time.
ForceEndCurrentScheduleInTimelineId: string-
GetCareerScheduleStartTimeInDayOfWeek: EB1DayOfWeek, InCareerType: EB1CareerType, InFallback: integerintegerReturns Career Schedule Start Time.
GetCareerTimelineParamInCareerType: EB1CareerTypeFB1CareerTimelineParamReturns Career Timeline Param.
GetCityMovePolicyMapInCityMoveDataPolicyType: EB1CityMoveDataPolicyTypetable<string, EB1CityMoveDataPolicy>Returns City Move Policy Map.
GetCurrentScheduleAssoicateEntityId-FB1EntityIdReturns Current Schedule Assoicate Entity Id.
GetCurrentScheduleRoleInfoOutRoleNameId: string, bOutSkipSiteMatch: boolean-Returns Current Schedule Role Info.
GetCurrentScheduleSiteId-stringReturns Current Schedule Site Id.
GetDefaultCityMoveDataPolicy-EB1CityMoveDataPolicyReturns Default City Move Data Policy.
GetDespawnCount-integerReturns Despawn Count.
GetDespawnerEntityId-FB1EntityIdReturns Despawner Entity Id.
GetDestTargetEntityId-FB1EntityIdReturns Dest Target Entity Id.
GetNearestSpawnTicks-integerReturns Nearest Spawn Ticks.
GetOverrideTimelineInDayOfWeek: EB1DayOfWeekFB1TimelineReturns Override Timeline.
GetPreviousLocation-FVectorReturns Previous Location.
GetScheduleStateInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleIdEB1ScheduleControlStateReturns Schedule State.
GetSiteSchedule-FB1SiteScheduleReturns Site Schedule.
GetTimelineInDayOfWeek: EB1DayOfWeekFB1TimelineReturns Timeline.
GoHomeInNonCancelable: boolean-
HandleCustomPolicyCityMoveDataInCityMovedData: nil, InCityMoveDataPolicyType: EB1CityMoveDataPolicyType-
HasActiveSchedule-booleanReturns whether it has Active Schedule.
HasFixedOverrideTimelineInDayOfWeek: EB1DayOfWeekbooleanReturns whether it has Fixed Override Timeline.
HasIntersectTimelineInTimelineRange: FB1TimelineRange, IndayOfWeekIndex: integerbooleanReturns whether it has Intersect Timeline.
HasOverrideTimelineInTimelineId: string, InDayOfWeek: EB1DayOfWeekbooleanReturns whether it has Override Timeline.
HasRemainSchedule-booleanReturns whether it has Remain Schedule.
HasScheduleOverlapWithCareerInDayOfWeek: EB1DayOfWeekbooleanReturns whether it has Schedule Overlap With Career.
HasScheduleWithinHoursInHours: integer, bIncludeBase: booleanbooleanReturns whether any schedule-occupied span (excluding IsIgnoreSchedule) overlaps within a +/- InHours window around the current time. Inspects three days of timeline (yesterday/today/tomorrow) and handles schedules crossing midnight. bIncludeBase=true checks Base+Override; false checks only Override (for Crowd, a Base CrowdTimeline always exists, so only Override should be considered for a correct exclusivity decision).
IncrementScheduleMoveFailCount--
IsArrivedCareerRoomPurpose-booleanReturns whether Arrived Career Room Purpose.
IsCurrentTimelineTimelineId: stringbooleanReturns whether Current Timeline.
IsExecuteArrivedSchedule-booleanReturns whether Execute Arrived Schedule.
IsHeadingToCustomScheduleGotoSite-booleanReturns whether Heading To Custom Schedule Goto Site.
IsInEssentialOrderInInteractionBagId: stringbooleanReturns whether In Essential Order.
IsInOverrideTimeline-booleanReturns whether In Override Timeline.
IsLateSchedule-booleanReturns whether Late Schedule.
IsLocatedScheduleDest-booleanReturns whether Located Schedule Dest.
IsSchoolScheduleInCharacter: FB2CharacterbooleanReturns whether School Schedule.
ModifyCustomSchduleSiteInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InSiteId: string-
ModifyCustomSchduleTimeInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InStartTime: integer, InEndTime: integer, bCustomScheduleReplace: boolean-
OnConfirmScheduleConflictInRequestId: integer, bConfirmed: boolean-Callback invoked on Confirm Schedule Conflict.
OnDayChangedBefore: FDateTime, After: FDateTime-Callback invoked on Day Changed.
ProcessPseudoSimulationTaskCurrentTime: FDateTime-
RecalculateBaseScheduleHoldStatesInDayIndex: integer-
RefreshCurrentSchedule--
RemoveAttachedCommuteScheduleInDayOfWeek: EB1DayOfWeek, InCareerType: EB1CareerType, InSite: string, InScheduleStartTime: integer-Removes the attached commute together when the main schedule is canceled (independent of the call flow, such as social-event interruption or direct deletion).
RemoveNonFixedOverrideSchedulesInDayOfWeek: EB1DayOfWeek, InReason: string-Removes Non Fixed Override Schedules.
RemoveOverrideScheduleBySiteEventIdInDayOfWeek: EB1DayOfWeek, InSiteEventId: FB1SiteEventId-Removes Override Schedule By Site Event Id.
RemoveOverrideSchedulesByTimelineNameInDayOfWeek: EB1DayOfWeek, InTimelineName: string-Removes Override Schedules By Timeline Name.
RemoveOverrideTimelineByIdInTimelineId: string, InDayOfWeek: EB1DayOfWeek-Removes Override Timeline By Id.
RemoveScheduleInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, bCustomScheduleReplace: boolean-Removes Schedule.
RemoveScheduleByIndexInDayOfWeek: EB1DayOfWeek, InIndex: integer-Removes Schedule By Index.
RemoveSingleOverrideScheduleInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InReason: string-Removes Single Override Schedule.
RemoveSiteTimeline--Removes Site Timeline.
RenewalSchedule--
ReplaceTimelineListInTimelineList: FB1Timeline[]-
ReserveTimelineIfDayEmpty--
ReserveTimelineIfEmpty--
ResetArrivedCareerRoomPurposebRemoveCustomScheduleOutfit: boolean-Exposed as public because an external caller (FB2CareerBase) needs to reset the arrival marker when a Career slot starts on time.
ResetCareerTimelineParamInCareerType: EB1CareerType-Resets Career Timeline Param.
ResetCrowdReservedTimelineInDayOfWeek: EB1DayOfWeek-Resets Crowd Reserved Timeline.
ResetCrowdReservedTimelines--For managing the Crowd Schedule.
ResetForceUpdate--Resets Force Update.
ResetTimeline--Resets Timeline.
RestoreCrowdReservedTimeline--
SendCurrentScheduleInfobNeedUIRefresh: boolean-Sends Current Schedule Info.
SendInitTimeline--Sends Init Timeline.
SendOverrideTimelineInDayOfWeek: EB1DayOfWeek-Sends Override Timeline.
SendTimelineData--Sends Timeline Data.
SetCareerTimelineParamInParam: FB1CareerTimelineParam-Sets Career Timeline Param.
SetDespawnerEntityIdInEntityId: FB1EntityId-Sets Despawner Entity Id.
SetPreviousLocationInLocation: FVector-Sets Previous Location.
ShouldUseScheduler-booleanReturns whether it should Use Scheduler.
SnapOrRemoveSchedulesByCareerTypeInCareerType: EB1CareerType-
TimelineValidCheck-boolean
UpdateCareerDayScheduleInDayOfWeek: EB1DayOfWeek-Updates Career Day Schedule.
UpdateCareerWeekSchedulebIsExceptCurrentDay: boolean-Updates Career Week Schedule.
UpdateDestTargetEntityIdInNewDestEntityId: FB1EntityId-Updates Dest Target Entity Id.
UpdateTimelineDataCache--Updates Timeline Data Cache.

Override points (61)

Implement these in Lua as FB2TimelineComponent.Override_Name = function(...) end.

FunctionParametersReturnsDescription
Override_AddScheduleInDayOfWeek: EB1DayOfWeek, InIndex: integer, InSiteId: string-Adds Schedule.
Override_AdjustScheduleWhileNotPlayingbMaintainTimeline: boolean-
Override_ApplyCustomSiteTimelineInSiteSchedule: FB1SiteSchedule, InCustomTimelineList: FB1Timeline[]-Applies Custom Site Timeline.
Override_ApplySiteTimelineInSiteSchedule: FB1SiteSchedule-Applies Site Timeline.
Override_CaptureUneditedBaseTimelines--
Override_CatchUpScheduleInTick: integer-
Override_ChangeDailyAllScheduleStateInDayOfWeekList: EB1DayOfWeek[], InScheduleControlState: EB1ScheduleControlState, InReason: string-
Override_ChangePlayingZoiAdjustTimelinebMaintainTimeline: boolean-
Override_ChangeScheduleStateInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InScheduleControlState: EB1ScheduleControlState, InReason: string-
Override_ClearAllCustomSchedules--Clears All Custom Schedules.
Override_ClearCustomSchedulesInDayOfWeek: EB1DayOfWeek, bNeedRefresh: boolean-Clears Custom Schedules.
Override_ClearHouseholdBizSchedulesInDayOfWeek: EB1DayOfWeek-Clears Household Biz Schedules.
Override_ClearTimelinebReserve: boolean-Clears Timeline.
Override_DeleteAllOverrideSchedulesInDayOfWeek: EB1DayOfWeek, InIsRequest: boolean-Deletes All Override Schedules.
Override_EndActiveScheduleAndSnapBarToCurrentTimebForceDelete: boolean-Ends Active Schedule And Snap Bar To Current Time.
Override_ForceEndCurrentScheduleInTimelineId: string-
Override_GoHome--
Override_HandleCustomPolicyCityMoveDataInCityMovedData: nil, InCityMoveDataPolicyType: EB1CityMoveDataPolicyType-
Override_HasActiveSchedule-booleanReturns whether it has Active Schedule.
Override_HasFixedOverrideTimeline-booleanReturns whether it has Fixed Override Timeline.
Override_HasIntersectTimelineInTimelineRange: FB1TimelineRange, IndayOfWeekIndex: integerbooleanReturns whether it has Intersect Timeline.
Override_HasOverrideTimelineInTimelineId: string, InDayOfWeek: EB1DayOfWeekbooleanReturns whether it has Override Timeline.
Override_HasRemainSchedule-booleanReturns whether it has Remain Schedule.
Override_HasScheduleOverlapWithCareerInDayOfWeek: EB1DayOfWeekbooleanReturns whether it has Schedule Overlap With Career.
Override_HasScheduleWithinHoursInHours: integer, bIncludeBase: booleanbooleanReturns whether any schedule-occupied span (excluding IsIgnoreSchedule) overlaps within a +/- InHours window around the current time. Inspects three days of timeline and handles schedules crossing midnight. bIncludeBase=true checks Base+Override; false checks only Override.
Override_IncrementScheduleMoveFailCount--
Override_ModifyCustomSchduleSiteInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InSiteId: string-
Override_ModifyCustomSchduleTimeInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InStartTime: integer, InEndTime: integer, bCustomScheduleReplace: boolean-
Override_OnConfirmScheduleConflictInRequestId: integer, bConfirmed: boolean-Callback invoked on Confirm Schedule Conflict.
Override_OnDayChangedBefore: FDateTime, After: FDateTime-Callback invoked on Day Changed.
Override_ProcessPseudoSimulationTaskCurrentTime: FDateTime-
Override_RecalculateBaseScheduleHoldStatesInDayIndex: integer-
Override_RefreshCurrentSchedule--
Override_RemoveAttachedCommuteScheduleInDayOfWeek: EB1DayOfWeek, InCareerType: EB1CareerType, InSite: string, InScheduleStartTime: integer-Removes the attached commute together when the main schedule is canceled (independent of the call flow).
Override_RemoveNonFixedOverrideSchedulesInDayOfWeek: EB1DayOfWeek, InReason: string-Removes Non Fixed Override Schedules.
Override_RemoveOverrideScheduleBySiteEventIdInDayOfWeek: EB1DayOfWeek, InSiteEventId: FB1SiteEventId-Removes Override Schedule By Site Event Id.
Override_RemoveOverrideSchedulesByTimelineNameInDayOfWeek: EB1DayOfWeek, InTimelineName: string-Removes Override Schedules By Timeline Name.
Override_RemoveOverrideTimelineByIdInTimelineId: string, InDayOfWeek: EB1DayOfWeek-Removes Override Timeline By Id.
Override_RemoveScheduleInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, bCustomScheduleReplace: boolean-Removes Schedule.
Override_RemoveScheduleByIndexInDayOfWeek: EB1DayOfWeek, InIndex: integer-Removes Schedule By Index.
Override_RemoveSingleOverrideScheduleInDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InReason: string-Removes Single Override Schedule.
Override_RemoveSiteTimeline--Removes Site Timeline.
Override_RenewalSchedule--
Override_ReplaceTimelineListInTimelineList: FB1Timeline[]-
Override_ReserveTimelineIfDayEmpty--
Override_ReserveTimelineIfEmpty--
Override_ResetCareerTimelineParamInCareerType: EB1CareerType-Resets Career Timeline Param.
Override_ResetCrowdReservedTimelineInDayOfWeek: EB1DayOfWeek-Resets Crowd Reserved Timeline.
Override_ResetCrowdReservedTimelines--For managing the Crowd Schedule.
Override_ResetTimeline--Resets Timeline.
Override_RestoreCrowdReservedTimeline--
Override_SendCurrentScheduleInfobNeedUIRefresh: boolean-Sends Current Schedule Info.
Override_SendInitTimeline--Sends Init Timeline.
Override_SendOverrideTimelineInDayOfWeek: EB1DayOfWeek-Sends Override Timeline.
Override_SendTimelineData--Sends Timeline Data.
Override_SnapOrRemoveSchedulesByCareerTypeInCareerType: EB1CareerType-
Override_TimelineValidCheck-boolean
Override_UpdateCareerDayScheduleInDayOfWeek: EB1DayOfWeek-Updates Career Day Schedule.
Override_UpdateCareerWeekSchedulebIsExceptCurrentDay: boolean-Updates Career Week Schedule.
Override_UpdateDestTargetEntityIdInNewDestEntityId: FB1EntityId-Updates Dest Target Entity Id.
Override_UpdateTimelineDataCache--Updates Timeline Data Cache.