├── .github └── FUNDING.yml ├── .gitignore ├── Carter Games.meta ├── Carter Games ├── Notion Database To Unity.meta └── Notion Database To Unity │ ├── Code.meta │ └── Code │ ├── Editor.meta │ ├── Editor │ ├── CarterGames.Standalone.NotionData.Editor.asmdef │ ├── CarterGames.Standalone.NotionData.Editor.asmdef.meta │ ├── Editors.meta │ ├── Editors │ │ ├── Auto Download All.meta │ │ ├── Auto Download All │ │ │ ├── DownloadAllHandler.cs │ │ │ └── DownloadAllHandler.cs.meta │ │ ├── Creator Tool.meta │ │ ├── Creator Tool │ │ │ ├── NotionDataAssetCreator.cs │ │ │ ├── NotionDataAssetCreator.cs.meta │ │ │ ├── NotionDataAssetTemplate.txt │ │ │ ├── NotionDataAssetTemplate.txt.meta │ │ │ ├── NotionDataTemplate.txt │ │ │ └── NotionDataTemplate.txt.meta │ │ ├── Drawer.meta │ │ ├── Drawer │ │ │ ├── NotionWrapperEditor.cs │ │ │ └── NotionWrapperEditor.cs.meta │ │ ├── Inspectors.meta │ │ ├── Inspectors │ │ │ ├── NotionDataAssetEditor.cs │ │ │ └── NotionDataAssetEditor.cs.meta │ │ ├── Search Provider.meta │ │ └── Search Provider │ │ │ ├── SearchGroup.cs │ │ │ ├── SearchGroup.cs.meta │ │ │ ├── SearchHelper.cs │ │ │ ├── SearchHelper.cs.meta │ │ │ ├── SearchItem.cs │ │ │ ├── SearchItem.cs.meta │ │ │ ├── SearchProvider.cs │ │ │ └── SearchProvider.cs.meta │ ├── Notion.meta │ ├── Notion │ │ ├── Notion Api.meta │ │ └── Notion Api │ │ │ ├── Api Version.meta │ │ │ ├── Api Version │ │ │ ├── NotionApiReleaseVersion.cs │ │ │ ├── NotionApiReleaseVersion.cs.meta │ │ │ ├── NotionApiVersion.cs │ │ │ ├── NotionApiVersion.cs.meta │ │ │ ├── NotionApiVersionHelper.cs │ │ │ └── NotionApiVersionHelper.cs.meta │ │ │ ├── Download Result.meta │ │ │ ├── Download Result │ │ │ ├── NotionDownloadParser.cs │ │ │ └── NotionDownloadParser.cs.meta │ │ │ ├── Filters.meta │ │ │ ├── Filters │ │ │ ├── BaseFilterGroupEditor.cs │ │ │ ├── BaseFilterGroupEditor.cs.meta │ │ │ ├── EditorWindowFilterGUI.cs │ │ │ ├── EditorWindowFilterGUI.cs.meta │ │ │ ├── Search.meta │ │ │ ├── Search │ │ │ │ ├── SearchProviderFilterGroupType.cs │ │ │ │ ├── SearchProviderFilterGroupType.cs.meta │ │ │ │ ├── SearchProviderFilterType.cs │ │ │ │ └── SearchProviderFilterType.cs.meta │ │ │ ├── Type Specific.meta │ │ │ └── Type Specific │ │ │ │ ├── FilterEditorCheckbox.cs │ │ │ │ ├── FilterEditorCheckbox.cs.meta │ │ │ │ ├── FilterEditorDate.cs │ │ │ │ ├── FilterEditorDate.cs.meta │ │ │ │ ├── FilterEditorGroup.cs │ │ │ │ ├── FilterEditorGroup.cs.meta │ │ │ │ ├── FilterEditorId.cs │ │ │ │ ├── FilterEditorId.cs.meta │ │ │ │ ├── FilterEditorMultiSelect.cs │ │ │ │ ├── FilterEditorMultiSelect.cs.meta │ │ │ │ ├── FilterEditorNumber.cs │ │ │ │ ├── FilterEditorNumber.cs.meta │ │ │ │ ├── FilterEditorRichText.cs │ │ │ │ ├── FilterEditorRichText.cs.meta │ │ │ │ ├── FilterEditorSelect.cs │ │ │ │ ├── FilterEditorSelect.cs.meta │ │ │ │ ├── FilterEditorStatus.cs │ │ │ │ └── FilterEditorStatus.cs.meta │ │ │ ├── Meta Data.meta │ │ │ ├── Meta Data │ │ │ ├── NotionMetaData.cs │ │ │ └── NotionMetaData.cs.meta │ │ │ ├── Notion Property Parsers.meta │ │ │ ├── Notion Property Parsers │ │ │ ├── INotionDatabasePropertyParser.cs │ │ │ ├── INotionDatabasePropertyParser.cs.meta │ │ │ ├── NotionDatabasePropertyParserCheckbox.cs │ │ │ ├── NotionDatabasePropertyParserCheckbox.cs.meta │ │ │ ├── NotionDatabasePropertyParserDate.cs │ │ │ ├── NotionDatabasePropertyParserDate.cs.meta │ │ │ ├── NotionDatabasePropertyParserMultiSelect.cs │ │ │ ├── NotionDatabasePropertyParserMultiSelect.cs.meta │ │ │ ├── NotionDatabasePropertyParserNumber.cs │ │ │ ├── NotionDatabasePropertyParserNumber.cs.meta │ │ │ ├── NotionDatabasePropertyParserRichText.cs │ │ │ ├── NotionDatabasePropertyParserRichText.cs.meta │ │ │ ├── NotionDatabasePropertyParserSelect.cs │ │ │ ├── NotionDatabasePropertyParserSelect.cs.meta │ │ │ ├── NotionDatabasePropertyParserStatus.cs │ │ │ ├── NotionDatabasePropertyParserStatus.cs.meta │ │ │ ├── NotionDatabasePropertyParserTitle.cs │ │ │ └── NotionDatabasePropertyParserTitle.cs.meta │ │ │ ├── NotionApiRequestHandler.cs │ │ │ ├── NotionApiRequestHandler.cs.meta │ │ │ ├── Request Data.meta │ │ │ ├── Request Data │ │ │ ├── NotionRequestData.cs │ │ │ ├── NotionRequestData.cs.meta │ │ │ ├── NotionRequestError.cs │ │ │ ├── NotionRequestError.cs.meta │ │ │ ├── NotionRequestResult.cs │ │ │ └── NotionRequestResult.cs.meta │ │ │ ├── Secret Key.meta │ │ │ ├── Secret Key │ │ │ ├── NotionSecretKeyValidator.cs │ │ │ └── NotionSecretKeyValidator.cs.meta │ │ │ ├── Sort Properties.meta │ │ │ └── Sort Properties │ │ │ ├── NotionSortPropertyHelper.cs │ │ │ ├── NotionSortPropertyHelper.cs.meta │ │ │ ├── SortPropertiesWindow.cs │ │ │ └── SortPropertiesWindow.cs.meta │ ├── Supporting Backend.meta │ ├── Supporting Backend │ │ ├── AssetInfo.cs │ │ ├── AssetInfo.cs.meta │ │ ├── Data.meta │ │ ├── Data │ │ │ ├── DataAssetIndexHandler.cs │ │ │ └── DataAssetIndexHandler.cs.meta │ │ ├── Editor Helpers.meta │ │ ├── Editor Helpers │ │ │ ├── AssetDatabaseHelper.cs │ │ │ ├── AssetDatabaseHelper.cs.meta │ │ │ ├── FileEditorUtil.cs │ │ │ ├── FileEditorUtil.cs.meta │ │ │ ├── GeneralUtilEditor.cs │ │ │ ├── GeneralUtilEditor.cs.meta │ │ │ ├── SerializedPropertyHelper.cs │ │ │ └── SerializedPropertyHelper.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 │ │ ├── Scriptable Assets.meta │ │ ├── Scriptable Assets │ │ │ ├── DataAssetEditorGlobalSettings.cs │ │ │ ├── DataAssetEditorGlobalSettings.cs.meta │ │ │ ├── IScriptableAssetDef.cs │ │ │ ├── IScriptableAssetDef.cs.meta │ │ │ ├── ScriptableDefAssetIndex.cs │ │ │ ├── ScriptableDefAssetIndex.cs.meta │ │ │ ├── ScriptableDefCoreSettings.cs │ │ │ ├── ScriptableDefCoreSettings.cs.meta │ │ │ ├── ScriptableDefDataProcessor.cs │ │ │ ├── ScriptableDefDataProcessor.cs.meta │ │ │ ├── ScriptableObjectInitialize.cs │ │ │ ├── ScriptableObjectInitialize.cs.meta │ │ │ ├── ScriptableRef.cs │ │ │ └── ScriptableRef.cs.meta │ │ ├── Settings Provider.meta │ │ ├── Settings Provider │ │ │ ├── SettingsProviderStandaloneNotionData.cs │ │ │ └── SettingsProviderStandaloneNotionData.cs.meta │ │ ├── Version Validation.meta │ │ └── Version Validation │ │ │ ├── InstallMethodChecker.cs │ │ │ ├── InstallMethodChecker.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 │ │ ├── BuildHandlerSecrets.cs │ │ └── BuildHandlerSecrets.cs.meta │ ├── Runtime.meta │ └── Runtime │ ├── CarterGames.Standalone.NotionData.Runtime.asmdef │ ├── CarterGames.Standalone.NotionData.Runtime.asmdef.meta │ ├── Common.meta │ ├── Common │ ├── AssemblyHelper.cs │ ├── AssemblyHelper.cs.meta │ ├── CarterGames.Standalone.NotionData.Common.asmdef │ ├── CarterGames.Standalone.NotionData.Common.asmdef.meta │ ├── Events.meta │ ├── Events │ │ ├── Evt.cs │ │ └── Evt.cs.meta │ ├── Serialization.meta │ └── Serialization │ │ ├── Dictionary.meta │ │ └── Dictionary │ │ ├── SerializableDictionary.cs │ │ ├── SerializableDictionary.cs.meta │ │ ├── SerializableKeyValuePair.cs │ │ └── SerializableKeyValuePair.cs.meta │ ├── Data.meta │ ├── Data │ ├── DataAccess.cs │ ├── DataAccess.cs.meta │ ├── DataAsset.cs │ ├── DataAsset.cs.meta │ ├── DataAssetIndex.cs │ └── DataAssetIndex.cs.meta │ ├── Notion.meta │ ├── Notion │ ├── Data Assets.meta │ ├── Data Assets │ │ ├── NotionDataAsset.cs │ │ └── NotionDataAsset.cs.meta │ ├── Filters.meta │ ├── Filters │ │ ├── Checkbox.meta │ │ ├── Checkbox │ │ │ ├── NotionFilterCheckBox.cs │ │ │ └── NotionFilterCheckBox.cs.meta │ │ ├── Date.meta │ │ ├── Date │ │ │ ├── NotionFilterDate.cs │ │ │ ├── NotionFilterDate.cs.meta │ │ │ ├── NotionFilterDateComparison.cs │ │ │ └── NotionFilterDateComparison.cs.meta │ │ ├── FilterJsonHelper.cs │ │ ├── FilterJsonHelper.cs.meta │ │ ├── Id.meta │ │ ├── Id │ │ │ ├── NotionFilterId.cs │ │ │ ├── NotionFilterId.cs.meta │ │ │ ├── NotionFilterIdComparison.cs │ │ │ └── NotionFilterIdComparison.cs.meta │ │ ├── Multi-Select.meta │ │ ├── Multi-Select │ │ │ ├── NotionFilterMultiSelect.cs │ │ │ ├── NotionFilterMultiSelect.cs.meta │ │ │ ├── NotionFilterMultiSelectList.cs │ │ │ ├── NotionFilterMultiSelectList.cs.meta │ │ │ ├── NotionFilterSelectComparison.cs │ │ │ └── NotionFilterSelectComparison.cs.meta │ │ ├── NotionFilterClassDef.cs │ │ ├── NotionFilterClassDef.cs.meta │ │ ├── NotionFilterContainer.cs │ │ ├── NotionFilterContainer.cs.meta │ │ ├── NotionFilterGroup.cs │ │ ├── NotionFilterGroup.cs.meta │ │ ├── NotionFilterGrouping.cs │ │ ├── NotionFilterGrouping.cs.meta │ │ ├── NotionFilterOption.cs │ │ ├── NotionFilterOption.cs.meta │ │ ├── NotionFilterOptionDef.cs │ │ ├── NotionFilterOptionDef.cs.meta │ │ ├── Number.meta │ │ ├── Number │ │ │ ├── NotionFilterNumber.cs │ │ │ ├── NotionFilterNumber.cs.meta │ │ │ ├── NotionFilterNumberComparison.cs │ │ │ └── NotionFilterNumberComparison.cs.meta │ │ ├── Rich Text.meta │ │ ├── Rich Text │ │ │ ├── NotionFilterRichText.cs │ │ │ ├── NotionFilterRichText.cs.meta │ │ │ ├── NotionFilterRichTextComparison.cs │ │ │ └── NotionFilterRichTextComparison.cs.meta │ │ ├── Rollup.meta │ │ ├── Rollup │ │ │ ├── NotionFilterRollup.cs │ │ │ ├── NotionFilterRollup.cs.meta │ │ │ ├── NotionFilterRollupComparison.cs │ │ │ └── NotionFilterRollupComparison.cs.meta │ │ ├── Select.meta │ │ ├── Select │ │ │ ├── NotionFilterSelect.cs │ │ │ ├── NotionFilterSelect.cs.meta │ │ │ ├── NotionFilterSelectComparison.cs │ │ │ └── NotionFilterSelectComparison.cs.meta │ │ ├── Status.meta │ │ └── Status │ │ │ ├── NotionFilterStatus.cs │ │ │ ├── NotionFilterStatus.cs.meta │ │ │ ├── NotionFilterStatusComparison.cs │ │ │ └── NotionFilterStatusComparison.cs.meta │ ├── Notion Database Handling.meta │ ├── Notion Database Handling │ │ ├── NotionDatabaseQueryResult.cs │ │ ├── NotionDatabaseQueryResult.cs.meta │ │ ├── NotionDatabaseRow.cs │ │ ├── NotionDatabaseRow.cs.meta │ │ ├── Properties.meta │ │ ├── Properties │ │ │ ├── NotionProperty.cs │ │ │ ├── NotionProperty.cs.meta │ │ │ ├── NotionPropertyCheckbox.cs │ │ │ ├── NotionPropertyCheckbox.cs.meta │ │ │ ├── NotionPropertyData.cs │ │ │ ├── NotionPropertyData.cs.meta │ │ │ ├── NotionPropertyDate.cs │ │ │ ├── NotionPropertyDate.cs.meta │ │ │ ├── NotionPropertyFactory.cs │ │ │ ├── NotionPropertyFactory.cs.meta │ │ │ ├── NotionPropertyMultiSelect.cs │ │ │ ├── NotionPropertyMultiSelect.cs.meta │ │ │ ├── NotionPropertyNumber.cs │ │ │ ├── NotionPropertyNumber.cs.meta │ │ │ ├── NotionPropertyRichText.cs │ │ │ ├── NotionPropertyRichText.cs.meta │ │ │ ├── NotionPropertySelect.cs │ │ │ ├── NotionPropertySelect.cs.meta │ │ │ ├── NotionPropertyStatus.cs │ │ │ ├── NotionPropertyStatus.cs.meta │ │ │ ├── NotionPropertyTitle.cs │ │ │ └── NotionPropertyTitle.cs.meta │ │ ├── Value Conversion.meta │ │ └── Value Conversion │ │ │ ├── NotionPropertyValueHandler.cs │ │ │ └── NotionPropertyValueHandler.cs.meta │ ├── Notion Database Processing.meta │ ├── Notion Database Processing │ │ ├── NotionDatabaseProcessor.cs │ │ ├── NotionDatabaseProcessor.cs.meta │ │ ├── NotionDatabaseProcessorStandard.cs │ │ └── NotionDatabaseProcessorStandard.cs.meta │ ├── Serialization.meta │ ├── Serialization │ │ ├── DateTime.meta │ │ └── DateTime │ │ │ ├── SerializableDateTime.cs │ │ │ └── SerializableDateTime.cs.meta │ ├── Sort Properties.meta │ ├── Sort Properties │ │ ├── NotionSortProperty.cs │ │ └── NotionSortProperty.cs.meta │ ├── Wrappers.meta │ └── Wrappers │ │ ├── NotionDataWrapper.cs │ │ ├── NotionDataWrapper.cs.meta │ │ ├── NotionDataWrapperAudioClip.cs │ │ ├── NotionDataWrapperAudioClip.cs.meta │ │ ├── NotionDataWrapperPrefab.cs │ │ ├── NotionDataWrapperPrefab.cs.meta │ │ ├── NotionDataWrapperSprite.cs │ │ └── NotionDataWrapperSprite.cs.meta │ ├── Third Party.meta │ └── Third Party │ ├── CarterGames.Standalone.NotionData.ThirdParty.asmdef │ ├── CarterGames.Standalone.NotionData.ThirdParty.asmdef.meta │ ├── SimpleJson.cs │ └── SimpleJson.cs.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 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 12 | polar: # Replace with a single Polar username 13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username 14 | thanks_dev: # Replace with a single thanks.dev username 15 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Recordings can get excessive in size 18 | /[Rr]ecordings/ 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | 29 | # Gradle cache directory 30 | .gradle/ 31 | 32 | # Autogenerated VS/MD/Consulo solution and project files 33 | ExportedObj/ 34 | .consulo/ 35 | *.csproj 36 | *.unityproj 37 | *.sln 38 | *.suo 39 | *.tmp 40 | *.user 41 | *.userprefs 42 | *.pidb 43 | *.booproj 44 | *.svd 45 | *.pdb 46 | *.mdb 47 | *.opendb 48 | *.VC.db 49 | 50 | # Unity3D generated meta files 51 | *.pidb.meta 52 | *.pdb.meta 53 | *.mdb.meta 54 | 55 | # Unity3D generated file on crash reports 56 | sysinfo.txt 57 | 58 | # Builds 59 | *.apk 60 | *.aab 61 | *.unitypackage 62 | *.app 63 | 64 | # Crashlytics generated file 65 | crashlytics-build.properties 66 | 67 | # Packed Addressables 68 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 69 | 70 | # Temporary auto-generated Android Assets 71 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 72 | /[Aa]ssets/[Ss]treamingAssets/aa/* 73 | -------------------------------------------------------------------------------- /Carter Games.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 870e499c81e3799428baedccd08be53e 3 | timeCreated: 1725525083 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a51f7ead9d6d2d74e8bee1ce460985b9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df6768e0a422e3642b91899997b7711a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1118288ddefd29c47b01e3fc70468e26 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/CarterGames.Standalone.NotionData.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CarterGames.Standalone.NotionData.Editor", 3 | "rootNamespace": "CarterGames.Standalone.NotionData.Editor", 4 | "references": [ 5 | "GUID:89ac633aa8ff64040b25f61518186ddd", 6 | "GUID:aa312903d0d2e3541bf075ab426e5d8d", 7 | "GUID:f091c6eaefcd9154fbffa0b3a07f41fe" 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/Notion Database To Unity/Code/Editor/CarterGames.Standalone.NotionData.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3d48a04cb07f564b8cc5d7d0a36bb85 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae137f49b306fdb4c8fd9dc20929611f 3 | timeCreated: 1725525347 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Auto Download All.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adef75535bfa5b74295e4fdd0af5c38a 3 | timeCreated: 1725539286 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Auto Download All/DownloadAllHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f08f0afa0a4a8a34aa56ef8c06941008 3 | timeCreated: 1725539292 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Creator Tool.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55042ddb8f0b2ef4a8f6031f833d3819 3 | timeCreated: 1705225596 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Creator Tool/NotionDataAssetCreator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e58d7315f2a1b44ea7563c85525d93a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Creator Tool/NotionDataAssetTemplate.txt: -------------------------------------------------------------------------------- 1 | using CarterGames.Standalone.NotionData; 2 | using UnityEngine; 3 | 4 | 5 | namespace Data 6 | { 7 | [CreateAssetMenu(fileName = "%DataAssetName%")] 8 | public class %DataAssetName% : NotionDataAsset<%DataTypeName%> 9 | { 10 | 11 | } 12 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Creator Tool/NotionDataAssetTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d7e3225e41d6e64582536d81524cf8e 3 | timeCreated: 1705230944 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Creator Tool/NotionDataTemplate.txt: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | 4 | namespace Data 5 | { 6 | [Serializable] 7 | public class %DataTypeName% 8 | { 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Creator Tool/NotionDataTemplate.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9063cfc8b2247b4faf294f2ce0e9136 3 | timeCreated: 1705243443 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Drawer.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57a2c09c01b6fd446ad35761e98ebc9b 3 | timeCreated: 1724741414 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Drawer/NotionWrapperEditor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEditor; 25 | using UnityEngine; 26 | 27 | namespace CarterGames.Standalone.NotionData.Editor 28 | { 29 | [CustomPropertyDrawer(typeof(NotionDataWrapper<>), true)] 30 | public class NotionWrapperEditor : PropertyDrawer 31 | { 32 | public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) 33 | { 34 | EditorGUI.BeginProperty(position, label, property); 35 | 36 | var spriteRef = property.Fpr("value"); 37 | 38 | EditorGUI.BeginChangeCheck(); 39 | 40 | EditorGUI.PropertyField(position, spriteRef, label); 41 | 42 | if (EditorGUI.EndChangeCheck()) 43 | { 44 | property.serializedObject.ApplyModifiedProperties(); 45 | } 46 | 47 | EditorGUI.EndProperty(); 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Drawer/NotionWrapperEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2990619a5b3033747af33d5e046559d5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Inspectors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6130aa4a45c3fcc478cbbc8173ba6832 3 | timeCreated: 1706562431 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Inspectors/NotionDataAssetEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60d4aae9b85eea34dbec7adc682bcf07 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Search Provider.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eab4628e6a64fca4d972a38063a627b4 3 | timeCreated: 1733768828 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Search Provider/SearchGroup.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.Collections.Generic; 26 | 27 | namespace CarterGames.Standalone.NotionData.Editor 28 | { 29 | [Serializable] 30 | public class SearchGroup 31 | { 32 | public string Key { get; private set; } 33 | public List> Values { get; private set; } 34 | 35 | 36 | public bool IsValidGroup => !string.IsNullOrEmpty(Key); 37 | 38 | 39 | 40 | public SearchGroup(string groupName, List> values) 41 | { 42 | Key = groupName; 43 | Values = values; 44 | } 45 | 46 | 47 | public SearchGroup(List> values) 48 | { 49 | Key = string.Empty; 50 | Values = values; 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Search Provider/SearchGroup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f63cedb4b0677a409cc3fb07b68cd5d 3 | timeCreated: 1733768830 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Search Provider/SearchHelper.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 UnityEditor.Experimental.GraphView; 25 | using UnityEngine; 26 | 27 | namespace CarterGames.Standalone.NotionData.Editor 28 | { 29 | public static class SearchHelper 30 | { 31 | public static SearchTreeEntry CreateGroup(string title, int level) 32 | { 33 | return new SearchTreeGroupEntry(new GUIContent(title)) 34 | { 35 | level = level, 36 | }; 37 | } 38 | 39 | 40 | public static SearchTreeEntry CreateEntry(string title, int level, object data) 41 | { 42 | return new SearchTreeEntry(new GUIContent(" " + title)) 43 | { 44 | level = level, 45 | userData = data 46 | }; 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Search Provider/SearchHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1119f9a06190fd43a75d926546026f9 3 | timeCreated: 1733768830 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Search Provider/SearchItem.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 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | [Serializable] 29 | public class SearchItem 30 | { 31 | public string Key { get; private set; } 32 | public T Value { get; private set; } 33 | 34 | 35 | public static SearchItem Set(string key, T item) 36 | { 37 | return new SearchItem() 38 | { 39 | Key = key, 40 | Value = item 41 | }; 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Search Provider/SearchItem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e734f57720b9f14f9e84d27ec3f77ab 3 | timeCreated: 1733768830 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Editors/Search Provider/SearchProvider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e5268f47a3ed6c4c9a407c145188916 3 | timeCreated: 1733768830 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 858c1b0162b5ce746b9661c5c8c0cd27 3 | timeCreated: 1709913688 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0abaabbf081c03f408e12f6816757c03 3 | timeCreated: 1725525272 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Api Version.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea763797d666aa44b885e3913eaae4b6 3 | timeCreated: 1725544842 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Api Version/NotionApiReleaseVersion.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEngine; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | /// 29 | /// An enum of any supported API versions 30 | /// 31 | public enum NotionApiReleaseVersion 32 | { 33 | [InspectorName("2022-06-28")] NotionApi20220628 = 0, 34 | } 35 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Api Version/NotionApiReleaseVersion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00ae4ee6a7bebe044846338638a6e2cf 3 | timeCreated: 1725525229 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Api Version/NotionApiVersion.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEngine; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | /// 29 | /// An enum of any major supported APi versions. 30 | /// 31 | public enum NotionApiVersion 32 | { 33 | [InspectorName("V1 (Default)")] V1 = 0, 34 | } 35 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Api Version/NotionApiVersion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d59c4b240b634d8438da851490c62c03 3 | timeCreated: 1725529311 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Api Version/NotionApiVersionHelper.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Editor 25 | { 26 | /// 27 | /// A helper class to convert the notion release api versions to usable strings. 28 | /// 29 | public static class NotionApiVersionHelper 30 | { 31 | public static string ToVersionString(this NotionApiReleaseVersion apiReleaseVersion) 32 | { 33 | return apiReleaseVersion switch 34 | { 35 | NotionApiReleaseVersion.NotionApi20220628 => "2022-06-28", 36 | _ => string.Empty 37 | }; 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Api Version/NotionApiVersionHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 810a908d24df08946884709968b1ac59 3 | timeCreated: 1725525287 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Download Result.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b37e92f2ef64e1468391477fdffd3ed 3 | timeCreated: 1725559456 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Download Result/NotionDownloadParser.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 065a440925fa2194dae88d6ee48d357e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24a112592acf2994cadce86862d66892 3 | timeCreated: 1733585214 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/BaseFilterGroupEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09d0c48d381f6bd4bada574d81cf0194 3 | timeCreated: 1733586796 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/EditorWindowFilterGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d216d352abad2d4fbf52b4d3335ab16 3 | timeCreated: 1733585223 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Search.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63b39bc2e5542df42b7651dd4a30a2c5 3 | timeCreated: 1733768659 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Search/SearchProviderFilterGroupType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class SearchProviderFilterGroupType : SearchProvider 29 | { 30 | private static SearchProviderFilterGroupType Instance; 31 | private static int NestLevel; 32 | public override string ProviderTitle => "Select Filter Type"; 33 | 34 | 35 | public override List> GetEntriesToDisplay() 36 | { 37 | var list = new List>(); 38 | var items = new List>(); 39 | var itemNames = new List() 40 | { 41 | "+ Add filter rule" 42 | }; 43 | 44 | if (NestLevel < 2) 45 | { 46 | itemNames.Add("+ Add filter group"); 47 | } 48 | 49 | for (var i = 0; i < itemNames.Count; i++) 50 | { 51 | items.Add(SearchItem.Set(itemNames[i], i)); 52 | } 53 | 54 | list.Add(new SearchGroup("", items)); 55 | 56 | return list; 57 | } 58 | 59 | 60 | public static SearchProviderFilterGroupType GetProvider(int currentNestLevel) 61 | { 62 | NestLevel = currentNestLevel; 63 | 64 | if (Instance == null) 65 | { 66 | Instance = CreateInstance(); 67 | } 68 | 69 | return Instance; 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Search/SearchProviderFilterGroupType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2e49993fa429784494ef2cb0a2708e2 3 | timeCreated: 1734115169 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Search/SearchProviderFilterType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 25 | using System.Linq; 26 | using CarterGames.Standalone.NotionData.Common; 27 | using CarterGames.Standalone.NotionData.Filters; 28 | 29 | namespace CarterGames.Standalone.NotionData.Editor 30 | { 31 | public class SearchProviderFilterType : SearchProvider 32 | { 33 | private static SearchProviderFilterType Instance; 34 | 35 | public override string ProviderTitle => "Select Notion Filter Type"; 36 | 37 | 38 | public override List> GetEntriesToDisplay() 39 | { 40 | var list = new List>(); 41 | var options = AssemblyHelper.GetClassesOfType().Where(t => !ToExclude.Contains(t) && t.EditorTypeName != "Group"); 42 | var items = new List>(); 43 | 44 | foreach (var entry in options) 45 | { 46 | items.Add(SearchItem.Set(entry.EditorTypeName, entry)); 47 | } 48 | 49 | list.Add(new SearchGroup("", items)); 50 | 51 | return list; 52 | } 53 | 54 | 55 | public static SearchProviderFilterType GetProvider() 56 | { 57 | if (Instance == null) 58 | { 59 | Instance = CreateInstance(); 60 | } 61 | 62 | return Instance; 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Search/SearchProviderFilterType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 650d2ac14d9d05a478cb66859f0bd527 3 | timeCreated: 1733768896 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4884cc6fad0244f4394f02bb0b2052c6 3 | timeCreated: 1733588926 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorCheckbox.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba77067f88c02c441b2ac1fcc731e645 3 | timeCreated: 1733768493 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorDate.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bdb5bccb62708f8469d31012b9c9058b 3 | timeCreated: 1734124149 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorGroup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c52c8ac683c00584997191922bc64e58 3 | timeCreated: 1734119554 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorId.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1df7ddc897cf7724ba6a43dbe76fe9f3 3 | timeCreated: 1734089154 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorMultiSelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d96d6794f9e3f74ba176c5618ad53e7 3 | timeCreated: 1734090422 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorNumber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e415885a92ab5e042827521b66dd25ad 3 | timeCreated: 1734098228 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorRichText.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f32daaa48e170e44b83345d4bc5b847a 3 | timeCreated: 1733768054 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorSelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c0f46c50c54ddf4e8783375a8e915bd 3 | timeCreated: 1734090223 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Filters/Type Specific/FilterEditorStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd1f3c32e9a4aea4fb9fed5c11528968 3 | timeCreated: 1734123927 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Meta Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66071d8bd4eaa7242b96b21a2b89c42c 3 | timeCreated: 1725559488 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Meta Data/NotionMetaData.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEngine; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public static class NotionMetaData 29 | { 30 | public static readonly GUIContent VersionNumber = 31 | new GUIContent( 32 | "Version:", 33 | "The version number for the standalone asset."); 34 | 35 | 36 | public static readonly GUIContent ReleaseDate = 37 | new GUIContent( 38 | "Release date (Y/M/D):", 39 | "The release date of the standalone asset. In Year/Month/Day order."); 40 | 41 | 42 | public static readonly GUIContent ApiVersion = 43 | new GUIContent( 44 | "API version:", 45 | "The major API version to use in Notion API calls."); 46 | 47 | 48 | public static readonly GUIContent ApiReleaseVersion = 49 | new GUIContent( 50 | "API release version:", 51 | "The API release version to use in Notion API calls."); 52 | 53 | 54 | public static readonly GUIContent ApiKey = 55 | new GUIContent( 56 | "API key:", 57 | "The API key to use with the download."); 58 | 59 | 60 | public static readonly GUIContent DatabaseLink = 61 | new GUIContent( 62 | "Link to database:", 63 | "The link to the page with the database on that you want to download."); 64 | 65 | 66 | public static readonly GUIContent DownloadTimeout = 67 | new GUIContent( 68 | "Download Timeout:", 69 | "The duration until a download attempt will auto-fail."); 70 | } 71 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Meta Data/NotionMetaData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9daa4b52d70e37d43b841017ebb0dca9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6671444e47c1bf549905778e324d8d01 3 | timeCreated: 1725557209 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/INotionDatabasePropertyParser.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public interface INotionDatabasePropertyParser 29 | { 30 | string PropertyIdentifier { get; } 31 | string GetJsonValue(JSONNode json); 32 | } 33 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/INotionDatabasePropertyParser.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fa42be8cba34b6419cd9c61a5550bf9 3 | timeCreated: 1725557218 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserCheckbox.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class NotionDatabasePropertyParserCheckbox : INotionDatabasePropertyParser 29 | { 30 | public string PropertyIdentifier => "checkbox"; 31 | 32 | 33 | public string GetJsonValue(JSONNode json) 34 | { 35 | return json["checkbox"].Value; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserCheckbox.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e31b8954afef484ab93e813e61ad863 3 | timeCreated: 1725557566 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserDate.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 26 | using UnityEngine; 27 | 28 | namespace CarterGames.Standalone.NotionData.Editor 29 | { 30 | public class NotionDatabasePropertyParserDate : INotionDatabasePropertyParser 31 | { 32 | public string PropertyIdentifier => "date"; 33 | 34 | 35 | public string GetJsonValue(JSONNode json) 36 | { 37 | var entry = json["date"]["start"]; 38 | DateTime dateTime; 39 | 40 | if (string.IsNullOrEmpty(entry)) return string.Empty; 41 | 42 | 43 | var dateString = entry.ToString().Split('T')[0].Replace("T", string.Empty).Replace("\"", string.Empty); 44 | var year = int.Parse(dateString.Split('-')[0]); 45 | var month = int.Parse(dateString.Split('-')[1]); 46 | var day = int.Parse(dateString.Split('-')[2]); 47 | 48 | 49 | if (entry.ToString().Contains("T")) 50 | { 51 | var timeString = entry.ToString().Split('T')[1].Replace("T", string.Empty).Replace("\"", string.Empty); 52 | var hour = int.Parse(timeString.Split(':')[0]); 53 | var minute = int.Parse(timeString.Split(':')[1]); 54 | var second = int.Parse(timeString.Split(':')[2].Substring(0, 2)); 55 | var milliSecond = int.Parse(timeString.Split('.')[1].Substring(0, 3)); 56 | 57 | dateTime = new DateTime(year, month, day, hour, minute, second, milliSecond); 58 | } 59 | else 60 | { 61 | dateTime = new DateTime(year, month, day); 62 | } 63 | 64 | 65 | return JsonUtility.ToJson(new SerializableDateTime(dateTime)); 66 | } 67 | } 68 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserDate.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7b0bd7cf03416046a08812bd9267bc9 3 | timeCreated: 1725557333 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserMultiSelect.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class NotionDatabasePropertyParserMultiSelect : INotionDatabasePropertyParser 29 | { 30 | public string PropertyIdentifier => "multi_select"; 31 | 32 | 33 | public string GetJsonValue(JSONNode json) 34 | { 35 | var elements = new JSONArray(); 36 | 37 | for (var j = 0; j < json["multi_select"].Count; j++) 38 | { 39 | elements.Add(json["multi_select"][j]["name"].Value); 40 | } 41 | 42 | return elements.ToString(); 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserMultiSelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4549e501d32653040ab7ace4dbfe3292 3 | timeCreated: 1725557696 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserNumber.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class NotionDatabasePropertyParserNumber : INotionDatabasePropertyParser 29 | { 30 | public string PropertyIdentifier => "number"; 31 | 32 | 33 | public string GetJsonValue(JSONNode json) 34 | { 35 | return json["number"].Value; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserNumber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9985020881f92ea439a9d5ed32276930 3 | timeCreated: 1725557536 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserRichText.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class NotionDatabasePropertyParserRichText : INotionDatabasePropertyParser 29 | { 30 | public string PropertyIdentifier => "rich_text"; 31 | 32 | 33 | public string GetJsonValue(JSONNode json) 34 | { 35 | return json["rich_text"][0]["text"]["content"].Value; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserRichText.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18cec1765ed8d0a45b8db9d28ec25172 3 | timeCreated: 1725557493 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserSelect.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class NotionDatabasePropertyParserSelect : INotionDatabasePropertyParser 29 | { 30 | public string PropertyIdentifier => "select"; 31 | 32 | 33 | public string GetJsonValue(JSONNode json) 34 | { 35 | return json["select"]["name"] == null ? null : json["select"]["name"].Value; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserSelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 721255179cb9276419822239e4a4b029 3 | timeCreated: 1725557661 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserStatus.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class NotionDatabasePropertyParserStatus : INotionDatabasePropertyParser 29 | { 30 | public string PropertyIdentifier => "status"; 31 | 32 | 33 | public string GetJsonValue(JSONNode json) 34 | { 35 | return json["status"]["name"] == null ? null : json["status"]["name"].Value; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f02df5d5e3c24812bffacbc84d5b50d4 3 | timeCreated: 1739479606 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserTitle.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class NotionDatabasePropertyParserTitle : INotionDatabasePropertyParser 29 | { 30 | public string PropertyIdentifier => "title"; 31 | 32 | 33 | public string GetJsonValue(JSONNode json) 34 | { 35 | return json["title"][0]["text"]["content"].Value; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Notion Property Parsers/NotionDatabasePropertyParserTitle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0759c00e5119f2543b9a2f92b64c31a8 3 | timeCreated: 1725557394 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/NotionApiRequestHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d67e99986702cb242bb85b927765144b 3 | timeCreated: 1725540075 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Request Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 242133113b13d994d9e806b58e341d18 3 | timeCreated: 1724687472 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Request Data/NotionRequestData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df7dfcc6b2ac1f0438371b5635ce4c6f 3 | timeCreated: 1724679044 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Request Data/NotionRequestError.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb5e4718d317ff1418a969fb65bf4a7a 3 | timeCreated: 1725540232 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Request Data/NotionRequestResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5fb873300fdf8646b7ad698ed8a606e 3 | timeCreated: 1724679091 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Secret Key.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dff328318b6b4934d9055fe57cd76964 3 | timeCreated: 1725544682 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Secret Key/NotionSecretKeyValidator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6982073e097b7c747a69a2ec3013fe2f 3 | timeCreated: 1725544691 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Sort Properties.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 104ad02108ab5e84d8db6a7db7812c28 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Sort Properties/NotionSortPropertyHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91a050f9da8dde943a4186bba71e2f3b 3 | timeCreated: 1724685896 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Sort Properties/SortPropertiesWindow.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEditor; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public sealed class SortPropertiesWindow : EditorWindow 29 | { 30 | private static SerializedObject Target { get; set; } 31 | 32 | 33 | public static void OpenWindow(SerializedObject target) 34 | { 35 | Target = target; 36 | 37 | if (HasOpenInstances()) 38 | { 39 | FocusWindowIfItsOpen(); 40 | } 41 | else 42 | { 43 | GetWindow(true, "Edit Sort Properties"); 44 | } 45 | } 46 | 47 | 48 | private void OnGUI() 49 | { 50 | if (Target == null) 51 | { 52 | Target = new SerializedObject(Selection.activeObject); 53 | if (Target == null) return; 54 | } 55 | 56 | EditorGUILayout.HelpBox("Edit the sort properties for this Notion data asset below", MessageType.Info); 57 | 58 | EditorGUILayout.Space(5f); 59 | 60 | var entry = Target.Fp("sortProperties"); 61 | 62 | EditorGUILayout.PropertyField(Target.Fp("sortProperties")); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Notion/Notion Api/Sort Properties/SortPropertiesWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2772706f15af7b4692fceaad9b6d44b 3 | timeCreated: 1726242621 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a22d69a93144497498cb5ecaddc1e71c 3 | timeCreated: 1725525980 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/AssetInfo.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Editor 25 | { 26 | /// 27 | /// Holds the basic editor info about the asset that only changes per release. 28 | /// 29 | public static class AssetInfo 30 | { 31 | /// 32 | /// The version number of the asset. 33 | /// 34 | public static string VersionNumber => "0.5.4"; 35 | 36 | 37 | /// 38 | /// The date this release of the asset was submitted for release. 39 | /// 40 | /// 41 | /// Format is Y/M/D. 42 | /// 43 | public static string ReleaseDate => "2025/03/30"; 44 | } 45 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/AssetInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bdbc64ea70fcfef4aa33a56ef447b735 3 | timeCreated: 1725528726 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e39165fa4a9cae245b16d555bd5dc117 3 | timeCreated: 1725525183 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Data/DataAssetIndexHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ec8010192929f248aabfc3872b13002 3 | timeCreated: 1725525928 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Editor Helpers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a58ff064aeb841f40b50e9e1fb2b206b 3 | timeCreated: 1725528864 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Editor Helpers/AssetDatabaseHelper.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEditor; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public static class AssetDatabaseHelper 29 | { 30 | /// 31 | /// Gets if asset database can find an asset at the defined path. 32 | /// 33 | /// The path top find. 34 | /// The type to try and get. 35 | /// If the asset exists in the asset database. 36 | public static bool FileIsInProject(string path) 37 | { 38 | if (string.IsNullOrEmpty(path)) return false; 39 | return AssetDatabase.LoadAssetAtPath(path, typeof(T)) != null; 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Editor Helpers/AssetDatabaseHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d132ce35f29ec7a409ba0c010c08aedf 3 | timeCreated: 1725527621 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Editor Helpers/FileEditorUtil.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ea52ca96db0bfd4dbf5d7a3ff05ac27 3 | timeCreated: 1725527544 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Editor Helpers/GeneralUtilEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7dbad8b57e88b6498d0eb637046346e 3 | timeCreated: 1709914085 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Editor Helpers/SerializedPropertyHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3dede155a5e18242b5e96c0d10bc92d 3 | timeCreated: 1709914158 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Initialize.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad9c38a713d14d448ba7f32fbd9049dc 3 | timeCreated: 1725528589 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Initialize/AssetInitializer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9dc97bddf955e2545a814a76a8d2b840 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Initialize/AssetReloadHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faa0b700ac06390438a90df45b821e90 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Initialize/IAssetEditorInitialize.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Standalone.NotionData.Editor 25 | { 26 | public interface IAssetEditorInitialize 27 | { 28 | int InitializeOrder { get; } 29 | void OnEditorInitialized(); 30 | } 31 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Initialize/IAssetEditorInitialize.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67310053be1c56d4aaf9ffade01ee1b3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Initialize/IAssetEditorReload.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Standalone.NotionData.Editor 25 | { 26 | public interface IAssetEditorReload 27 | { 28 | void OnEditorReloaded(); 29 | } 30 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Initialize/IAssetEditorReload.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 859d2e2761a82f74e9d6165be8049795 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aec74aae2db05da459179ea04313de6b 3 | timeCreated: 1725528845 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/DataAssetEditorGlobalSettings.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEngine; 25 | 26 | namespace CarterGames.Standalone.NotionData.Editor 27 | { 28 | public class DataAssetEditorGlobalSettings : DataAsset 29 | { 30 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 31 | | Fields 32 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 33 | 34 | [SerializeField] private NotionApiVersion apiVersion; 35 | [SerializeField] private NotionApiReleaseVersion apiReleaseVersion; 36 | [SerializeField] [Range(2, 25)] private int downloadTimeout = 10; 37 | 38 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 39 | | Properties 40 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 41 | 42 | /// 43 | /// The Notion release API version to use. 44 | /// 45 | public NotionApiReleaseVersion NotionAPIReleaseVersion => apiReleaseVersion; 46 | 47 | 48 | /// 49 | /// The Notion API version to use. 50 | /// 51 | public NotionApiVersion NotionApiVersion => apiVersion; 52 | 53 | 54 | /// 55 | /// The time required to wait until a download attempt will fail automatically. 56 | /// 57 | public int DownloadTimeout => downloadTimeout; 58 | } 59 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/DataAssetEditorGlobalSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7341642945fa7a643ade36c84ac175b4 3 | timeCreated: 1725526489 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/IScriptableAssetDef.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEditor; 26 | 27 | namespace CarterGames.Standalone.NotionData.Editor 28 | { 29 | public interface IScriptableAssetDef where T : DataAsset 30 | { 31 | Type AssetType { get; } 32 | string DataAssetFileName { get; } 33 | string DataAssetFilter { get; } 34 | string DataAssetPath { get; } 35 | T AssetRef { get; } 36 | SerializedObject ObjectRef { get; } 37 | void TryCreate(); 38 | } 39 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/IScriptableAssetDef.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df32d0de158cc4442a344e54a8e4da78 3 | timeCreated: 1725527363 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableDefAssetIndex.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEditor; 26 | 27 | namespace CarterGames.Standalone.NotionData.Editor 28 | { 29 | /// 30 | /// Handles asset generation & referencing for the asset index. 31 | /// 32 | public sealed class ScriptableDefAssetIndex : IScriptableAssetDef 33 | { 34 | private static DataAssetIndex cache; 35 | private static SerializedObject objCache; 36 | 37 | public Type AssetType => typeof(DataAssetIndex); 38 | public string DataAssetFileName => "[Notion Data] Asset Index.asset"; 39 | public string DataAssetFilter => $"t:{typeof(DataAssetIndex).FullName} name={DataAssetFileName}"; 40 | public string DataAssetPath => $"{ScriptableRef.FullPathResources}{DataAssetFileName}"; 41 | 42 | public DataAssetIndex AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache); 43 | public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache); 44 | 45 | public void TryCreate() 46 | { 47 | ScriptableRef.GetOrCreateAsset(this, ref cache); 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableDefAssetIndex.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea7e50d093beb2441b0ba16d6009487b 3 | timeCreated: 1725527818 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableDefCoreSettings.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEditor; 26 | 27 | namespace CarterGames.Standalone.NotionData.Editor 28 | { 29 | /// 30 | /// Handles asset generation & referencing for the editor settings. 31 | /// 32 | public class ScriptableDefCoreSettings : IScriptableAssetDef 33 | { 34 | private static DataAssetEditorGlobalSettings cache; 35 | private static SerializedObject objCache; 36 | 37 | public Type AssetType => typeof(DataAssetEditorGlobalSettings); 38 | public string DataAssetFileName => "[Notion Data] Core Settings.asset"; 39 | public string DataAssetFilter => $"t:{typeof(DataAssetEditorGlobalSettings).FullName} name={DataAssetFileName}"; 40 | public string DataAssetPath => $"{ScriptableRef.FullPathData}{DataAssetFileName}"; 41 | 42 | public DataAssetEditorGlobalSettings AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache); 43 | public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache); 44 | 45 | public void TryCreate() 46 | { 47 | ScriptableRef.GetOrCreateAsset(this, ref cache); 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableDefCoreSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 843bbf3cdc1fab14a916236d2bef6b5b 3 | timeCreated: 1725527433 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableDefDataProcessor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEditor; 26 | 27 | namespace CarterGames.Standalone.NotionData.Editor 28 | { 29 | public class ScriptableDefDataProcessor : IScriptableAssetDef 30 | { 31 | private static NotionDatabaseProcessorStandard cache; 32 | private static SerializedObject objCache; 33 | 34 | public Type AssetType => typeof(NotionDatabaseProcessorStandard); 35 | public string DataAssetFileName => "[Notion Data] Default Data Processor.asset"; 36 | public string DataAssetFilter => $"t:{typeof(NotionDatabaseProcessorStandard).FullName} name={DataAssetFileName}"; 37 | public string DataAssetPath => $"{ScriptableRef.FullPathData}{DataAssetFileName}"; 38 | 39 | public NotionDatabaseProcessorStandard AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache); 40 | public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache); 41 | 42 | public void TryCreate() 43 | { 44 | ScriptableRef.GetOrCreateAsset(this, ref cache); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableDefDataProcessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea2dddd8485fe8f4eb493893b34fb5c7 3 | timeCreated: 1739107562 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableObjectInitialize.cs: -------------------------------------------------------------------------------- 1 | namespace CarterGames.Standalone.NotionData.Editor 2 | { 3 | public sealed class ScriptableObjectInitialize : IAssetEditorReload 4 | { 5 | public void OnEditorReloaded() 6 | { 7 | ScriptableRef.TryCreateAssets(); 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableObjectInitialize.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0dd7e64d19395446865cd86f99a5858 3 | timeCreated: 1739110218 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Scriptable Assets/ScriptableRef.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7e3ba39d682da6409a20ce70cc2b1d8 3 | timeCreated: 1725526007 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Settings Provider.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fe61d4e72c39ca4ca2c4dfe89f31c08 3 | timeCreated: 1725525353 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Settings Provider/SettingsProviderStandaloneNotionData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c18a96a6d043c04b9e19355019661e3 3 | timeCreated: 1725525370 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06074978505ec1b4da3d886c2e2ab5a8 3 | timeCreated: 1725528559 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/InstallMethodChecker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 261e3e39bf81d0c4f8e48b9fa1c418f6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/VersionChecker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb2b999ac3463ae4a814d7a3b5dd22c3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/VersionData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c9efe3b08232f4479d303cbd9f4f46c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/VersionEditorGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7fc03846defc5574abd457abd222e1fe 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/VersionInfo.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.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/NotionToUnity/releases/tag/"; 45 | 46 | 47 | /// 48 | /// The key of the package to get from the JSON blob. 49 | /// 50 | public const string Key = "Standalone Notion Data"; 51 | 52 | 53 | /// 54 | /// The version string for the package. 55 | /// 56 | public static string ProjectVersionNumber => AssetInfo.VersionNumber; 57 | } 58 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/VersionInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca7b12a11b726ed448a34e5cf6b52b57 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/VersionNumber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af06199b43d1ba249826b19595a293ab 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/VersionPacket.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Standalone.NotionData.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/Notion Database To Unity/Code/Editor/Supporting Backend/Version Validation/VersionPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5da2e9a7fa1638841874d4a8fdbc180e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Utility.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62ee98b40be55044889a3c9abc720aca 3 | timeCreated: 1725529404 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Editor/Utility/BuildHandlerSecrets.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fbf2fb9efcb5a847a1115ddc7b33caa 3 | timeCreated: 1725529421 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f938bd53bc4d41245b608b906906cce6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/CarterGames.Standalone.NotionData.Runtime.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CarterGames.Standalone.NotionData.Runtime", 3 | "rootNamespace": "CarterGames.Standalone.NotionData", 4 | "references": [ 5 | "GUID:89ac633aa8ff64040b25f61518186ddd", 6 | "GUID:f091c6eaefcd9154fbffa0b3a07f41fe" 7 | ], 8 | "includePlatforms": [], 9 | "excludePlatforms": [], 10 | "allowUnsafeCode": false, 11 | "overrideReferences": false, 12 | "precompiledReferences": [], 13 | "autoReferenced": true, 14 | "defineConstraints": [], 15 | "versionDefines": [], 16 | "noEngineReferences": false 17 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/CarterGames.Standalone.NotionData.Runtime.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa312903d0d2e3541bf075ab426e5d8d 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c1df7d81c1c4cb4c8bb1438ea7294e1 3 | timeCreated: 1709914466 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common/AssemblyHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e78fd4545170e54eaf438f01c6ecdff 3 | timeCreated: 1733769155 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common/CarterGames.Standalone.NotionData.Common.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CarterGames.Standalone.NotionData.Common", 3 | "rootNamespace": "CarterGames.Standalone.NotionData.Common", 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/Notion Database To Unity/Code/Runtime/Common/CarterGames.Standalone.NotionData.Common.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89ac633aa8ff64040b25f61518186ddd 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common/Events.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83d726a0aba2fd8479ef88ea74d39c39 3 | timeCreated: 1709914203 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common/Events/Evt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab5cf2c32fc11574c9fc197832dec945 3 | timeCreated: 1709914203 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common/Serialization.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5aba284d8b43c1c44a6f397acbc42a39 3 | timeCreated: 1709914298 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common/Serialization/Dictionary.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f44d5ee65c408d04fb1aabf65ceed2c9 3 | timeCreated: 1709914298 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common/Serialization/Dictionary/SerializableDictionary.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33cc5ea06f1a7474f841ea08966a56a9 3 | timeCreated: 1709914298 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Common/Serialization/Dictionary/SerializableKeyValuePair.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5475608d48f870429697a236dc06444 3 | timeCreated: 1709914298 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fdf0cff2a2c62343949d514e2bb0fdc 3 | timeCreated: 1725525192 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Data/DataAccess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f22a835800d46384d935975b6cc65ecd 3 | timeCreated: 1725525751 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Data/DataAsset.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Standalone.NotionData 28 | { 29 | /// 30 | /// Inherit from to define a data asset that the data system will detect and allow access at runtime. 31 | /// 32 | public abstract class DataAsset : ScriptableObject 33 | { 34 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 35 | | Fields 36 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 37 | 38 | /// 39 | /// Defines a id for this data asset. 40 | /// 41 | [SerializeField] private string variantId = Guid.NewGuid().ToString(); 42 | 43 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 44 | | Properties 45 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 46 | 47 | /// 48 | /// Override to define a custom variant id for the data asset. 49 | /// 50 | public virtual string VariantId => variantId; 51 | } 52 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Data/DataAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb21f656f720d10438b2504d811b0787 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: d9022c31c92aca64280da3560ebcbc9c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Data/DataAssetIndex.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 25 | using CarterGames.Standalone.NotionData.Common; 26 | using UnityEngine; 27 | 28 | namespace CarterGames.Standalone.NotionData 29 | { 30 | /// 31 | /// Holds all the data assets for easy access. 32 | /// 33 | public sealed class DataAssetIndex : DataAsset 34 | { 35 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 36 | | Fields 37 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 38 | 39 | [SerializeField] private SerializableDictionary> assets; 40 | 41 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 42 | | Properties 43 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 44 | 45 | /// 46 | /// A lookup of all the assets in the project that can be used at runtime. 47 | /// 48 | public SerializableDictionary> Lookup => assets; 49 | } 50 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Data/DataAssetIndex.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16b75468c9a096040bd9d9de3055622a 3 | timeCreated: 1725525798 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2be2225beef3872488f784fd237d8f66 3 | timeCreated: 1709913674 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Data Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11eff9473208e80429cfebaa242e6aaf 3 | timeCreated: 1705093106 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c300638acf05d554caa783a63e318e3d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: d9022c31c92aca64280da3560ebcbc9c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71187ec08059ef2469299fc5fb47df9c 3 | timeCreated: 1733579771 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Checkbox.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61b1927b1ef9dfa458c816d61c4f1e9e 3 | timeCreated: 1733582321 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Checkbox/NotionFilterCheckBox.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 26 | 27 | namespace CarterGames.Standalone.NotionData.Filters 28 | { 29 | [Serializable] 30 | public class NotionFilterCheckBox : NotionFilterOption 31 | { 32 | private const string EqualsString = "equals"; 33 | private const string NotEqualsString = "does_not_equal"; 34 | 35 | 36 | private string CheckString => comparisonEnumIndex.Equals(0) ? NotEqualsString : EqualsString; 37 | 38 | 39 | public override string EditorTypeName => "CheckBox"; 40 | 41 | 42 | public NotionFilterCheckBox() {} 43 | 44 | public NotionFilterCheckBox(NotionFilterOption filterOption) 45 | { 46 | propertyName = filterOption.PropertyName; 47 | value = filterOption.Value; 48 | comparisonEnumIndex = filterOption.ComparisonEnumIndex; 49 | isRollup = filterOption.IsRollup; 50 | } 51 | 52 | 53 | public override JSONObject ToJson() 54 | { 55 | var data = new JSONObject(); 56 | 57 | if (!isRollup) 58 | { 59 | data["property"] = propertyName; 60 | } 61 | 62 | data["checkbox"][CheckString] = value.ToLower(); 63 | 64 | return data; 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Checkbox/NotionFilterCheckBox.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6dcf506140ee91c48a96aeab8ae20c86 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Date.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 248dadfe6aec6cf4e8cc80b118655e92 3 | timeCreated: 1733583355 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Date/NotionFilterDate.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a1ba281792b85e46b11eac0e307e41e 3 | timeCreated: 1733583362 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Date/NotionFilterDateComparison.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Filters 25 | { 26 | public enum NotionFilterDateComparison 27 | { 28 | After, 29 | Before, 30 | Equals, 31 | IsEmpty, 32 | IsNotEmpty, 33 | NextMonth, 34 | NextWeek, 35 | NextYear, 36 | OnOrAfter, 37 | OnOrBefore, 38 | PastMonth, 39 | PastWeek, 40 | PastYear, 41 | ThisWeek, 42 | } 43 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Date/NotionFilterDateComparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe9ea2f2b7e4b01429572d8ee802b181 3 | timeCreated: 1733583394 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/FilterJsonHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8022d41235b65634983b935889c2999a 3 | timeCreated: 1734196069 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Id.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adab7f0d777db7145b6194b3d8c5a240 3 | timeCreated: 1733582999 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Id/NotionFilterId.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 26 | using CarterGames.Standalone.NotionData.ThirdParty; 27 | 28 | namespace CarterGames.Standalone.NotionData.Filters 29 | { 30 | [Serializable] 31 | public class NotionFilterId : NotionFilterOption 32 | { 33 | private static readonly Dictionary FilterStringLookup = 34 | new Dictionary() 35 | { 36 | { NotionFilterIdComparison.DoesNotEqual, "does_not_equal" }, 37 | { NotionFilterIdComparison.Equals, "equals" }, 38 | { NotionFilterIdComparison.GreaterThan, "greater_than" }, 39 | { NotionFilterIdComparison.GreaterThanOrEqualTo, "greater_than_or_equal_to" }, 40 | { NotionFilterIdComparison.LessThan, "less_than" }, 41 | { NotionFilterIdComparison.LessThanOrEqualTo, "less_than_or_equal_to" }, 42 | }; 43 | 44 | 45 | private NotionFilterIdComparison Comparison => (NotionFilterIdComparison) comparisonEnumIndex; 46 | 47 | public override string EditorTypeName => "Id"; 48 | 49 | public NotionFilterId() {} 50 | public NotionFilterId(NotionFilterOption filterOption) 51 | { 52 | propertyName = filterOption.PropertyName; 53 | value = filterOption.Value; 54 | comparisonEnumIndex = filterOption.ComparisonEnumIndex; 55 | isRollup = filterOption.IsRollup; 56 | } 57 | 58 | 59 | public override JSONObject ToJson() 60 | { 61 | var data = new JSONObject(); 62 | 63 | if (!isRollup) 64 | { 65 | data["property"] = propertyName; 66 | } 67 | 68 | data["unique_id"][FilterStringLookup[Comparison]] = true; 69 | 70 | return data; 71 | } 72 | } 73 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Id/NotionFilterId.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60ae0259b810a38489d19d9de3994e73 3 | timeCreated: 1733583004 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Id/NotionFilterIdComparison.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Filters 25 | { 26 | public enum NotionFilterIdComparison 27 | { 28 | DoesNotEqual, 29 | Equals, 30 | GreaterThan, 31 | GreaterThanOrEqualTo, 32 | LessThan, 33 | LessThanOrEqualTo, 34 | } 35 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Id/NotionFilterIdComparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e3c4ad9931f91d4aa7cc2a883f3c66e 3 | timeCreated: 1733583014 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Multi-Select.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d4e47a994d5a6c43adc0c7900d57511 3 | timeCreated: 1733583265 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Multi-Select/NotionFilterMultiSelect.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 26 | using CarterGames.Standalone.NotionData.ThirdParty; 27 | using UnityEngine; 28 | 29 | namespace CarterGames.Standalone.NotionData.Filters 30 | { 31 | [Serializable] 32 | public class NotionFilterMultiSelect : NotionFilterOption 33 | { 34 | private static readonly Dictionary FilterStringLookup = 35 | new Dictionary() 36 | { 37 | { NotionFilerMultiSelectComparison.Contains, "contains" }, 38 | { NotionFilerMultiSelectComparison.DoesNotContain, "does_not_contain" }, 39 | { NotionFilerMultiSelectComparison.IsEmpty, "is_empty" }, 40 | { NotionFilerMultiSelectComparison.IsNotEmpty, "is_not_empty" }, 41 | }; 42 | 43 | 44 | private NotionFilerMultiSelectComparison Comparison => (NotionFilerMultiSelectComparison) comparisonEnumIndex; 45 | 46 | public override string EditorTypeName => "Multi Select"; 47 | 48 | 49 | public NotionFilterMultiSelect() {} 50 | public NotionFilterMultiSelect(NotionFilterOption filterOption) 51 | { 52 | propertyName = filterOption.PropertyName; 53 | value = filterOption.Value; 54 | comparisonEnumIndex = filterOption.ComparisonEnumIndex; 55 | isRollup = filterOption.IsRollup; 56 | } 57 | 58 | 59 | public override JSONObject ToJson() 60 | { 61 | var data = new JSONObject(); 62 | 63 | if (!isRollup) 64 | { 65 | data["property"] = propertyName; 66 | } 67 | 68 | if (Comparison != NotionFilerMultiSelectComparison.IsEmpty && 69 | Comparison != NotionFilerMultiSelectComparison.IsNotEmpty) 70 | { 71 | data["multi_select"][FilterStringLookup[Comparison]] = JsonUtility.ToJson(value); 72 | } 73 | else 74 | { 75 | data["multi_select"][FilterStringLookup[Comparison]] = true; 76 | } 77 | 78 | return data; 79 | } 80 | } 81 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Multi-Select/NotionFilterMultiSelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ca6a051fe15df445ac5724d0520e686 3 | timeCreated: 1733583271 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Multi-Select/NotionFilterMultiSelectList.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 26 | using UnityEngine; 27 | 28 | namespace CarterGames.Standalone.NotionData.Filters 29 | { 30 | [Serializable] 31 | public class NotionFilterMultiSelectList 32 | { 33 | [SerializeField] private List list; 34 | 35 | public List List => list; 36 | } 37 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Multi-Select/NotionFilterMultiSelectList.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14c6c8a19d81aa04f8b8523ce9bfbfeb 3 | timeCreated: 1734090812 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Multi-Select/NotionFilterSelectComparison.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Filters 25 | { 26 | public enum NotionFilerMultiSelectComparison 27 | { 28 | Contains, 29 | DoesNotContain, 30 | IsEmpty, 31 | IsNotEmpty, 32 | } 33 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Multi-Select/NotionFilterSelectComparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b419bd000ff929e438769322aca3e9e7 3 | timeCreated: 1733583271 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterClassDef.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79d5262e96196dc44ababc1a58719dc5 3 | timeCreated: 1733773723 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterContainer.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 System.Text; 27 | using CarterGames.Standalone.NotionData.Common; 28 | using CarterGames.Standalone.NotionData.ThirdParty; 29 | using UnityEngine; 30 | 31 | namespace CarterGames.Standalone.NotionData.Filters 32 | { 33 | [Serializable] 34 | public class NotionFilterContainer 35 | { 36 | [SerializeField] private SerializableDictionary filterGroups; 37 | 38 | 39 | public int TotalFilters 40 | { 41 | get 42 | { 43 | var total = 0; 44 | 45 | foreach (var group in filterGroups) 46 | { 47 | foreach (var entry in group.Value.FilterOptions) 48 | { 49 | if (entry.TypeName == "Group") continue; 50 | if (string.IsNullOrWhiteSpace(entry.TypeName)) continue; 51 | total++; 52 | } 53 | } 54 | 55 | return total; 56 | } 57 | } 58 | 59 | 60 | public JSONObject ToFilterJson() 61 | { 62 | var json = new JSONObject(); 63 | 64 | foreach (var group in filterGroups) 65 | { 66 | if (group.Value.IsNested) continue; 67 | 68 | var type = group.Value.IsAndCheck ? "and" : "or"; 69 | json[type] = new JSONArray(); 70 | 71 | foreach (var entry in group.Value.FilterOptions) 72 | { 73 | if (entry.TypeName == "Group") 74 | { 75 | var groupData = filterGroups.FirstOrDefault(t => t.Key == entry.Option.Value); 76 | var groupJson = new JSONObject(); 77 | 78 | foreach (var groupEntry in groupData.Value.FilterOptions) 79 | { 80 | var groupType = groupData.Value.IsAndCheck ? "and" : "or"; 81 | groupJson[groupType].Add(groupEntry.ToJson()); 82 | } 83 | 84 | json[type].Add(groupJson); 85 | continue; 86 | } 87 | 88 | json[type].Add(entry.ToJson()); 89 | } 90 | } 91 | 92 | return json; 93 | } 94 | } 95 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterContainer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c12e51dc8b0bc842a72530c9deac5e1 3 | timeCreated: 1733579878 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterGroup.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Standalone.NotionData.Filters 28 | { 29 | [Serializable] 30 | public class NotionFilterGroup : NotionFilterOption 31 | { 32 | [SerializeField] private bool andCheck; 33 | [SerializeField] private string nestedId; 34 | [SerializeField] private int nestLevel; 35 | [SerializeField] private NotionFilterOptionDef[] filterOptions; 36 | 37 | public override string EditorTypeName => "Group"; 38 | } 39 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterGroup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35c4421121e1c82468762c9865666d66 3 | timeCreated: 1733586668 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterGrouping.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Standalone.NotionData.Filters 28 | { 29 | [Serializable] 30 | public class NotionFilterGrouping 31 | { 32 | [SerializeField] private bool andCheck; 33 | [SerializeField] private string nestedId; 34 | [SerializeField] private int nestLevel; 35 | [SerializeField] private NotionFilterOptionDef[] filterOptions; 36 | 37 | 38 | public bool IsAndCheck => andCheck; 39 | public bool IsNested => !string.IsNullOrEmpty(nestedId); 40 | public string NestedId => nestedId; 41 | public NotionFilterOptionDef[] FilterOptions => filterOptions; 42 | } 43 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterGrouping.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff165dd662323d144a6f1afaef5e8a57 3 | timeCreated: 1733585473 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterOption.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.ThirdParty; 26 | using UnityEngine; 27 | 28 | namespace CarterGames.Standalone.NotionData.Filters 29 | { 30 | [Serializable] 31 | public class NotionFilterOption 32 | { 33 | [SerializeField] protected string propertyName; 34 | [SerializeField] protected string value; 35 | [SerializeField] protected int comparisonEnumIndex; 36 | [SerializeField] protected bool isRollup; 37 | [SerializeField] protected int rollupComparisonEnumIndex; 38 | 39 | 40 | public string PropertyName => propertyName; 41 | public string Value => value; 42 | public int ComparisonEnumIndex => comparisonEnumIndex; 43 | public bool IsRollup => isRollup; 44 | public int RollupComparisonEnumIndex => rollupComparisonEnumIndex; 45 | public virtual string EditorTypeName { get; } 46 | 47 | 48 | 49 | public virtual JSONObject ToJson() 50 | { 51 | return null; 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterOption.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3393c4d70abb01c41896fb73c00e96ce 3 | timeCreated: 1733580935 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterOptionDef.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.Filters; 26 | using UnityEngine; 27 | 28 | namespace CarterGames.Standalone.NotionData 29 | { 30 | [Serializable] 31 | public class NotionFilterOptionDef 32 | { 33 | [SerializeField] private string typeName; 34 | [SerializeField] private NotionFilterOption option; 35 | 36 | public string TypeName => typeName; 37 | public NotionFilterOption Option => option; 38 | } 39 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/NotionFilterOptionDef.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c544ac8c8c81be74c9c8d88a23604ff1 3 | timeCreated: 1733779216 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Number.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05727342d3280c745af3f29b47c96deb 3 | timeCreated: 1733582300 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Number/NotionFilterNumber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb3091293087f2744a76ffe742a9af51 3 | timeCreated: 1733581607 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Number/NotionFilterNumberComparison.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Filters 25 | { 26 | public enum NotionFilterNumberComparison 27 | { 28 | DoesNotEqual, 29 | Equals, 30 | GreaterThan, 31 | GreaterThanOrEqualTo, 32 | IsEmpty, 33 | IsNotEmpty, 34 | LessThan, 35 | LessThanOrEqualTo, 36 | } 37 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Number/NotionFilterNumberComparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 725243866654dd44ca0c4a0d0d609411 3 | timeCreated: 1733581648 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rich Text.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8440af9c78abb1f44a85d73eac951608 3 | timeCreated: 1733582304 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rich Text/NotionFilterRichText.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 799afd3375f49304b8e9f160473f50d0 3 | timeCreated: 1733582275 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rich Text/NotionFilterRichTextComparison.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Filters 25 | { 26 | public enum NotionFilterRichTextComparison 27 | { 28 | Contains, 29 | DoesNotContain, 30 | DoesNotEqual, 31 | EndsWith, 32 | Equals, 33 | IsEmpty, 34 | IsNotEmpty, 35 | StartsWith, 36 | } 37 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rich Text/NotionFilterRichTextComparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11e9a5ca02525e440978823a7a82d8a2 3 | timeCreated: 1733582341 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rollup.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b3adaee1ee30a145af151221b25f0dc 3 | timeCreated: 1734212302 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rollup/NotionFilterRollup.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 25 | using CarterGames.Standalone.NotionData.ThirdParty; 26 | 27 | namespace CarterGames.Standalone.NotionData.Filters 28 | { 29 | public static class NotionFilterRollup 30 | { 31 | private static readonly Dictionary FilterStringLookup = 32 | new Dictionary() 33 | { 34 | { NotionFilterRollupComparison.Any, "any" }, 35 | { NotionFilterRollupComparison.Every, "every" }, 36 | { NotionFilterRollupComparison.None, "none" }, 37 | }; 38 | 39 | 40 | public static JSONObject ToRollupJson(NotionFilterOption filterOptionDef) 41 | { 42 | var data = new JSONObject(); 43 | 44 | data["property"] = filterOptionDef.PropertyName; 45 | data["rollup"][FilterStringLookup[(NotionFilterRollupComparison) filterOptionDef.RollupComparisonEnumIndex]] = filterOptionDef.ToJson(); 46 | 47 | return data; 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rollup/NotionFilterRollup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 222b55d41a34f804bb33f0561c628978 3 | timeCreated: 1734212314 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rollup/NotionFilterRollupComparison.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData 25 | { 26 | public enum NotionFilterRollupComparison 27 | { 28 | Any, 29 | Every, 30 | None, 31 | } 32 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Rollup/NotionFilterRollupComparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40151ec24a87b924292eb5696583a42d 3 | timeCreated: 1734212396 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Select.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5564d1ebc0b772d409ea1d554853c0e7 3 | timeCreated: 1733582519 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Select/NotionFilterSelect.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 26 | using CarterGames.Standalone.NotionData.ThirdParty; 27 | 28 | namespace CarterGames.Standalone.NotionData.Filters 29 | { 30 | [Serializable] 31 | public class NotionFilterSelect : NotionFilterOption 32 | { 33 | private static readonly Dictionary FilterStringLookup = 34 | new Dictionary() 35 | { 36 | { NotionFilerSelectComparison.Equals, "equals" }, 37 | { NotionFilerSelectComparison.DoesNotEqual, "does_not_equal" }, 38 | { NotionFilerSelectComparison.IsEmpty, "is_empty" }, 39 | { NotionFilerSelectComparison.IsNotEmpty, "is_not_empty" }, 40 | }; 41 | 42 | 43 | private NotionFilerSelectComparison Comparison => (NotionFilerSelectComparison) comparisonEnumIndex; 44 | 45 | public override string EditorTypeName => "Select"; 46 | 47 | public NotionFilterSelect() {} 48 | public NotionFilterSelect(NotionFilterOption filterOption) 49 | { 50 | propertyName = filterOption.PropertyName; 51 | value = filterOption.Value; 52 | comparisonEnumIndex = filterOption.ComparisonEnumIndex; 53 | isRollup = filterOption.IsRollup; 54 | } 55 | 56 | 57 | public override JSONObject ToJson() 58 | { 59 | var data = new JSONObject(); 60 | 61 | if (!isRollup) 62 | { 63 | data["property"] = propertyName; 64 | } 65 | 66 | if (Comparison != NotionFilerSelectComparison.IsEmpty && 67 | Comparison != NotionFilerSelectComparison.IsNotEmpty) 68 | { 69 | data["select"][FilterStringLookup[Comparison]] = value.ToString(); 70 | } 71 | else 72 | { 73 | data["select"][FilterStringLookup[Comparison]] = true; 74 | } 75 | 76 | return data; 77 | } 78 | } 79 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Select/NotionFilterSelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2c53fd10555cf44e93d378d2f6c6291 3 | timeCreated: 1733582525 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Select/NotionFilterSelectComparison.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Filters 25 | { 26 | public enum NotionFilerSelectComparison 27 | { 28 | Equals, 29 | DoesNotEqual, 30 | IsEmpty, 31 | IsNotEmpty, 32 | } 33 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Select/NotionFilterSelectComparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2295c1412fd0ad54fab143456b063284 3 | timeCreated: 1733582534 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Status.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a32c5c2969e96141af05f88c46d615c 3 | timeCreated: 1733582789 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Status/NotionFilterStatus.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 26 | using CarterGames.Standalone.NotionData.ThirdParty; 27 | 28 | namespace CarterGames.Standalone.NotionData.Filters 29 | { 30 | [Serializable] 31 | public class NotionFilterStatus : NotionFilterOption 32 | { 33 | private static readonly Dictionary FilterStringLookup = 34 | new Dictionary() 35 | { 36 | { NotionFilterStatusComparison.Equals, "equals" }, 37 | { NotionFilterStatusComparison.DoesNotEqual, "does_not_equal" }, 38 | { NotionFilterStatusComparison.IsEmpty, "is_empty" }, 39 | { NotionFilterStatusComparison.IsNotEmpty, "is_not_empty" }, 40 | }; 41 | 42 | 43 | private NotionFilterStatusComparison Comparison => (NotionFilterStatusComparison) comparisonEnumIndex; 44 | 45 | public override string EditorTypeName => "Status"; 46 | 47 | 48 | public NotionFilterStatus() {} 49 | public NotionFilterStatus(NotionFilterOption filterOption) 50 | { 51 | propertyName = filterOption.PropertyName; 52 | value = filterOption.Value; 53 | comparisonEnumIndex = filterOption.ComparisonEnumIndex; 54 | isRollup = filterOption.IsRollup; 55 | } 56 | 57 | public override JSONObject ToJson() 58 | { 59 | var data = new JSONObject(); 60 | 61 | if (!isRollup) 62 | { 63 | data["property"] = propertyName; 64 | } 65 | 66 | if (Comparison != NotionFilterStatusComparison.IsEmpty && 67 | Comparison != NotionFilterStatusComparison.IsNotEmpty) 68 | { 69 | data["status"][FilterStringLookup[Comparison]] = value.ToString(); 70 | } 71 | else 72 | { 73 | data["status"][FilterStringLookup[Comparison]] = true; 74 | } 75 | 76 | return data; 77 | } 78 | } 79 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Status/NotionFilterStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3eb4932749b357640865ea0c0c554e83 3 | timeCreated: 1733582795 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Status/NotionFilterStatusComparison.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData.Filters 25 | { 26 | public enum NotionFilterStatusComparison 27 | { 28 | Equals, 29 | DoesNotEqual, 30 | IsEmpty, 31 | IsNotEmpty, 32 | } 33 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Filters/Status/NotionFilterStatusComparison.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea592eff71707b2448744b29fb2302b6 3 | timeCreated: 1733582804 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c612eaae3479c64cbdb653ead1b9279 3 | timeCreated: 1705424573 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/NotionDatabaseQueryResult.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 26 | using System.Linq; 27 | using UnityEngine; 28 | 29 | namespace CarterGames.Standalone.NotionData 30 | { 31 | /// 32 | /// A class that contains the result of a notion database query. 33 | /// 34 | [Serializable] 35 | public sealed class NotionDatabaseQueryResult 36 | { 37 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 38 | | Fields 39 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 40 | 41 | [SerializeField] private List dataDownloaded; 42 | 43 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 44 | | Properties 45 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 46 | 47 | /// 48 | /// The rows downloaded from notion for use. 49 | /// 50 | public List Rows => dataDownloaded; 51 | 52 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 53 | | Constructors 54 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 55 | 56 | /// 57 | /// Makes a new instance of the class with the data downloaded. 58 | /// 59 | /// The data to apply. 60 | public NotionDatabaseQueryResult(List data) 61 | { 62 | // Reverses the list as it is back to front when downloaded. 63 | dataDownloaded = data.AsEnumerable().ToList(); 64 | } 65 | } 66 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/NotionDatabaseQueryResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d28cef3e610a5a4eb1b897028a3d24b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/NotionDatabaseRow.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 CarterGames.Standalone.NotionData.Common; 26 | using UnityEngine; 27 | 28 | namespace CarterGames.Standalone.NotionData 29 | { 30 | /// 31 | /// A class that contains a row of data from a notion database. 32 | /// 33 | [Serializable] 34 | public sealed class NotionDatabaseRow 35 | { 36 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 37 | | Fields 38 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 39 | 40 | [SerializeField] private SerializableDictionary data; 41 | 42 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 43 | | Properties 44 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 45 | 46 | /// 47 | /// A lookup of all the entries stored in the row that were valid. 48 | /// 49 | public SerializableDictionary DataLookup => data; 50 | 51 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 52 | | Constructors 53 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 54 | 55 | /// 56 | /// Makes a new instance of the class with the entered lookup. 57 | /// 58 | /// The lookup to apply. 59 | public NotionDatabaseRow(SerializableDictionary data) 60 | { 61 | this.data = data; 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/NotionDatabaseRow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f35b86ce3216824382c9ea6b94d38e7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4df2bc1503369049b4fa68f5eaedf75 3 | timeCreated: 1739042889 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionProperty.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc5ae735f5bef6147aaff5564d50aac7 3 | timeCreated: 1739041574 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyCheckbox.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d73321464816c82448f78386c0cf6065 3 | timeCreated: 1739037983 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyData.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData 25 | { 26 | public struct NotionPropertyData 27 | { 28 | public string propertyName; 29 | public object valueForType; 30 | public string jsonValue; 31 | public string downloadText; 32 | 33 | 34 | public NotionPropertyData(string propertyName, object valueForType, string jsonValue, string downloadText) 35 | { 36 | this.propertyName = propertyName; 37 | this.valueForType = valueForType; 38 | this.jsonValue = jsonValue; 39 | this.downloadText = downloadText; 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 400f1b772cfe4c548705b3a15b4ab1f4 3 | timeCreated: 1742731654 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyDate.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5440c1bb98e2aac439b6f772ae4d2842 3 | timeCreated: 1739042654 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyFactory.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData 25 | { 26 | /// 27 | /// A helper class to create different Notion property types. Not intended for direct access. 28 | /// 29 | /// Use NotionProperty.cs class to use these methods as intended. 30 | public static class NotionPropertyFactory 31 | { 32 | public static NotionPropertyCheckbox Checkbox(NotionPropertyData data) 33 | { 34 | return new NotionPropertyCheckbox(data); 35 | } 36 | 37 | 38 | public static NotionPropertyDate Date(NotionPropertyData data) 39 | { 40 | return new NotionPropertyDate(data); 41 | } 42 | 43 | 44 | public static NotionPropertyMultiSelect MultiSelect(NotionPropertyData data) 45 | { 46 | return new NotionPropertyMultiSelect(data); 47 | } 48 | 49 | 50 | public static NotionPropertySelect Select(NotionPropertyData data) 51 | { 52 | return new NotionPropertySelect(data); 53 | } 54 | 55 | 56 | public static NotionPropertyRichText RichText(NotionPropertyData data) 57 | { 58 | return new NotionPropertyRichText(data); 59 | } 60 | 61 | 62 | public static NotionPropertyTitle Title(NotionPropertyData data) 63 | { 64 | return new NotionPropertyTitle(data); 65 | } 66 | 67 | 68 | public static NotionPropertyStatus Status(NotionPropertyData data) 69 | { 70 | return new NotionPropertyStatus(data); 71 | } 72 | 73 | 74 | public static NotionPropertyNumber Number(NotionPropertyData data) 75 | { 76 | return new NotionPropertyNumber(data); 77 | } 78 | } 79 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88998889c8c289942a5e31521966eabb 3 | timeCreated: 1739103500 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyMultiSelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b83fe91d46fb964ebef426d0fc73050 3 | timeCreated: 1739043328 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyNumber.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData 25 | { 26 | /// 27 | /// A number type Notion property container. 28 | /// 29 | public sealed class NotionPropertyNumber : NotionProperty 30 | { 31 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 32 | | Fields 33 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 34 | 35 | /// 36 | /// The typed-value, stored in an object so it can be generic without a type required. 37 | /// 38 | protected override object InternalValue { get; set; } 39 | 40 | 41 | /// 42 | /// The JSON value of the value this property holds. 43 | /// 44 | public override string JsonValue { get; protected set; } 45 | 46 | 47 | /// 48 | /// The raw download Json in-case it is needed. 49 | /// 50 | public override string DownloadText { get; protected set; } 51 | 52 | 53 | /// 54 | /// The value cast to the type the property is in C# 55 | /// 56 | public double Value => (double) InternalValue; 57 | 58 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 59 | | Constructors 60 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 61 | 62 | public NotionPropertyNumber(NotionPropertyData data) 63 | { 64 | PropertyName = data.propertyName; 65 | InternalValue = double.Parse(data.jsonValue); 66 | JsonValue = data.jsonValue; 67 | DownloadText = data.downloadText; 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyNumber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bfcf7246324ef246a4910478f9ff314 3 | timeCreated: 1739043129 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyRichText.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData 25 | { 26 | /// 27 | /// A rich-text type Notion property container. 28 | /// 29 | public sealed class NotionPropertyRichText : NotionProperty 30 | { 31 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 32 | | Fields 33 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 34 | 35 | /// 36 | /// The typed-value, stored in an object so it can be generic without a type required. 37 | /// 38 | protected override object InternalValue { get; set; } 39 | 40 | 41 | /// 42 | /// The JSON value of the value this property holds. 43 | /// 44 | public override string JsonValue { get; protected set; } 45 | 46 | 47 | /// 48 | /// The raw download Json in-case it is needed. 49 | /// 50 | public override string DownloadText { get; protected set; } 51 | 52 | 53 | /// 54 | /// The value cast to the type the property is in C# 55 | /// 56 | public string Value => (string) InternalValue; 57 | 58 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 59 | | Constructors 60 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 61 | 62 | public NotionPropertyRichText(NotionPropertyData data) 63 | { 64 | PropertyName = data.propertyName; 65 | InternalValue = data.valueForType.ToString(); 66 | JsonValue = data.jsonValue; 67 | DownloadText = data.downloadText; 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyRichText.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb5a2815def72b5468bcb47ead62eff9 3 | timeCreated: 1739042908 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertySelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cf13bf213e5e064ca8378b7fb501999 3 | timeCreated: 1739043204 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyStatus.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 UnityEngine; 25 | 26 | namespace CarterGames.Standalone.NotionData 27 | { 28 | /// 29 | /// A status type Notion property container. 30 | /// 31 | public sealed class NotionPropertyStatus : NotionProperty 32 | { 33 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 34 | | Fields 35 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 36 | 37 | /// 38 | /// The typed-value, stored in an object so it can be generic without a type required. 39 | /// 40 | protected override object InternalValue { get; set; } 41 | 42 | 43 | /// 44 | /// The JSON value of the value this property holds. 45 | /// 46 | public override string JsonValue { get; protected set; } 47 | 48 | 49 | /// 50 | /// The raw download Json in-case it is needed. 51 | /// 52 | public override string DownloadText { get; protected set; } 53 | 54 | 55 | /// 56 | /// The value cast to the type the property is in C# 57 | /// 58 | public string Value => (string) InternalValue; 59 | 60 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 61 | | Constructors 62 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 63 | 64 | public NotionPropertyStatus(NotionPropertyData data) 65 | { 66 | PropertyName = data.propertyName; 67 | InternalValue = data.valueForType.ToString(); 68 | JsonValue = data.jsonValue; 69 | DownloadText = data.downloadText; 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyStatus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cbc63e51bcfa4f2b802b1141a4c5f5ca 3 | timeCreated: 1739479513 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyTitle.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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 | namespace CarterGames.Standalone.NotionData 25 | { 26 | /// 27 | /// A title type Notion property container. 28 | /// 29 | public sealed class NotionPropertyTitle : NotionProperty 30 | { 31 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 32 | | Fields 33 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 34 | 35 | /// 36 | /// The typed-value, stored in an object so it can be generic without a type required. 37 | /// 38 | protected override object InternalValue { get; set; } 39 | 40 | 41 | /// 42 | /// The JSON value of the value this property holds. 43 | /// 44 | public override string JsonValue { get; protected set; } 45 | 46 | 47 | /// 48 | /// The raw download Json in-case it is needed. 49 | /// 50 | public override string DownloadText { get; protected set; } 51 | 52 | 53 | /// 54 | /// The value cast to the type the property is in C# 55 | /// 56 | public string Value => (string) InternalValue; 57 | 58 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 59 | | Constructors 60 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 61 | 62 | public NotionPropertyTitle(NotionPropertyData data) 63 | { 64 | PropertyName = data.propertyName; 65 | InternalValue = data.valueForType.ToString(); 66 | JsonValue = data.jsonValue; 67 | DownloadText = data.downloadText; 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Properties/NotionPropertyTitle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91a31da8c18a7cc47b8396224785653a 3 | timeCreated: 1739043276 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Value Conversion.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0af200d3f25e5694d80d5914ba78c988 3 | timeCreated: 1739105555 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Handling/Value Conversion/NotionPropertyValueHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 471745cf7a03f4e4e8ec37da6bdaf0a4 3 | timeCreated: 1739105564 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Processing.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aab8637ea37021642a6fd32a2d047037 3 | timeCreated: 1729754596 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Processing/NotionDatabaseProcessor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 26 | 27 | namespace CarterGames.Standalone.NotionData 28 | { 29 | /// 30 | /// Implement to alter the method at which data is parser to an asset from the data downloaded from Notion. 31 | /// 32 | /// The type to parse to, normally the NotionDataAsset genetic passed argument type. 33 | [Serializable] 34 | public abstract class NotionDatabaseProcessor : DataAsset 35 | { 36 | public abstract List Process(NotionDatabaseQueryResult result) where T : new(); 37 | } 38 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Processing/NotionDatabaseProcessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1018a11c8068a124680127797bb0eaf8 3 | timeCreated: 1729754625 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Processing/NotionDatabaseProcessorStandard.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Collections.Generic; 26 | using System.Reflection; 27 | 28 | namespace CarterGames.Standalone.NotionData 29 | { 30 | /// 31 | /// The standard data parser from Notion to a NotionDataAsset. Matches the property name for parses the data to each entry. 32 | /// 33 | [Serializable] 34 | public sealed class NotionDatabaseProcessorStandard : NotionDatabaseProcessor 35 | { 36 | public override List Process(NotionDatabaseQueryResult result) 37 | { 38 | var list = new List(); 39 | 40 | foreach (var row in result.Rows) 41 | { 42 | // Make a new instance of the generic type. 43 | var newEntry = new T(); 44 | 45 | // Gets the fields on the type to convert & write to. 46 | var newEntryFields = newEntry.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); 47 | 48 | foreach (var field in newEntryFields) 49 | { 50 | // Tries to find the id matching the field name. 51 | // If none found, it just skips it. 52 | if (!row.DataLookup.ContainsKey(field.Name.Trim().ToLower())) continue; 53 | 54 | // Gets the property info assigned to that key. 55 | var rowProperty = row.DataLookup[field.Name.Trim().ToLower()]; 56 | 57 | // Tries to parse the data into the field type if possible. 58 | rowProperty.TryConvertValueToFieldType(field, newEntry); 59 | } 60 | 61 | list.Add(newEntry); 62 | } 63 | 64 | return list; 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Notion Database Processing/NotionDatabaseProcessorStandard.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 370f2f16395f0474e94249b5f41e2d7c 3 | timeCreated: 1729754654 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Serialization.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d92c0c5e195c3f428c8a197f5fb5110 3 | timeCreated: 1725566822 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Serialization/DateTime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e390b9bd6a5d8a48b59ab8c8760655a 3 | timeCreated: 1725566828 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Serialization/DateTime/SerializableDateTime.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 238044ad6382dd242971a3bab196c984 3 | timeCreated: 1725556408 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Sort Properties.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c43701b1a81e05a428c81b91b76ddbc3 3 | timeCreated: 1724687487 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Sort Properties/NotionSortProperty.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2025 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.Standalone.NotionData 28 | { 29 | /// 30 | /// A class to define a sort property. 31 | /// 32 | [Serializable] 33 | public class NotionSortProperty 34 | { 35 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 36 | | Fields 37 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 38 | 39 | [SerializeField] private string propertyName; 40 | [SerializeField] private bool ascending; 41 | 42 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 43 | | Properties 44 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 45 | 46 | /// 47 | /// The name of the property to sort. 48 | /// 49 | public string PropertyName => propertyName; 50 | 51 | 52 | /// 53 | /// Should it sort ascending. 54 | /// 55 | public bool SortAscending => ascending; 56 | 57 | /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── 58 | | Constructors 59 | ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ 60 | 61 | /// 62 | /// Makes a new sort property when called. 63 | /// 64 | /// The property name to sort by. 65 | /// Should it sort ascending. 66 | public NotionSortProperty(string property, bool sortAscending) 67 | { 68 | propertyName = property; 69 | ascending = sortAscending; 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Sort Properties/NotionSortProperty.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 569ce9f93cf0481409e9be146d02e83d 3 | timeCreated: 1724679751 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Wrappers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f12f4f92a1db9364b8dbffc032c3d4a0 3 | timeCreated: 1705479207 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Wrappers/NotionDataWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce2528ee5730f434abd920e4747a986f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Wrappers/NotionDataWrapperAudioClip.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57a4d636f9e53e74ca2fb18d57e973f4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Wrappers/NotionDataWrapperPrefab.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d78c27770eb4654caa909e02d4f77d7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Notion/Wrappers/NotionDataWrapperSprite.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5afeaca4a7349943bfa3aa3d9717349 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Third Party.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23f395ec65d9eff4eb8c0e91419aafe7 3 | timeCreated: 1725563256 -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Third Party/CarterGames.Standalone.NotionData.ThirdParty.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CarterGames.Standalone.NotionData.ThirdParty", 3 | "rootNamespace": "CarterGames.Standalone.NotionData.ThirdParty", 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/Notion Database To Unity/Code/Runtime/Third Party/CarterGames.Standalone.NotionData.ThirdParty.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f091c6eaefcd9154fbffa0b3a07f41fe 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Carter Games/Notion Database To Unity/Code/Runtime/Third Party/SimpleJson.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bd398054b9d5be4ab4383d3a9bcb274 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 487fa84bf5736884fbd892f402cff84c, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Carter Games 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: 90d70bca4d428fe42a513897d219e8a9 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e7e2a528d31df848b3106fbc66996e1 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "games.carter.standalone.notiondata", 3 | "version": "0.5.4", 4 | "displayName": "Notion Data (Standalone)", 5 | "description": "A system to import Notion databases into a Unity scriptable object for use in Unity projects. This is a standalone version of the system in the Cart library of the same name.", 6 | "unity": "2020.3", 7 | "unityRelease": "0f1", 8 | "documentationUrl": "https://carter.games/", 9 | "licensesUrl": "https://github.com/CarterGames/NotionToUnity/blob/main/LICENSE", 10 | "author": { 11 | "name": "Carter Games", 12 | "email": "hello@carter.games", 13 | "url": "https://carter.games" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58dc44767dd68024caa88e34d90853d6 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------