├── .github
└── FUNDING.yml
├── CHANGELOG.md
├── CHANGELOG.md.meta
├── Carter Games.meta
├── Carter Games
├── Save Manager.meta
└── Save Manager
│ ├── Art.meta
│ ├── Art
│ ├── Editor.meta
│ └── Editor
│ │ ├── File Icons.meta
│ │ ├── File Icons
│ │ ├── T_SaveManager_DataFileIcon.png
│ │ ├── T_SaveManager_DataFileIcon.png.meta
│ │ ├── T_SaveManager_IndexFileIcon.png
│ │ ├── T_SaveManager_IndexFileIcon.png.meta
│ │ ├── T_SaveManager_KeyFileIcon.png
│ │ ├── T_SaveManager_KeyFileIcon.png.meta
│ │ ├── T_SaveManager_ProfilesFileIcon.png
│ │ ├── T_SaveManager_ProfilesFileIcon.png.meta
│ │ ├── T_SaveManager_ScriptFileIcon.png
│ │ ├── T_SaveManager_ScriptFileIcon.png.meta
│ │ ├── T_SaveManager_SettingsFileIcon.png
│ │ └── T_SaveManager_SettingsFileIcon.png.meta
│ │ ├── Icons.meta
│ │ ├── Icons
│ │ ├── Inspectors.meta
│ │ ├── Inspectors
│ │ │ ├── T_SaveManager_BookIcon.png
│ │ │ ├── T_SaveManager_BookIcon.png.meta
│ │ │ ├── T_SaveManager_CogIcon.png
│ │ │ ├── T_SaveManager_CogIcon.png.meta
│ │ │ ├── T_SaveManager_DataIcon.png
│ │ │ ├── T_SaveManager_DataIcon.png.meta
│ │ │ ├── T_SaveManager_KeyIcon.png
│ │ │ └── T_SaveManager_KeyIcon.png.meta
│ │ ├── Windows.meta
│ │ └── Windows
│ │ │ ├── T_SaveManager_SaveWhite.png
│ │ │ └── T_SaveManager_SaveWhite.png.meta
│ │ ├── Titles.meta
│ │ └── Titles
│ │ ├── T_SaveManager_CarterGamesBanner.png
│ │ ├── T_SaveManager_CarterGamesBanner.png.meta
│ │ ├── T_SaveManager_EditorWindow_EditorTabTitle.png
│ │ ├── T_SaveManager_EditorWindow_EditorTabTitle.png.meta
│ │ ├── T_SaveManager_EditorWindow_ProfilesTabTitle.png
│ │ ├── T_SaveManager_EditorWindow_ProfilesTabTitle.png.meta
│ │ ├── T_SaveManager_LogoIcon.png
│ │ └── T_SaveManager_LogoIcon.png.meta
│ ├── Code.meta
│ ├── Code
│ ├── Editor.meta
│ ├── Editor
│ │ ├── CarterGames.SaveManager.Editor.asmdef
│ │ ├── CarterGames.SaveManager.Editor.asmdef.meta
│ │ ├── Custom Editors.meta
│ │ ├── Custom Editors
│ │ │ ├── Inspectors.meta
│ │ │ ├── Inspectors
│ │ │ │ ├── EncryptionKeyEditor.cs
│ │ │ │ ├── EncryptionKeyEditor.cs.meta
│ │ │ │ ├── SaveDataEditor.cs
│ │ │ │ ├── SaveDataEditor.cs.meta
│ │ │ │ ├── SaveManagerAssetIndexInspector.cs
│ │ │ │ ├── SaveManagerAssetIndexInspector.cs.meta
│ │ │ │ ├── SaveObjectEditor.cs
│ │ │ │ ├── SaveObjectEditor.cs.meta
│ │ │ │ ├── SaveProfilesStoreEditor.cs
│ │ │ │ ├── SaveProfilesStoreEditor.cs.meta
│ │ │ │ ├── SettingsAssetRuntimeEditor.cs
│ │ │ │ └── SettingsAssetRuntimeEditor.cs.meta
│ │ │ ├── Property Drawers.meta
│ │ │ ├── Property Drawers
│ │ │ │ ├── SaveValuePropertyDrawer.cs
│ │ │ │ └── SaveValuePropertyDrawer.cs.meta
│ │ │ ├── Windows.meta
│ │ │ └── Windows
│ │ │ │ ├── Defaults Window.meta
│ │ │ │ ├── Defaults Window
│ │ │ │ ├── SaveDefaultsWindow.cs
│ │ │ │ └── SaveDefaultsWindow.cs.meta
│ │ │ │ ├── Editor Window.meta
│ │ │ │ └── Editor Window
│ │ │ │ ├── SaveManagerEditorWindow.cs
│ │ │ │ ├── SaveManagerEditorWindow.cs.meta
│ │ │ │ ├── Sub Windows.meta
│ │ │ │ └── Sub Windows
│ │ │ │ ├── EditorTab.cs
│ │ │ │ ├── EditorTab.cs.meta
│ │ │ │ ├── Profile Tab.meta
│ │ │ │ └── Profile Tab
│ │ │ │ ├── ProfileTab.cs
│ │ │ │ ├── ProfileTab.cs.meta
│ │ │ │ ├── SaveProfileCreatorGUI.cs
│ │ │ │ ├── SaveProfileCreatorGUI.cs.meta
│ │ │ │ ├── SaveProfileListGUI.cs
│ │ │ │ └── SaveProfileListGUI.cs.meta
│ │ ├── Info.meta
│ │ ├── Info
│ │ │ ├── AssetVersionData.cs
│ │ │ └── AssetVersionData.cs.meta
│ │ ├── Menus & Shortcuts.meta
│ │ ├── Menus & Shortcuts
│ │ │ ├── SaveManagerMenuItems.cs
│ │ │ └── SaveManagerMenuItems.cs.meta
│ │ ├── Settings Provider.meta
│ │ ├── Settings Provider
│ │ │ ├── SaveManagerSettingsProvider.cs
│ │ │ └── SaveManagerSettingsProvider.cs.meta
│ │ ├── Systems.meta
│ │ ├── Systems
│ │ │ ├── Asset Change Detection.meta
│ │ │ ├── Asset Change Detection
│ │ │ │ ├── AssetChangeDetection.cs
│ │ │ │ └── AssetChangeDetection.cs.meta
│ │ │ ├── Asset Index.meta
│ │ │ ├── Asset Index
│ │ │ │ ├── AssetIndexHandler.cs
│ │ │ │ └── AssetIndexHandler.cs.meta
│ │ │ ├── Attributes.meta
│ │ │ ├── Attributes
│ │ │ │ ├── SaveCategoryAttributeData.cs
│ │ │ │ ├── SaveCategoryAttributeData.cs.meta
│ │ │ │ ├── SaveCategoryAttributeHelper.cs
│ │ │ │ └── SaveCategoryAttributeHelper.cs.meta
│ │ │ ├── Build Handlers.meta
│ │ │ ├── Build Handlers
│ │ │ │ ├── BuildHandlerResetSaveObjects.cs
│ │ │ │ └── BuildHandlerResetSaveObjects.cs.meta
│ │ │ ├── Editor Cache.meta
│ │ │ ├── Editor Cache
│ │ │ │ ├── SaveManagerEditorCache.cs
│ │ │ │ └── SaveManagerEditorCache.cs.meta
│ │ │ ├── Initialize.meta
│ │ │ ├── Initialize
│ │ │ │ ├── AssetInitializer.cs
│ │ │ │ ├── AssetInitializer.cs.meta
│ │ │ │ ├── AssetReloadHandler.cs
│ │ │ │ ├── AssetReloadHandler.cs.meta
│ │ │ │ ├── IAssetEditorInitialize.cs
│ │ │ │ ├── IAssetEditorInitialize.cs.meta
│ │ │ │ ├── IAssetEditorReload.cs
│ │ │ │ └── IAssetEditorReload.cs.meta
│ │ │ ├── Save Object Generator.meta
│ │ │ ├── Save Object Generator
│ │ │ │ ├── SaveObjectGenerator.cs
│ │ │ │ ├── SaveObjectGenerator.cs.meta
│ │ │ │ ├── SaveObjectTemplate.txt
│ │ │ │ └── SaveObjectTemplate.txt.meta
│ │ │ ├── Save Profiles.meta
│ │ │ ├── Save Profiles
│ │ │ │ ├── SaveProfileManager.cs
│ │ │ │ ├── SaveProfileManager.cs.meta
│ │ │ │ ├── SaveProfilesStore.cs
│ │ │ │ └── SaveProfilesStore.cs.meta
│ │ │ ├── Version Validator.meta
│ │ │ └── Version Validator
│ │ │ │ ├── InstallMethodChecker.cs
│ │ │ │ ├── InstallMethodChecker.cs.meta
│ │ │ │ ├── VersionAutoCheck.cs
│ │ │ │ ├── VersionAutoCheck.cs.meta
│ │ │ │ ├── VersionChecker.cs
│ │ │ │ ├── VersionChecker.cs.meta
│ │ │ │ ├── VersionData.cs
│ │ │ │ ├── VersionData.cs.meta
│ │ │ │ ├── VersionEditorGUI.cs
│ │ │ │ ├── VersionEditorGUI.cs.meta
│ │ │ │ ├── VersionInfo.cs
│ │ │ │ ├── VersionInfo.cs.meta
│ │ │ │ ├── VersionNumber.cs
│ │ │ │ ├── VersionNumber.cs.meta
│ │ │ │ ├── VersionPacket.cs
│ │ │ │ └── VersionPacket.cs.meta
│ │ ├── Utility.meta
│ │ └── Utility
│ │ │ ├── Editor Method Aid.meta
│ │ │ ├── Editor Method Aid
│ │ │ ├── AssetDatabaseHelper.cs
│ │ │ ├── AssetDatabaseHelper.cs.meta
│ │ │ ├── SerializedPropertyHelper.cs
│ │ │ └── SerializedPropertyHelper.cs.meta
│ │ │ ├── Per User Settings.meta
│ │ │ ├── Per User Settings
│ │ │ ├── PerUserSettings.cs
│ │ │ ├── PerUserSettings.cs.meta
│ │ │ ├── SettingType.cs
│ │ │ └── SettingType.cs.meta
│ │ │ ├── Porting.meta
│ │ │ ├── Porting
│ │ │ ├── SaveManagerAssetPort.cs
│ │ │ └── SaveManagerAssetPort.cs.meta
│ │ │ ├── Scriptable Assets.meta
│ │ │ ├── Scriptable Assets
│ │ │ ├── Defenitions.meta
│ │ │ ├── Defenitions
│ │ │ │ ├── ScriptableAssetDefAssetIndex.cs
│ │ │ │ ├── ScriptableAssetDefAssetIndex.cs.meta
│ │ │ │ ├── ScriptableAssetDefEncryptionAsset.cs
│ │ │ │ ├── ScriptableAssetDefEncryptionAsset.cs.meta
│ │ │ │ ├── ScriptableAssetDefSaveData.cs
│ │ │ │ ├── ScriptableAssetDefSaveData.cs.meta
│ │ │ │ ├── ScriptableAssetDefSaveProfilesAsset.cs
│ │ │ │ ├── ScriptableAssetDefSaveProfilesAsset.cs.meta
│ │ │ │ ├── ScriptableAssetDefSettingsAsset.cs
│ │ │ │ └── ScriptableAssetDefSettingsAsset.cs.meta
│ │ │ ├── FileEditorUtil.cs
│ │ │ ├── FileEditorUtil.cs.meta
│ │ │ ├── Interfaces.meta
│ │ │ ├── Interfaces
│ │ │ │ ├── ILegacyAssetPort.cs
│ │ │ │ ├── ILegacyAssetPort.cs.meta
│ │ │ │ ├── IScriptableAssetDef.cs
│ │ │ │ └── IScriptableAssetDef.cs.meta
│ │ │ ├── ScriptableObjectInitialize.cs
│ │ │ ├── ScriptableObjectInitialize.cs.meta
│ │ │ ├── ScriptableRef.cs
│ │ │ └── ScriptableRef.cs.meta
│ │ │ ├── UtilEditor.cs
│ │ │ └── UtilEditor.cs.meta
│ ├── Runtime.meta
│ └── Runtime
│ │ ├── CarterGames.SaveManager.Runtime.asmdef
│ │ ├── CarterGames.SaveManager.Runtime.asmdef.meta
│ │ ├── Common.meta
│ │ ├── Common
│ │ ├── AssemblyHelper.cs
│ │ ├── AssemblyHelper.cs.meta
│ │ ├── CarterGames.SaveManager.Common.asmdef
│ │ ├── CarterGames.SaveManager.Common.asmdef.meta
│ │ ├── Evt.cs
│ │ ├── Evt.cs.meta
│ │ ├── Ref.cs
│ │ └── Ref.cs.meta
│ │ ├── Data.meta
│ │ ├── Data
│ │ ├── AssetAccessor.cs
│ │ ├── AssetAccessor.cs.meta
│ │ ├── AssetGlobalRuntimeSettings.cs
│ │ ├── AssetGlobalRuntimeSettings.cs.meta
│ │ ├── AssetIndex.cs
│ │ ├── AssetIndex.cs.meta
│ │ ├── EncryptionKeyAsset.cs
│ │ ├── EncryptionKeyAsset.cs.meta
│ │ ├── SaveManagerAsset.cs
│ │ └── SaveManagerAsset.cs.meta
│ │ ├── Extensions.meta
│ │ ├── Extensions
│ │ ├── SaveManagerExtensions.cs
│ │ └── SaveManagerExtensions.cs.meta
│ │ ├── Logger.meta
│ │ ├── Logger
│ │ ├── SaveManagerLogger.cs
│ │ └── SaveManagerLogger.cs.meta
│ │ ├── Save Data.meta
│ │ ├── Save Data
│ │ ├── Objects.meta
│ │ ├── Objects
│ │ │ ├── SaveObject.cs
│ │ │ └── SaveObject.cs.meta
│ │ ├── SaveData.cs
│ │ ├── SaveData.cs.meta
│ │ ├── Values.meta
│ │ └── Values
│ │ │ ├── SaveValue.cs
│ │ │ ├── SaveValue.cs.meta
│ │ │ ├── SaveValueBase.cs
│ │ │ └── SaveValueBase.cs.meta
│ │ ├── Save Listeners.meta
│ │ ├── Save Listeners
│ │ ├── ILoadListener.cs
│ │ ├── ILoadListener.cs.meta
│ │ ├── ISaveListener.cs
│ │ └── ISaveListener.cs.meta
│ │ ├── SaveManager.cs
│ │ ├── SaveManager.cs.meta
│ │ ├── Saving.meta
│ │ ├── Saving
│ │ ├── Automation.meta
│ │ ├── Automation
│ │ │ ├── AutoSave.cs
│ │ │ └── AutoSave.cs.meta
│ │ ├── Encryption.meta
│ │ ├── Encryption
│ │ │ ├── Data.meta
│ │ │ ├── Data
│ │ │ │ ├── EncryptionOption.cs
│ │ │ │ └── EncryptionOption.cs.meta
│ │ │ ├── EncryptionHandler.cs
│ │ │ ├── EncryptionHandler.cs.meta
│ │ │ ├── Handlers.meta
│ │ │ └── Handlers
│ │ │ │ ├── AesEncryption.cs
│ │ │ │ ├── AesEncryption.cs.meta
│ │ │ │ ├── IEncryptionHandler.cs
│ │ │ │ └── IEncryptionHandler.cs.meta
│ │ ├── Handlers.meta
│ │ ├── Handlers
│ │ │ ├── ILoadHandler.cs
│ │ │ ├── ILoadHandler.cs.meta
│ │ │ ├── StandardSaveHandler.cs
│ │ │ ├── StandardSaveHandler.cs.meta
│ │ │ ├── WebSaveHandler.cs
│ │ │ └── WebSaveHandler.cs.meta
│ │ ├── Serialization.meta
│ │ └── Serialization
│ │ │ ├── Dictionary.meta
│ │ │ └── Dictionary
│ │ │ ├── SerializableDictionary.cs
│ │ │ ├── SerializableDictionary.cs.meta
│ │ │ ├── SerializableKeyValuePair.cs
│ │ │ └── SerializableKeyValuePair.cs.meta
│ │ ├── Utility.meta
│ │ └── Utility
│ │ ├── Per User Settings Runtime.meta
│ │ ├── Per User Settings Runtime
│ │ ├── PerUserSettingsRuntime.cs
│ │ └── PerUserSettingsRuntime.cs.meta
│ │ ├── Perf Settings.meta
│ │ ├── Perf Settings
│ │ ├── PrefSetting.cs
│ │ ├── PrefSetting.cs.meta
│ │ ├── PrefUseOption.cs
│ │ └── PrefUseOption.cs.meta
│ │ ├── UtilRuntime.cs
│ │ └── UtilRuntime.cs.meta
│ ├── Demo.meta
│ ├── Demo
│ ├── Art.meta
│ ├── Art
│ │ ├── T_Demo_Circle_Outline_Thick.png
│ │ ├── T_Demo_Circle_Outline_Thick.png.meta
│ │ ├── T_Demo_SaveManagerLogo.png
│ │ ├── T_Demo_SaveManagerLogo.png.meta
│ │ ├── T_Demo_SaveMansger_Gradient.jpg
│ │ └── T_Demo_SaveMansger_Gradient.jpg.meta
│ ├── CarterGames.SaveManager.Demo.asmdef
│ ├── CarterGames.SaveManager.Demo.asmdef.meta
│ ├── Code.meta
│ ├── Code
│ │ ├── Runtime.meta
│ │ └── Runtime
│ │ │ ├── ExampleSaveObject.cs
│ │ │ ├── ExampleSaveObject.cs.meta
│ │ │ ├── ExampleSceneHandler.cs
│ │ │ └── ExampleSceneHandler.cs.meta
│ ├── Data.meta
│ ├── Data
│ │ ├── Example Save Object.asset
│ │ └── Example Save Object.asset.meta
│ ├── Scene.meta
│ └── Scene
│ │ ├── SaveManagerExampleScene.unity
│ │ └── SaveManagerExampleScene.unity.meta
│ ├── ~Documentation.meta
│ └── ~Documentation
│ ├── Save Manager Offline Documentation.pdf
│ └── Save Manager Offline Documentation.pdf.meta
├── LICENSE
├── LICENSE.meta
├── README.md
├── README.md.meta
├── package.json
└── package.json.meta
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: cartergames # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
14 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # 2.3.0
2 | ## Asset changes
3 |
4 | - New editor only save so the build save is in the normal location.
5 | - New save defaults setup that lets users assign defaults outside of constructors when creating save values.
6 | - Save defaults now apply when making a build to all save objects so builds don't have persistent data from editor saves.
7 | - New setting to see save defaults in the editor tab like save keys
8 | - New editor GUI on save objects to see default values.
9 | - Removed some older 2.0.x legacy issue fixers.
10 | - Removed some now redundant API bits.
11 |
12 |
13 | # 2.2.0
14 | ## Asset changes
15 |
16 | - Added support for git URL importing of the asset over .unityPackage. This is considered the recommended install method going forward for ease of updates etc.
17 | - Added porting tool to transfer user asset settings to the new location required for the git URL update.
18 | - Updated scriptable asset flow with the latest from the cart library which is more modular and easy to use on the backend.
19 | - Some additional helper classes for more performant editor operations from within the asset.
--------------------------------------------------------------------------------
/CHANGELOG.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 04fbb2653bde40d68dce25537e636b84
3 | timeCreated: 1726417832
--------------------------------------------------------------------------------
/Carter Games.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 095444ce400fc0343809991319c4cc7e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3a5fd1648a350914da17fdf40d29cc2e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 40ff82a4c0a81b9498ad8a863ceecc45
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7cbbbbf6d494bc04b8fcad42c9928b3e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a60439b0150256749be95b35a8410652
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_DataFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_DataFileIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_DataFileIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8e118cc7ba999be40a60c63df1be4221
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 256
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 256
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | - serializedVersion: 3
91 | buildTarget: Android
92 | maxTextureSize: 256
93 | resizeAlgorithm: 0
94 | textureFormat: -1
95 | textureCompression: 1
96 | compressionQuality: 50
97 | crunchedCompression: 1
98 | allowsAlphaSplitting: 0
99 | overridden: 0
100 | androidETC2FallbackOverride: 0
101 | forceMaximumCompressionQuality_BC6H_BC7: 0
102 | - serializedVersion: 3
103 | buildTarget: WebGL
104 | maxTextureSize: 256
105 | resizeAlgorithm: 0
106 | textureFormat: -1
107 | textureCompression: 1
108 | compressionQuality: 50
109 | crunchedCompression: 1
110 | allowsAlphaSplitting: 0
111 | overridden: 0
112 | androidETC2FallbackOverride: 0
113 | forceMaximumCompressionQuality_BC6H_BC7: 0
114 | spriteSheet:
115 | serializedVersion: 2
116 | sprites: []
117 | outline: []
118 | physicsShape: []
119 | bones: []
120 | spriteID:
121 | internalID: 0
122 | vertices: []
123 | indices:
124 | edges: []
125 | weights: []
126 | secondaryTextures: []
127 | spritePackingTag:
128 | pSDRemoveMatte: 0
129 | pSDShowRemoveMatteOption: 0
130 | userData:
131 | assetBundleName:
132 | assetBundleVariant:
133 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_IndexFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_IndexFileIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_KeyFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_KeyFileIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_KeyFileIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3af013d337e16964d8ef4276a3bf3e96
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 256
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 256
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | - serializedVersion: 3
91 | buildTarget: Android
92 | maxTextureSize: 256
93 | resizeAlgorithm: 0
94 | textureFormat: -1
95 | textureCompression: 1
96 | compressionQuality: 50
97 | crunchedCompression: 1
98 | allowsAlphaSplitting: 0
99 | overridden: 0
100 | androidETC2FallbackOverride: 0
101 | forceMaximumCompressionQuality_BC6H_BC7: 0
102 | - serializedVersion: 3
103 | buildTarget: WebGL
104 | maxTextureSize: 256
105 | resizeAlgorithm: 0
106 | textureFormat: -1
107 | textureCompression: 1
108 | compressionQuality: 50
109 | crunchedCompression: 1
110 | allowsAlphaSplitting: 0
111 | overridden: 0
112 | androidETC2FallbackOverride: 0
113 | forceMaximumCompressionQuality_BC6H_BC7: 0
114 | spriteSheet:
115 | serializedVersion: 2
116 | sprites: []
117 | outline: []
118 | physicsShape: []
119 | bones: []
120 | spriteID:
121 | internalID: 0
122 | vertices: []
123 | indices:
124 | edges: []
125 | weights: []
126 | secondaryTextures: []
127 | spritePackingTag:
128 | pSDRemoveMatte: 0
129 | pSDShowRemoveMatteOption: 0
130 | userData:
131 | assetBundleName:
132 | assetBundleVariant:
133 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_ProfilesFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_ProfilesFileIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_ScriptFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_ScriptFileIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_SettingsFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/File Icons/T_SaveManager_SettingsFileIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a6cdc41e123d27c44ab368aa9d795156
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b5449caf68ffdb849b16231e6c5b8ed6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_BookIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_BookIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_BookIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fd0f8d7a13e1c8346a57391eea6fdda9
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 256
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 256
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | - serializedVersion: 3
91 | buildTarget: WebGL
92 | maxTextureSize: 256
93 | resizeAlgorithm: 0
94 | textureFormat: -1
95 | textureCompression: 1
96 | compressionQuality: 50
97 | crunchedCompression: 1
98 | allowsAlphaSplitting: 0
99 | overridden: 0
100 | androidETC2FallbackOverride: 0
101 | forceMaximumCompressionQuality_BC6H_BC7: 0
102 | spriteSheet:
103 | serializedVersion: 2
104 | sprites: []
105 | outline: []
106 | physicsShape: []
107 | bones: []
108 | spriteID:
109 | internalID: 0
110 | vertices: []
111 | indices:
112 | edges: []
113 | weights: []
114 | secondaryTextures: []
115 | spritePackingTag:
116 | pSDRemoveMatte: 0
117 | pSDShowRemoveMatteOption: 0
118 | userData:
119 | assetBundleName:
120 | assetBundleVariant:
121 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_CogIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_CogIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_CogIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6dfe934ed638cfd43a3ae06924c35d3e
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 512
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 512
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | spriteSheet:
91 | serializedVersion: 2
92 | sprites: []
93 | outline: []
94 | physicsShape: []
95 | bones: []
96 | spriteID:
97 | internalID: 0
98 | vertices: []
99 | indices:
100 | edges: []
101 | weights: []
102 | secondaryTextures: []
103 | spritePackingTag:
104 | pSDRemoveMatte: 0
105 | pSDShowRemoveMatteOption: 0
106 | userData:
107 | assetBundleName:
108 | assetBundleVariant:
109 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_DataIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_DataIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_DataIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1f4d248749fddbb449f05c1c3e07b322
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 256
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 256
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | - serializedVersion: 3
91 | buildTarget: WebGL
92 | maxTextureSize: 256
93 | resizeAlgorithm: 0
94 | textureFormat: -1
95 | textureCompression: 1
96 | compressionQuality: 50
97 | crunchedCompression: 1
98 | allowsAlphaSplitting: 0
99 | overridden: 0
100 | androidETC2FallbackOverride: 0
101 | forceMaximumCompressionQuality_BC6H_BC7: 0
102 | spriteSheet:
103 | serializedVersion: 2
104 | sprites: []
105 | outline: []
106 | physicsShape: []
107 | bones: []
108 | spriteID:
109 | internalID: 0
110 | vertices: []
111 | indices:
112 | edges: []
113 | weights: []
114 | secondaryTextures: []
115 | spritePackingTag:
116 | pSDRemoveMatte: 0
117 | pSDShowRemoveMatteOption: 0
118 | userData:
119 | assetBundleName:
120 | assetBundleVariant:
121 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_KeyIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_KeyIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Inspectors/T_SaveManager_KeyIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 71693c469f12aea4a8b153460665895d
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 256
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 256
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | - serializedVersion: 3
91 | buildTarget: WebGL
92 | maxTextureSize: 256
93 | resizeAlgorithm: 0
94 | textureFormat: -1
95 | textureCompression: 1
96 | compressionQuality: 50
97 | crunchedCompression: 1
98 | allowsAlphaSplitting: 0
99 | overridden: 0
100 | androidETC2FallbackOverride: 0
101 | forceMaximumCompressionQuality_BC6H_BC7: 0
102 | spriteSheet:
103 | serializedVersion: 2
104 | sprites: []
105 | outline: []
106 | physicsShape: []
107 | bones: []
108 | spriteID:
109 | internalID: 0
110 | vertices: []
111 | indices:
112 | edges: []
113 | weights: []
114 | secondaryTextures: []
115 | spritePackingTag:
116 | pSDRemoveMatte: 0
117 | pSDShowRemoveMatteOption: 0
118 | userData:
119 | assetBundleName:
120 | assetBundleVariant:
121 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Windows.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 75b89c3d51844124db2f1cc9f2e2a7ce
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Windows/T_SaveManager_SaveWhite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Icons/Windows/T_SaveManager_SaveWhite.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Icons/Windows/T_SaveManager_SaveWhite.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9089e7ad0583fa948b30eb8ef6b00ae3
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 128
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 128
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | spriteSheet:
91 | serializedVersion: 2
92 | sprites: []
93 | outline: []
94 | physicsShape: []
95 | bones: []
96 | spriteID:
97 | internalID: 0
98 | vertices: []
99 | indices:
100 | edges: []
101 | weights: []
102 | secondaryTextures: []
103 | spritePackingTag:
104 | pSDRemoveMatte: 0
105 | pSDShowRemoveMatteOption: 0
106 | userData:
107 | assetBundleName:
108 | assetBundleVariant:
109 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f783b5280eb38f2469750635428a5a1d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_CarterGamesBanner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_CarterGamesBanner.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_CarterGamesBanner.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b31b96cfb11e65746892289cc96ce981
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 512
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 512
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | spriteSheet:
91 | serializedVersion: 2
92 | sprites: []
93 | outline: []
94 | physicsShape: []
95 | bones: []
96 | spriteID:
97 | internalID: 0
98 | vertices: []
99 | indices:
100 | edges: []
101 | weights: []
102 | secondaryTextures: []
103 | spritePackingTag:
104 | pSDRemoveMatte: 0
105 | pSDShowRemoveMatteOption: 0
106 | userData:
107 | assetBundleName:
108 | assetBundleVariant:
109 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_EditorWindow_EditorTabTitle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_EditorWindow_EditorTabTitle.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_EditorWindow_EditorTabTitle.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b6164ad59ba6bfa4bbaf7504a36dd62d
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 128
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 128
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | spriteSheet:
91 | serializedVersion: 2
92 | sprites: []
93 | outline: []
94 | physicsShape: []
95 | bones: []
96 | spriteID:
97 | internalID: 0
98 | vertices: []
99 | indices:
100 | edges: []
101 | weights: []
102 | secondaryTextures: []
103 | spritePackingTag:
104 | pSDRemoveMatte: 0
105 | pSDShowRemoveMatteOption: 0
106 | userData:
107 | assetBundleName:
108 | assetBundleVariant:
109 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_EditorWindow_ProfilesTabTitle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_EditorWindow_ProfilesTabTitle.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_EditorWindow_ProfilesTabTitle.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6b3d1dc790d5c84469c4faa046cfd5c8
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 128
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 128
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | spriteSheet:
91 | serializedVersion: 2
92 | sprites: []
93 | outline: []
94 | physicsShape: []
95 | bones: []
96 | spriteID:
97 | internalID: 0
98 | vertices: []
99 | indices:
100 | edges: []
101 | weights: []
102 | secondaryTextures: []
103 | spritePackingTag:
104 | pSDRemoveMatte: 0
105 | pSDShowRemoveMatteOption: 0
106 | userData:
107 | assetBundleName:
108 | assetBundleVariant:
109 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_LogoIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_LogoIcon.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Art/Editor/Titles/T_SaveManager_LogoIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 14b0da9dbdbe54b4a805b858822bf3aa
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: 1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 0
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 2
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 512
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 1
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 512
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 1
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | - serializedVersion: 3
91 | buildTarget: Android
92 | maxTextureSize: 512
93 | resizeAlgorithm: 0
94 | textureFormat: -1
95 | textureCompression: 1
96 | compressionQuality: 50
97 | crunchedCompression: 1
98 | allowsAlphaSplitting: 0
99 | overridden: 0
100 | androidETC2FallbackOverride: 0
101 | forceMaximumCompressionQuality_BC6H_BC7: 0
102 | - serializedVersion: 3
103 | buildTarget: WebGL
104 | maxTextureSize: 512
105 | resizeAlgorithm: 0
106 | textureFormat: -1
107 | textureCompression: 1
108 | compressionQuality: 50
109 | crunchedCompression: 1
110 | allowsAlphaSplitting: 0
111 | overridden: 0
112 | androidETC2FallbackOverride: 0
113 | forceMaximumCompressionQuality_BC6H_BC7: 0
114 | spriteSheet:
115 | serializedVersion: 2
116 | sprites: []
117 | outline: []
118 | physicsShape: []
119 | bones: []
120 | spriteID:
121 | internalID: 0
122 | vertices: []
123 | indices:
124 | edges: []
125 | weights: []
126 | secondaryTextures: []
127 | spritePackingTag:
128 | pSDRemoveMatte: 0
129 | pSDShowRemoveMatteOption: 0
130 | userData:
131 | assetBundleName:
132 | assetBundleVariant:
133 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 56396c77984a3ac43ae4c0a52ec7ece9
3 | timeCreated: 1670346918
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ca0f34be2d6ccb9489449c6dd27cfe27
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/CarterGames.SaveManager.Editor.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CarterGames.SaveManager.Editor",
3 | "rootNamespace": "CarterGames.Assets.SaveManager.Editor",
4 | "references": [
5 | "GUID:5fed357a0eb29414bb1d1667107777c5",
6 | "GUID:0dd839a085d98c5478abb31237806e7c",
7 | "GUID:781de0e236e5d6743a1e1820ce72d73a"
8 | ],
9 | "includePlatforms": [
10 | "Editor"
11 | ],
12 | "excludePlatforms": [],
13 | "allowUnsafeCode": false,
14 | "overrideReferences": false,
15 | "precompiledReferences": [],
16 | "autoReferenced": true,
17 | "defineConstraints": [],
18 | "versionDefines": [],
19 | "noEngineReferences": false
20 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/CarterGames.SaveManager.Editor.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ca18d2642263eec4fbad82dd944c155a
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9b5a8aa7324565648993b21e2426cedd
3 | timeCreated: 1672500564
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Inspectors.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 25a59973266bb9b47a3b42e7643c8ba2
3 | timeCreated: 1672657379
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Inspectors/EncryptionKeyEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f032c04fd3044f4aae251c6aab6dd8e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Inspectors/SaveDataEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9b28a8548d50dfb4c9633b9b44826622
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Inspectors/SaveManagerAssetIndexInspector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8c8d6a6476994b1293e98b9bc4d20cf0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Inspectors/SaveObjectEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe6745affa2506642a76bbdcbcc3e892
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Inspectors/SaveProfilesStoreEditor.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using UnityEditor;
25 | using UnityEngine;
26 |
27 | namespace CarterGames.Assets.SaveManager.Editor
28 | {
29 | ///
30 | /// A custom inspector for the save profiles store asset.
31 | ///
32 | [CustomEditor(typeof(SaveProfilesStore))]
33 | public sealed class SaveProfilesStoreEditor : UnityEditor.Editor
34 | {
35 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
36 | | Unity Methods
37 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
38 |
39 | public override void OnInspectorGUI()
40 | {
41 | DrawHeaderSection();
42 |
43 | GUILayout.Space(5f);
44 |
45 | EditorGUILayout.BeginVertical("HelpBox");
46 | GUILayout.Space(2.5f);
47 |
48 | UtilEditor.DrawSoScriptSection(target);
49 |
50 | GUILayout.Space(2.5f);
51 |
52 | EditorGUI.BeginDisabledGroup(true);
53 |
54 | EditorGUI.indentLevel++;
55 | EditorGUILayout.PropertyField(serializedObject.Fp("profiles"));
56 | EditorGUI.indentLevel--;
57 |
58 | EditorGUI.EndDisabledGroup();
59 |
60 | GUILayout.Space(2.5f);
61 | EditorGUILayout.EndVertical();
62 | }
63 |
64 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
65 | | Draw Methods
66 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
67 |
68 | private static void DrawHeaderSection()
69 | {
70 | GUILayout.Space(5f);
71 |
72 | EditorGUILayout.BeginHorizontal();
73 | GUILayout.FlexibleSpace();
74 |
75 | if (UtilEditor.BookIcon != null)
76 | {
77 | if (GUILayout.Button(UtilEditor.BookIcon, GUIStyle.none, GUILayout.MaxHeight(75)))
78 | {
79 | GUI.FocusControl(null);
80 | }
81 | }
82 |
83 | GUILayout.FlexibleSpace();
84 | EditorGUILayout.EndHorizontal();
85 |
86 | GUILayout.Space(5f);
87 | }
88 | }
89 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Inspectors/SaveProfilesStoreEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 263815c3f327e76418e56d4533181019
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Inspectors/SettingsAssetRuntimeEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c94660f01b6d4524596c32760a6dc456
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Property Drawers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ff30f00974134804c87593cd5d01c2ab
3 | timeCreated: 1674396831
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Property Drawers/SaveValuePropertyDrawer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d8d28bc7996a29a43b6085a904a8b992
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 84cae39626afd4e42b3dda420cfed5e9
3 | timeCreated: 1672070188
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Defaults Window.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55d5136f42a64fd19bad08ec3161478a
3 | timeCreated: 1727602184
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Defaults Window/SaveDefaultsWindow.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e7d735c79654935be379bf9c1f965ae
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3e613bf79d4d03c4da5c3a0fb9176a6c
3 | timeCreated: 1681237673
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window/SaveManagerEditorWindow.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 147ae71324635d842a170b9a3f2c4480
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window/Sub Windows.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63d970c0fd428954d9eb8bcc6b07cf47
3 | timeCreated: 1674635385
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window/Sub Windows/EditorTab.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b33b824f4b5d32c4e967b5f6d4f909b2
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window/Sub Windows/Profile Tab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e7e0e9646701d6748b38373b30c135ba
3 | timeCreated: 1675517161
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window/Sub Windows/Profile Tab/ProfileTab.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System.Collections.Generic;
25 | using UnityEditor;
26 | using UnityEngine;
27 |
28 | namespace CarterGames.Assets.SaveManager.Editor.SubWindows
29 | {
30 | ///
31 | /// Draws the profile tab of the save editor.
32 | ///
33 | public sealed class ProfileTab
34 | {
35 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
36 | | Fields
37 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
38 |
39 | // Help box dialogue.
40 | private const string NoSaveObjectsDialogue =
41 | "You don't have any save objects setup, so this tool is disabled. Create & add a save object implementation to use the save profiles tab.";
42 |
43 | // Fields
44 | private static Rect deselectRect;
45 |
46 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
47 | | Draw Methods
48 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
49 |
50 | public void DrawTab(List saveObjects)
51 | {
52 | if (saveObjects.Count <= 0)
53 | {
54 | // No save objects, so disable.
55 | EditorGUILayout.HelpBox(NoSaveObjectsDialogue, MessageType.Info);
56 | }
57 | else
58 | {
59 | PerUserSettings.SaveProfileTabScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.SaveProfileTabScrollRectPos);
60 |
61 | EditorGUILayout.BeginVertical("HelpBox");
62 | SaveProfileCreatorGUI.DrawDisplay();
63 | EditorGUILayout.EndVertical();
64 |
65 | EditorGUILayout.BeginVertical("HelpBox");
66 | SaveProfileListGUI.DrawDisplay();
67 | EditorGUILayout.EndVertical();
68 |
69 | EditorGUILayout.Space(10);
70 | EditorGUILayout.EndScrollView();
71 | }
72 |
73 |
74 | // Draws a deselect box around the rest of the GUI.
75 | UtilEditor.CreateDeselectZone(ref deselectRect);
76 | }
77 | }
78 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window/Sub Windows/Profile Tab/ProfileTab.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e82b962f4cde75347becc55c7dffd329
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window/Sub Windows/Profile Tab/SaveProfileCreatorGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 828a48d564af3c1468c8356eb216ed71
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Custom Editors/Windows/Editor Window/Sub Windows/Profile Tab/SaveProfileListGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9d3d75f01d4d62a49a36778861812f29
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Info.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d002c8a1145412ca8d6350792f58f43
3 | timeCreated: 1726862174
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Info/AssetVersionData.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Editor
25 | {
26 | ///
27 | /// Contains details for the asset.
28 | ///
29 | public static class AssetVersionData
30 | {
31 | ///
32 | /// The version number of the asset.
33 | ///
34 | public static string VersionNumber => "2.3.6";
35 |
36 |
37 | ///
38 | /// The date this release of the asset was submitted for release.
39 | ///
40 | ///
41 | /// Asset owner is in the UK, so its Y/M/D format.
42 | ///
43 | public static string ReleaseDate => "2025/03/12";
44 | }
45 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Info/AssetVersionData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f18b85b091206ac4897ac6666354a408
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Menus & Shortcuts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c9af1e2e606cde24e977553373385686
3 | timeCreated: 1670342655
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Menus & Shortcuts/SaveManagerMenuItems.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using UnityEditor;
25 |
26 | namespace CarterGames.Assets.SaveManager.Editor
27 | {
28 | public static class SaveManagerMenuItems
29 | {
30 | [MenuItem("Tools/Carter Games/Save Manager/Load Save Data", priority = 30)]
31 | public static void ManualLoadGame()
32 | {
33 | SaveManager.Load(new StandardSaveHandler().LoadFromFile(UtilEditor.AssetGlobalRuntimeSettings.SavePath));
34 | }
35 |
36 |
37 | [MenuItem("Tools/Carter Games/Save Manager/Save, Save Data", priority = 31)]
38 | public static void ManualSaveGame()
39 | {
40 | SaveManager.Save();
41 | }
42 |
43 |
44 | [MenuItem("Tools/Carter Games/Save Manager/Reset All Save Data", priority = 33)]
45 | public static void ManualResetData()
46 | {
47 | SaveManager.Clear();
48 | }
49 | }
50 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Menus & Shortcuts/SaveManagerMenuItems.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd821fc70cc1ffb40bcb891cd3be702d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Settings Provider.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5f3ffec4df631c34db0d7618dda70f3a
3 | timeCreated: 1672657516
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Settings Provider/SaveManagerSettingsProvider.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fd4d634b822c5904dbfb7feaadf225d0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 69c6822496a44144eaa5e008fae26337
3 | timeCreated: 1674808263
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Asset Change Detection.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e7921ddbb2e446669ceaf7e9f5215c9e
3 | timeCreated: 1737891943
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Asset Change Detection/AssetChangeDetection.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System.Linq;
25 | using UnityEditor;
26 |
27 | namespace CarterGames.Assets.SaveManager.Editor
28 | {
29 | public class AssetChangeDetection : AssetPostprocessor
30 | {
31 | private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets,
32 | string[] movedFromAssetPaths)
33 | {
34 | TryRefreshCacheOnDelete(deletedAssets);
35 | }
36 |
37 |
38 | private static void TryRefreshCacheOnDelete(string[] deletedAssets)
39 | {
40 | if (deletedAssets.Length <= 0) return;
41 |
42 | foreach (var deleted in deletedAssets)
43 | {
44 | if (SaveManagerEditorCache.SaveObjectAssetPaths == null) goto SkipPoint;
45 | if (!SaveManagerEditorCache.SaveObjectAssetPaths.Contains(deleted)) continue;
46 | SaveManagerEditorCache.RefreshCache();
47 | }
48 |
49 | UtilEditor.SaveData.Data = SaveManagerEditorCache.SaveObjects.Where(t => t != null).ToList();
50 | EditorUtility.SetDirty(UtilEditor.SaveData);
51 |
52 | SkipPoint: ;
53 |
54 | AssetDatabase.SaveAssets();
55 | AssetDatabase.Refresh();
56 | }
57 | }
58 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Asset Change Detection/AssetChangeDetection.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e643ef8262ef462a86d33afb9b72501a
3 | timeCreated: 1737891955
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Asset Index.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 44b7d63832a446949adea05030640878
3 | timeCreated: 1690704477
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Asset Index/AssetIndexHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8359a81b5bbb3eb41be9ec67e202176c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Attributes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b71418a5236241868e712607da0f9a0b
3 | timeCreated: 1704017867
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Attributes/SaveCategoryAttributeData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ca3ff55b06f741fe95c680e79c710fff
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Attributes/SaveCategoryAttributeHelper.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7bb8b817b624202ad93acca6ee31a88
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Build Handlers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 79a5d8e3a80d4fafb4cc267d036f70c2
3 | timeCreated: 1727550491
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Build Handlers/BuildHandlerResetSaveObjects.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: af8146194adf45dea55a4b83b49fe63f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Editor Cache.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9f86af9386864cf49e66c7e49b2ac694
3 | timeCreated: 1737893076
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Editor Cache/SaveManagerEditorCache.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using UnityEditor;
4 | using UnityEngine;
5 |
6 | namespace CarterGames.Assets.SaveManager.Editor
7 | {
8 | public class SaveManagerEditorCache : IAssetEditorInitialize
9 | {
10 | private static List saveObjects = new List();
11 | private static List saveObjectPaths = new List();
12 |
13 | private static Dictionary editorsLookup = new Dictionary();
14 | private static Dictionary soLookup = new Dictionary();
15 |
16 |
17 | public static bool HasCache { get; private set; }
18 |
19 | public static List SaveObjects => saveObjects;
20 | public static List SaveObjectAssetPaths => saveObjectPaths;
21 | public static Dictionary EditorsLookup => editorsLookup;
22 | public static Dictionary SoLookup => soLookup;
23 |
24 |
25 | public static void RefreshCache()
26 | {
27 | RefreshSaveObjectsCache();
28 | RefreshSaveObjectAssetPathsCache();
29 | RefreshSaveObjectSerializedObjectsCache();
30 | RefreshSaveObjectEditorsCache();
31 |
32 | if (HasCache) return;
33 | HasCache = true;
34 | }
35 |
36 |
37 | private static void RefreshSaveObjectsCache()
38 | {
39 | saveObjects = new List();
40 | saveObjects = UtilEditor.SaveData.Data.Where(t => t != null).ToList();
41 |
42 | if (!saveObjects.HasNullEntries()) return;
43 |
44 | saveObjects = (List) saveObjects.RemoveMissing().RemoveDuplicates();
45 | UtilEditor.SaveData.Data = saveObjects;
46 | }
47 |
48 |
49 | private static void RefreshSaveObjectAssetPathsCache()
50 | {
51 | saveObjectPaths = new List();
52 |
53 | foreach (var saveObj in SaveObjects)
54 | {
55 | saveObjectPaths.Add(AssetDatabase.GetAssetPath(saveObj));
56 | }
57 | }
58 |
59 |
60 | private static void RefreshSaveObjectSerializedObjectsCache()
61 | {
62 | soLookup = new Dictionary();
63 |
64 | foreach (var saveObj in SaveObjects)
65 | {
66 | soLookup.Add(saveObj, new SerializedObject(saveObj));
67 | }
68 | }
69 |
70 |
71 | private static void RefreshSaveObjectEditorsCache()
72 | {
73 | editorsLookup = new Dictionary();
74 |
75 | foreach (var saveObj in soLookup)
76 | {
77 | editorsLookup.Add(saveObj.Key, (SaveObjectEditor) UnityEditor.Editor.CreateEditor(saveObj.Value.targetObject));
78 | }
79 | }
80 |
81 | public int InitializeOrder => -100;
82 |
83 |
84 | public void OnEditorInitialized()
85 | {
86 | RefreshCache();
87 | }
88 | }
89 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Editor Cache/SaveManagerEditorCache.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ea14be0b639942aca60e00f800eeb730
3 | timeCreated: 1737893082
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Initialize.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b1f193564ab728a4c95494daf381d34c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Initialize/AssetInitializer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f14ebca0b0fc429393618523084297de
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Initialize/AssetReloadHandler.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System.Linq;
25 | using System.Threading.Tasks;
26 | using CarterGames.Common;
27 | using UnityEditor;
28 | using UnityEditor.Callbacks;
29 |
30 | namespace CarterGames.Assets.SaveManager.Editor
31 | {
32 | ///
33 | /// Handles any reload listeners in the project for the asset.
34 | ///
35 | public static class AssetReloadHandler
36 | {
37 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
38 | | Events
39 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
40 |
41 | ///
42 | /// Raises when the reload has occured.
43 | ///
44 | public static readonly Evt Reloaded = new Evt();
45 |
46 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
47 | | Methods
48 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
49 |
50 | ///
51 | /// Add subscription to the delay call when scripts reload.
52 | ///
53 | [DidReloadScripts]
54 | private static void FireReloadCalls()
55 | {
56 | if (EditorApplication.isCompiling || EditorApplication.isUpdating)
57 | {
58 | EditorApplication.delayCall -= CallListeners;
59 | EditorApplication.delayCall += CallListeners;
60 | return;
61 | }
62 |
63 | EditorApplication.delayCall -= CallListeners;
64 | EditorApplication.delayCall += CallListeners;
65 | }
66 |
67 |
68 | ///
69 | /// Updates all the listeners when called.
70 | ///
71 | private static async void CallListeners()
72 | {
73 | var reloadClasses = AssemblyHelper.GetClassesOfType().ToArray();
74 |
75 | if (reloadClasses.Length > 0)
76 | {
77 | foreach (var init in reloadClasses)
78 | {
79 | init.OnEditorReloaded();
80 | await Task.Yield();
81 | }
82 | }
83 |
84 | Reloaded.Raise();
85 | }
86 | }
87 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Initialize/AssetReloadHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d685045b14f7442687bc280348cd382a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Initialize/IAssetEditorInitialize.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Editor
25 | {
26 | public interface IAssetEditorInitialize
27 | {
28 | int InitializeOrder { get; }
29 | void OnEditorInitialized();
30 | }
31 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Initialize/IAssetEditorInitialize.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c43d7778b4104adabce50d37be88613b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Initialize/IAssetEditorReload.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Editor
25 | {
26 | public interface IAssetEditorReload
27 | {
28 | void OnEditorReloaded();
29 | }
30 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Initialize/IAssetEditorReload.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7a70ec3f4a8d4507b41326b23b933626
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Object Generator.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bc299cc3d26da9045897fe5017a78e50
3 | timeCreated: 1681800769
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Object Generator/SaveObjectGenerator.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ffcd785dc8733246b3a64f3b2d9566c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Object Generator/SaveObjectTemplate.txt:
--------------------------------------------------------------------------------
1 | using CarterGames.Assets.SaveManager;
2 | using UnityEngine;
3 |
4 | namespace Save
5 | {
6 | [CreateAssetMenu(fileName = "%SaveObjectName%")]
7 | public class %SaveObjectName% : SaveObject
8 | {
9 | // Enter your save values here...
10 | }
11 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Object Generator/SaveObjectTemplate.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 29b8311809e32bc4eb66189917c7187e
3 | timeCreated: 1681887255
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Profiles.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b200a09abb4638043b5c65124883d429
3 | timeCreated: 1674808268
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Profiles/SaveProfileManager.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System.IO;
25 | using UnityEditor;
26 | using UnityEngine;
27 |
28 | namespace CarterGames.Assets.SaveManager.Editor
29 | {
30 | public static class SaveProfileManager
31 | {
32 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
33 | | Methods
34 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
35 |
36 | public static void CaptureProfile(string savePath, string captureName)
37 | {
38 | var profileSavePath = $"{savePath}/{captureName}.json";
39 |
40 | var json = JsonUtility.ToJson(UtilEditor.AssetGlobalRuntimeSettings.SaveData.SerializableData, true);
41 |
42 | FileEditorUtil.CreateToDirectory(profileSavePath);
43 | AssetDatabase.SaveAssets();
44 | AssetDatabase.Refresh();
45 |
46 | File.WriteAllText(profileSavePath, json);
47 | AssetDatabase.SaveAssets();
48 | AssetDatabase.Refresh();
49 |
50 | var asset = AssetDatabase.LoadAssetAtPath(profileSavePath);
51 |
52 | UtilEditor.SaveProfiles.AddProfile(asset);
53 | EditorUtility.SetDirty(UtilEditor.SaveProfiles);
54 | }
55 | }
56 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Profiles/SaveProfileManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: afbcedf934de2f542a147e8d9f454ecd
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Profiles/SaveProfilesStore.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using System.Collections.Generic;
26 | using UnityEngine;
27 |
28 | namespace CarterGames.Assets.SaveManager.Editor
29 | {
30 | [Serializable]
31 | [CreateAssetMenu(fileName = "Save Profile Store", menuName = "Carter Games/Save Manager/Save Profile Store", order = 6)]
32 | public sealed class SaveProfilesStore : SaveManagerAsset
33 | {
34 | [SerializeField] private List profiles;
35 |
36 |
37 | public List Data
38 | {
39 | get => profiles;
40 | set => profiles = value;
41 | }
42 |
43 |
44 | public void AddProfile(TextAsset saveData)
45 | {
46 | profiles ??= new List();
47 | profiles.Add(saveData);
48 | }
49 |
50 |
51 | public void RemoveProfile(TextAsset profile)
52 | {
53 | if (!profiles.Contains(profile)) return;
54 | profiles.Remove(profile);
55 | }
56 | }
57 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Save Profiles/SaveProfilesStore.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1ae21e57b7f613a45b2a4f86d6799f23
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: ea5cc163c3bd22c439dcda5b38318a3d, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fdf59e9bcecf36b49b69aa96a7b0a87e
3 | timeCreated: 1687858131
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/InstallMethodChecker.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 203a0cc55316276498f0e7eb5b2a778e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionAutoCheck.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 654ff71c7b7f41eaad452263c73939d4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionChecker.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 960ed5aaff707894f82d88731055d704
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 21ae0eb1106584247a6877893501d456
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionEditorGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 58fa190e89ddff848908ceb2ccfa9105
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionInfo.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Editor
25 | {
26 | ///
27 | /// The info used in the version validation system.
28 | ///
29 | public static class VersionInfo
30 | {
31 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
32 | | Fields
33 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
34 |
35 | ///
36 | /// The Url to request the versions from.
37 | ///
38 | public const string ValidationUrl = "https://carter.games/validation/versions.json";
39 |
40 |
41 | ///
42 | /// The download Url for the latest version of this package.
43 | ///
44 | public const string DownloadBaseUrl = "https://github.com/CarterGames/SaveManager/releases/tag/";
45 |
46 |
47 | ///
48 | /// The key of the package to get from the JSON blob.
49 | ///
50 | public const string Key = "Save Manager";
51 |
52 |
53 | ///
54 | /// The version string for the package.
55 | ///
56 | public static string ProjectVersionNumber => AssetVersionData.VersionNumber;
57 | }
58 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionInfo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6bb0bb5765216bf4c9dd2eb41e572ced
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionNumber.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using UnityEngine;
26 |
27 | namespace CarterGames.Assets.SaveManager.Editor
28 | {
29 | ///
30 | /// A data class to hold a x.x.x version number for comparisons.
31 | ///
32 | [Serializable]
33 | public sealed class VersionNumber
34 | {
35 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
36 | | Fields
37 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
38 |
39 | [SerializeField] private int major;
40 | [SerializeField] private int minor;
41 | [SerializeField] private int patch;
42 |
43 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
44 | | Properties
45 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
46 |
47 | ///
48 | /// The major version number.
49 | ///
50 | public int Major => major;
51 |
52 |
53 | ///
54 | /// The minor version number.
55 | ///
56 | public int Minor => minor;
57 |
58 |
59 | ///
60 | /// The patch version number.
61 | ///
62 | public int Patch => patch;
63 |
64 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
65 | | Constructors
66 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
67 |
68 | ///
69 | /// The blank constructor.
70 | ///
71 | public VersionNumber() { }
72 |
73 |
74 | ///
75 | /// Makes a new version number with the string entered.
76 | ///
77 | /// The string to convert.
78 | public VersionNumber(string value)
79 | {
80 | var split = value.Split('.');
81 |
82 | if (split.Length != 3) return;
83 |
84 | major = int.Parse(split[0]);
85 | minor = int.Parse(split[1]);
86 | patch = int.Parse(split[2]);
87 | }
88 | }
89 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionNumber.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1bbd510613533ab4dbd2b1452e13b3f2
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionPacket.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using System.Linq;
26 | using UnityEngine;
27 |
28 | namespace CarterGames.Assets.SaveManager.Editor
29 | {
30 | ///
31 | /// A data class to hold the data downloaded from the server when requested.
32 | ///
33 | [Serializable]
34 | public sealed class VersionPacket
35 | {
36 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
37 | | Fields
38 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
39 |
40 | [SerializeField] private VersionData[] data;
41 |
42 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
43 | | Properties
44 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
45 |
46 | ///
47 | /// The data received for this package.
48 | ///
49 | public VersionData Data => data.First(t => t.Key.Equals(VersionInfo.Key));
50 | }
51 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Systems/Version Validator/VersionPacket.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a82252531de1f86469d39a3a44885c9a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d356fbad2486feb49884f664dfb8c5b7
3 | timeCreated: 1672656939
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Editor Method Aid.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 282301b84cb14926bac850091a6d0061
3 | timeCreated: 1702407283
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Editor Method Aid/AssetDatabaseHelper.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: adfc469878234224ba5edd8c79398d63
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Editor Method Aid/SerializedPropertyHelper.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d99b240303cf43a78c44af1efb2ac035
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Per User Settings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef616351dbdc48b496167807a4c55d27
3 | timeCreated: 1694155289
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Per User Settings/PerUserSettings.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3bac48e2f6a2485f9b17a7258ce9a2e3
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Per User Settings/SettingType.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Editor
25 | {
26 | public enum SettingType
27 | {
28 | EditorPref,
29 | PlayerPref,
30 | SessionState,
31 | }
32 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Per User Settings/SettingType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 76067e194a1f42a4b6e84d0e0242cdb7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Porting.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 28234908f9cf44af98492645fe380c11
3 | timeCreated: 1726411760
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Porting/SaveManagerAssetPort.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using CarterGames.Common;
25 |
26 | namespace CarterGames.Assets.SaveManager.Editor.Porting
27 | {
28 | ///
29 | /// Handles porting the asset data assets from 2.1.8 -> plugin version 2.2.0+
30 | ///
31 | public sealed class SaveManagerAssetPort : IAssetEditorInitialize, IAssetEditorReload
32 | {
33 | // IAssetEditorInitialize Implementation
34 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
35 |
36 | public int InitializeOrder => 2000;
37 |
38 |
39 | public void OnEditorInitialized()
40 | {
41 | TryPortAssets();
42 | }
43 |
44 | // IAssetEditorReload Implementation
45 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
46 |
47 | public void OnEditorReloaded()
48 | {
49 | TryPortAssets();
50 | }
51 |
52 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
53 | | Methods
54 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
55 |
56 | ///
57 | /// Tries to port the assets, if they are already ported nothing will happen.
58 | ///
59 | private void TryPortAssets()
60 | {
61 | foreach (var porting in AssemblyHelper.GetClassesOfType())
62 | {
63 | if (!porting.CanPort) continue;
64 | porting.PortAsset();
65 | }
66 | }
67 | }
68 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Porting/SaveManagerAssetPort.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b1a7f0329ead46c691b17f3994432ab0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: db404495c3a804947a3b70220e6bc26c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 288fbb13a8914d85ba98dddb6850cf2e
3 | timeCreated: 1726407819
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefAssetIndex.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using UnityEditor;
26 |
27 | namespace CarterGames.Assets.SaveManager.Editor
28 | {
29 | ///
30 | /// Handles the creation and referencing of the asset index file.
31 | ///
32 | public sealed class ScriptableAssetDefAssetIndex : IScriptableAssetDef, ILegacyAssetPort
33 | {
34 | // IScriptableAssetDef Implementation
35 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
36 |
37 | private static AssetIndex cache;
38 | private static SerializedObject objCache;
39 |
40 | public Type AssetType => typeof(AssetIndex);
41 | public string DataAssetFileName => "[Save Manager] Asset Index.asset";
42 | public string DataAssetFilter => $"t:{typeof(AssetIndex).FullName}";
43 | public string DataAssetPath => $"{ScriptableRef.FullPathResources}{DataAssetFileName}";
44 |
45 | public AssetIndex AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache);
46 | public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache);
47 |
48 | public void TryCreate()
49 | {
50 | ScriptableRef.GetOrCreateAsset(this, ref cache);
51 | }
52 |
53 | // ILegacyAssetPort Implementation
54 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
55 |
56 | public bool CanPort => AssetDatabaseHelper.TypeExistsElsewhere(DataAssetPath);
57 |
58 |
59 | public void PortAsset()
60 | {
61 | TryCreate();
62 |
63 | var assets = AssetDatabaseHelper.GetAssetPathNotAtPath(DataAssetPath);
64 |
65 | if (assets != null)
66 | {
67 | foreach (var entry in assets)
68 | {
69 | AssetDatabase.DeleteAsset(entry);
70 | }
71 | }
72 |
73 | AssetDatabase.SaveAssets();
74 | AssetIndexHandler.UpdateIndex();
75 | }
76 | }
77 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefAssetIndex.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef4d4045d14246ec9fb2ee5bb035ecce
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefEncryptionAsset.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using System.Linq;
26 | using UnityEditor;
27 |
28 | namespace CarterGames.Assets.SaveManager.Editor
29 | {
30 | ///
31 | /// Handles the creation and referencing of the encryption asset file.
32 | ///
33 | public sealed class ScriptableAssetDefEncryptionAsset : IScriptableAssetDef, ILegacyAssetPort
34 | {
35 | // IScriptableAssetDef Implementation
36 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
37 |
38 | private static EncryptionKeyAsset cache;
39 | private static SerializedObject objCache;
40 |
41 | public Type AssetType => typeof(EncryptionKeyAsset);
42 | public string DataAssetFileName => "[Save Manager] Encryption Key Asset.asset";
43 | public string DataAssetFilter => $"t:{typeof(EncryptionKeyAsset).FullName}";
44 | public string DataAssetPath => $"{ScriptableRef.FullPathData}{DataAssetFileName}";
45 |
46 | public EncryptionKeyAsset AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache);
47 | public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache);
48 |
49 | public void TryCreate()
50 | {
51 | ScriptableRef.GetOrCreateAsset(this, ref cache);
52 | }
53 |
54 | // ILegacyAssetPort Implementation
55 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
56 |
57 | public bool CanPort => AssetDatabaseHelper.TypeExistsElsewhere(DataAssetPath);
58 |
59 |
60 | public void PortAsset()
61 | {
62 | TryCreate();
63 |
64 | var assets = AssetDatabaseHelper.GetAssetPathNotAtPath(DataAssetPath).ToArray();
65 |
66 | if (assets.Length <= 0) return;
67 |
68 | SerializedPropertyHelper.TransferProperties(
69 | new SerializedObject(AssetDatabase.LoadAssetAtPath(assets[0], typeof(EncryptionKeyAsset))), ObjectRef);
70 |
71 | ObjectRef.ApplyModifiedProperties();
72 | ObjectRef.Update();
73 |
74 | foreach (var entry in assets)
75 | {
76 | AssetDatabase.DeleteAsset(entry);
77 | }
78 |
79 | AssetDatabase.SaveAssets();
80 | }
81 | }
82 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefEncryptionAsset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cb81d13408944baa9eb7ab96f08a234d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefSaveData.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using System.Linq;
26 | using UnityEditor;
27 |
28 | namespace CarterGames.Assets.SaveManager.Editor
29 | {
30 | ///
31 | /// Handles the creation and referencing of the save data asset file.
32 | ///
33 | public sealed class ScriptableAssetDefSaveData : IScriptableAssetDef, ILegacyAssetPort
34 | {
35 | // IScriptableAssetDef Implementation
36 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
37 |
38 | private static SaveData cache;
39 | private static SerializedObject objCache;
40 |
41 | public Type AssetType => typeof(SaveData);
42 | public string DataAssetFileName => "[Save Manager] Save Data Asset.asset";
43 | public string DataAssetFilter => $"t:{typeof(SaveData).FullName}";
44 | public string DataAssetPath => $"{ScriptableRef.FullPathData}{DataAssetFileName}";
45 |
46 | public SaveData AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache);
47 | public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache);
48 |
49 | public void TryCreate()
50 | {
51 | ScriptableRef.GetOrCreateAsset(this, ref cache);
52 | }
53 |
54 | // ILegacyAssetPort Implementation
55 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
56 |
57 | public bool CanPort => AssetDatabaseHelper.TypeExistsElsewhere(DataAssetPath);
58 |
59 |
60 | public void PortAsset()
61 | {
62 | TryCreate();
63 |
64 | var assets = AssetDatabaseHelper.GetAssetPathNotAtPath(DataAssetPath).ToArray();
65 |
66 | if (assets.Length <= 0) return;
67 |
68 | SerializedPropertyHelper.TransferProperties(
69 | new SerializedObject(AssetDatabase.LoadAssetAtPath(assets[0], typeof(SaveData))), ObjectRef);
70 |
71 | ObjectRef.ApplyModifiedProperties();
72 | ObjectRef.Update();
73 |
74 | foreach (var entry in assets)
75 | {
76 | AssetDatabase.DeleteAsset(entry);
77 | }
78 |
79 | AssetDatabase.SaveAssets();
80 | }
81 | }
82 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefSaveData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 77fe941de555464fba5cbc72c7b486c1
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefSaveProfilesAsset.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 |
25 | using System;
26 | using System.Linq;
27 | using UnityEditor;
28 |
29 | namespace CarterGames.Assets.SaveManager.Editor
30 | {
31 | ///
32 | /// Handles the creation and referencing of the save profiles asset file.
33 | ///
34 | public sealed class ScriptableAssetDefSaveProfilesAsset : IScriptableAssetDef, ILegacyAssetPort
35 | {
36 | // IScriptableAssetDef Implementation
37 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
38 |
39 | private static SaveProfilesStore cache;
40 | private static SerializedObject objCache;
41 |
42 | public Type AssetType => typeof(SaveProfilesStore);
43 | public string DataAssetFileName => "[Save Manager] Save Profile Asset.asset";
44 | public string DataAssetFilter => $"t:{typeof(SaveProfilesStore).FullName}";
45 | public string DataAssetPath => $"{ScriptableRef.FullPathData}{DataAssetFileName}";
46 |
47 | public SaveProfilesStore AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache);
48 | public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache);
49 |
50 | public void TryCreate()
51 | {
52 | ScriptableRef.GetOrCreateAsset(this, ref cache);
53 | }
54 |
55 | // ILegacyAssetPort Implementation
56 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
57 |
58 | public bool CanPort => AssetDatabaseHelper.TypeExistsElsewhere(DataAssetPath);
59 |
60 | public void PortAsset()
61 | {
62 | TryCreate();
63 |
64 | var assets = AssetDatabaseHelper.GetAssetPathNotAtPath(DataAssetPath).ToArray();
65 |
66 | if (assets.Length <= 0) return;
67 |
68 | SerializedPropertyHelper.TransferProperties(
69 | new SerializedObject(AssetDatabase.LoadAssetAtPath(assets[0], typeof(SaveProfilesStore))), ObjectRef);
70 |
71 | ObjectRef.ApplyModifiedProperties();
72 | ObjectRef.Update();
73 |
74 | foreach (var entry in assets)
75 | {
76 | AssetDatabase.DeleteAsset(entry);
77 | }
78 |
79 | AssetDatabase.SaveAssets();
80 | }
81 | }
82 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefSaveProfilesAsset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5c113e7716c64f56b7559ceb33afb437
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefSettingsAsset.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using System.Linq;
26 | using UnityEditor;
27 |
28 | namespace CarterGames.Assets.SaveManager.Editor
29 | {
30 | ///
31 | /// Handles the creation and referencing of the settings asset file.
32 | ///
33 | public sealed class ScriptableAssetDefSettingsAsset : IScriptableAssetDef, ILegacyAssetPort
34 | {
35 | // IScriptableAssetDef Implementation
36 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
37 |
38 | private static AssetGlobalRuntimeSettings cache;
39 | private static SerializedObject objCache;
40 |
41 | public Type AssetType => typeof(AssetGlobalRuntimeSettings);
42 | public string DataAssetFileName => "[Save Manager] Runtime Settings Asset.asset";
43 | public string DataAssetFilter => $"t:{typeof(AssetGlobalRuntimeSettings).FullName}";
44 | public string DataAssetPath => $"{ScriptableRef.FullPathData}{DataAssetFileName}";
45 |
46 | public AssetGlobalRuntimeSettings AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache);
47 | public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache);
48 |
49 | public void TryCreate()
50 | {
51 | ScriptableRef.GetOrCreateAsset(this, ref cache);
52 | }
53 |
54 | // ILegacyAssetPort Implementation
55 | /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
56 |
57 | public bool CanPort => AssetDatabaseHelper.TypeExistsElsewhere(DataAssetPath);
58 |
59 |
60 | public void PortAsset()
61 | {
62 | TryCreate();
63 |
64 | var assets = AssetDatabaseHelper.GetAssetPathNotAtPath(DataAssetPath).ToArray();
65 |
66 | if (assets.Length <= 0) return;
67 |
68 | SerializedPropertyHelper.TransferProperties(
69 | new SerializedObject(AssetDatabase.LoadAssetAtPath(assets[0], typeof(AssetGlobalRuntimeSettings))), ObjectRef);
70 |
71 | ObjectRef.ApplyModifiedProperties();
72 | ObjectRef.Update();
73 |
74 | foreach (var entry in assets)
75 | {
76 | AssetDatabase.DeleteAsset(entry);
77 | }
78 |
79 | AssetDatabase.SaveAssets();
80 | }
81 | }
82 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Defenitions/ScriptableAssetDefSettingsAsset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d9cd5541b84d4efcba472748e54327fb
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/FileEditorUtil.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 009068de8f2e98a40803e15b859e0628
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Interfaces.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f22bacb9026482d9bc1ee2dfd16f474
3 | timeCreated: 1726863572
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Interfaces/ILegacyAssetPort.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Editor
25 | {
26 | ///
27 | /// Implement to port from an older asset setup to a newer one.
28 | ///
29 | public interface ILegacyAssetPort
30 | {
31 | bool CanPort { get; }
32 | void PortAsset();
33 | }
34 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Interfaces/ILegacyAssetPort.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 342eb641ba33465a9dad1893343c9c8d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Interfaces/IScriptableAssetDef.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using UnityEditor;
26 |
27 | namespace CarterGames.Assets.SaveManager.Editor
28 | {
29 | ///
30 | /// Implement to define a scriptable asset in the asset.
31 | ///
32 | /// The type of the asset itself.
33 | public interface IScriptableAssetDef where T : SaveManagerAsset
34 | {
35 | Type AssetType { get; }
36 | string DataAssetFileName { get; }
37 | string DataAssetFilter { get; }
38 | string DataAssetPath { get; }
39 | T AssetRef { get; }
40 | SerializedObject ObjectRef { get; }
41 | void TryCreate();
42 | }
43 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/Interfaces/IScriptableAssetDef.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7b2c99e0319b490e88b316c13ad730ef
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/ScriptableObjectInitialize.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Editor
25 | {
26 | ///
27 | /// Handles any logic for generating/updating the scriptable objects for the asset where needed.
28 | ///
29 | public sealed class ScriptableObjectInitialize : IAssetEditorInitialize, IAssetEditorReload
30 | {
31 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
32 | | IAssetEditorInitialize
33 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
34 |
35 | ///
36 | /// Defines the order that this initializer run at.
37 | ///
38 | public int InitializeOrder => -1;
39 |
40 |
41 | ///
42 | /// Runs when the asset initialize flow is used.
43 | ///
44 | public void OnEditorInitialized()
45 | {
46 | if (ScriptableRef.HasAllAssets()) return;
47 | ScriptableRef.TryCreateAssets();
48 | }
49 |
50 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
51 | | IAssetEditorReload
52 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
53 |
54 | ///
55 | /// Runs when the asset reload flow is used.
56 | ///
57 | public void OnEditorReloaded()
58 | {
59 | if (ScriptableRef.HasAllAssets()) return;
60 | ScriptableRef.TryCreateAssets();
61 | }
62 | }
63 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/ScriptableObjectInitialize.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 260a7583ac83448d89241a21c2e415f5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/Scriptable Assets/ScriptableRef.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 222a0fd147d06a14bbf8d2d7a5f6dabb
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Editor/Utility/UtilEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61ef255521bdd4a4484514f89d1cb627
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61d2fa8a0e5938b40bee10a16e56e0a2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/CarterGames.SaveManager.Runtime.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CarterGames.SaveManager.Runtime",
3 | "rootNamespace": "CarterGames.Assets.SaveManager",
4 | "references": [
5 | "GUID:0dd839a085d98c5478abb31237806e7c"
6 | ],
7 | "includePlatforms": [],
8 | "excludePlatforms": [],
9 | "allowUnsafeCode": false,
10 | "overrideReferences": false,
11 | "precompiledReferences": [],
12 | "autoReferenced": true,
13 | "defineConstraints": [],
14 | "versionDefines": [],
15 | "noEngineReferences": false
16 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/CarterGames.SaveManager.Runtime.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5fed357a0eb29414bb1d1667107777c5
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Common.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: db5db467e849c6c429a0319efe2aefa6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Common/AssemblyHelper.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 95dd3e583d064e96a0950749c0317c3e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Common/CarterGames.SaveManager.Common.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CarterGames.SaveManager.Common",
3 | "rootNamespace": "",
4 | "references": [],
5 | "includePlatforms": [],
6 | "excludePlatforms": [],
7 | "allowUnsafeCode": false,
8 | "overrideReferences": false,
9 | "precompiledReferences": [],
10 | "autoReferenced": true,
11 | "defineConstraints": [],
12 | "versionDefines": [],
13 | "noEngineReferences": false
14 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Common/CarterGames.SaveManager.Common.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0dd839a085d98c5478abb31237806e7c
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Common/Evt.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 520f71aa6f6658349bf94d602e59139f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Common/Ref.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c8330aa1f4b251240800045d90a83b88
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 83fd9f082041ef94391dd5866e185609
3 | timeCreated: 1670341142
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data/AssetAccessor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 733e3a2ec46e6bd42a7dcbdc59048dfc
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data/AssetGlobalRuntimeSettings.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b39e476c6fdba234b8d9e92a8ec64922
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 91abfb2332a55d549bc9f0507928393d, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data/AssetIndex.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System.Collections.Generic;
25 | using CarterGames.Assets.SaveManager.Serializiation;
26 | using UnityEngine;
27 |
28 | namespace CarterGames.Assets.SaveManager
29 | {
30 | ///
31 | /// Handles a data store of all the scriptable objects for the asset that are used at runtime.
32 | ///
33 | [CreateAssetMenu(fileName = "Asset Index", menuName = "Carter Games/Save Manager/Asset Index Asset", order = 1)]
34 | public sealed class AssetIndex : SaveManagerAsset
35 | {
36 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
37 | | Fields
38 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
39 |
40 | [SerializeField] private SerializableDictionary> assets;
41 |
42 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
43 | | Properties
44 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
45 |
46 | ///
47 | /// A lookup of all the assets in the project that can be used at runtime.
48 | ///
49 | public SerializableDictionary> Lookup => assets;
50 | }
51 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data/AssetIndex.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 333840ffd80a4c846a67450ce9700e91
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: db92c46a2a8805145b1f5fbb7e995302, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data/EncryptionKeyAsset.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System.Security.Cryptography;
25 | using UnityEngine;
26 |
27 | namespace CarterGames.Assets.SaveManager
28 | {
29 | ///
30 | /// Holds the data for the save manager encryption key.
31 | ///
32 | [CreateAssetMenu(fileName = "Encryption Key Asset", menuName = "Carter Games/Save Manager/Encryption Key Asset", order = 5)]
33 | public sealed class EncryptionKeyAsset : SaveManagerAsset
34 | {
35 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
36 | | Fields
37 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
38 |
39 | [SerializeField] private byte[] saveEncryptionKey;
40 | [SerializeField] private int keySize = 256;
41 |
42 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
43 | | Properties
44 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
45 |
46 | ///
47 | /// Gets if there is a key setup.
48 | ///
49 | public bool HasKey => saveEncryptionKey != null && saveEncryptionKey.Length > 0;
50 |
51 |
52 | ///
53 | /// Gets the current key for the save data.
54 | ///
55 | public byte[] SaveEncryptionKey
56 | {
57 | get => saveEncryptionKey;
58 | set => saveEncryptionKey = value;
59 | }
60 |
61 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
62 | | Methods
63 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
64 |
65 | ///
66 | /// Generates a new encryption key when called.
67 | ///
68 | ///
69 | public byte[] GenerateKey()
70 | {
71 | var aes = Aes.Create();
72 | aes.KeySize = keySize;
73 | return aes.Key;
74 | }
75 | }
76 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data/EncryptionKeyAsset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 491aaa4ed61e5904aacc7aeedbbbe6eb
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 3af013d337e16964d8ef4276a3bf3e96, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data/SaveManagerAsset.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using UnityEngine;
26 |
27 | namespace CarterGames.Assets.SaveManager
28 | {
29 | ///
30 | /// A base class that just defines a scriptable object type that can be looked up without getting non-asset scriptable objects.
31 | ///
32 | [Serializable]
33 | public abstract class SaveManagerAsset : ScriptableObject { }
34 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Data/SaveManagerAsset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: decdd3176e7a15445ac90eb611dee343
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Extensions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fae0ac251740a514fa1e104c9d7027a1
3 | timeCreated: 1679227402
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Extensions/SaveManagerExtensions.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8ca2aa63e440980439ebdb75be6d8a13
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Logger.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 73e89a3abc8fae74cb0f2d80de2f056a
3 | timeCreated: 1670345361
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Logger/SaveManagerLogger.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9ca7e9830614b7d4787c3fc785bdfd74
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Data.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 149855ef63893c44cb7c878cb48a8b2c
3 | timeCreated: 1675628414
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Data/Objects.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6402c6aeabb27d04d9cbe24ec6a21229
3 | timeCreated: 1675628437
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Data/Objects/SaveObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0cb7f499da2dd92459616bdf26236cb3
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Data/SaveData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6de7b04a9e0c4364a80d79cce049ad9e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 8e118cc7ba999be40a60c63df1be4221, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Data/Values.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b35f115b4c099e745bdc0bce54ca2a57
3 | timeCreated: 1672310304
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Data/Values/SaveValue.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 478de3a901961134f9adfbca26981056
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Data/Values/SaveValueBase.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using System;
25 | using UnityEngine;
26 |
27 | namespace CarterGames.Assets.SaveManager
28 | {
29 | ///
30 | /// A base class for a save value.
31 | ///
32 | [Serializable]
33 | public abstract class SaveValueBase
34 | {
35 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
36 | | Fields
37 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
38 |
39 | ///
40 | /// The key for the save value.
41 | ///
42 | [HideInInspector] public string key;
43 |
44 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
45 | | Properties
46 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
47 |
48 | ///
49 | /// The value of the save value as an object.
50 | ///
51 | public abstract object ValueObject { get; set; }
52 |
53 | /* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
54 | | Methods
55 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
56 |
57 | ///
58 | /// Reset the value on call.
59 | ///
60 | public abstract void ResetValue(bool useDefault = true);
61 |
62 |
63 | ///
64 | /// Assign the save value from
65 | ///
66 | /// The value to assign from.
67 | public abstract void AssignFromObject(SaveValueBase value);
68 | }
69 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Data/Values/SaveValueBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b4e01b3dcb46aa4d8250c2eac201606
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Listeners.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1d253f9ccd5821647be832e0fbc4d718
3 | timeCreated: 1672659770
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Listeners/ILoadListener.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager
25 | {
26 | ///
27 | /// Defines an load listener implementation.
28 | ///
29 | public interface ILoadListener
30 | {
31 | /* —————————————————————————————————————————————————————————————————————————————————————————————————————————————
32 | | Methods
33 | ————————————————————————————————————————————————————————————————————————————————————————————————————————————— */
34 |
35 | ///
36 | /// Implement to run logic when the save is called to load at runtime.
37 | ///
38 | void OnGameLoadCalled();
39 |
40 |
41 | ///
42 | /// Implement to run logic when the save has completed loading at runtime.
43 | ///
44 | void OnGameLoadCompleted();
45 | }
46 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Listeners/ILoadListener.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 28a10bee69b2af042896ebd5fa7cb4ee
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Listeners/ISaveListener.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager
25 | {
26 | ///
27 | /// Defines an save listener implementation.
28 | ///
29 | public interface ISaveListener
30 | {
31 | /* —————————————————————————————————————————————————————————————————————————————————————————————————————————————
32 | | Methods
33 | ————————————————————————————————————————————————————————————————————————————————————————————————————————————— */
34 |
35 | ///
36 | /// Implement to run logic when the save is called to save at runtime.
37 | ///
38 | void OnGameSaveCalled();
39 |
40 |
41 | ///
42 | /// Implement to run logic when the save has completed saving at runtime.
43 | ///
44 | void OnGameSaveCompleted();
45 | }
46 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Save Listeners/ISaveListener.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2bc4ed3f82e97d8478356f4d495e4714
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/SaveManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ee19c7635091ee244ac9d602115df25f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b7b6c40353961a844910640358dd1fe4
3 | timeCreated: 1677785731
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Automation.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4c15c9e3646128b4ea68e59b1efe9514
3 | timeCreated: 1682059690
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Automation/AutoSave.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01178ef7e8a9743468276adb9325418c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0fbfbef5328049e44a9b4521aa12fd3c
3 | timeCreated: 1677780898
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption/Data.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ac833cc08e6b4cedbd83f6a26b26c5cf
3 | timeCreated: 1694241162
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption/Data/EncryptionOption.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using UnityEngine;
25 |
26 | namespace CarterGames.Assets.SaveManager.Encryption
27 | {
28 | ///
29 | /// Defines the encryption options that the save manager can use.
30 | ///
31 | public enum EncryptionOption
32 | {
33 | ///
34 | /// Doesn't use encryption & the save data will be saved in plain JSON text.
35 | ///
36 | [InspectorName("Disabled (Plain Text)")] Disabled,
37 |
38 |
39 | ///
40 | /// Uses AES encryption on the save data when saving.
41 | ///
42 | [InspectorName("Enabled (AES)")] Aes,
43 | }
44 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption/Data/EncryptionOption.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 374cadb4203ba894e9b226c4f02e6a14
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption/EncryptionHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cae7171d6dd7b1b409f57ef65329b611
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption/Handlers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 060e01feaffbb09469a8d0eb6f14f6ae
3 | timeCreated: 1687444887
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption/Handlers/AesEncryption.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7fef7c5f6d37a464ba51705e4daab7b7
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption/Handlers/IEncryptionHandler.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Encryption
25 | {
26 | public interface IEncryptionHandler
27 | {
28 | public void Encrypt(string jsonData);
29 | public string Decrypt();
30 | }
31 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Encryption/Handlers/IEncryptionHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 176e6b032849ccf4f919409ab492b186
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Handlers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 71b5a4b66199496fb98e1fe851b20010
3 | timeCreated: 1694416820
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Handlers/ILoadHandler.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using CarterGames.Assets.SaveManager.Serializiation;
25 |
26 | namespace CarterGames.Assets.SaveManager
27 | {
28 | ///
29 | /// Defines an interface for a game load handler to process the game save file data.
30 | ///
31 | public interface ILoadHandler
32 | {
33 | /* —————————————————————————————————————————————————————————————————————————————————————————————————————————————
34 | | Methods
35 | ————————————————————————————————————————————————————————————————————————————————————————————————————————————— */
36 |
37 | ///
38 | /// Implement to write logic for a game save file loader.
39 | ///
40 | /// The save path of the save file.
41 | /// The save data loaded into the nested dictionary setup.
42 | SerializableDictionary> LoadFromFile(string savePath);
43 | }
44 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Handlers/ILoadHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ec5b6667e24d5c45914e786b3aa9a76
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Handlers/StandardSaveHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 74c7cdc93f14c9e4a8423e975cd5e979
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Handlers/WebSaveHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d89850032ec57b74b8560b7b830a834e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Serialization.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a16c798db51dad94ca5fdfce5b67b1b6
3 | timeCreated: 1677744081
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Serialization/Dictionary.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1d50b97e4c763d84c85b5062333de594
3 | timeCreated: 1677744085
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Serialization/Dictionary/SerializableDictionary.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ecabc83a587830469ba335fb91712ce
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Saving/Serialization/Dictionary/SerializableKeyValuePair.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fb6fb4e441e3a49449e8a466e3447982
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4ff085d4c0ed0f64d8654feeb20b7eea
3 | timeCreated: 1680969078
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility/Per User Settings Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 187bf7d525e74e6cb8ec8538bfa005dc
3 | timeCreated: 1704034711
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility/Per User Settings Runtime/PerUserSettingsRuntime.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 62b71687f98847d89873028acdf6193c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility/Perf Settings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6981afd490294595904d2424885612fc
3 | timeCreated: 1704036270
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility/Perf Settings/PrefSetting.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Utility
25 | {
26 | ///
27 | /// Handles the pref setting to edit
28 | ///
29 | ///
30 | /// Is an enum as other settings were used before and may be used in the future.
31 | ///
32 | public enum PrefSetting
33 | {
34 | ///
35 | /// For editing the encryption setting saved as last used.
36 | ///
37 | Encryption,
38 | }
39 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility/Perf Settings/PrefSetting.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bd81b68aff77cb04c953dbfc56f5a9a6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility/Perf Settings/PrefUseOption.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | namespace CarterGames.Assets.SaveManager.Utility
25 | {
26 | ///
27 | /// Defines the use locations for a pref setting.
28 | ///
29 | public enum PrefUseOption
30 | {
31 | ///
32 | /// The current setting used by the game, is updated by build when changes between build of the game.
33 | ///
34 | Current,
35 |
36 |
37 | ///
38 | /// The current setting used in the build of the game, is set when a build is made.
39 | ///
40 | Build,
41 |
42 |
43 | ///
44 | /// Same as build but for editor space.
45 | ///
46 | Editor,
47 |
48 |
49 | ///
50 | /// Same as current but for editor space.
51 | ///
52 | EditorCurrent
53 | }
54 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility/Perf Settings/PrefUseOption.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 229639e37bb52224faa02e658ecf0913
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Code/Runtime/Utility/UtilRuntime.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 64b7f5e3a639771439c85e8cba2a1121
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 082451c4019b84a4aa0d049115edc309
3 | timeCreated: 1672085173
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Art.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6faeac80b8e47e342ab91190a7011cb6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Art/T_Demo_Circle_Outline_Thick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Demo/Art/T_Demo_Circle_Outline_Thick.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Art/T_Demo_Circle_Outline_Thick.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e903598b72fdd524b8babaa8d321cd93
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: -1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: -1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 1
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 128, y: 128, z: 128, w: 128}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 8
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | flipbookRows: 1
59 | flipbookColumns: 1
60 | maxTextureSizeSet: 0
61 | compressionQualitySet: 0
62 | textureFormatSet: 0
63 | ignorePngGamma: 0
64 | applyGammaDecoding: 0
65 | platformSettings:
66 | - serializedVersion: 3
67 | buildTarget: DefaultTexturePlatform
68 | maxTextureSize: 256
69 | resizeAlgorithm: 0
70 | textureFormat: -1
71 | textureCompression: 1
72 | compressionQuality: 50
73 | crunchedCompression: 0
74 | allowsAlphaSplitting: 0
75 | overridden: 0
76 | androidETC2FallbackOverride: 0
77 | forceMaximumCompressionQuality_BC6H_BC7: 0
78 | - serializedVersion: 3
79 | buildTarget: Standalone
80 | maxTextureSize: 256
81 | resizeAlgorithm: 0
82 | textureFormat: -1
83 | textureCompression: 1
84 | compressionQuality: 50
85 | crunchedCompression: 0
86 | allowsAlphaSplitting: 0
87 | overridden: 0
88 | androidETC2FallbackOverride: 0
89 | forceMaximumCompressionQuality_BC6H_BC7: 0
90 | spriteSheet:
91 | serializedVersion: 2
92 | sprites: []
93 | outline: []
94 | physicsShape: []
95 | bones: []
96 | spriteID: 5e97eb03825dee720800000000000000
97 | internalID: 0
98 | vertices: []
99 | indices:
100 | edges: []
101 | weights: []
102 | secondaryTextures: []
103 | spritePackingTag:
104 | pSDRemoveMatte: 0
105 | pSDShowRemoveMatteOption: 0
106 | userData:
107 | assetBundleName:
108 | assetBundleVariant:
109 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Art/T_Demo_SaveManagerLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Demo/Art/T_Demo_SaveManagerLogo.png
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Art/T_Demo_SaveMansger_Gradient.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/Demo/Art/T_Demo_SaveMansger_Gradient.jpg
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/CarterGames.SaveManager.Demo.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CarterGames.SaveManager.Demo",
3 | "rootNamespace": "",
4 | "references": [
5 | "GUID:5fed357a0eb29414bb1d1667107777c5"
6 | ],
7 | "includePlatforms": [],
8 | "excludePlatforms": [],
9 | "allowUnsafeCode": false,
10 | "overrideReferences": false,
11 | "precompiledReferences": [],
12 | "autoReferenced": true,
13 | "defineConstraints": [],
14 | "versionDefines": [],
15 | "noEngineReferences": false
16 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/CarterGames.SaveManager.Demo.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 781de0e236e5d6743a1e1820ce72d73a
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Code.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf5d288755c0c454ca4edc290bdd48f8
3 | timeCreated: 1672085180
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Code/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2fc3947c2c8d7874482f280090223a74
3 | timeCreated: 1672085184
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Code/Runtime/ExampleSaveObject.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2024 Carter Games
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | * THE SOFTWARE.
22 | */
23 |
24 | using UnityEngine;
25 |
26 | namespace CarterGames.Assets.SaveManager.Demo
27 | {
28 | [CreateAssetMenu(fileName = "Example Save Object", menuName = "Carter Games/Save Manager/Demo/Example Save Object Asset", order = 20)]
29 | public class ExampleSaveObject : SaveObject
30 | {
31 | public SaveValue playerName = new SaveValue("examplePlayerName");
32 | public SaveValue playerHealth = new SaveValue("examplePlayerHealth");
33 | public SaveValue playerPosition = new SaveValue("examplePlayerPosition");
34 | public SaveValue playerShield = new SaveValue("examplePlayerShield");
35 | }
36 | }
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Code/Runtime/ExampleSaveObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 11010672a3811f84e8d31964f42df820
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Code/Runtime/ExampleSceneHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7c4f346c62c04fa47ba18e6b846c2592
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {fileID: 2800000, guid: 40ab1dfa65cdd6247bb1a3d4ea54901c, type: 3}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Data.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da2f1527c68d4994893ce5148f7028ca
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Data/Example Save Object.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 11010672a3811f84e8d31964f42df820, type: 3}
13 | m_Name: Example Save Object
14 | m_EditorClassIdentifier:
15 | isExpanded: 0
16 | saveKey: Example
17 | playerName:
18 | key: examplePlayerName
19 | value: Emily
20 | defaultValue: Emily
21 | playerHealth:
22 | key: examplePlayerHealth
23 | value: 50
24 | defaultValue: 50
25 | playerPosition:
26 | key: examplePlayerPosition
27 | value: {x: 0, y: 0, z: 0}
28 | defaultValue: {x: 0, y: 0, z: 0}
29 | playerShield:
30 | key: examplePlayerShield
31 | value: 0
32 | defaultValue: 0
33 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Data/Example Save Object.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 82e2e69aec1bee748b7a19fdff4d4e9a
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Scene.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d753ee341727b1c44afdfcebf8a48167
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/Demo/Scene/SaveManagerExampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1ec10e81d7fae184183273b37397e72d
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/~Documentation.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a7f8ac5a6c5aac346a54c7097c1a8f60
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Carter Games/Save Manager/~Documentation/Save Manager Offline Documentation.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CarterGames/SaveManager/341e066ac080efeedd05161c4423a04044bd91ac/Carter Games/Save Manager/~Documentation/Save Manager Offline Documentation.pdf
--------------------------------------------------------------------------------
/Carter Games/Save Manager/~Documentation/Save Manager Offline Documentation.pdf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 18b649ac0c0d55d46bdd05d94ec3d206
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Jonathan Carter
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/LICENSE.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ccd1c4498b9f279419970bfb99a8676f
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 |
4 | Save Manager is a FREE local save system for Unity games.
5 |
6 | ## Badges
7 | 
8 | 
9 | 
10 | 
11 | 
12 | 
13 |
14 | ## Key Features
15 | ✔️ Save editor window for editing the save data in edit mode
16 | ✔️ Save profiles to load save states in the editor
17 | ✔️ Modular save setup
18 | ✔️ Save Encryption available with AES Encryption
19 | ✔️ Auto Save & Load Options
20 | ✔️ WebGL support!
21 | ✔️ Custom savable dictionary type included.
22 | ✔️ Regularly updated and maintained with ❤️
23 |
24 | ## How To Install
25 |
26 | ### Unity Package Manager (Git URL) [Recommended]
27 | Release:
28 |
29 | The most up-to-date version of the repo that is considered stable enough for public use.
30 | ```
31 | https://github.com/CarterGames/SaveManager.git
32 | ```
33 |
34 | Pre-release:
35 |
36 | Used to prepare future releases before releasing them, checking for bugs mainly. Will have the latest features but may not be stable just yet. Use at your own risk.
37 | ```
38 | https://github.com/CarterGames/SaveManager.git#prerelease
39 | ```
40 |
41 | Either download and import the package from the releases section or the Unity Asset Store and use the package manager. Alternatively, download this repo and copy all files into your project.
42 |
43 | ## Setup & Basic Usage
44 | The asset is now installed, just make your save objects and save values to start saving elements of your game. You can see how to do this here. You can manually save the game by calling SaveManager.Save() & SaveManager.Load() respectively.
45 |
46 | ## Documentation
47 | You can access a online of the documentation here: Online Documentation. An offline copy is provided with the package and asset if needed.
48 |
49 | ## Unity Supported Versions
50 | The asset is developed and maintained in 2020.3.x and make use of available .Net updates in the version. Older versions of Unity are not supported for this asset. The asset has been tested pre-release in its development version: 2020.3.0f1.
51 |
52 | ## Authors
53 | - Jonathan Carter
54 |
55 | ## Licence
56 | MIT Licence
57 |
--------------------------------------------------------------------------------
/README.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 68a7949d8abd3ad4983a1d660d0c7356
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "games.carter.savemanager",
3 | "version": "2.3.6",
4 | "displayName": "Save Manager",
5 | "description": "A free, scriptable object based, local save system for Unity. Works on all platforms using standard JSON Utility.",
6 | "unity": "2020.3",
7 | "unityRelease": "0f1",
8 | "documentationUrl": "https://carter.games/savemanager",
9 | "licensesUrl": "https://github.com/CarterGames/SaveManager/blob/main/LICENSE",
10 | "author": {
11 | "name": "Carter Games",
12 | "email": "hello@carter.games",
13 | "url": "https://carter.games/savemanager"
14 | }
15 | }
--------------------------------------------------------------------------------
/package.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 940447b4d9ed4853b1cfbb0e30fdc104
3 | timeCreated: 1726416751
--------------------------------------------------------------------------------