Refactor interactions, introduce template-method lifecycle management, work on save-load system #51
Reference in New Issue
Block a user
No description provided.
Delete Branch "work_on_interactions_rebased"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lifecycle Management & Save System Revamp
Overview
Complete overhaul of game lifecycle management, interactable system, and save/load architecture. Introduces centralized
ManagedBehaviourbase class for consistent initialization ordering and lifecycle hooks across all systems.Core Architecture
New Lifecycle System
LifecycleManager: Centralized coordinator for all managed objectsManagedBehaviour: Base class replacing ad-hoc initialization patternsOnManagedAwake(): Priority-based initialization (0-100, lower = earlier)OnSceneReady(): Scene-specific setup after managers readyBootCompletionService(deleted)EditorLifecycleBootstrapensures lifecycle works in editor modeUnified SaveID System
{ParentName}_{ComponentType}AutoRegisterForSave = trueDebugSaveIdseditor tool for inspectionSave/Load Improvements
Enhanced State Management
ApplyCardCollectionState()waits for card definitions before restoringSaveablePlayableDirector: Timeline sequences save/restore playback stateInteractable & Pickup System
OnManagedAwake()for consistent initializationRestoreInteractionState())Interactable.Awake()now sealed, useOnManagedAwake()insteadUI System Changes
ManagedBehaviourSceneManagementService⚠️ Breaking Changes
BootCompletionServiceremoved → UseManagedBehaviour.OnManagedAwake()with priorityInteractable.Awake()sealed → OverrideOnManagedAwake()instead{ParentName}_{ComponentType}consistentlyManagedBehaviour5c0f4f8f6dtoba2c1f5310