From d141ca44ca54dfb2ad28ee7bdb48c09b9800231d Mon Sep 17 00:00:00 2001 From: Jonathan Date: Thu, 24 Oct 2024 18:07:57 +0100 Subject: [PATCH] :construction: NotionData adjustments and fixes --- .../Settings/SettingsProviderLogging.cs | 6 +- .../DataAssetCartRuntimeSettingsInspector.cs | 8 +- .../Definitions/ScriptableDefCoreSettings.cs | 10 +- .../ScriptableObjectInitialize.cs | 12 +- .../Editor/Management/Utility/UtilEditor.cs | 4 +- .../Core/Editor/Rng/SettingsProviderRandom.cs | 6 +- .../Core/Editor/Save/SettingsProviderSave.cs | 4 +- ...ngs.cs => DataAssetCoreRuntimeSettings.cs} | 3 +- ...a => DataAssetCoreRuntimeSettings.cs.meta} | 0 .../Management/Save/CartSaveHandler.cs | 4 +- .../Runtime/Management/Utility/UtilRuntime.cs | 6 +- .../Random/Providers/Alea/AleaRngProvider.cs | 4 +- .../Providers/System/SystemRngProvider.cs | 4 +- .../The Cart/Core/Runtime/Random/Rng.cs | 2 +- .../Code/Runtime/LocalizationManager.cs | 6 + .../NotionDataWrapperLocalizationData.cs | 56 +++++++++ .../NotionDataWrapperLocalizationData.cs.meta | 3 + .../Management/ModuleAssetInitializer.cs | 8 -- Carter Games/The Cart/Modules/Notion/Art.meta | 8 ++ .../Art/T_TheCart_NotionData_FileIcon.png | Bin 0 -> 14577 bytes .../T_TheCart_NotionData_FileIcon.png.meta | 108 ++++++++++++++++++ .../PropertyDrawerNotionSortProperty.cs.meta | 11 -- .../Inspectors/NotionDataAssetEditor.cs | 19 ++- .../Code/Editor/Editors/Sort Property.meta | 3 + .../SortPropertiesWindow.cs} | 55 +++++---- .../SortPropertiesWindow.cs.meta | 3 + .../Notion/Data Assets/NotionDataAsset.cs | 2 +- .../Data Assets/NotionDataAsset.cs.meta | 2 +- .../NotionDatabaseParserStandard.cs | 7 +- .../Sort Properties/NotionSortProperty.cs | 2 +- .../Notion/Wrappers/NotionDataWrapper.cs | 43 +------ .../Wrappers/NotionDataWrapperAudioClip.cs | 6 + .../Wrappers/NotionDataWrapperHelper.cs | 58 ++++++++++ .../Wrappers/NotionDataWrapperHelper.cs.meta | 3 + .../Wrappers/NotionDataWrapperPrefab.cs | 5 + .../Wrappers/NotionDataWrapperSprite.cs | 5 + 36 files changed, 344 insertions(+), 142 deletions(-) rename Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/{DataAssetCartGlobalRuntimeSettings.cs => DataAssetCoreRuntimeSettings.cs} (98%) rename Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/{DataAssetCartGlobalRuntimeSettings.cs.meta => DataAssetCoreRuntimeSettings.cs.meta} (100%) create mode 100644 Carter Games/The Cart/Modules/Localization/Code/Runtime/Notion Data/NotionDataWrapperLocalizationData.cs create mode 100644 Carter Games/The Cart/Modules/Localization/Code/Runtime/Notion Data/NotionDataWrapperLocalizationData.cs.meta create mode 100644 Carter Games/The Cart/Modules/Notion/Art.meta create mode 100644 Carter Games/The Cart/Modules/Notion/Art/T_TheCart_NotionData_FileIcon.png create mode 100644 Carter Games/The Cart/Modules/Notion/Art/T_TheCart_NotionData_FileIcon.png.meta delete mode 100644 Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Drawer/PropertyDrawerNotionSortProperty.cs.meta create mode 100644 Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property.meta rename Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/{Drawer/PropertyDrawerNotionSortProperty.cs => Sort Property/SortPropertiesWindow.cs} (55%) create mode 100644 Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property/SortPropertiesWindow.cs.meta create mode 100644 Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperHelper.cs create mode 100644 Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperHelper.cs.meta diff --git a/Carter Games/The Cart/Core/Editor/Logging/Settings/SettingsProviderLogging.cs b/Carter Games/The Cart/Core/Editor/Logging/Settings/SettingsProviderLogging.cs index aa4b49b2..4d7763b4 100644 --- a/Carter Games/The Cart/Core/Editor/Logging/Settings/SettingsProviderLogging.cs +++ b/Carter Games/The Cart/Core/Editor/Logging/Settings/SettingsProviderLogging.cs @@ -60,10 +60,10 @@ private static bool IsCategoriesExpanded private static SerializedObject ObjectRef => - ScriptableRef.GetAssetDef().ObjectRef; + ScriptableRef.GetAssetDef().ObjectRef; - private static DataAssetCartGlobalRuntimeSettings AssetRef => - ScriptableRef.GetAssetDef().AssetRef; + private static DataAssetCoreRuntimeSettings AssetRef => + ScriptableRef.GetAssetDef().AssetRef; diff --git a/Carter Games/The Cart/Core/Editor/Management/Settings/Custom Editors/DataAssetCartRuntimeSettingsInspector.cs b/Carter Games/The Cart/Core/Editor/Management/Settings/Custom Editors/DataAssetCartRuntimeSettingsInspector.cs index 0bacbd60..8ffe9499 100644 --- a/Carter Games/The Cart/Core/Editor/Management/Settings/Custom Editors/DataAssetCartRuntimeSettingsInspector.cs +++ b/Carter Games/The Cart/Core/Editor/Management/Settings/Custom Editors/DataAssetCartRuntimeSettingsInspector.cs @@ -23,10 +23,6 @@ using System.Linq; using System.Reflection; -using CarterGames.Cart.Core.Data; -using CarterGames.Cart.Core.Logs.Editor; -using CarterGames.Cart.Core.Random.Editor; -using CarterGames.Cart.Modules.Settings; using UnityEditor; using UnityEngine; @@ -35,7 +31,7 @@ namespace CarterGames.Cart.Core.Management.Editor /// /// Handles the custom editor for the runtime settings asset. /// - [CustomEditor(typeof(DataAssetCartGlobalRuntimeSettings))] + [CustomEditor(typeof(DataAssetCoreRuntimeSettings))] public sealed class DataAssetCartRuntimeSettingsInspector : UnityEditor.Editor { /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── @@ -48,7 +44,7 @@ public sealed class DataAssetCartRuntimeSettingsInspector : UnityEditor.Editor public override void OnInspectorGUI() { GUILayout.Space(4f); - GeneralUtilEditor.DrawSoScriptSection((DataAssetCartGlobalRuntimeSettings)target); + GeneralUtilEditor.DrawSoScriptSection((DataAssetCoreRuntimeSettings)target); GUILayout.Space(10f); EditorGUILayout.LabelField("Core", EditorStyles.boldLabel); diff --git a/Carter Games/The Cart/Core/Editor/Management/Settings/Definitions/ScriptableDefCoreSettings.cs b/Carter Games/The Cart/Core/Editor/Management/Settings/Definitions/ScriptableDefCoreSettings.cs index 50d54066..bc6b0117 100644 --- a/Carter Games/The Cart/Core/Editor/Management/Settings/Definitions/ScriptableDefCoreSettings.cs +++ b/Carter Games/The Cart/Core/Editor/Management/Settings/Definitions/ScriptableDefCoreSettings.cs @@ -29,17 +29,17 @@ namespace CarterGames.Cart.Core.Editor { - public class ScriptableDefCoreSettings : IScriptableAssetDef + public class ScriptableDefCoreSettings : IScriptableAssetDef { - private static DataAssetCartGlobalRuntimeSettings cache; + private static DataAssetCoreRuntimeSettings cache; private static SerializedObject objCache; - public Type AssetType => typeof(DataAssetCartGlobalRuntimeSettings); + public Type AssetType => typeof(DataAssetCoreRuntimeSettings); public string DataAssetFileName => "[Cart] Core Runtime Settings.asset"; - public string DataAssetFilter => $"t:{typeof(DataAssetCartGlobalRuntimeSettings).FullName}"; + public string DataAssetFilter => $"t:{typeof(DataAssetCoreRuntimeSettings).FullName}"; public string DataAssetPath => $"{ScriptableRef.FullPathData}{DataAssetFileName}"; - public DataAssetCartGlobalRuntimeSettings AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache); + public DataAssetCoreRuntimeSettings AssetRef => ScriptableRef.GetOrCreateAsset(this, ref cache); public SerializedObject ObjectRef => ScriptableRef.GetOrCreateAssetObject(this, ref objCache); public void TryCreate() diff --git a/Carter Games/The Cart/Core/Editor/Management/Utility/Scriptable Assets/ScriptableObjectInitialize.cs b/Carter Games/The Cart/Core/Editor/Management/Utility/Scriptable Assets/ScriptableObjectInitialize.cs index e84c66be..2779e734 100644 --- a/Carter Games/The Cart/Core/Editor/Management/Utility/Scriptable Assets/ScriptableObjectInitialize.cs +++ b/Carter Games/The Cart/Core/Editor/Management/Utility/Scriptable Assets/ScriptableObjectInitialize.cs @@ -21,8 +21,6 @@ * THE SOFTWARE. */ -using UnityEditor; - namespace CarterGames.Cart.Core.Management.Editor { /// @@ -37,7 +35,7 @@ public class ScriptableObjectInitialize : IAssetEditorInitialize, IAssetEditorRe /// /// Defines the order that this initializer run at. /// - public int InitializeOrder => -1; + public int InitializeOrder => 0; /// @@ -61,13 +59,5 @@ public void OnEditorReloaded() if (ScriptableRef.HasAllAssets()) return; ScriptableRef.TryCreateAssets(); } - - - [InitializeOnLoadMethod] - private static void TryInit() - { - if (ScriptableRef.HasAllAssets()) return; - ScriptableRef.TryCreateAssets(); - } } } \ No newline at end of file diff --git a/Carter Games/The Cart/Core/Editor/Management/Utility/UtilEditor.cs b/Carter Games/The Cart/Core/Editor/Management/Utility/UtilEditor.cs index 1f02d6b4..f5a90982 100644 --- a/Carter Games/The Cart/Core/Editor/Management/Utility/UtilEditor.cs +++ b/Carter Games/The Cart/Core/Editor/Management/Utility/UtilEditor.cs @@ -56,7 +56,7 @@ public static class UtilEditor /// /// Gets/Sets the save manager settings asset. /// - public static DataAssetCartGlobalRuntimeSettings Settings => ScriptableRef.GetAssetDef().AssetRef; + public static DataAssetCoreRuntimeSettings Settings => ScriptableRef.GetAssetDef().AssetRef; /// @@ -69,7 +69,7 @@ public static class UtilEditor /// /// Gets/Sets the save manager editor settings asset. /// - public static SerializedObject SettingsObject => ScriptableRef.GetAssetDef().ObjectRef; + public static SerializedObject SettingsObject => ScriptableRef.GetAssetDef().ObjectRef; /// diff --git a/Carter Games/The Cart/Core/Editor/Rng/SettingsProviderRandom.cs b/Carter Games/The Cart/Core/Editor/Rng/SettingsProviderRandom.cs index 5669bf2c..c3d3fe14 100644 --- a/Carter Games/The Cart/Core/Editor/Rng/SettingsProviderRandom.cs +++ b/Carter Games/The Cart/Core/Editor/Rng/SettingsProviderRandom.cs @@ -48,10 +48,10 @@ private static bool IsExpanded private static SerializedObject ObjectRef => - ScriptableRef.GetAssetDef().ObjectRef; + ScriptableRef.GetAssetDef().ObjectRef; - private static DataAssetCartGlobalRuntimeSettings AssetRef => - ScriptableRef.GetAssetDef().AssetRef; + private static DataAssetCoreRuntimeSettings AssetRef => + ScriptableRef.GetAssetDef().AssetRef; diff --git a/Carter Games/The Cart/Core/Editor/Save/SettingsProviderSave.cs b/Carter Games/The Cart/Core/Editor/Save/SettingsProviderSave.cs index bcb3f5d7..762aff9a 100644 --- a/Carter Games/The Cart/Core/Editor/Save/SettingsProviderSave.cs +++ b/Carter Games/The Cart/Core/Editor/Save/SettingsProviderSave.cs @@ -21,7 +21,7 @@ private static bool IsExpanded private static SerializedObject ObjectRef => - ScriptableRef.GetAssetDef().ObjectRef; + ScriptableRef.GetAssetDef().ObjectRef; public void OnInspectorSettingsGUI() @@ -60,7 +60,7 @@ public void OnProjectSettingsGUI() var typeString = ObjectRef.Fp("saveMethodTypeDef").Fpr("type").stringValue; SearchProviderSaveMethod.GetProvider().SelectionMade.Add(HandleSelection); - SearchProviderSaveMethod.GetProvider().Open(ScriptableRef.GetAssetDef().AssetRef.SaveMethodType); + SearchProviderSaveMethod.GetProvider().Open(ScriptableRef.GetAssetDef().AssetRef.SaveMethodType); } else { diff --git a/Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCartGlobalRuntimeSettings.cs b/Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCoreRuntimeSettings.cs similarity index 98% rename from Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCartGlobalRuntimeSettings.cs rename to Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCoreRuntimeSettings.cs index a811e327..ff7162cd 100644 --- a/Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCartGlobalRuntimeSettings.cs +++ b/Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCoreRuntimeSettings.cs @@ -22,7 +22,6 @@ */ using System; -using System.Linq; using CarterGames.Cart.Core.Data; using CarterGames.Cart.Core.Random; using CarterGames.Cart.Core.Save; @@ -33,7 +32,7 @@ namespace CarterGames.Cart.Core.Management /// /// Handles any runtime specific settings for the package. /// - public sealed class DataAssetCartGlobalRuntimeSettings : DataAsset + public sealed class DataAssetCoreRuntimeSettings : DataAsset { /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── | Fields diff --git a/Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCartGlobalRuntimeSettings.cs.meta b/Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCoreRuntimeSettings.cs.meta similarity index 100% rename from Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCartGlobalRuntimeSettings.cs.meta rename to Carter Games/The Cart/Core/Runtime/Management/Assets/Settings/DataAssetCoreRuntimeSettings.cs.meta diff --git a/Carter Games/The Cart/Core/Runtime/Management/Save/CartSaveHandler.cs b/Carter Games/The Cart/Core/Runtime/Management/Save/CartSaveHandler.cs index d410c420..2c0a29ff 100644 --- a/Carter Games/The Cart/Core/Runtime/Management/Save/CartSaveHandler.cs +++ b/Carter Games/The Cart/Core/Runtime/Management/Save/CartSaveHandler.cs @@ -7,8 +7,8 @@ public static class CartSaveHandler { private static ISaveMethod SaveMethod => CoreSettings.SaveMethodType; - private static DataAssetCartGlobalRuntimeSettings CoreSettings => - DataAccess.GetAsset(); + private static DataAssetCoreRuntimeSettings CoreSettings => + DataAccess.GetAsset(); public static T Get(string key) diff --git a/Carter Games/The Cart/Core/Runtime/Management/Utility/UtilRuntime.cs b/Carter Games/The Cart/Core/Runtime/Management/Utility/UtilRuntime.cs index 51764297..0d41f6aa 100644 --- a/Carter Games/The Cart/Core/Runtime/Management/Utility/UtilRuntime.cs +++ b/Carter Games/The Cart/Core/Runtime/Management/Utility/UtilRuntime.cs @@ -36,7 +36,7 @@ public static class UtilRuntime // Caches /* ────────────────────────────────────────────────────────────────────────────────────────────────────────── */ - private static DataAssetCartGlobalRuntimeSettings settingsCache; + private static DataAssetCoreRuntimeSettings settingsCache; /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── | Properties @@ -45,12 +45,12 @@ public static class UtilRuntime /// /// The runtime settings asset. /// - public static DataAssetCartGlobalRuntimeSettings Settings + public static DataAssetCoreRuntimeSettings Settings { get { if (settingsCache != null) return settingsCache; - settingsCache = DataAccess.GetAsset(); + settingsCache = DataAccess.GetAsset(); return settingsCache; } } diff --git a/Carter Games/The Cart/Core/Runtime/Random/Providers/Alea/AleaRngProvider.cs b/Carter Games/The Cart/Core/Runtime/Random/Providers/Alea/AleaRngProvider.cs index 25de5428..fd42ed4f 100644 --- a/Carter Games/The Cart/Core/Runtime/Random/Providers/Alea/AleaRngProvider.cs +++ b/Carter Games/The Cart/Core/Runtime/Random/Providers/Alea/AleaRngProvider.cs @@ -35,8 +35,8 @@ public sealed class AleaRngProvider : ISeededRngProvider /// This is intended to help with debugging as you can replicate the seed & get the same results as a user. public static string Seed { - get => DataAccess.GetAsset().RngAleaRngSeed; - private set => DataAccess.GetAsset().RngAleaRngSeed = value; + get => DataAccess.GetAsset().RngAleaRngSeed; + private set => DataAccess.GetAsset().RngAleaRngSeed = value; } diff --git a/Carter Games/The Cart/Core/Runtime/Random/Providers/System/SystemRngProvider.cs b/Carter Games/The Cart/Core/Runtime/Random/Providers/System/SystemRngProvider.cs index ef1bf5cd..29aec2da 100644 --- a/Carter Games/The Cart/Core/Runtime/Random/Providers/System/SystemRngProvider.cs +++ b/Carter Games/The Cart/Core/Runtime/Random/Providers/System/SystemRngProvider.cs @@ -35,8 +35,8 @@ public sealed class SystemRngProvider : ISeededRngProvider /// This is intended to help with debugging as you can replicate the seed & get the same results as a user. public static int Seed { - get => DataAccess.GetAsset().RngSystemRngSeed; - private set => DataAccess.GetAsset().RngSystemRngSeed = value; + get => DataAccess.GetAsset().RngSystemRngSeed; + private set => DataAccess.GetAsset().RngSystemRngSeed = value; } diff --git a/Carter Games/The Cart/Core/Runtime/Random/Rng.cs b/Carter Games/The Cart/Core/Runtime/Random/Rng.cs index 1b0b4eef..7d0fc1b2 100644 --- a/Carter Games/The Cart/Core/Runtime/Random/Rng.cs +++ b/Carter Games/The Cart/Core/Runtime/Random/Rng.cs @@ -45,7 +45,7 @@ public static class Rng /// /// Gets the current random provider in use. /// - public static IRngProvider Provider => DataAccess.GetAsset().RngProvider; + public static IRngProvider Provider => DataAccess.GetAsset().RngProvider; /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── | Bool diff --git a/Carter Games/The Cart/Modules/Localization/Code/Runtime/LocalizationManager.cs b/Carter Games/The Cart/Modules/Localization/Code/Runtime/LocalizationManager.cs index 9bdbfdf5..cdb122e3 100644 --- a/Carter Games/The Cart/Modules/Localization/Code/Runtime/LocalizationManager.cs +++ b/Carter Games/The Cart/Modules/Localization/Code/Runtime/LocalizationManager.cs @@ -187,6 +187,12 @@ public static string GetCopy(string id) return copy; } + + + public static LocalizationData GetRawData(string id) + { + return GetCopyData(id); + } } } diff --git a/Carter Games/The Cart/Modules/Localization/Code/Runtime/Notion Data/NotionDataWrapperLocalizationData.cs b/Carter Games/The Cart/Modules/Localization/Code/Runtime/Notion Data/NotionDataWrapperLocalizationData.cs new file mode 100644 index 00000000..02d18875 --- /dev/null +++ b/Carter Games/The Cart/Modules/Localization/Code/Runtime/Notion Data/NotionDataWrapperLocalizationData.cs @@ -0,0 +1,56 @@ +#if CARTERGAMES_CART_MODULE_LOCALIZATION && CARTERGAMES_CART_MODULE_NOTIONDATA + +/* + * Copyright (c) 2024 Carter Games + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using System; +using CarterGames.Cart.Core.Logs; +using CarterGames.Cart.Modules.NotionData; + +namespace CarterGames.Cart.Modules.Localization +{ + /// + /// Use to convert a localization id into its data in a NotionDataAsset through standard database parsing. + /// + public class NotionDataWrapperLocalizationData : NotionDataWrapper + { + public NotionDataWrapperLocalizationData(string id) : base(id) { } + + protected override void Assign() + { + try + { + value = LocalizationManager.GetRawData(id); + } +#pragma warning disable + catch (Exception e) + { + CartLogger.LogWarning($"Unable to wrap {id} as Localized text, make sure the id exists."); + throw; + } +#pragma warning restore + } + } +} + +#endif \ No newline at end of file diff --git a/Carter Games/The Cart/Modules/Localization/Code/Runtime/Notion Data/NotionDataWrapperLocalizationData.cs.meta b/Carter Games/The Cart/Modules/Localization/Code/Runtime/Notion Data/NotionDataWrapperLocalizationData.cs.meta new file mode 100644 index 00000000..14e19991 --- /dev/null +++ b/Carter Games/The Cart/Modules/Localization/Code/Runtime/Notion Data/NotionDataWrapperLocalizationData.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0289f389e95f48cd82ff2ea2af519af4 +timeCreated: 1729786081 \ No newline at end of file diff --git a/Carter Games/The Cart/Modules/Management/ModuleAssetInitializer.cs b/Carter Games/The Cart/Modules/Management/ModuleAssetInitializer.cs index abd706d0..c51732f2 100644 --- a/Carter Games/The Cart/Modules/Management/ModuleAssetInitializer.cs +++ b/Carter Games/The Cart/Modules/Management/ModuleAssetInitializer.cs @@ -60,14 +60,6 @@ public void OnEditorReloaded() if (ModulesScriptableRef.HasAllAssets()) return; ModulesScriptableRef.TryCreateAssets(); } - - - [InitializeOnLoadMethod] - private static void TryInit() - { - if (ModulesScriptableRef.HasAllAssets()) return; - ModulesScriptableRef.TryCreateAssets(); - } } } diff --git a/Carter Games/The Cart/Modules/Notion/Art.meta b/Carter Games/The Cart/Modules/Notion/Art.meta new file mode 100644 index 00000000..d308a4ec --- /dev/null +++ b/Carter Games/The Cart/Modules/Notion/Art.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4d27dd7b01d16774ba3bc46ed6e5825f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Carter Games/The Cart/Modules/Notion/Art/T_TheCart_NotionData_FileIcon.png b/Carter Games/The Cart/Modules/Notion/Art/T_TheCart_NotionData_FileIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..9812a202de1279c989435993dda4adfa1f6db7cb GIT binary patch literal 14577 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 literal 0 HcmV?d00001 diff --git a/Carter Games/The Cart/Modules/Notion/Art/T_TheCart_NotionData_FileIcon.png.meta b/Carter Games/The Cart/Modules/Notion/Art/T_TheCart_NotionData_FileIcon.png.meta new file mode 100644 index 00000000..d5b6304c --- /dev/null +++ b/Carter Games/The Cart/Modules/Notion/Art/T_TheCart_NotionData_FileIcon.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: ab497f1ad8dbb444c84fc85d5f42d2cb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 1 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 1 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Drawer/PropertyDrawerNotionSortProperty.cs.meta b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Drawer/PropertyDrawerNotionSortProperty.cs.meta deleted file mode 100644 index 44e44239..00000000 --- a/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Drawer/PropertyDrawerNotionSortProperty.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d1afd22c464a401e83335cf1ad3e8e78 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Inspectors/NotionDataAssetEditor.cs b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Inspectors/NotionDataAssetEditor.cs index b7fc5208..73a17d0a 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Inspectors/NotionDataAssetEditor.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Inspectors/NotionDataAssetEditor.cs @@ -53,7 +53,8 @@ public override void OnInspectorGUI() EditorGUILayout.Space(1.5f); GeneralUtilEditor.DrawHorizontalGUILine(); - base.OnInspectorGUI(); + + DrawPropertiesExcluding(serializedObject, "sortProperties"); } @@ -68,10 +69,20 @@ private void RenderNotionSettings() EditorGUILayout.PropertyField(serializedObject.Fp("linkToDatabase"), NotionMetaData.DatabaseLink); EditorGUILayout.PropertyField(serializedObject.Fp("databaseApiKey"), NotionMetaData.ApiKey); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(serializedObject.Fp("sortProperties")); - EditorGUI.indentLevel--; + EditorGUILayout.BeginHorizontal(); + + // Coming... eventually... + // if (GUILayout.Button("Filters")) + // { + // + // } + + if (GUILayout.Button($"Sorting ({serializedObject.Fp("sortProperties").arraySize})")) + { + SortPropertiesWindow.OpenWindow(serializedObject); + } + EditorGUILayout.EndHorizontal(); EditorGUI.BeginDisabledGroup( !NotionSecretKeyValidator.IsKeyValid(serializedObject.Fp("databaseApiKey").stringValue) || diff --git a/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property.meta b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property.meta new file mode 100644 index 00000000..55ebf9f8 --- /dev/null +++ b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 80afe9bc31f64cd0bfb00924a0d7cfaa +timeCreated: 1726242613 \ No newline at end of file diff --git a/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Drawer/PropertyDrawerNotionSortProperty.cs b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property/SortPropertiesWindow.cs similarity index 55% rename from Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Drawer/PropertyDrawerNotionSortProperty.cs rename to Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property/SortPropertiesWindow.cs index ae96b1d0..9b5a319d 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Drawer/PropertyDrawerNotionSortProperty.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property/SortPropertiesWindow.cs @@ -25,43 +25,40 @@ using CarterGames.Cart.Core.Management.Editor; using UnityEditor; -using UnityEngine; namespace CarterGames.Cart.Modules.NotionData.Editor { - [CustomPropertyDrawer(typeof(NotionSortProperty))] - public class PropertyDrawerNotionSortProperty : PropertyDrawer - { - public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) - { - EditorGUI.BeginProperty(position, label, property); + public sealed class SortPropertiesWindow : EditorWindow + { + private static SerializedObject Target { get; set; } + + + public static void OpenWindow(SerializedObject target) + { + Target = target; - EditorGUI.BeginChangeCheck(); + if (HasOpenInstances()) + { + FocusWindowIfItsOpen(); + } + else + { + GetWindow(true, "Edit Sort Properties"); + } + } - var indent = EditorGUI.indentLevel; - EditorGUI.indentLevel = 0; - var left = new Rect(position.x, position.y, position.width - 120f, EditorGUIUtility.singleLineHeight); - var right = new Rect(position.x + position.width - 17.5f, position.y, 120f, EditorGUIUtility.singleLineHeight); - - EditorGUI.PropertyField(left, property.Fpr("propertyName"), GUIContent.none); - EditorGUI.PropertyField(right, property.Fpr("ascending"), GUIContent.none); + private void OnGUI() + { + if (Target == null) return; - if (EditorGUI.EndChangeCheck()) - { - property.serializedObject.ApplyModifiedProperties(); - } + EditorGUILayout.HelpBox("Edit the sort properties for this Notion data asset below", MessageType.Info); - EditorGUI.indentLevel = indent; - EditorGUI.EndProperty(); - } - - - public override float GetPropertyHeight(SerializedProperty property, GUIContent label) - { - return EditorGUIUtility.singleLineHeight; - } - } + EditorGUILayout.Space(5f); + + EditorGUILayout.PropertyField(Target.Fp("sortProperties")); + } + } } #endif \ No newline at end of file diff --git a/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property/SortPropertiesWindow.cs.meta b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property/SortPropertiesWindow.cs.meta new file mode 100644 index 00000000..ab6d8667 --- /dev/null +++ b/Carter Games/The Cart/Modules/Notion/Code/Editor/Editors/Sort Property/SortPropertiesWindow.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 88bbbd8bf67f4943ac791519f31021c6 +timeCreated: 1726242621 \ No newline at end of file diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs index bd1e304e..edff9bdc 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs @@ -46,7 +46,7 @@ namespace CarterGames.Cart.Modules.NotionData #pragma warning disable [SerializeField, HideInInspector] private string linkToDatabase; // Is used in editor space, so ignore the not used warning. [SerializeField, HideInInspector] private string databaseApiKey; // Is used in editor space, so ignore the not used warning. - [SerializeField, HideInInspector] private List sortProperties; + [SerializeField] private List sortProperties; #pragma warning restore [SerializeField] private List data; diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs.meta b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs.meta index afcb8321..2399fd20 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs.meta +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Data Assets/NotionDataAsset.cs.meta @@ -5,7 +5,7 @@ MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 - icon: {fileID: 2800000, guid: 7b55164471cbd24499597ce609cf75d0, type: 3} + icon: {fileID: 2800000, guid: ab497f1ad8dbb444c84fc85d5f42d2cb, type: 3} userData: assetBundleName: assetBundleVariant: diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Notion Database Handling/Data Parsing/NotionDatabaseParserStandard.cs b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Notion Database Handling/Data Parsing/NotionDatabaseParserStandard.cs index b1948d7b..0f8a681a 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Notion Database Handling/Data Parsing/NotionDatabaseParserStandard.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Notion Database Handling/Data Parsing/NotionDatabaseParserStandard.cs @@ -44,11 +44,10 @@ public List Parse(NotionDatabaseQueryResult result) if (row.DataLookup.ContainsKey(field.Name.Trim().ToLower())) { var valueData = row.DataLookup[field.Name.Trim().ToLower()]; - var fieldType = field.FieldType; - if (fieldType.BaseType.FullName.Contains(typeof(NotionDataWrapper<>).Namespace + ".NotionDataWrapper")) + if (field.FieldType.BaseType.FullName.Contains(typeof(NotionDataWrapper<>).Namespace + ".NotionDataWrapper")) { - var instance = valueData.GetValueAs(fieldType); + var instance = valueData.GetValueAs(field.FieldType); field.SetValue(newEntry, instance); instance.GetType().BaseType.GetMethod("Assign", BindingFlags.NonPublic | BindingFlags.Instance) @@ -56,7 +55,7 @@ public List Parse(NotionDatabaseQueryResult result) } else { - field.SetValue(newEntry, valueData.GetValueAs(fieldType)); + field.SetValue(newEntry, valueData.GetValueAs(field.FieldType)); } } } diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Sort Properties/NotionSortProperty.cs b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Sort Properties/NotionSortProperty.cs index e6dc8e55..c7e8070f 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Sort Properties/NotionSortProperty.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Sort Properties/NotionSortProperty.cs @@ -32,7 +32,7 @@ namespace CarterGames.Cart.Modules.NotionData /// A class to define a sort property. /// [Serializable] - public sealed class NotionSortProperty + public class NotionSortProperty { /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── | Fields diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapper.cs b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapper.cs index ad28a05c..a0f847cc 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapper.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapper.cs @@ -25,7 +25,6 @@ using System; using UnityEngine; -using Object = UnityEngine.Object; namespace CarterGames.Cart.Modules.NotionData { @@ -34,14 +33,14 @@ namespace CarterGames.Cart.Modules.NotionData /// /// The type to wrap as. [Serializable] - public class NotionDataWrapper where T : Object + public abstract class NotionDataWrapper { /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── | Fields ───────────────────────────────────────────────────────────────────────────────────────────────────────────── */ - [SerializeField] private string id; - [SerializeField] private T value; + [SerializeField] protected string id; + [SerializeField] protected T value; /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── | Properties @@ -72,30 +71,7 @@ public NotionDataWrapper(string id) /// /// Assigns the reference when called. /// - private void Assign() - { -#if UNITY_EDITOR - - if (!string.IsNullOrEmpty(id)) - { - var asset = UnityEditor.AssetDatabase.FindAssets(id); - - if (asset.Length > 0) - { - var path = UnityEditor.AssetDatabase.GUIDToAssetPath(asset[0]); - value = UnityEditor.AssetDatabase.LoadAssetAtPath(path); - } - else - { - Debug.LogWarning($"Unable to find a reference with the name {id}"); - } - } - else - { - Debug.LogWarning("Unable to assign a reference, the id was empty."); - } -#endif - } + protected abstract void Assign(); /* ───────────────────────────────────────────────────────────────────────────────────────────────────────────── | Operator @@ -110,17 +86,6 @@ public static implicit operator T(NotionDataWrapper dataWrapper) { return dataWrapper.Value; } - - - /// - /// Converts the type to thr wrapper. - /// - /// The value to convert. - /// The wrapper with the value. - public static implicit operator NotionDataWrapper(T reference) - { - return new NotionDataWrapper(reference.name); - } } } diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperAudioClip.cs b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperAudioClip.cs index 3fbb9b16..32e6d96f 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperAudioClip.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperAudioClip.cs @@ -35,6 +35,12 @@ namespace CarterGames.Cart.Modules.NotionData public class NotionDataWrapperAudioClip : NotionDataWrapper { public NotionDataWrapperAudioClip(string id) : base(id) { } + + + protected override void Assign() + { + NotionDataWrapperHelper.AssignAsObject(id, ref value); + } } } diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperHelper.cs b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperHelper.cs new file mode 100644 index 00000000..b4ac20cc --- /dev/null +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperHelper.cs @@ -0,0 +1,58 @@ +#if CARTERGAMES_CART_MODULE_NOTIONDATA + +/* + * Copyright (c) 2024 Carter Games + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +using CarterGames.Cart.Core.Logs; +using UnityEngine; + +namespace CarterGames.Cart.Modules.NotionData +{ + public static class NotionDataWrapperHelper + { + public static void AssignAsObject(string id, ref T value) where T : Object + { +#if UNITY_EDITOR + if (!string.IsNullOrEmpty(id)) + { + var asset = UnityEditor.AssetDatabase.FindAssets(id); + + if (asset.Length > 0) + { + var path = UnityEditor.AssetDatabase.GUIDToAssetPath(asset[0]); + value = UnityEditor.AssetDatabase.LoadAssetAtPath(path); + return; + } + + CartLogger.LogWarning($"Unable to find a reference with the name {id}"); + } + else + { + CartLogger.LogWarning("Unable to assign a reference, the id was empty."); + } +#endif + } + } +} + +#endif \ No newline at end of file diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperHelper.cs.meta b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperHelper.cs.meta new file mode 100644 index 00000000..d4963b1f --- /dev/null +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperHelper.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0cfdcec6b4b6496394f8bf7d5ed58b07 +timeCreated: 1729786204 \ No newline at end of file diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperPrefab.cs b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperPrefab.cs index 6305607b..f9407fd1 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperPrefab.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperPrefab.cs @@ -35,6 +35,11 @@ namespace CarterGames.Cart.Modules.NotionData public class NotionDataWrapperPrefab : NotionDataWrapper { public NotionDataWrapperPrefab(string id) : base(id) { } + + protected override void Assign() + { + NotionDataWrapperHelper.AssignAsObject(id, ref value); + } } } diff --git a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperSprite.cs b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperSprite.cs index 18aae250..17402459 100644 --- a/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperSprite.cs +++ b/Carter Games/The Cart/Modules/Notion/Code/Runtime/Notion/Wrappers/NotionDataWrapperSprite.cs @@ -35,6 +35,11 @@ namespace CarterGames.Cart.Modules.NotionData public class NotionDataWrapperSprite : NotionDataWrapper { public NotionDataWrapperSprite(string id) : base(id) { } + + protected override void Assign() + { + NotionDataWrapperHelper.AssignAsObject(id, ref value); + } } }