FB2TimelineComponent
Overview
- Component that manages a character's timeline.
Metadata
| Field | Value |
|---|---|
| Kind | component |
| Environment | B2 - Simulation |
| Category | components |
| Extends | FB2Component |
| Require | require('Components.B2TimelineComponent') |
Properties (30)
| Name | Type | Description |
|---|---|---|
ArrivedCareerRoomPurposeId | string | |
ArrivedGotoOtherSiteEntityId | FB1EntityId | Destination 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. |
AutonomyTimeTaskId | FB1TimeTaskId | |
BaseTimelines | FB1Timeline[] | |
CachedDayOfWeek | EB1DayOfWeek | |
CareerTimelineParams | table<EB1CareerType, FB1CareerTimelineParam> | |
CompletedScheduleIds | FB1ScheduleId[] | |
CurrentScheduleId | FB1ScheduleId | |
DespawnCount | integer | UPROPERTY(Transient); not saved. |
DespawnSpawnerEntityId | FB1EntityId | |
DestTargetEntityId | FB1EntityId | |
OrderQueue | FB1Order[] | |
OverrideTimelines | FB1Timeline[] | |
PreviousLocation | FVector | |
RetryOrderCount | integer | |
ScheduleMoveFailCount | integer | |
SiteExitRemainMinute | integer | |
SiteSchedule | FB1SiteSchedule | |
StartWorkingScheduleTime | integer | |
TPOPlanContext | FB2TPOPlanContext | |
UneditedBaseTimelines | FB1Timeline[] | |
bExecutedCrowdOverrideTimeline | boolean | |
bForceUpdate | boolean | |
bIsArrivedDestination | boolean | |
bIsExecuteArrivedSchedule | boolean | |
bIsExecuteCancelSchedule | boolean | |
bIsExecuteLeavedSiteSchedule | boolean | |
bIsExecuteStartSchedule | boolean | |
bIsNextDayExtended | boolean | |
bWakeupPassedScheduleTime | boolean |
Functions (93)
| Function | Parameters | Returns | Description |
|---|---|---|---|
AddSchedule | InDayOfWeek: EB1DayOfWeek, InIndex: integer, InSiteId: string | - | Adds Schedule. |
AdjustScheduleWhileNotPlaying | bMaintainTimeline: boolean | - | |
ApplyCustomSiteTimeline | InSiteSchedule: FB1SiteSchedule, InCustomTimelineList: FB1Timeline[] | - | Applies Custom Site Timeline. |
ApplySiteTimeline | InSiteSchedule: FB1SiteSchedule | - | Applies Site Timeline. |
CaptureUneditedBaseTimelines | - | - | |
CatchUpSchedule | InTick: integer | - | |
ChangeDailyAllScheduleState | InDayOfWeekList: EB1DayOfWeek[], InScheduleControlState: EB1ScheduleControlState, InReason: string | - | |
ChangePlayingZoiAdjustTimeline | bMaintainTimeline: boolean | - | |
ChangeScheduleState | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InScheduleControlState: EB1ScheduleControlState, InReason: string | - | |
ClearAllCustomSchedules | - | - | Clears All Custom Schedules. |
ClearCustomSchedules | InDayOfWeek: EB1DayOfWeek, bNeedRefresh: boolean | - | Clears Custom Schedules. |
ClearHouseholdBizSchedules | InDayOfWeek: EB1DayOfWeek | - | Clears Household Biz Schedules. |
ClearScheduleMoveFailCount | - | - | Clears Schedule Move Fail Count. |
ClearTimeline | bReserve: boolean | - | Clears Timeline. |
DeleteAllOverrideSchedules | InDayOfWeek: EB1DayOfWeek, InIsRequest: boolean | - | Deletes All Override Schedules. |
EndActiveScheduleAndSnapBarToCurrentTime | bForceDelete: boolean | - | Ends Active Schedule And Snap Bar To Current Time. |
ForceEndCurrentSchedule | InTimelineId: string | - | |
GetCareerScheduleStartTime | InDayOfWeek: EB1DayOfWeek, InCareerType: EB1CareerType, InFallback: integer | integer | Returns Career Schedule Start Time. |
GetCareerTimelineParam | InCareerType: EB1CareerType | FB1CareerTimelineParam | Returns Career Timeline Param. |
GetCityMovePolicyMap | InCityMoveDataPolicyType: EB1CityMoveDataPolicyType | table<string, EB1CityMoveDataPolicy> | Returns City Move Policy Map. |
GetCurrentScheduleAssoicateEntityId | - | FB1EntityId | Returns Current Schedule Assoicate Entity Id. |
GetCurrentScheduleRoleInfo | OutRoleNameId: string, bOutSkipSiteMatch: boolean | - | Returns Current Schedule Role Info. |
GetCurrentScheduleSiteId | - | string | Returns Current Schedule Site Id. |
GetDefaultCityMoveDataPolicy | - | EB1CityMoveDataPolicy | Returns Default City Move Data Policy. |
GetDespawnCount | - | integer | Returns Despawn Count. |
GetDespawnerEntityId | - | FB1EntityId | Returns Despawner Entity Id. |
GetDestTargetEntityId | - | FB1EntityId | Returns Dest Target Entity Id. |
GetNearestSpawnTicks | - | integer | Returns Nearest Spawn Ticks. |
GetOverrideTimeline | InDayOfWeek: EB1DayOfWeek | FB1Timeline | Returns Override Timeline. |
GetPreviousLocation | - | FVector | Returns Previous Location. |
GetScheduleState | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId | EB1ScheduleControlState | Returns Schedule State. |
GetSiteSchedule | - | FB1SiteSchedule | Returns Site Schedule. |
GetTimeline | InDayOfWeek: EB1DayOfWeek | FB1Timeline | Returns Timeline. |
GoHome | InNonCancelable: boolean | - | |
HandleCustomPolicyCityMoveData | InCityMovedData: nil, InCityMoveDataPolicyType: EB1CityMoveDataPolicyType | - | |
HasActiveSchedule | - | boolean | Returns whether it has Active Schedule. |
HasFixedOverrideTimeline | InDayOfWeek: EB1DayOfWeek | boolean | Returns whether it has Fixed Override Timeline. |
HasIntersectTimeline | InTimelineRange: FB1TimelineRange, IndayOfWeekIndex: integer | boolean | Returns whether it has Intersect Timeline. |
HasOverrideTimeline | InTimelineId: string, InDayOfWeek: EB1DayOfWeek | boolean | Returns whether it has Override Timeline. |
HasRemainSchedule | - | boolean | Returns whether it has Remain Schedule. |
HasScheduleOverlapWithCareer | InDayOfWeek: EB1DayOfWeek | boolean | Returns whether it has Schedule Overlap With Career. |
HasScheduleWithinHours | InHours: integer, bIncludeBase: boolean | boolean | Returns 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 | - | boolean | Returns whether Arrived Career Room Purpose. |
IsCurrentTimeline | TimelineId: string | boolean | Returns whether Current Timeline. |
IsExecuteArrivedSchedule | - | boolean | Returns whether Execute Arrived Schedule. |
IsHeadingToCustomScheduleGotoSite | - | boolean | Returns whether Heading To Custom Schedule Goto Site. |
IsInEssentialOrder | InInteractionBagId: string | boolean | Returns whether In Essential Order. |
IsInOverrideTimeline | - | boolean | Returns whether In Override Timeline. |
IsLateSchedule | - | boolean | Returns whether Late Schedule. |
IsLocatedScheduleDest | - | boolean | Returns whether Located Schedule Dest. |
IsSchoolSchedule | InCharacter: FB2Character | boolean | Returns whether School Schedule. |
ModifyCustomSchduleSite | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InSiteId: string | - | |
ModifyCustomSchduleTime | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InStartTime: integer, InEndTime: integer, bCustomScheduleReplace: boolean | - | |
OnConfirmScheduleConflict | InRequestId: integer, bConfirmed: boolean | - | Callback invoked on Confirm Schedule Conflict. |
OnDayChanged | Before: FDateTime, After: FDateTime | - | Callback invoked on Day Changed. |
ProcessPseudoSimulationTask | CurrentTime: FDateTime | - | |
RecalculateBaseScheduleHoldStates | InDayIndex: integer | - | |
RefreshCurrentSchedule | - | - | |
RemoveAttachedCommuteSchedule | InDayOfWeek: 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). |
RemoveNonFixedOverrideSchedules | InDayOfWeek: EB1DayOfWeek, InReason: string | - | Removes Non Fixed Override Schedules. |
RemoveOverrideScheduleBySiteEventId | InDayOfWeek: EB1DayOfWeek, InSiteEventId: FB1SiteEventId | - | Removes Override Schedule By Site Event Id. |
RemoveOverrideSchedulesByTimelineName | InDayOfWeek: EB1DayOfWeek, InTimelineName: string | - | Removes Override Schedules By Timeline Name. |
RemoveOverrideTimelineById | InTimelineId: string, InDayOfWeek: EB1DayOfWeek | - | Removes Override Timeline By Id. |
RemoveSchedule | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, bCustomScheduleReplace: boolean | - | Removes Schedule. |
RemoveScheduleByIndex | InDayOfWeek: EB1DayOfWeek, InIndex: integer | - | Removes Schedule By Index. |
RemoveSingleOverrideSchedule | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InReason: string | - | Removes Single Override Schedule. |
RemoveSiteTimeline | - | - | Removes Site Timeline. |
RenewalSchedule | - | - | |
ReplaceTimelineList | InTimelineList: FB1Timeline[] | - | |
ReserveTimelineIfDayEmpty | - | - | |
ReserveTimelineIfEmpty | - | - | |
ResetArrivedCareerRoomPurpose | bRemoveCustomScheduleOutfit: boolean | - | Exposed as public because an external caller (FB2CareerBase) needs to reset the arrival marker when a Career slot starts on time. |
ResetCareerTimelineParam | InCareerType: EB1CareerType | - | Resets Career Timeline Param. |
ResetCrowdReservedTimeline | InDayOfWeek: EB1DayOfWeek | - | Resets Crowd Reserved Timeline. |
ResetCrowdReservedTimelines | - | - | For managing the Crowd Schedule. |
ResetForceUpdate | - | - | Resets Force Update. |
ResetTimeline | - | - | Resets Timeline. |
RestoreCrowdReservedTimeline | - | - | |
SendCurrentScheduleInfo | bNeedUIRefresh: boolean | - | Sends Current Schedule Info. |
SendInitTimeline | - | - | Sends Init Timeline. |
SendOverrideTimeline | InDayOfWeek: EB1DayOfWeek | - | Sends Override Timeline. |
SendTimelineData | - | - | Sends Timeline Data. |
SetCareerTimelineParam | InParam: FB1CareerTimelineParam | - | Sets Career Timeline Param. |
SetDespawnerEntityId | InEntityId: FB1EntityId | - | Sets Despawner Entity Id. |
SetPreviousLocation | InLocation: FVector | - | Sets Previous Location. |
ShouldUseScheduler | - | boolean | Returns whether it should Use Scheduler. |
SnapOrRemoveSchedulesByCareerType | InCareerType: EB1CareerType | - | |
TimelineValidCheck | - | boolean | |
UpdateCareerDaySchedule | InDayOfWeek: EB1DayOfWeek | - | Updates Career Day Schedule. |
UpdateCareerWeekSchedule | bIsExceptCurrentDay: boolean | - | Updates Career Week Schedule. |
UpdateDestTargetEntityId | InNewDestEntityId: FB1EntityId | - | Updates Dest Target Entity Id. |
UpdateTimelineDataCache | - | - | Updates Timeline Data Cache. |
Override points (61)
Implement these in Lua as FB2TimelineComponent.Override_Name = function(...) end.
| Function | Parameters | Returns | Description |
|---|---|---|---|
Override_AddSchedule | InDayOfWeek: EB1DayOfWeek, InIndex: integer, InSiteId: string | - | Adds Schedule. |
Override_AdjustScheduleWhileNotPlaying | bMaintainTimeline: boolean | - | |
Override_ApplyCustomSiteTimeline | InSiteSchedule: FB1SiteSchedule, InCustomTimelineList: FB1Timeline[] | - | Applies Custom Site Timeline. |
Override_ApplySiteTimeline | InSiteSchedule: FB1SiteSchedule | - | Applies Site Timeline. |
Override_CaptureUneditedBaseTimelines | - | - | |
Override_CatchUpSchedule | InTick: integer | - | |
Override_ChangeDailyAllScheduleState | InDayOfWeekList: EB1DayOfWeek[], InScheduleControlState: EB1ScheduleControlState, InReason: string | - | |
Override_ChangePlayingZoiAdjustTimeline | bMaintainTimeline: boolean | - | |
Override_ChangeScheduleState | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InScheduleControlState: EB1ScheduleControlState, InReason: string | - | |
Override_ClearAllCustomSchedules | - | - | Clears All Custom Schedules. |
Override_ClearCustomSchedules | InDayOfWeek: EB1DayOfWeek, bNeedRefresh: boolean | - | Clears Custom Schedules. |
Override_ClearHouseholdBizSchedules | InDayOfWeek: EB1DayOfWeek | - | Clears Household Biz Schedules. |
Override_ClearTimeline | bReserve: boolean | - | Clears Timeline. |
Override_DeleteAllOverrideSchedules | InDayOfWeek: EB1DayOfWeek, InIsRequest: boolean | - | Deletes All Override Schedules. |
Override_EndActiveScheduleAndSnapBarToCurrentTime | bForceDelete: boolean | - | Ends Active Schedule And Snap Bar To Current Time. |
Override_ForceEndCurrentSchedule | InTimelineId: string | - | |
Override_GoHome | - | - | |
Override_HandleCustomPolicyCityMoveData | InCityMovedData: nil, InCityMoveDataPolicyType: EB1CityMoveDataPolicyType | - | |
Override_HasActiveSchedule | - | boolean | Returns whether it has Active Schedule. |
Override_HasFixedOverrideTimeline | - | boolean | Returns whether it has Fixed Override Timeline. |
Override_HasIntersectTimeline | InTimelineRange: FB1TimelineRange, IndayOfWeekIndex: integer | boolean | Returns whether it has Intersect Timeline. |
Override_HasOverrideTimeline | InTimelineId: string, InDayOfWeek: EB1DayOfWeek | boolean | Returns whether it has Override Timeline. |
Override_HasRemainSchedule | - | boolean | Returns whether it has Remain Schedule. |
Override_HasScheduleOverlapWithCareer | InDayOfWeek: EB1DayOfWeek | boolean | Returns whether it has Schedule Overlap With Career. |
Override_HasScheduleWithinHours | InHours: integer, bIncludeBase: boolean | boolean | Returns 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_ModifyCustomSchduleSite | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InSiteId: string | - | |
Override_ModifyCustomSchduleTime | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InStartTime: integer, InEndTime: integer, bCustomScheduleReplace: boolean | - | |
Override_OnConfirmScheduleConflict | InRequestId: integer, bConfirmed: boolean | - | Callback invoked on Confirm Schedule Conflict. |
Override_OnDayChanged | Before: FDateTime, After: FDateTime | - | Callback invoked on Day Changed. |
Override_ProcessPseudoSimulationTask | CurrentTime: FDateTime | - | |
Override_RecalculateBaseScheduleHoldStates | InDayIndex: integer | - | |
Override_RefreshCurrentSchedule | - | - | |
Override_RemoveAttachedCommuteSchedule | InDayOfWeek: EB1DayOfWeek, InCareerType: EB1CareerType, InSite: string, InScheduleStartTime: integer | - | Removes the attached commute together when the main schedule is canceled (independent of the call flow). |
Override_RemoveNonFixedOverrideSchedules | InDayOfWeek: EB1DayOfWeek, InReason: string | - | Removes Non Fixed Override Schedules. |
Override_RemoveOverrideScheduleBySiteEventId | InDayOfWeek: EB1DayOfWeek, InSiteEventId: FB1SiteEventId | - | Removes Override Schedule By Site Event Id. |
Override_RemoveOverrideSchedulesByTimelineName | InDayOfWeek: EB1DayOfWeek, InTimelineName: string | - | Removes Override Schedules By Timeline Name. |
Override_RemoveOverrideTimelineById | InTimelineId: string, InDayOfWeek: EB1DayOfWeek | - | Removes Override Timeline By Id. |
Override_RemoveSchedule | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, bCustomScheduleReplace: boolean | - | Removes Schedule. |
Override_RemoveScheduleByIndex | InDayOfWeek: EB1DayOfWeek, InIndex: integer | - | Removes Schedule By Index. |
Override_RemoveSingleOverrideSchedule | InDayOfWeek: EB1DayOfWeek, InScheduleId: FB1ScheduleId, InReason: string | - | Removes Single Override Schedule. |
Override_RemoveSiteTimeline | - | - | Removes Site Timeline. |
Override_RenewalSchedule | - | - | |
Override_ReplaceTimelineList | InTimelineList: FB1Timeline[] | - | |
Override_ReserveTimelineIfDayEmpty | - | - | |
Override_ReserveTimelineIfEmpty | - | - | |
Override_ResetCareerTimelineParam | InCareerType: EB1CareerType | - | Resets Career Timeline Param. |
Override_ResetCrowdReservedTimeline | InDayOfWeek: EB1DayOfWeek | - | Resets Crowd Reserved Timeline. |
Override_ResetCrowdReservedTimelines | - | - | For managing the Crowd Schedule. |
Override_ResetTimeline | - | - | Resets Timeline. |
Override_RestoreCrowdReservedTimeline | - | - | |
Override_SendCurrentScheduleInfo | bNeedUIRefresh: boolean | - | Sends Current Schedule Info. |
Override_SendInitTimeline | - | - | Sends Init Timeline. |
Override_SendOverrideTimeline | InDayOfWeek: EB1DayOfWeek | - | Sends Override Timeline. |
Override_SendTimelineData | - | - | Sends Timeline Data. |
Override_SnapOrRemoveSchedulesByCareerType | InCareerType: EB1CareerType | - | |
Override_TimelineValidCheck | - | boolean | |
Override_UpdateCareerDaySchedule | InDayOfWeek: EB1DayOfWeek | - | Updates Career Day Schedule. |
Override_UpdateCareerWeekSchedule | bIsExceptCurrentDay: boolean | - | Updates Career Week Schedule. |
Override_UpdateDestTargetEntityId | InNewDestEntityId: FB1EntityId | - | Updates Dest Target Entity Id. |
Override_UpdateTimelineDataCache | - | - | Updates Timeline Data Cache. |