Session
Session and profiles
What the player can do
From the title, the player can start a new profile, continue the last profile, load a saved profile, or quit. The cursor and the shared UI canvas are on this chapter. New game asks for a name through the profile name dialog, then IProfileService creates the profile and SessionState enters it. Continue uses the last played profile. Load lists profiles and enters the chosen one.
In development builds the title can also open a debug level, the co-op lobby, or a co-op soak. A pending Steam join skips the title and enters a profile already joined.
What ends it
Activating Quit exits the game process. A player who launched from Steam returns to the Steam client, and the same process exit applies on any other storefront. Escape and pad Cancel leave the title in place. Leaving the player scope (level-select Back, or the end of a co-op entry) returns to the title so another profile can be chosen. Cancelling the name dialog or the load list stays on the title.
What is saved
Profiles are saved by IProfileService. Entering a profile marks it last played. The title, name dialog, and load list are not saved.
Numbers
Generated snapshot
Session and profiles
Generated from the Unity project. Do not edit this file. Regenerate: Deep Forest Labs → Slumber → Wiki → Write snapshots, or call WikiSnapshot.WriteAll().
Owns
States
_None._
Service interfaces
ICursorService(DeepForestLabs.Slumber.Services) —Assets/Scripts/Services/ICursorService.csIProfileService(DeepForestLabs.Slumber.Profiles) —Assets/Scripts/Profiles/IProfileService.csIUICanvasService(DeepForestLabs.Slumber.Services) —Assets/Scripts/Services/IUICanvasService.cs
Factories
ConfirmDialogFactory(DeepForestLabs.Slumber.UI.ConfirmDialog) —Assets/Scripts/UI/ConfirmDialog/ConfirmDialogFactory.csErrorDialogFactory(DeepForestLabs.Slumber.ErrorDialog) —Assets/Scripts/ErrorDialog/ErrorDialogFactory.csLoadGameFactory(DeepForestLabs.Slumber.Profiles.LoadGame) —Assets/Scripts/Profiles/LoadGame/LoadGameFactory.csLoadGameManagerFactory(DeepForestLabs.Slumber.Profiles.LoadGame) —Assets/Scripts/Profiles/LoadGame/LoadGameManagerFactory.csProfileNameDialogFactory(DeepForestLabs.Slumber.Profiles.NameDialog) —Assets/Scripts/Profiles/NameDialog/ProfileNameDialogFactory.csProfileRowFactory(DeepForestLabs.Slumber.Profiles.LoadGame.Row) —Assets/Scripts/Profiles/LoadGame/Row/ProfileRowFactory.csTitleScreenFactory(DeepForestLabs.Slumber.TitleScreen) —Assets/Scripts/TitleScreen/TitleScreenFactory.cs
Config types
_None._
Enums
ConfirmDialogModelId
Assets/Scripts/UI/ConfirmDialog/Models/ConfirmDialogModelId.cs
- Default = 0
ConfirmDialogResult
Assets/Scripts/UI/ConfirmDialog/Models/ConfirmDialogResult.cs
- Confirm = 0
- Cancel = 1
ErrorDialogModelId
Assets/Scripts/ErrorDialog/Models/ErrorDialogModel.cs
- Default = 0
LoadGameAction
Assets/Scripts/Profiles/LoadGame/Models/LoadGameResult.cs
- Load = 0
- Back = 1
LoadGameModelId
Assets/Scripts/Profiles/LoadGame/Models/LoadGameModel.cs
- Default = 0
ProfileNameDialogModelId
Assets/Scripts/Profiles/NameDialog/Models/ProfileNameDialogModel.cs
- Default = 0
ProfileRowModelId
Assets/Scripts/Profiles/LoadGame/Row/Models/ProfileRowModel.cs
- Default = 0
TitleScreenModelId
Assets/Scripts/TitleScreen/Models/TitleScreenModel.cs
- Default = 0
TitleScreenResult
Assets/Scripts/TitleScreen/Models/TitleScreenResult.cs
- NewGame = 0
- Continue = 1
- LoadGame = 2
- Quit = 3
- DebugLevel = 4
- CoopLobby = 5
- CoopSoak = 6
- PendingCoopJoin = 7
Assets
ConfirmDialogFactory
Assets/Data/_AssetData/Addressables/Slumber/ConfirmDialog.asset
- _model - _id: Default - _name: `
- _message:` - _view - _prefab - _mode: Resources - _resourcesPath:
Prefabs/ConfirmDialog- _guid: `` - _options - _downloadOptions: OnDemand - _loadOptions: OnDemand - _prewarm: false - _useCreate: false - _autoUnload: false - _prewarmCount: 0 - _maxPoolSize: 0 - _worldPositionStays: false - _control - _autoPromoteController: true - _defaultResult - _isValid: false - _error: `` - _value: Confirm - _skippable: -1
- _analytics - _suppressAnalyticsCalls: false - _str1: `
- _str2:- _str3:- _str4:- _str5:` - _hasAmount: false - _amount: 0 - _extraData (0)
ErrorDialogFactory
Assets/Data/_AssetData/Addressables/Slumber/ErrorDialog.asset
- _model - _id: Default - _name: `
- _defaultMessage:An error has occurred` - _view - _prefab - _mode: Resources - _resourcesPath:
Prefabs/ErrorDialog- _guid:975ce647667694ce9aa183e33e21c9b9- _options - _downloadOptions: OnDemand - _loadOptions: OnDemand - _prewarm: false - _useCreate: false - _autoUnload: false - _prewarmCount: 0 - _maxPoolSize: 0 - _worldPositionStays: false - _control - _autoPromoteController: true - _defaultResult - _isValid: false - _error: `` - _skippable: -1
- _analytics - _suppressAnalyticsCalls: false - _str1: `
- _str2:- _str3:- _str4:- _str5:` - _hasAmount: false - _amount: 0 - _extraData (0)
LoadGameFactory
Assets/Data/_AssetData/Addressables/Slumber/LoadGame.asset
- _model - _id: Default - _name: ``
- _view - _prefab - _mode: Resources - _resourcesPath:
Prefabs/LoadGameView- _guid: `` - _options - _downloadOptions: OnDemand - _loadOptions: OnDemand - _prewarm: false - _useCreate: false - _autoUnload: false - _prewarmCount: 0 - _maxPoolSize: 0 - _worldPositionStays: false - _control - _autoPromoteController: false - _defaultResult - _isValid: false - _error: `` - _skippable: -1
- _analytics - _suppressAnalyticsCalls: false - _str1: `
- _str2:- _str3:- _str4:- _str5:` - _hasAmount: false - _amount: 0 - _extraData (0)
LoadGameManagerFactory
Assets/Data/_AssetData/Addressables/DeepForestLabs/Slumber/LoadGameManager.asset
- _loadGameFactory: Assets/Data/_AssetData/Addressables/Slumber/LoadGame.asset
- _rowFactory: Assets/Data/_AssetData/Addressables/Slumber/ProfileRow.asset
- _rowCount: 16
ProfileNameDialogFactory
Assets/Data/_AssetData/Addressables/Slumber/ProfileNameDialog.asset
- _model - _id: Default - _name: `
- _prompt:Name your save` - _view - _prefab - _mode: Resources - _resourcesPath:
Prefabs/ProfileNameDialogView- _guid: `` - _options - _downloadOptions: OnDemand - _loadOptions: OnDemand - _prewarm: false - _useCreate: false - _autoUnload: false - _prewarmCount: 0 - _maxPoolSize: 0 - _worldPositionStays: false - _control - _autoPromoteController: true - _defaultResult - _isValid: false - _error: `` - _skippable: -1
- _analytics - _suppressAnalyticsCalls: false - _str1: `
- _str2:- _str3:- _str4:- _str5:` - _hasAmount: false - _amount: 0 - _extraData (0)
ProfileRowFactory
Assets/Data/_AssetData/Addressables/Slumber/ProfileRow.asset
- _model - _id: Default - _name: `
- _profileId:- _displayName:- _metadata:` - _selected: false - _anchorMinY: 0 - _anchorMaxY: 1 - _view - _prefab - _mode: Resources - _resourcesPath:
Prefabs/ProfileRowView- _guid: `` - _options - _downloadOptions: OnDemand - _loadOptions: OnDemand - _prewarm: false - _useCreate: false - _autoUnload: false - _prewarmCount: 0 - _maxPoolSize: 0 - _worldPositionStays: false - _control - _autoPromoteController: false - _defaultResult - _isValid: false - _error: `` - _skippable: -1
- _analytics - _suppressAnalyticsCalls: false - _str1: `
- _str2:- _str3:- _str4:- _str5:` - _hasAmount: false - _amount: 0 - _extraData (0)
TitleScreenFactory
Assets/Data/_AssetData/Addressables/Slumber/TitleScreen.asset
- _model - _id: Default - _name: ``
- _view - _prefab - _mode: Resources - _resourcesPath:
Prefabs/TitleScreen- _guid:4b67b5734e2354963a5f206b551a52ad- _options - _downloadOptions: OnDemand - _loadOptions: OnDemand - _prewarm: false - _useCreate: false - _autoUnload: false - _prewarmCount: 0 - _maxPoolSize: 0 - _worldPositionStays: false - _control - _autoPromoteController: true - _defaultResult - _isValid: false - _error: `` - _value: NewGame - _skippable: -1
- _analytics - _suppressAnalyticsCalls: false - _str1: `
- _str2:- _str3:- _str4:- _str5:` - _hasAmount: false - _amount: 0 - _extraData (0)
Wired in
Assets/Scripts/ErrorDialog/ErrorDialogFactory.csmentionsErrorDialogModelIdAssets/Scripts/Factories/SessionContainerFactory.csmentionsConfirmDialogFactoryAssets/Scripts/Factories/SessionContainerFactory.csmentionsIProfileServiceAssets/Scripts/Factories/SessionContainerFactory.csmentionsLoadGameManagerFactoryAssets/Scripts/Factories/SessionContainerFactory.csmentionsProfileNameDialogFactoryAssets/Scripts/Factories/SessionContainerFactory.csmentionsTitleScreenFactoryAssets/Scripts/MainArgs.csmentionsErrorDialogFactoryAssets/Scripts/MainArgs.csmentionsICursorServiceAssets/Scripts/MainArgs.csmentionsIUICanvasServiceAssets/Scripts/Profiles/LoadGame/LoadGameFactory.csmentionsLoadGameManagerFactoryAssets/Scripts/Profiles/LoadGame/LoadGameFactory.csmentionsLoadGameModelIdAssets/Scripts/Profiles/LoadGame/LoadGameManagerFactory.csmentionsLoadGameFactoryAssets/Scripts/Profiles/LoadGame/LoadGameManagerFactory.csmentionsProfileRowFactoryAssets/Scripts/Profiles/LoadGame/Row/ProfileRowFactory.csmentionsProfileRowModelIdAssets/Scripts/Profiles/NameDialog/ProfileNameDialogFactory.csmentionsProfileNameDialogModelIdAssets/Scripts/TitleScreen/TitleScreenFactory.csmentionsTitleScreenModelIdAssets/Scripts/TitleScreen/TitleScreenFactory.csmentionsTitleScreenResultAssets/Scripts/UI/ConfirmDialog/ConfirmDialogFactory.csmentionsConfirmDialogModelIdAssets/Scripts/UI/ConfirmDialog/ConfirmDialogFactory.csmentionsConfirmDialogResult