diff --git a/CHANGELOG.md b/CHANGELOG.md index db34acb2..cf5adb97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.0.1] - 2021-11-02 +***"Feature Branches"*** +> A lot of experimental work is being now done in _feature_ branches; this should speed up iteration time on releases. + +### Added +- `Trace` configuration matrix available in project settings. + +### Changed +- Internally used `SettingsStyles` has been split into `SettingsStyles` and `SettingsLayoutOptions` accordingly. +- Moved everything up one folder layer in package to fit with package standards. + +### Fixed +- Optimized referencing of `GDXConfig` in author time operations (now similar to runtime). +- `IListExtensions.ContainsItem` now uses `Equals()` to resolve literals issues with strings. +- Categories for Visual Scripting based entries are now correct. +- Resolved issue with newer Package Manager based lock files having no tag identities. + ## [2.0.0] - 2021-05-09 ***"Fresh Paint"*** > Breaking changes and a new license (BSL-1.0); making GDX even easier to include in projects! diff --git a/GDX/Editor.meta b/Editor.meta similarity index 100% rename from GDX/Editor.meta rename to Editor.meta diff --git a/GDX/Editor/AssemblyInfo.cs b/Editor/AssemblyInfo.cs similarity index 100% rename from GDX/Editor/AssemblyInfo.cs rename to Editor/AssemblyInfo.cs diff --git a/GDX/Editor/AssemblyInfo.cs.meta b/Editor/AssemblyInfo.cs.meta similarity index 100% rename from GDX/Editor/AssemblyInfo.cs.meta rename to Editor/AssemblyInfo.cs.meta diff --git a/GDX/Editor/AssemblyProvider.cs b/Editor/AssemblyProvider.cs similarity index 100% rename from GDX/Editor/AssemblyProvider.cs rename to Editor/AssemblyProvider.cs diff --git a/GDX/Editor/AssemblyProvider.cs.meta b/Editor/AssemblyProvider.cs.meta similarity index 100% rename from GDX/Editor/AssemblyProvider.cs.meta rename to Editor/AssemblyProvider.cs.meta diff --git a/GDX/Editor/Automation.cs b/Editor/Automation.cs similarity index 100% rename from GDX/Editor/Automation.cs rename to Editor/Automation.cs diff --git a/GDX/Editor/Automation.cs.meta b/Editor/Automation.cs.meta similarity index 100% rename from GDX/Editor/Automation.cs.meta rename to Editor/Automation.cs.meta diff --git a/GDX/Editor/Build.meta b/Editor/Build.meta similarity index 100% rename from GDX/Editor/Build.meta rename to Editor/Build.meta diff --git a/GDX/Editor/Build/BuildInfoProvider.cs b/Editor/Build/BuildInfoProvider.cs similarity index 100% rename from GDX/Editor/Build/BuildInfoProvider.cs rename to Editor/Build/BuildInfoProvider.cs diff --git a/GDX/Editor/Build/BuildInfoProvider.cs.meta b/Editor/Build/BuildInfoProvider.cs.meta similarity index 100% rename from GDX/Editor/Build/BuildInfoProvider.cs.meta rename to Editor/Build/BuildInfoProvider.cs.meta diff --git a/GDX/Editor/Build/Classic.meta b/Editor/Build/Classic.meta similarity index 100% rename from GDX/Editor/Build/Classic.meta rename to Editor/Build/Classic.meta diff --git a/GDX/Editor/Build/Classic/BuildInfoBuildCustomizer.cs b/Editor/Build/Classic/BuildInfoBuildCustomizer.cs similarity index 100% rename from GDX/Editor/Build/Classic/BuildInfoBuildCustomizer.cs rename to Editor/Build/Classic/BuildInfoBuildCustomizer.cs diff --git a/GDX/Editor/Build/Classic/BuildInfoBuildCustomizer.cs.meta b/Editor/Build/Classic/BuildInfoBuildCustomizer.cs.meta similarity index 100% rename from GDX/Editor/Build/Classic/BuildInfoBuildCustomizer.cs.meta rename to Editor/Build/Classic/BuildInfoBuildCustomizer.cs.meta diff --git a/GDX/Editor/Build/Classic/ScriptingDefinesBuildCustomizer.cs b/Editor/Build/Classic/ScriptingDefinesBuildCustomizer.cs similarity index 100% rename from GDX/Editor/Build/Classic/ScriptingDefinesBuildCustomizer.cs rename to Editor/Build/Classic/ScriptingDefinesBuildCustomizer.cs diff --git a/GDX/Editor/Build/Classic/ScriptingDefinesBuildCustomizer.cs.meta b/Editor/Build/Classic/ScriptingDefinesBuildCustomizer.cs.meta similarity index 100% rename from GDX/Editor/Build/Classic/ScriptingDefinesBuildCustomizer.cs.meta rename to Editor/Build/Classic/ScriptingDefinesBuildCustomizer.cs.meta diff --git a/GDX/Editor/Build/Legacy.meta b/Editor/Build/Legacy.meta similarity index 100% rename from GDX/Editor/Build/Legacy.meta rename to Editor/Build/Legacy.meta diff --git a/GDX/Editor/Build/Legacy/BuildInfoBuildProcessor.cs b/Editor/Build/Legacy/BuildInfoBuildProcessor.cs similarity index 100% rename from GDX/Editor/Build/Legacy/BuildInfoBuildProcessor.cs rename to Editor/Build/Legacy/BuildInfoBuildProcessor.cs diff --git a/GDX/Editor/Build/Legacy/BuildInfoBuildProcessor.cs.meta b/Editor/Build/Legacy/BuildInfoBuildProcessor.cs.meta similarity index 100% rename from GDX/Editor/Build/Legacy/BuildInfoBuildProcessor.cs.meta rename to Editor/Build/Legacy/BuildInfoBuildProcessor.cs.meta diff --git a/GDX/Editor/Build/Legacy/ScriptingDefinesBuildProcessor.cs b/Editor/Build/Legacy/ScriptingDefinesBuildProcessor.cs similarity index 100% rename from GDX/Editor/Build/Legacy/ScriptingDefinesBuildProcessor.cs rename to Editor/Build/Legacy/ScriptingDefinesBuildProcessor.cs diff --git a/GDX/Editor/Build/Legacy/ScriptingDefinesBuildProcessor.cs.meta b/Editor/Build/Legacy/ScriptingDefinesBuildProcessor.cs.meta similarity index 100% rename from GDX/Editor/Build/Legacy/ScriptingDefinesBuildProcessor.cs.meta rename to Editor/Build/Legacy/ScriptingDefinesBuildProcessor.cs.meta diff --git a/GDX/Editor/DecoratorDrawers.meta b/Editor/DecoratorDrawers.meta similarity index 100% rename from GDX/Editor/DecoratorDrawers.meta rename to Editor/DecoratorDrawers.meta diff --git a/GDX/Editor/DecoratorDrawers/InspectorMessageBoxAttributeDecoratorDrawer.cs b/Editor/DecoratorDrawers/InspectorMessageBoxAttributeDecoratorDrawer.cs similarity index 100% rename from GDX/Editor/DecoratorDrawers/InspectorMessageBoxAttributeDecoratorDrawer.cs rename to Editor/DecoratorDrawers/InspectorMessageBoxAttributeDecoratorDrawer.cs diff --git a/GDX/Editor/DecoratorDrawers/InspectorMessageBoxAttributeDecoratorDrawer.cs.meta b/Editor/DecoratorDrawers/InspectorMessageBoxAttributeDecoratorDrawer.cs.meta similarity index 100% rename from GDX/Editor/DecoratorDrawers/InspectorMessageBoxAttributeDecoratorDrawer.cs.meta rename to Editor/DecoratorDrawers/InspectorMessageBoxAttributeDecoratorDrawer.cs.meta diff --git a/GDX/Editor/GDX.Editor.asmdef b/Editor/GDX.Editor.asmdef similarity index 100% rename from GDX/Editor/GDX.Editor.asmdef rename to Editor/GDX.Editor.asmdef diff --git a/GDX/Editor/GDX.Editor.asmdef.meta b/Editor/GDX.Editor.asmdef.meta similarity index 100% rename from GDX/Editor/GDX.Editor.asmdef.meta rename to Editor/GDX.Editor.asmdef.meta diff --git a/GDX/Editor/GDXConfigEditor.cs b/Editor/GDXConfigEditor.cs similarity index 100% rename from GDX/Editor/GDXConfigEditor.cs rename to Editor/GDXConfigEditor.cs diff --git a/GDX/Editor/GDXConfigEditor.cs.meta b/Editor/GDXConfigEditor.cs.meta similarity index 100% rename from GDX/Editor/GDXConfigEditor.cs.meta rename to Editor/GDXConfigEditor.cs.meta diff --git a/Editor/ManifestEntry.cs b/Editor/ManifestEntry.cs new file mode 100644 index 00000000..bc7cc478 --- /dev/null +++ b/Editor/ManifestEntry.cs @@ -0,0 +1,67 @@ +// Copyright (c) 2020-2021 dotBunny Inc. +// dotBunny licenses this file to you under the BSL-1.0 license. +// See the LICENSE file in the project root for more information. + +using System; +using GDX; +using GDX.Editor; +using UnityEngine; + +namespace GDX.Editor +{ + /// + /// An object representative of the GDX entry in a manifest lockfile. + /// + [Serializable] + public class ManifestEntry + { + public string version; + public int depth; + public string source; + public string[] dependencies; + public string hash; + + [NonSerialized] + public PackageProvider.InstallationType installationType; + [NonSerialized] + public string tag; + + public static ManifestEntry Get(string json) + { + ManifestEntry returnObject = JsonUtility.FromJson(json); + if (returnObject == null) + { + return null; + } + + // Evaluate for tag + string tag = returnObject.version.GetAfterLast("#"); + if (tag != null) + { + if (tag.StartsWith("v")) + { + returnObject.installationType = PackageProvider.InstallationType.UPMTag; + returnObject.tag = tag; + return returnObject; + } + + // Check for what we assume is a commit hash + if (tag.Length == 40 && tag.HasLowerCase() && !tag.HasUpperCase()) + { + returnObject.installationType = PackageProvider.InstallationType.GitHubCommit; + returnObject.tag = tag; + return returnObject; + } + + // Left with assuming its a branch? + returnObject.installationType = PackageProvider.InstallationType.UPMBranch; + returnObject.tag = tag; + return returnObject; + } + + returnObject.installationType = PackageProvider.InstallationType.UPM; + returnObject.tag = "main"; + return returnObject; + } + } +} \ No newline at end of file diff --git a/Editor/ManifestEntry.cs.meta b/Editor/ManifestEntry.cs.meta new file mode 100644 index 00000000..e24df499 --- /dev/null +++ b/Editor/ManifestEntry.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e67b602689354e86a19a6347afb34798 +timeCreated: 1630246129 \ No newline at end of file diff --git a/GDX/Editor/PackageProvider.cs b/Editor/PackageProvider.cs similarity index 93% rename from GDX/Editor/PackageProvider.cs rename to Editor/PackageProvider.cs index 07cb24ea..3939f6a6 100644 --- a/GDX/Editor/PackageProvider.cs +++ b/Editor/PackageProvider.cs @@ -5,8 +5,10 @@ using System; using System.IO; using System.Reflection; +using System.Text; using UnityEditor; using UnityEngine; +using Application = UnityEngine.Application; // ReSharper disable MemberCanBePrivate.Global @@ -344,44 +346,29 @@ public static string GetFriendlyName(InstallationType installationType) // Loop through lockfile for the package to determine further information on how it has been added. bool insidePackage = false; + StringBuilder manifestContent = new StringBuilder(); for (int i = 0; i < lockFileLength; i++) { string workingLine = lockFile[i].Trim(); if (workingLine.StartsWith("\"com.dotbunny.gdx\"")) { insidePackage = true; + manifestContent.AppendLine("{"); continue; } - // We want to make sure that we are inside the package definition and that we are looking at the version line. - if (!insidePackage || !workingLine.StartsWith("\"version\"")) + switch (insidePackage) { - continue; + case true when workingLine.StartsWith("},"): + { + manifestContent.AppendLine("}"); + ManifestEntry manifestEntry = ManifestEntry.Get(manifestContent.ToString()); + return (manifestEntry.installationType, manifestEntry.tag); + } + case true: + manifestContent.AppendLine(workingLine); + break; } - - string versionLine = workingLine.Substring(12, workingLine.Length - (12 + 2)); - string tag = versionLine.GetAfterLast("#"); - - - // No actual tag found, so we are a straight UPM but we should consider it main line - if (tag == versionLine) - { - return (InstallationType.UPM, "main"); - } - - // All of our release tags start with 'v' - if (tag.StartsWith("v")) - { - return (InstallationType.UPMTag, tag); - } - - // Check for what we assume is a commit hash - if (tag.Length == 40 && tag.HasLowerCase() && !tag.HasUpperCase()) - { - return (InstallationType.GitHubCommit, tag); - } - - return (InstallationType.UPMBranch, tag); } // Well we at least can say it was UPM bound diff --git a/GDX/Editor/PackageProvider.cs.meta b/Editor/PackageProvider.cs.meta similarity index 100% rename from GDX/Editor/PackageProvider.cs.meta rename to Editor/PackageProvider.cs.meta diff --git a/GDX/Editor/ProjectSettings.meta b/Editor/ProjectSettings.meta similarity index 100% rename from GDX/Editor/ProjectSettings.meta rename to Editor/ProjectSettings.meta diff --git a/GDX/Editor/ProjectSettings/AutomaticUpdatesSettings.cs b/Editor/ProjectSettings/AutomaticUpdatesSettings.cs similarity index 94% rename from GDX/Editor/ProjectSettings/AutomaticUpdatesSettings.cs rename to Editor/ProjectSettings/AutomaticUpdatesSettings.cs index 765144b8..43db3971 100644 --- a/GDX/Editor/ProjectSettings/AutomaticUpdatesSettings.cs +++ b/Editor/ProjectSettings/AutomaticUpdatesSettings.cs @@ -66,14 +66,14 @@ internal static void Draw(SerializedObject settings) GUILayout.BeginHorizontal(); GUILayout.Label("Local Version:", EditorStyles.boldLabel, - SettingsStyles.FixedWidth130LayoutOptions); + SettingsLayoutOptions.FixedWidth130LayoutOptions); GUILayout.Label(UpdateProvider.LocalPackage.Definition.version); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Installation Method:", EditorStyles.boldLabel, - SettingsStyles.FixedWidth130LayoutOptions); + SettingsLayoutOptions.FixedWidth130LayoutOptions); GUILayout.Label(PackageProvider.GetFriendlyName(UpdateProvider.LocalPackage.InstallationMethod)); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); @@ -86,7 +86,7 @@ internal static void Draw(SerializedObject settings) case PackageProvider.InstallationType.GitHub: GUILayout.BeginHorizontal(); GUILayout.Label("Source Branch:", EditorStyles.boldLabel, - SettingsStyles.FixedWidth130LayoutOptions); + SettingsLayoutOptions.FixedWidth130LayoutOptions); GUILayout.Label(!string.IsNullOrEmpty(UpdateProvider.LocalPackage.SourceTag) ? UpdateProvider.LocalPackage.SourceTag : "N/A"); @@ -97,7 +97,7 @@ internal static void Draw(SerializedObject settings) case PackageProvider.InstallationType.GitHubTag: GUILayout.BeginHorizontal(); GUILayout.Label("Source Tag:", EditorStyles.boldLabel, - SettingsStyles.FixedWidth130LayoutOptions); + SettingsLayoutOptions.FixedWidth130LayoutOptions); GUILayout.Label(!string.IsNullOrEmpty(UpdateProvider.LocalPackage.SourceTag) ? UpdateProvider.LocalPackage.SourceTag : "N/A"); @@ -108,7 +108,7 @@ internal static void Draw(SerializedObject settings) case PackageProvider.InstallationType.GitHubCommit: GUILayout.BeginHorizontal(); GUILayout.Label("Source Commit:", EditorStyles.boldLabel, - SettingsStyles.FixedWidth130LayoutOptions); + SettingsLayoutOptions.FixedWidth130LayoutOptions); GUILayout.Label(!string.IsNullOrEmpty(UpdateProvider.LocalPackage.SourceTag) ? UpdateProvider.LocalPackage.SourceTag : "N/A"); @@ -122,14 +122,14 @@ internal static void Draw(SerializedObject settings) { GUILayout.BeginHorizontal(); GUILayout.Label("Remote Version:", EditorStyles.boldLabel, - SettingsStyles.FixedWidth130LayoutOptions); + SettingsLayoutOptions.FixedWidth130LayoutOptions); GUILayout.Label(UpdateProvider.UpdatePackageDefinition.version); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal(); - GUILayout.Label("Last Checked:", EditorStyles.boldLabel, SettingsStyles.FixedWidth130LayoutOptions); + GUILayout.Label("Last Checked:", EditorStyles.boldLabel, SettingsLayoutOptions.FixedWidth130LayoutOptions); GUILayout.Label(UpdateProvider.GetLastChecked().ToString(Localization.LocalTimestampFormat)); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); diff --git a/GDX/Editor/ProjectSettings/AutomaticUpdatesSettings.cs.meta b/Editor/ProjectSettings/AutomaticUpdatesSettings.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/AutomaticUpdatesSettings.cs.meta rename to Editor/ProjectSettings/AutomaticUpdatesSettings.cs.meta diff --git a/GDX/Editor/ProjectSettings/BuildInfoSettings.cs b/Editor/ProjectSettings/BuildInfoSettings.cs similarity index 100% rename from GDX/Editor/ProjectSettings/BuildInfoSettings.cs rename to Editor/ProjectSettings/BuildInfoSettings.cs diff --git a/GDX/Editor/ProjectSettings/BuildInfoSettings.cs.meta b/Editor/ProjectSettings/BuildInfoSettings.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/BuildInfoSettings.cs.meta rename to Editor/ProjectSettings/BuildInfoSettings.cs.meta diff --git a/GDX/Editor/ProjectSettings/CommandLineProcessorSettings.cs b/Editor/ProjectSettings/CommandLineProcessorSettings.cs similarity index 100% rename from GDX/Editor/ProjectSettings/CommandLineProcessorSettings.cs rename to Editor/ProjectSettings/CommandLineProcessorSettings.cs diff --git a/GDX/Editor/ProjectSettings/CommandLineProcessorSettings.cs.meta b/Editor/ProjectSettings/CommandLineProcessorSettings.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/CommandLineProcessorSettings.cs.meta rename to Editor/ProjectSettings/CommandLineProcessorSettings.cs.meta diff --git a/GDX/Editor/ProjectSettings/EnvironmentSettings.cs b/Editor/ProjectSettings/EnvironmentSettings.cs similarity index 50% rename from GDX/Editor/ProjectSettings/EnvironmentSettings.cs rename to Editor/ProjectSettings/EnvironmentSettings.cs index 205a9aed..fac7bd97 100644 --- a/GDX/Editor/ProjectSettings/EnvironmentSettings.cs +++ b/Editor/ProjectSettings/EnvironmentSettings.cs @@ -21,21 +21,35 @@ internal static class EnvironmentSettings /// Settings content for . /// private static readonly GUIContent s_debugLevelsContent = new GUIContent( - "Debug Tracing", + "", "The levels of trace call to be logged in a debug build."); + /// + /// Settings content for . + /// + private static readonly GUIContent s_debugConsoleOutput = new GUIContent( + "", + "Should traces be outputted to Unity's console in debug builds"); + /// /// Settings content for . /// private static readonly GUIContent s_developmentLevelsContent = new GUIContent( - "Development Tracing", + "", "The levels of trace call to be logged in a development/editor build."); + /// + /// Settings content for . + /// + private static readonly GUIContent s_developmentConsoleOutput = new GUIContent( + "", + "Should traces be outputted to Unity's console in development builds."); + /// /// Settings content for . /// private static readonly GUIContent s_releaseLevelsContent = new GUIContent( - "Release Tracing", + "", "The levels of trace call to be logged in a release build."); /// @@ -45,6 +59,9 @@ internal static class EnvironmentSettings "Ensure GDX Symbol", "Should GDX make sure that there is a GDX scripting define symbol across all viable build target groups."); + private static readonly GUIContent s_traceNoticeContent = new GUIContent( + "Make sure to disable console output if you have subscribed additional logging systems which may echo back to the console."); + internal static void Draw(SerializedObject settings) { GUI.enabled = true; @@ -60,32 +77,66 @@ internal static void Draw(SerializedObject settings) s_scriptingDefineSymbolContent); + GUILayout.Space(10); + // Arguments (we're going to make sure they are forced to uppercase). + GUILayout.Label("Traces", SettingsStyles.SubSectionHeaderTextStyle); + + GUILayout.BeginHorizontal(SettingsStyles.InfoBoxStyle); + GUILayout.Label(SettingsStyles.NoticeIcon, SettingsStyles.NoHorizontalStretchStyle); + GUILayout.Label(s_traceNoticeContent, SettingsStyles.WordWrappedLabelStyle); + GUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(GUIContent.none, SettingsStyles.ColumnHeaderStyle, SettingsLayoutOptions.FixedWidth130LayoutOptions); + GUILayout.Space(10); + EditorGUILayout.LabelField("Flags", SettingsStyles.ColumnHeaderStyle, SettingsLayoutOptions.FixedWidth150LayoutOptions); + GUILayout.Space(10); + EditorGUILayout.LabelField("Console Output", SettingsStyles.ColumnHeaderStyle, SettingsLayoutOptions.FixedWidth150LayoutOptions); + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + GUILayout.Label("Development", SettingsLayoutOptions.FixedWidth130LayoutOptions); + GUILayout.Space(10); SerializedProperty developmentLevelsProperty = settings.FindProperty("traceDevelopmentLevels"); EditorGUI.BeginChangeCheck(); ushort newDevelopmentLevels = (ushort)EditorGUILayout.MaskField(s_developmentLevelsContent, developmentLevelsProperty.intValue, - developmentLevelsProperty.enumDisplayNames); + developmentLevelsProperty.enumDisplayNames, SettingsLayoutOptions.FixedWidth150LayoutOptions); if (EditorGUI.EndChangeCheck()) { developmentLevelsProperty.intValue = newDevelopmentLevels; } + GUILayout.Space(10); + EditorGUILayout.PropertyField(settings.FindProperty("traceDevelopmentOutputToUnityConsole"), s_developmentConsoleOutput, SettingsLayoutOptions.FixedWidth150LayoutOptions); + EditorGUILayout.EndHorizontal(); + EditorGUILayout.BeginHorizontal(); + GUILayout.Label("Debug", SettingsLayoutOptions.FixedWidth130LayoutOptions); + GUILayout.Space(10); SerializedProperty debugLevelsProperty = settings.FindProperty("traceDebugLevels"); EditorGUI.BeginChangeCheck(); ushort newDebugLevels = (ushort)EditorGUILayout.MaskField(s_debugLevelsContent, debugLevelsProperty.intValue, - debugLevelsProperty.enumDisplayNames); + debugLevelsProperty.enumDisplayNames, SettingsLayoutOptions.FixedWidth150LayoutOptions); if (EditorGUI.EndChangeCheck()) { debugLevelsProperty.intValue = newDebugLevels; } + GUILayout.Space(10); + EditorGUILayout.PropertyField(settings.FindProperty("traceDebugOutputToUnityConsole"), + s_debugConsoleOutput, SettingsLayoutOptions.FixedWidth150LayoutOptions); + EditorGUILayout.EndHorizontal(); + EditorGUILayout.BeginHorizontal(); + GUILayout.Label("Release", SettingsLayoutOptions.FixedWidth130LayoutOptions); + GUILayout.Space(10); SerializedProperty releaseLevelsProperty = settings.FindProperty("traceReleaseLevels"); EditorGUI.BeginChangeCheck(); ushort newReleaseLevels = (ushort)EditorGUILayout.MaskField(s_releaseLevelsContent, releaseLevelsProperty.intValue, - releaseLevelsProperty.enumDisplayNames); + releaseLevelsProperty.enumDisplayNames,SettingsLayoutOptions.FixedWidth150LayoutOptions); if (EditorGUI.EndChangeCheck()) { releaseLevelsProperty.intValue = newReleaseLevels; } + EditorGUILayout.EndHorizontal(); } } } \ No newline at end of file diff --git a/GDX/Editor/ProjectSettings/EnvironmentSettings.cs.meta b/Editor/ProjectSettings/EnvironmentSettings.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/EnvironmentSettings.cs.meta rename to Editor/ProjectSettings/EnvironmentSettings.cs.meta diff --git a/GDX/Editor/ProjectSettings/LocaleSettings.cs b/Editor/ProjectSettings/LocaleSettings.cs similarity index 100% rename from GDX/Editor/ProjectSettings/LocaleSettings.cs rename to Editor/ProjectSettings/LocaleSettings.cs diff --git a/GDX/Editor/ProjectSettings/LocaleSettings.cs.meta b/Editor/ProjectSettings/LocaleSettings.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/LocaleSettings.cs.meta rename to Editor/ProjectSettings/LocaleSettings.cs.meta diff --git a/GDX/Editor/ProjectSettings/PackageStatusSection.cs b/Editor/ProjectSettings/PackageStatusSection.cs similarity index 95% rename from GDX/Editor/ProjectSettings/PackageStatusSection.cs rename to Editor/ProjectSettings/PackageStatusSection.cs index 5f09e286..622b156a 100644 --- a/GDX/Editor/ProjectSettings/PackageStatusSection.cs +++ b/Editor/ProjectSettings/PackageStatusSection.cs @@ -37,7 +37,7 @@ internal static void Draw() GUILayout.BeginHorizontal(); - GUILayout.Label("-", SettingsStyles.BulletLayoutOptions); + GUILayout.Label("-", SettingsLayoutOptions.BulletLayoutOptions); #if UNITY_2021_1_OR_NEWER if (EditorGUILayout.LinkButton("Repository")) #elif UNITY_2019_1_OR_NEWER @@ -54,7 +54,7 @@ internal static void Draw() GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); - GUILayout.Label("-", SettingsStyles.BulletLayoutOptions); + GUILayout.Label("-", SettingsLayoutOptions.BulletLayoutOptions); #if UNITY_2021_1_OR_NEWER if (EditorGUILayout.LinkButton("Documentation")) #elif UNITY_2019_1_OR_NEWER @@ -71,7 +71,7 @@ internal static void Draw() GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); - GUILayout.Label("-", SettingsStyles.BulletLayoutOptions); + GUILayout.Label("-", SettingsLayoutOptions.BulletLayoutOptions); #if UNITY_2021_1_OR_NEWER if (EditorGUILayout.LinkButton("Report an Issue")) #elif UNITY_2019_1_OR_NEWER diff --git a/GDX/Editor/ProjectSettings/PackageStatusSection.cs.meta b/Editor/ProjectSettings/PackageStatusSection.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/PackageStatusSection.cs.meta rename to Editor/ProjectSettings/PackageStatusSection.cs.meta diff --git a/GDX/Editor/ProjectSettings/SettingsGUIUtility.cs b/Editor/ProjectSettings/SettingsGUIUtility.cs similarity index 93% rename from GDX/Editor/ProjectSettings/SettingsGUIUtility.cs rename to Editor/ProjectSettings/SettingsGUIUtility.cs index 24dbb966..2938777c 100644 --- a/GDX/Editor/ProjectSettings/SettingsGUIUtility.cs +++ b/Editor/ProjectSettings/SettingsGUIUtility.cs @@ -47,7 +47,7 @@ public static bool CreateSettingsSection(string id, bool defaultVisibility, stri { // ReSharper disable once InvertIf if (GUILayout.Button(SettingsStyles.PlusIcon, SettingsStyles.SectionHeaderExpandButtonStyle, - SettingsStyles.SectionHeaderExpandLayoutOptions)) + SettingsLayoutOptions.SectionHeaderExpandLayoutOptions)) { GUIUtility.hotControl = 0; SetCachedEditorBoolean(id, true); @@ -57,7 +57,7 @@ public static bool CreateSettingsSection(string id, bool defaultVisibility, stri { // ReSharper disable once InvertIf if (GUILayout.Button(SettingsStyles.MinusIcon, SettingsStyles.SectionHeaderExpandButtonStyle, - SettingsStyles.SectionHeaderExpandLayoutOptions)) + SettingsLayoutOptions.SectionHeaderExpandLayoutOptions)) { GUIUtility.hotControl = 0; SetCachedEditorBoolean(id, false); @@ -91,7 +91,7 @@ public static bool CreateSettingsSection(string id, bool defaultVisibility, stri { // ReSharper disable once InvertIf if (GUILayout.Button(SettingsStyles.PlusIcon, SettingsStyles.SectionHeaderExpandButtonStyle, - SettingsStyles.SectionHeaderExpandLayoutOptions)) + SettingsLayoutOptions.SectionHeaderExpandLayoutOptions)) { GUIUtility.hotControl = 0; SetCachedEditorBoolean(id, true); @@ -101,7 +101,7 @@ public static bool CreateSettingsSection(string id, bool defaultVisibility, stri { // ReSharper disable once InvertIf if (GUILayout.Button(SettingsStyles.MinusIcon, SettingsStyles.SectionHeaderExpandButtonStyle, - SettingsStyles.SectionHeaderExpandLayoutOptions)) + SettingsLayoutOptions.SectionHeaderExpandLayoutOptions)) { GUIUtility.hotControl = 0; SetCachedEditorBoolean(id, false); @@ -120,7 +120,7 @@ public static bool CreateSettingsSection(string id, bool defaultVisibility, stri GUILayout.FlexibleSpace(); EditorGUILayout.PropertyField(sectionToggleProperty, sectionToggleContent, - SettingsStyles.SectionHeaderToggleLayoutOptions); + SettingsLayoutOptions.SectionHeaderToggleLayoutOptions); } else { @@ -131,7 +131,7 @@ public static bool CreateSettingsSection(string id, bool defaultVisibility, stri { // ReSharper disable once InvertIf if (GUILayout.Button(SettingsStyles.PlusIcon, SettingsStyles.SectionHeaderExpandButtonStyle, - SettingsStyles.SectionHeaderExpandLayoutOptions)) + SettingsLayoutOptions.SectionHeaderExpandLayoutOptions)) { GUIUtility.hotControl = 0; SetCachedEditorBoolean(id, true); @@ -141,7 +141,7 @@ public static bool CreateSettingsSection(string id, bool defaultVisibility, stri { // ReSharper disable once InvertIf if (GUILayout.Button(SettingsStyles.MinusIcon, SettingsStyles.SectionHeaderExpandButtonStyle, - SettingsStyles.SectionHeaderExpandLayoutOptions)) + SettingsLayoutOptions.SectionHeaderExpandLayoutOptions)) { GUIUtility.hotControl = 0; SetCachedEditorBoolean(id, false); @@ -161,7 +161,7 @@ public static bool CreateSettingsSection(string id, bool defaultVisibility, stri GUILayout.FlexibleSpace(); EditorGUILayout.PropertyField(sectionToggleProperty, sectionToggleContent, - SettingsStyles.SectionHeaderToggleLayoutOptions); + SettingsLayoutOptions.SectionHeaderToggleLayoutOptions); } GUILayout.EndHorizontal(); diff --git a/GDX/Editor/ProjectSettings/SettingsGUIUtility.cs.meta b/Editor/ProjectSettings/SettingsGUIUtility.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/SettingsGUIUtility.cs.meta rename to Editor/ProjectSettings/SettingsGUIUtility.cs.meta diff --git a/Editor/ProjectSettings/SettingsLayoutOptions.cs b/Editor/ProjectSettings/SettingsLayoutOptions.cs new file mode 100644 index 00000000..1b91f6b5 --- /dev/null +++ b/Editor/ProjectSettings/SettingsLayoutOptions.cs @@ -0,0 +1,49 @@ +// Copyright (c) 2020-2021 dotBunny Inc. +// dotBunny licenses this file to you under the BSL-1.0 license. +// See the LICENSE file in the project root for more information. + +using UnityEditor; +using UnityEngine; + +namespace GDX.Editor.ProjectSettings +{ + public class SettingsLayoutOptions + { + /// + /// A collection of layout parameters to use when rendering the expand button on section headers. + /// + public static readonly GUILayoutOption[] BulletLayoutOptions; + + /// + /// A specific max width (130) for layout options to allow for organized width layouts. + /// + public static readonly GUILayoutOption[] FixedWidth130LayoutOptions; + + /// + /// A specific max width (150) for layout options to allow for organized width layouts with a margin on the right. + /// + public static readonly GUILayoutOption[] FixedWidth150LayoutOptions; + + /// + /// A collection of layout parameters to use when rendering the expand button on section headers. + /// + public static readonly GUILayoutOption[] SectionHeaderExpandLayoutOptions; + + /// + /// A collection of layout parameters to use when rendering the toggle option on section headers. + /// + public static readonly GUILayoutOption[] SectionHeaderToggleLayoutOptions; + + static SettingsLayoutOptions() + { + BulletLayoutOptions = new[] {GUILayout.Width(10)}; + SectionHeaderToggleLayoutOptions = + new[] {GUILayout.Width(EditorStyles.toggle.CalcSize(GUIContent.none).x)}; + SectionHeaderExpandLayoutOptions = new[] {GUILayout.Width(25)}; + FixedWidth130LayoutOptions = + new[] {GUILayout.MaxWidth(130), GUILayout.MinWidth(130), GUILayout.Width(130)}; + FixedWidth150LayoutOptions = + new[] {GUILayout.MaxWidth(150), GUILayout.MinWidth(150), GUILayout.Width(150)}; + } + } +} \ No newline at end of file diff --git a/Editor/ProjectSettings/SettingsLayoutOptions.cs.meta b/Editor/ProjectSettings/SettingsLayoutOptions.cs.meta new file mode 100644 index 00000000..b2467598 --- /dev/null +++ b/Editor/ProjectSettings/SettingsLayoutOptions.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a315d7c52f5d46988c8f4eb64ee57df3 +timeCreated: 1630256580 \ No newline at end of file diff --git a/GDX/Editor/ProjectSettings/SettingsProvider.cs b/Editor/ProjectSettings/SettingsProvider.cs similarity index 100% rename from GDX/Editor/ProjectSettings/SettingsProvider.cs rename to Editor/ProjectSettings/SettingsProvider.cs diff --git a/GDX/Editor/ProjectSettings/SettingsProvider.cs.meta b/Editor/ProjectSettings/SettingsProvider.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/SettingsProvider.cs.meta rename to Editor/ProjectSettings/SettingsProvider.cs.meta diff --git a/GDX/Editor/ProjectSettings/SettingsStyles.cs b/Editor/ProjectSettings/SettingsStyles.cs similarity index 87% rename from GDX/Editor/ProjectSettings/SettingsStyles.cs rename to Editor/ProjectSettings/SettingsStyles.cs index 5c1454f1..eb7fb61d 100644 --- a/GDX/Editor/ProjectSettings/SettingsStyles.cs +++ b/Editor/ProjectSettings/SettingsStyles.cs @@ -13,11 +13,6 @@ namespace GDX.Editor.ProjectSettings [HideFromDocFX] public static class SettingsStyles { - /// - /// A collection of layout parameters to use when rendering the expand button on section headers. - /// - public static readonly GUILayoutOption[] BulletLayoutOptions; - /// /// A " /> representing a button. /// @@ -65,10 +60,9 @@ public static class SettingsStyles public static readonly GUIStyle TableRowStyle; /// - /// A specific max width (130) for layout options to allow for organized width layouts. + /// A style for column headers. /// - public static readonly GUILayoutOption[] FixedWidth130LayoutOptions; - + public static readonly GUIStyle ColumnHeaderStyle; public static readonly GUIStyle CombinedFoldoutStyle; @@ -87,16 +81,6 @@ public static class SettingsStyles /// public static readonly GUIStyle SectionHeaderExpandButtonStyle; - /// - /// A collection of layout parameters to use when rendering the expand button on section headers. - /// - public static readonly GUILayoutOption[] SectionHeaderExpandLayoutOptions; - - /// - /// A collection of layout parameters to use when rendering the toggle option on section headers. - /// - public static readonly GUILayoutOption[] SectionHeaderToggleLayoutOptions; - /// /// A representing the header of a sub section definition. /// @@ -208,6 +192,8 @@ static SettingsStyles() //padding = { right = 0 } }; + ColumnHeaderStyle = new GUIStyle("label") { fontStyle = FontStyle.Italic }; + // Section Headers SectionHeaderStyle = new GUIStyle("box") {margin = {left = -20}}; @@ -218,14 +204,8 @@ static SettingsStyles() SectionHeaderTextDisabledStyle = new GUIStyle(SectionHeaderTextDefaultStyle) {normal = {textColor = s_whiteBlend25Color}}; - SectionHeaderToggleLayoutOptions = - new[] {GUILayout.Width(EditorStyles.toggle.CalcSize(GUIContent.none).x)}; - SectionHeaderExpandButtonStyle = new GUIStyle("button") {fontStyle = FontStyle.Bold}; - SectionHeaderExpandLayoutOptions = new[] {GUILayout.Width(25)}; - BulletLayoutOptions = new[] {GUILayout.Width(10)}; - SubSectionHeaderTextStyle = new GUIStyle(EditorStyles.largeLabel) { fontStyle = FontStyle.Bold, fontSize = EditorStyles.largeLabel.fontSize - 1, margin = {left = 2} @@ -233,9 +213,6 @@ static SettingsStyles() WordWrappedLabelStyle = new GUIStyle("label") {wordWrap = true}; HelpButtonStyle = new GUIStyle("IconButton") {margin = {top = 5}}; - - FixedWidth130LayoutOptions = - new[] {GUILayout.MaxWidth(130), GUILayout.MinWidth(130), GUILayout.Width(130)}; } } } \ No newline at end of file diff --git a/GDX/Editor/ProjectSettings/SettingsStyles.cs.meta b/Editor/ProjectSettings/SettingsStyles.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/SettingsStyles.cs.meta rename to Editor/ProjectSettings/SettingsStyles.cs.meta diff --git a/GDX/Editor/ProjectSettings/VisualScriptingSettings.cs b/Editor/ProjectSettings/VisualScriptingSettings.cs similarity index 99% rename from GDX/Editor/ProjectSettings/VisualScriptingSettings.cs rename to Editor/ProjectSettings/VisualScriptingSettings.cs index 0cf89510..2518efab 100644 --- a/GDX/Editor/ProjectSettings/VisualScriptingSettings.cs +++ b/Editor/ProjectSettings/VisualScriptingSettings.cs @@ -199,7 +199,7 @@ private static void DrawNodeSection(string category, GUIContent description, Lis SettingsStyles.CombinedFoldoutStyle); SettingsGUIUtility.SetCachedEditorBoolean(foldoutID, sectionFoldout); - GUILayout.Label(category, EditorStyles.boldLabel, SettingsStyles.FixedWidth130LayoutOptions); + GUILayout.Label(category, EditorStyles.boldLabel, SettingsLayoutOptions.FixedWidth130LayoutOptions); GUILayout.BeginVertical(); GUILayout.Label(description, SettingsStyles.WordWrappedLabelStyle); @@ -243,7 +243,7 @@ private static void DrawNodeSection(string category, GUIContent description, Lis GUILayout.EndVertical(); bool hasAllTypes = HasAllTypesInConfiguration(types); - bool changed = GUILayout.Toggle(hasAllTypes, "", SettingsStyles.SectionHeaderToggleLayoutOptions); + bool changed = GUILayout.Toggle(hasAllTypes, "", SettingsLayoutOptions.SectionHeaderToggleLayoutOptions); // A change has occured if (changed != hasAllTypes) diff --git a/GDX/Editor/ProjectSettings/VisualScriptingSettings.cs.meta b/Editor/ProjectSettings/VisualScriptingSettings.cs.meta similarity index 100% rename from GDX/Editor/ProjectSettings/VisualScriptingSettings.cs.meta rename to Editor/ProjectSettings/VisualScriptingSettings.cs.meta diff --git a/GDX/Editor/PropertyDrawers.meta b/Editor/PropertyDrawers.meta similarity index 100% rename from GDX/Editor/PropertyDrawers.meta rename to Editor/PropertyDrawers.meta diff --git a/GDX/Editor/PropertyDrawers/DisableInInspectorAttributePropertyDrawer.cs b/Editor/PropertyDrawers/DisableInInspectorAttributePropertyDrawer.cs similarity index 100% rename from GDX/Editor/PropertyDrawers/DisableInInspectorAttributePropertyDrawer.cs rename to Editor/PropertyDrawers/DisableInInspectorAttributePropertyDrawer.cs diff --git a/GDX/Editor/PropertyDrawers/DisableInInspectorAttributePropertyDrawer.cs.meta b/Editor/PropertyDrawers/DisableInInspectorAttributePropertyDrawer.cs.meta similarity index 100% rename from GDX/Editor/PropertyDrawers/DisableInInspectorAttributePropertyDrawer.cs.meta rename to Editor/PropertyDrawers/DisableInInspectorAttributePropertyDrawer.cs.meta diff --git a/GDX/Editor/PropertyDrawers/SerializedDictionaryPropertyDrawer.cs b/Editor/PropertyDrawers/SerializedDictionaryPropertyDrawer.cs similarity index 100% rename from GDX/Editor/PropertyDrawers/SerializedDictionaryPropertyDrawer.cs rename to Editor/PropertyDrawers/SerializedDictionaryPropertyDrawer.cs diff --git a/GDX/Editor/PropertyDrawers/SerializedDictionaryPropertyDrawer.cs.meta b/Editor/PropertyDrawers/SerializedDictionaryPropertyDrawer.cs.meta similarity index 100% rename from GDX/Editor/PropertyDrawers/SerializedDictionaryPropertyDrawer.cs.meta rename to Editor/PropertyDrawers/SerializedDictionaryPropertyDrawer.cs.meta diff --git a/GDX/Editor/UpdateProvider.cs b/Editor/UpdateProvider.cs similarity index 100% rename from GDX/Editor/UpdateProvider.cs rename to Editor/UpdateProvider.cs diff --git a/GDX/Editor/UpdateProvider.cs.meta b/Editor/UpdateProvider.cs.meta similarity index 100% rename from GDX/Editor/UpdateProvider.cs.meta rename to Editor/UpdateProvider.cs.meta diff --git a/GDX/Editor/VersionControl.cs b/Editor/VersionControl.cs similarity index 100% rename from GDX/Editor/VersionControl.cs rename to Editor/VersionControl.cs diff --git a/GDX/Editor/VersionControl.cs.meta b/Editor/VersionControl.cs.meta similarity index 100% rename from GDX/Editor/VersionControl.cs.meta rename to Editor/VersionControl.cs.meta diff --git a/GDX.meta b/GDX.meta deleted file mode 100644 index 874fc493..00000000 --- a/GDX.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0c6949db31860e146921b7dae0f69453 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/GDX/Runtime.meta b/Runtime.meta similarity index 100% rename from GDX/Runtime.meta rename to Runtime.meta diff --git a/GDX/Runtime/AddressablesExtensions.cs b/Runtime/AddressablesExtensions.cs similarity index 99% rename from GDX/Runtime/AddressablesExtensions.cs rename to Runtime/AddressablesExtensions.cs index 3fbfe5b9..82619247 100644 --- a/GDX/Runtime/AddressablesExtensions.cs +++ b/Runtime/AddressablesExtensions.cs @@ -22,7 +22,7 @@ namespace GDX /// Requires UnityEngine.CoreModule.dll to function correctly. /// Requires com.unity.addressables Package. /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class AddressablesExtensions { /// diff --git a/GDX/Runtime/AddressablesExtensions.cs.meta b/Runtime/AddressablesExtensions.cs.meta similarity index 100% rename from GDX/Runtime/AddressablesExtensions.cs.meta rename to Runtime/AddressablesExtensions.cs.meta diff --git a/Runtime/Array2DExtensions.cs b/Runtime/Array2DExtensions.cs new file mode 100644 index 00000000..c5c8a5ce --- /dev/null +++ b/Runtime/Array2DExtensions.cs @@ -0,0 +1,62 @@ +// Copyright (c) 2020-2021 dotBunny Inc. +// dotBunny licenses this file to you under the BSL-1.0 license. +// See the LICENSE file in the project root for more information. + +using GDX.Collections.Generic; +#if GDX_MATHEMATICS +using Unity.Mathematics; +#else +using UnityEngine; +#endif + +namespace GDX +{ + /// + /// Array2D Based Extension Methods + /// + [VisualScriptingCompatible(2)] + public static class Array2DExtensions + { + /// + /// Generate an array scaled by bilinear interpolation. + /// + /// Works with values. + /// The existing to scale. + /// The multiple to scale by. + public static Array2D Scale(this Array2D inputArray, int scaleFactor = 2) + { + int originalRowsMinusOne = inputArray.RowCount - 1; + int originalColsMinusOne = inputArray.ColumnCount - 1; + + int newRows = inputArray.RowCount * scaleFactor; + int newCols = inputArray.ColumnCount * scaleFactor; + + Array2D returnArray = new Array2D(inputArray.RowCount * scaleFactor, + inputArray.ColumnCount * scaleFactor); + + for (int x = 0; x < newCols; x++) + for (int y = 0; y < newRows; y++) + { + float gx = (float)x / newCols * originalColsMinusOne; + float gy = (float)y / newCols * originalRowsMinusOne; + int gxi = (int)gx; + int gyi = (int)gy; + + float c00 = inputArray[gxi, gyi]; + float c10 = inputArray[gxi + 1, gyi]; + float c01 = inputArray[gxi, gyi + 1]; + float c11 = inputArray[gxi + 1, gyi + 1]; + + float tx = gx - gxi; + float ty = gy - gyi; +#if GDX_MATHEMATICS + returnArray[x, y] = math.lerp(math.lerp(c00, c10, tx), math.lerp(c01, c11, tx), ty); +#else + returnArray[x, y] = Mathf.Lerp(Mathf.Lerp(c00, c10, tx), Mathf.Lerp(c01, c11, tx), ty); +#endif + } + + return returnArray; + } + } +} \ No newline at end of file diff --git a/GDX/Runtime/StringExtensions.cs.meta b/Runtime/Array2DExtensions.cs.meta similarity index 83% rename from GDX/Runtime/StringExtensions.cs.meta rename to Runtime/Array2DExtensions.cs.meta index d103560a..8e8eb3b3 100644 --- a/GDX/Runtime/StringExtensions.cs.meta +++ b/Runtime/Array2DExtensions.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: dbf33f5628829714ea0e13186f773546 +guid: 4af681bb4bac4dd1aacf017420b90dbe MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/GDX/Runtime/ArrayExtensions.cs b/Runtime/ArrayExtensions.cs similarity index 99% rename from GDX/Runtime/ArrayExtensions.cs rename to Runtime/ArrayExtensions.cs index ab40ba16..cf1427e3 100644 --- a/GDX/Runtime/ArrayExtensions.cs +++ b/Runtime/ArrayExtensions.cs @@ -10,7 +10,7 @@ namespace GDX /// /// Array Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class ArrayExtensions { /// diff --git a/GDX/Runtime/ArrayExtensions.cs.meta b/Runtime/ArrayExtensions.cs.meta similarity index 100% rename from GDX/Runtime/ArrayExtensions.cs.meta rename to Runtime/ArrayExtensions.cs.meta diff --git a/GDX/Runtime/AssemblyInfo.cs b/Runtime/AssemblyInfo.cs similarity index 100% rename from GDX/Runtime/AssemblyInfo.cs rename to Runtime/AssemblyInfo.cs diff --git a/GDX/Runtime/AssemblyInfo.cs.meta b/Runtime/AssemblyInfo.cs.meta similarity index 100% rename from GDX/Runtime/AssemblyInfo.cs.meta rename to Runtime/AssemblyInfo.cs.meta diff --git a/GDX/Runtime/BoxColliderExtensions.cs b/Runtime/BoxColliderExtensions.cs similarity index 97% rename from GDX/Runtime/BoxColliderExtensions.cs rename to Runtime/BoxColliderExtensions.cs index 38ef9051..25ec355f 100644 --- a/GDX/Runtime/BoxColliderExtensions.cs +++ b/Runtime/BoxColliderExtensions.cs @@ -9,7 +9,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class BoxColliderExtensions { /// diff --git a/GDX/Runtime/BoxColliderExtensions.cs.meta b/Runtime/BoxColliderExtensions.cs.meta similarity index 100% rename from GDX/Runtime/BoxColliderExtensions.cs.meta rename to Runtime/BoxColliderExtensions.cs.meta diff --git a/GDX/Runtime/ByteExtensions.cs b/Runtime/ByteExtensions.cs similarity index 98% rename from GDX/Runtime/ByteExtensions.cs rename to Runtime/ByteExtensions.cs index aecb45c4..64a36fe0 100644 --- a/GDX/Runtime/ByteExtensions.cs +++ b/Runtime/ByteExtensions.cs @@ -7,7 +7,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class ByteExtensions { /// diff --git a/GDX/Runtime/ByteExtensions.cs.meta b/Runtime/ByteExtensions.cs.meta similarity index 100% rename from GDX/Runtime/ByteExtensions.cs.meta rename to Runtime/ByteExtensions.cs.meta diff --git a/GDX/Runtime/CapsuleColliderExtensions.cs b/Runtime/CapsuleColliderExtensions.cs similarity index 98% rename from GDX/Runtime/CapsuleColliderExtensions.cs rename to Runtime/CapsuleColliderExtensions.cs index 84b6fe40..add05856 100644 --- a/GDX/Runtime/CapsuleColliderExtensions.cs +++ b/Runtime/CapsuleColliderExtensions.cs @@ -10,7 +10,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class CapsuleColliderExtensions { /// diff --git a/GDX/Runtime/CapsuleColliderExtensions.cs.meta b/Runtime/CapsuleColliderExtensions.cs.meta similarity index 100% rename from GDX/Runtime/CapsuleColliderExtensions.cs.meta rename to Runtime/CapsuleColliderExtensions.cs.meta diff --git a/GDX/Runtime/Collections.meta b/Runtime/Collections.meta similarity index 100% rename from GDX/Runtime/Collections.meta rename to Runtime/Collections.meta diff --git a/GDX/Runtime/Collections/BitArray128.cs b/Runtime/Collections/BitArray128.cs similarity index 100% rename from GDX/Runtime/Collections/BitArray128.cs rename to Runtime/Collections/BitArray128.cs diff --git a/GDX/Runtime/Collections/BitArray128.cs.meta b/Runtime/Collections/BitArray128.cs.meta similarity index 100% rename from GDX/Runtime/Collections/BitArray128.cs.meta rename to Runtime/Collections/BitArray128.cs.meta diff --git a/GDX/Runtime/Collections/BitArray16.cs b/Runtime/Collections/BitArray16.cs similarity index 100% rename from GDX/Runtime/Collections/BitArray16.cs rename to Runtime/Collections/BitArray16.cs diff --git a/GDX/Runtime/Collections/BitArray16.cs.meta b/Runtime/Collections/BitArray16.cs.meta similarity index 100% rename from GDX/Runtime/Collections/BitArray16.cs.meta rename to Runtime/Collections/BitArray16.cs.meta diff --git a/GDX/Runtime/Collections/BitArray256.cs b/Runtime/Collections/BitArray256.cs similarity index 100% rename from GDX/Runtime/Collections/BitArray256.cs rename to Runtime/Collections/BitArray256.cs diff --git a/GDX/Runtime/Collections/BitArray256.cs.meta b/Runtime/Collections/BitArray256.cs.meta similarity index 100% rename from GDX/Runtime/Collections/BitArray256.cs.meta rename to Runtime/Collections/BitArray256.cs.meta diff --git a/GDX/Runtime/Collections/BitArray32.cs b/Runtime/Collections/BitArray32.cs similarity index 100% rename from GDX/Runtime/Collections/BitArray32.cs rename to Runtime/Collections/BitArray32.cs diff --git a/GDX/Runtime/Collections/BitArray32.cs.meta b/Runtime/Collections/BitArray32.cs.meta similarity index 100% rename from GDX/Runtime/Collections/BitArray32.cs.meta rename to Runtime/Collections/BitArray32.cs.meta diff --git a/GDX/Runtime/Collections/BitArray512.cs b/Runtime/Collections/BitArray512.cs similarity index 100% rename from GDX/Runtime/Collections/BitArray512.cs rename to Runtime/Collections/BitArray512.cs diff --git a/GDX/Runtime/Collections/BitArray512.cs.meta b/Runtime/Collections/BitArray512.cs.meta similarity index 100% rename from GDX/Runtime/Collections/BitArray512.cs.meta rename to Runtime/Collections/BitArray512.cs.meta diff --git a/GDX/Runtime/Collections/BitArray64.cs b/Runtime/Collections/BitArray64.cs similarity index 100% rename from GDX/Runtime/Collections/BitArray64.cs rename to Runtime/Collections/BitArray64.cs diff --git a/GDX/Runtime/Collections/BitArray64.cs.meta b/Runtime/Collections/BitArray64.cs.meta similarity index 100% rename from GDX/Runtime/Collections/BitArray64.cs.meta rename to Runtime/Collections/BitArray64.cs.meta diff --git a/GDX/Runtime/Collections/BitArray8.cs b/Runtime/Collections/BitArray8.cs similarity index 100% rename from GDX/Runtime/Collections/BitArray8.cs rename to Runtime/Collections/BitArray8.cs diff --git a/GDX/Runtime/Collections/BitArray8.cs.meta b/Runtime/Collections/BitArray8.cs.meta similarity index 100% rename from GDX/Runtime/Collections/BitArray8.cs.meta rename to Runtime/Collections/BitArray8.cs.meta diff --git a/GDX/Runtime/Collections/FreeList.cs b/Runtime/Collections/FreeList.cs similarity index 100% rename from GDX/Runtime/Collections/FreeList.cs rename to Runtime/Collections/FreeList.cs diff --git a/GDX/Runtime/Collections/FreeList.cs.meta b/Runtime/Collections/FreeList.cs.meta similarity index 100% rename from GDX/Runtime/Collections/FreeList.cs.meta rename to Runtime/Collections/FreeList.cs.meta diff --git a/GDX/Runtime/Collections/Generic.meta b/Runtime/Collections/Generic.meta similarity index 100% rename from GDX/Runtime/Collections/Generic.meta rename to Runtime/Collections/Generic.meta diff --git a/GDX/Runtime/Collections/Generic/Array2D.cs b/Runtime/Collections/Generic/Array2D.cs similarity index 91% rename from GDX/Runtime/Collections/Generic/Array2D.cs rename to Runtime/Collections/Generic/Array2D.cs index 6ac37221..abf1f035 100644 --- a/GDX/Runtime/Collections/Generic/Array2D.cs +++ b/Runtime/Collections/Generic/Array2D.cs @@ -108,6 +108,28 @@ public void AddColumns(int numberOfNewColumns) ColumnCount = newLengthOfArrays; } + /// + /// Get the column index of the provided . + /// + /// A valid index contained within . + /// The column index. + public int GetColumnIndex(int index) + { + int leftOvers = index % ColumnCount; + return leftOvers; + } + + /// + /// Get the row index of the provided . + /// + /// A valid index contained within . + /// The row index. + public int GetRowIndex(int index) + { + int leftOvers = index % ColumnCount; + return (index - leftOvers) / ColumnCount; + } + /// /// Reverse the order of the columns in the backing . /// @@ -218,7 +240,6 @@ public void RotateCounterClockwise() Array = newArray; } - /// /// Creates a copy of the internal array as a traditional multi-dimensional array. /// diff --git a/GDX/Runtime/Collections/Generic/Array2D.cs.meta b/Runtime/Collections/Generic/Array2D.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Generic/Array2D.cs.meta rename to Runtime/Collections/Generic/Array2D.cs.meta diff --git a/GDX/Runtime/Collections/Generic/CircularBuffer.cs b/Runtime/Collections/Generic/CircularBuffer.cs similarity index 100% rename from GDX/Runtime/Collections/Generic/CircularBuffer.cs rename to Runtime/Collections/Generic/CircularBuffer.cs diff --git a/GDX/Runtime/Collections/Generic/CircularBuffer.cs.meta b/Runtime/Collections/Generic/CircularBuffer.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Generic/CircularBuffer.cs.meta rename to Runtime/Collections/Generic/CircularBuffer.cs.meta diff --git a/GDX/Runtime/Collections/Generic/NativeArray2D.cs b/Runtime/Collections/Generic/NativeArray2D.cs similarity index 100% rename from GDX/Runtime/Collections/Generic/NativeArray2D.cs rename to Runtime/Collections/Generic/NativeArray2D.cs diff --git a/GDX/Runtime/Collections/Generic/NativeArray2D.cs.meta b/Runtime/Collections/Generic/NativeArray2D.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Generic/NativeArray2D.cs.meta rename to Runtime/Collections/Generic/NativeArray2D.cs.meta diff --git a/GDX/Runtime/Collections/Generic/NativeSimpleList.cs b/Runtime/Collections/Generic/NativeSimpleList.cs similarity index 100% rename from GDX/Runtime/Collections/Generic/NativeSimpleList.cs rename to Runtime/Collections/Generic/NativeSimpleList.cs diff --git a/GDX/Runtime/Collections/Generic/NativeSimpleList.cs.meta b/Runtime/Collections/Generic/NativeSimpleList.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Generic/NativeSimpleList.cs.meta rename to Runtime/Collections/Generic/NativeSimpleList.cs.meta diff --git a/GDX/Runtime/Collections/Generic/NativeSimpleQueue.cs b/Runtime/Collections/Generic/NativeSimpleQueue.cs similarity index 100% rename from GDX/Runtime/Collections/Generic/NativeSimpleQueue.cs rename to Runtime/Collections/Generic/NativeSimpleQueue.cs diff --git a/GDX/Runtime/Collections/Generic/NativeSimpleQueue.cs.meta b/Runtime/Collections/Generic/NativeSimpleQueue.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Generic/NativeSimpleQueue.cs.meta rename to Runtime/Collections/Generic/NativeSimpleQueue.cs.meta diff --git a/GDX/Runtime/Collections/Generic/NativeUniformArray3D.cs b/Runtime/Collections/Generic/NativeUniformArray3D.cs similarity index 100% rename from GDX/Runtime/Collections/Generic/NativeUniformArray3D.cs rename to Runtime/Collections/Generic/NativeUniformArray3D.cs diff --git a/GDX/Runtime/Collections/Generic/NativeUniformArray3D.cs.meta b/Runtime/Collections/Generic/NativeUniformArray3D.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Generic/NativeUniformArray3D.cs.meta rename to Runtime/Collections/Generic/NativeUniformArray3D.cs.meta diff --git a/GDX/Runtime/Collections/Generic/SerializableDictionary.cs b/Runtime/Collections/Generic/SerializableDictionary.cs similarity index 100% rename from GDX/Runtime/Collections/Generic/SerializableDictionary.cs rename to Runtime/Collections/Generic/SerializableDictionary.cs diff --git a/GDX/Runtime/Collections/Generic/SerializableDictionary.cs.meta b/Runtime/Collections/Generic/SerializableDictionary.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Generic/SerializableDictionary.cs.meta rename to Runtime/Collections/Generic/SerializableDictionary.cs.meta diff --git a/GDX/Runtime/Collections/Generic/SimpleList.cs b/Runtime/Collections/Generic/SimpleList.cs similarity index 100% rename from GDX/Runtime/Collections/Generic/SimpleList.cs rename to Runtime/Collections/Generic/SimpleList.cs diff --git a/GDX/Runtime/Collections/Generic/SimpleList.cs.meta b/Runtime/Collections/Generic/SimpleList.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Generic/SimpleList.cs.meta rename to Runtime/Collections/Generic/SimpleList.cs.meta diff --git a/GDX/Runtime/Collections/NativeSparseSet.cs b/Runtime/Collections/NativeSparseSet.cs similarity index 92% rename from GDX/Runtime/Collections/NativeSparseSet.cs rename to Runtime/Collections/NativeSparseSet.cs index b3b34641..f37304fa 100644 --- a/GDX/Runtime/Collections/NativeSparseSet.cs +++ b/Runtime/Collections/NativeSparseSet.cs @@ -739,5 +739,62 @@ public void Expand(int extraCapacity, ref NativeArray versionArray, Alloc SparseArray[i] = i + 1; // Build the free list chain. } } + + public void Reserve(int numberToReserve, Allocator allocator, NativeArrayOptions nativeArrayOptions) + { + int currentCapacity = SparseArray.Length; + int currentCount = Count; + int newCount = currentCount + numberToReserve; + + if (newCount > currentCapacity) + { + NativeArray newSparseArray = new NativeArray(newCount, allocator, nativeArrayOptions); + NativeSlice newSparseArraySlice = new NativeSlice(newSparseArray, 0, currentCapacity); + newSparseArraySlice.CopyFrom(SparseArray); + SparseArray = newSparseArray; + + NativeArray newDenseArray = new NativeArray(newCount, allocator, nativeArrayOptions); + NativeSlice newDenseArraySlice = new NativeSlice(newDenseArray, 0, currentCapacity); + newDenseArraySlice.CopyFrom(DenseArray); + DenseArray = newDenseArray; + + for (int i = currentCapacity; i < newCount; i++) + { + DenseArray[i] = -1; // Set new dense indices as unclaimed. + SparseArray[i] = i + 1; // Build the free list chain. + } + } + } + + public void Reserve(int numberToReserve, ref NativeArray versionArray, Allocator allocator, NativeArrayOptions nativeArrayOptions) + { + int currentCapacity = SparseArray.Length; + int currentCount = Count; + int newCount = currentCount + numberToReserve; + + if (newCount > currentCapacity) + { + NativeArray newSparseArray = new NativeArray(newCount, allocator, nativeArrayOptions); + NativeSlice newSparseArraySlice = new NativeSlice(newSparseArray, 0, currentCapacity); + newSparseArraySlice.CopyFrom(SparseArray); + SparseArray = newSparseArray; + + NativeArray newDenseArray = new NativeArray(newCount, allocator, nativeArrayOptions); + NativeSlice newDenseArraySlice = new NativeSlice(newDenseArray, 0, currentCapacity); + newDenseArraySlice.CopyFrom(DenseArray); + DenseArray = newDenseArray; + + NativeArray newVersionArray = new NativeArray(newCount, allocator, nativeArrayOptions); + NativeSlice newVersionArraySlice = new NativeSlice(newVersionArray, 0, currentCapacity); + newVersionArraySlice.CopyFrom(versionArray); + versionArray = newVersionArray; + + for (int i = currentCapacity; i < newCount; i++) + { + DenseArray[i] = -1; // Set new dense indices as unclaimed. + SparseArray[i] = i + 1; // Build the free list chain. + } + } + } } } \ No newline at end of file diff --git a/GDX/Runtime/Collections/NativeSparseSet.cs.meta b/Runtime/Collections/NativeSparseSet.cs.meta similarity index 100% rename from GDX/Runtime/Collections/NativeSparseSet.cs.meta rename to Runtime/Collections/NativeSparseSet.cs.meta diff --git a/GDX/Runtime/Collections/Pooling.meta b/Runtime/Collections/Pooling.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling.meta rename to Runtime/Collections/Pooling.meta diff --git a/GDX/Runtime/Collections/Pooling/ArrayPool.cs b/Runtime/Collections/Pooling/ArrayPool.cs similarity index 95% rename from GDX/Runtime/Collections/Pooling/ArrayPool.cs rename to Runtime/Collections/Pooling/ArrayPool.cs index 70ae8a23..a7859c3b 100644 --- a/GDX/Runtime/Collections/Pooling/ArrayPool.cs +++ b/Runtime/Collections/Pooling/ArrayPool.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System.Runtime.InteropServices; +using GDX.Mathematics; namespace GDX.Collections.Pooling { @@ -119,11 +120,4 @@ public void Return(T[] array) ArrayPools[index] = arrayPool; } } - - [StructLayout(LayoutKind.Explicit)] - public struct LongDoubleConversionUnion - { - [FieldOffset(0)] public long longValue; - [FieldOffset(0)] public double doubleValue; - } } \ No newline at end of file diff --git a/GDX/Runtime/Collections/Pooling/ArrayPool.cs.meta b/Runtime/Collections/Pooling/ArrayPool.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling/ArrayPool.cs.meta rename to Runtime/Collections/Pooling/ArrayPool.cs.meta diff --git a/GDX/Runtime/Collections/Pooling/GameObjectPool.cs b/Runtime/Collections/Pooling/GameObjectPool.cs similarity index 100% rename from GDX/Runtime/Collections/Pooling/GameObjectPool.cs rename to Runtime/Collections/Pooling/GameObjectPool.cs diff --git a/GDX/Runtime/Collections/Pooling/GameObjectPool.cs.meta b/Runtime/Collections/Pooling/GameObjectPool.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling/GameObjectPool.cs.meta rename to Runtime/Collections/Pooling/GameObjectPool.cs.meta diff --git a/GDX/Runtime/Collections/Pooling/IGameObjectPoolItem.cs b/Runtime/Collections/Pooling/IGameObjectPoolItem.cs similarity index 100% rename from GDX/Runtime/Collections/Pooling/IGameObjectPoolItem.cs rename to Runtime/Collections/Pooling/IGameObjectPoolItem.cs diff --git a/GDX/Runtime/Collections/Pooling/IGameObjectPoolItem.cs.meta b/Runtime/Collections/Pooling/IGameObjectPoolItem.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling/IGameObjectPoolItem.cs.meta rename to Runtime/Collections/Pooling/IGameObjectPoolItem.cs.meta diff --git a/GDX/Runtime/Collections/Pooling/IManagedPool.cs b/Runtime/Collections/Pooling/IManagedPool.cs similarity index 100% rename from GDX/Runtime/Collections/Pooling/IManagedPool.cs rename to Runtime/Collections/Pooling/IManagedPool.cs diff --git a/GDX/Runtime/Collections/Pooling/IManagedPool.cs.meta b/Runtime/Collections/Pooling/IManagedPool.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling/IManagedPool.cs.meta rename to Runtime/Collections/Pooling/IManagedPool.cs.meta diff --git a/GDX/Runtime/Collections/Pooling/JaggedArrayWithCount.cs b/Runtime/Collections/Pooling/JaggedArrayWithCount.cs similarity index 100% rename from GDX/Runtime/Collections/Pooling/JaggedArrayWithCount.cs rename to Runtime/Collections/Pooling/JaggedArrayWithCount.cs diff --git a/GDX/Runtime/Collections/Pooling/JaggedArrayWithCount.cs.meta b/Runtime/Collections/Pooling/JaggedArrayWithCount.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling/JaggedArrayWithCount.cs.meta rename to Runtime/Collections/Pooling/JaggedArrayWithCount.cs.meta diff --git a/GDX/Runtime/Collections/Pooling/ListManagedPool.cs b/Runtime/Collections/Pooling/ListManagedPool.cs similarity index 100% rename from GDX/Runtime/Collections/Pooling/ListManagedPool.cs rename to Runtime/Collections/Pooling/ListManagedPool.cs diff --git a/GDX/Runtime/Collections/Pooling/ListManagedPool.cs.meta b/Runtime/Collections/Pooling/ListManagedPool.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling/ListManagedPool.cs.meta rename to Runtime/Collections/Pooling/ListManagedPool.cs.meta diff --git a/GDX/Runtime/Collections/Pooling/ManagedPoolBuilder.cs b/Runtime/Collections/Pooling/ManagedPoolBuilder.cs similarity index 100% rename from GDX/Runtime/Collections/Pooling/ManagedPoolBuilder.cs rename to Runtime/Collections/Pooling/ManagedPoolBuilder.cs diff --git a/GDX/Runtime/Collections/Pooling/ManagedPoolBuilder.cs.meta b/Runtime/Collections/Pooling/ManagedPoolBuilder.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling/ManagedPoolBuilder.cs.meta rename to Runtime/Collections/Pooling/ManagedPoolBuilder.cs.meta diff --git a/GDX/Runtime/Collections/Pooling/ManagedPools.cs b/Runtime/Collections/Pooling/ManagedPools.cs similarity index 100% rename from GDX/Runtime/Collections/Pooling/ManagedPools.cs rename to Runtime/Collections/Pooling/ManagedPools.cs diff --git a/GDX/Runtime/Collections/Pooling/ManagedPools.cs.meta b/Runtime/Collections/Pooling/ManagedPools.cs.meta similarity index 100% rename from GDX/Runtime/Collections/Pooling/ManagedPools.cs.meta rename to Runtime/Collections/Pooling/ManagedPools.cs.meta diff --git a/GDX/Runtime/Collections/SparseSet.cs b/Runtime/Collections/SparseSet.cs similarity index 97% rename from GDX/Runtime/Collections/SparseSet.cs rename to Runtime/Collections/SparseSet.cs index 6d02f85d..e723d049 100644 --- a/GDX/Runtime/Collections/SparseSet.cs +++ b/Runtime/Collections/SparseSet.cs @@ -719,6 +719,58 @@ public void Expand(int extraCapacity, ref ulong[] versionArray) } } + public void Reserve(int numberToReserve) + { + int currentCapacity = SparseArray.Length; + int currentCount = Count; + int newCount = currentCount + numberToReserve; + + if (newCount > currentCapacity) + { + int[] newSparseArray = new int[newCount]; + Array.Copy(SparseArray, 0, newSparseArray, 0, currentCapacity); + SparseArray = newSparseArray; + + int[] newDenseArray = new int[newCount]; + Array.Copy(DenseArray, 0, newDenseArray, 0, currentCapacity); + DenseArray = newDenseArray; + + for (int i = currentCapacity; i < newCount; i++) + { + DenseArray[i] = -1; // Set new dense indices as unclaimed. + SparseArray[i] = i + 1; // Build the free list chain. + } + } + } + + public void Reserve(int numberToReserve, ref ulong[] versionArray) + { + int currentCapacity = SparseArray.Length; + int currentCount = Count; + int newCount = currentCount + numberToReserve; + + if (newCount > currentCapacity) + { + int[] newSparseArray = new int[newCount]; + Array.Copy(SparseArray, 0, newSparseArray, 0, currentCapacity); + SparseArray = newSparseArray; + + int[] newDenseArray = new int[newCount]; + Array.Copy(DenseArray, 0, newDenseArray, 0, currentCapacity); + DenseArray = newDenseArray; + + ulong[] newVersionArray = new ulong[newCount]; + Array.Copy(versionArray, 0, newVersionArray, 0, currentCapacity); + versionArray = newVersionArray; + + for (int i = currentCapacity; i < newCount; i++) + { + DenseArray[i] = -1; // Set new dense indices as unclaimed. + SparseArray[i] = i + 1; // Build the free list chain. + } + } + } + #region Parallel array method duplicates /// diff --git a/GDX/Runtime/Collections/SparseSet.cs.meta b/Runtime/Collections/SparseSet.cs.meta similarity index 100% rename from GDX/Runtime/Collections/SparseSet.cs.meta rename to Runtime/Collections/SparseSet.cs.meta diff --git a/GDX/Runtime/Developer.meta b/Runtime/Developer.meta similarity index 100% rename from GDX/Runtime/Developer.meta rename to Runtime/Developer.meta diff --git a/GDX/Runtime/Developer/CommandLineParser.cs b/Runtime/Developer/CommandLineParser.cs similarity index 100% rename from GDX/Runtime/Developer/CommandLineParser.cs rename to Runtime/Developer/CommandLineParser.cs diff --git a/GDX/Runtime/Developer/CommandLineParser.cs.meta b/Runtime/Developer/CommandLineParser.cs.meta similarity index 100% rename from GDX/Runtime/Developer/CommandLineParser.cs.meta rename to Runtime/Developer/CommandLineParser.cs.meta diff --git a/GDX/Runtime/Developer/Conditionals.cs b/Runtime/Developer/Conditionals.cs similarity index 100% rename from GDX/Runtime/Developer/Conditionals.cs rename to Runtime/Developer/Conditionals.cs diff --git a/GDX/Runtime/Developer/Conditionals.cs.meta b/Runtime/Developer/Conditionals.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Conditionals.cs.meta rename to Runtime/Developer/Conditionals.cs.meta diff --git a/GDX/Runtime/Developer/Reports.meta b/Runtime/Developer/Reports.meta similarity index 100% rename from GDX/Runtime/Developer/Reports.meta rename to Runtime/Developer/Reports.meta diff --git a/GDX/Runtime/Developer/Reports/IntegerDiff.cs b/Runtime/Developer/Reports/IntegerDiff.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/IntegerDiff.cs rename to Runtime/Developer/Reports/IntegerDiff.cs diff --git a/GDX/Runtime/Developer/Reports/IntegerDiff.cs.meta b/Runtime/Developer/Reports/IntegerDiff.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/IntegerDiff.cs.meta rename to Runtime/Developer/Reports/IntegerDiff.cs.meta diff --git a/GDX/Runtime/Developer/Reports/LongDiff.cs b/Runtime/Developer/Reports/LongDiff.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/LongDiff.cs rename to Runtime/Developer/Reports/LongDiff.cs diff --git a/GDX/Runtime/Developer/Reports/LongDiff.cs.meta b/Runtime/Developer/Reports/LongDiff.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/LongDiff.cs.meta rename to Runtime/Developer/Reports/LongDiff.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Objects.meta b/Runtime/Developer/Reports/Objects.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects.meta rename to Runtime/Developer/Reports/Objects.meta diff --git a/GDX/Runtime/Developer/Reports/Objects/AssetBundleObjectInfo.cs b/Runtime/Developer/Reports/Objects/AssetBundleObjectInfo.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/AssetBundleObjectInfo.cs rename to Runtime/Developer/Reports/Objects/AssetBundleObjectInfo.cs diff --git a/GDX/Runtime/Developer/Reports/Objects/AssetBundleObjectInfo.cs.meta b/Runtime/Developer/Reports/Objects/AssetBundleObjectInfo.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/AssetBundleObjectInfo.cs.meta rename to Runtime/Developer/Reports/Objects/AssetBundleObjectInfo.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Objects/MeshObjectInfo.cs b/Runtime/Developer/Reports/Objects/MeshObjectInfo.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/MeshObjectInfo.cs rename to Runtime/Developer/Reports/Objects/MeshObjectInfo.cs diff --git a/GDX/Runtime/Developer/Reports/Objects/MeshObjectInfo.cs.meta b/Runtime/Developer/Reports/Objects/MeshObjectInfo.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/MeshObjectInfo.cs.meta rename to Runtime/Developer/Reports/Objects/MeshObjectInfo.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Objects/ObjectInfo.cs b/Runtime/Developer/Reports/Objects/ObjectInfo.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/ObjectInfo.cs rename to Runtime/Developer/Reports/Objects/ObjectInfo.cs diff --git a/GDX/Runtime/Developer/Reports/Objects/ObjectInfo.cs.meta b/Runtime/Developer/Reports/Objects/ObjectInfo.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/ObjectInfo.cs.meta rename to Runtime/Developer/Reports/Objects/ObjectInfo.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Objects/ObjectInfoFactory.cs b/Runtime/Developer/Reports/Objects/ObjectInfoFactory.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/ObjectInfoFactory.cs rename to Runtime/Developer/Reports/Objects/ObjectInfoFactory.cs diff --git a/GDX/Runtime/Developer/Reports/Objects/ObjectInfoFactory.cs.meta b/Runtime/Developer/Reports/Objects/ObjectInfoFactory.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/ObjectInfoFactory.cs.meta rename to Runtime/Developer/Reports/Objects/ObjectInfoFactory.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Objects/ShaderObjectInfo.cs b/Runtime/Developer/Reports/Objects/ShaderObjectInfo.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/ShaderObjectInfo.cs rename to Runtime/Developer/Reports/Objects/ShaderObjectInfo.cs diff --git a/GDX/Runtime/Developer/Reports/Objects/ShaderObjectInfo.cs.meta b/Runtime/Developer/Reports/Objects/ShaderObjectInfo.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/ShaderObjectInfo.cs.meta rename to Runtime/Developer/Reports/Objects/ShaderObjectInfo.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Objects/TextureObjectInfo.cs b/Runtime/Developer/Reports/Objects/TextureObjectInfo.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/TextureObjectInfo.cs rename to Runtime/Developer/Reports/Objects/TextureObjectInfo.cs diff --git a/GDX/Runtime/Developer/Reports/Objects/TextureObjectInfo.cs.meta b/Runtime/Developer/Reports/Objects/TextureObjectInfo.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Objects/TextureObjectInfo.cs.meta rename to Runtime/Developer/Reports/Objects/TextureObjectInfo.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Report.cs b/Runtime/Developer/Reports/Report.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Report.cs rename to Runtime/Developer/Reports/Report.cs diff --git a/GDX/Runtime/Developer/Reports/Report.cs.meta b/Runtime/Developer/Reports/Report.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Report.cs.meta rename to Runtime/Developer/Reports/Report.cs.meta diff --git a/GDX/Runtime/Developer/Reports/ReportContext.cs b/Runtime/Developer/Reports/ReportContext.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/ReportContext.cs rename to Runtime/Developer/Reports/ReportContext.cs diff --git a/GDX/Runtime/Developer/Reports/ReportContext.cs.meta b/Runtime/Developer/Reports/ReportContext.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/ReportContext.cs.meta rename to Runtime/Developer/Reports/ReportContext.cs.meta diff --git a/GDX/Runtime/Developer/Reports/ReportExtensions.cs b/Runtime/Developer/Reports/ReportExtensions.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/ReportExtensions.cs rename to Runtime/Developer/Reports/ReportExtensions.cs diff --git a/GDX/Runtime/Developer/Reports/ReportExtensions.cs.meta b/Runtime/Developer/Reports/ReportExtensions.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/ReportExtensions.cs.meta rename to Runtime/Developer/Reports/ReportExtensions.cs.meta diff --git a/GDX/Runtime/Developer/Reports/ResourcesAudit.cs b/Runtime/Developer/Reports/ResourcesAudit.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/ResourcesAudit.cs rename to Runtime/Developer/Reports/ResourcesAudit.cs diff --git a/GDX/Runtime/Developer/Reports/ResourcesAudit.cs.meta b/Runtime/Developer/Reports/ResourcesAudit.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/ResourcesAudit.cs.meta rename to Runtime/Developer/Reports/ResourcesAudit.cs.meta diff --git a/GDX/Runtime/Developer/Reports/ResourcesDiff.cs b/Runtime/Developer/Reports/ResourcesDiff.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/ResourcesDiff.cs rename to Runtime/Developer/Reports/ResourcesDiff.cs diff --git a/GDX/Runtime/Developer/Reports/ResourcesDiff.cs.meta b/Runtime/Developer/Reports/ResourcesDiff.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/ResourcesDiff.cs.meta rename to Runtime/Developer/Reports/ResourcesDiff.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Sections.meta b/Runtime/Developer/Reports/Sections.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Sections.meta rename to Runtime/Developer/Reports/Sections.meta diff --git a/GDX/Runtime/Developer/Reports/Sections/ApplicationSection.cs b/Runtime/Developer/Reports/Sections/ApplicationSection.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Sections/ApplicationSection.cs rename to Runtime/Developer/Reports/Sections/ApplicationSection.cs diff --git a/GDX/Runtime/Developer/Reports/Sections/ApplicationSection.cs.meta b/Runtime/Developer/Reports/Sections/ApplicationSection.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Sections/ApplicationSection.cs.meta rename to Runtime/Developer/Reports/Sections/ApplicationSection.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Sections/MemoryDiffSection.cs b/Runtime/Developer/Reports/Sections/MemoryDiffSection.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Sections/MemoryDiffSection.cs rename to Runtime/Developer/Reports/Sections/MemoryDiffSection.cs diff --git a/GDX/Runtime/Developer/Reports/Sections/MemoryDiffSection.cs.meta b/Runtime/Developer/Reports/Sections/MemoryDiffSection.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Sections/MemoryDiffSection.cs.meta rename to Runtime/Developer/Reports/Sections/MemoryDiffSection.cs.meta diff --git a/GDX/Runtime/Developer/Reports/Sections/MemorySection.cs b/Runtime/Developer/Reports/Sections/MemorySection.cs similarity index 100% rename from GDX/Runtime/Developer/Reports/Sections/MemorySection.cs rename to Runtime/Developer/Reports/Sections/MemorySection.cs diff --git a/GDX/Runtime/Developer/Reports/Sections/MemorySection.cs.meta b/Runtime/Developer/Reports/Sections/MemorySection.cs.meta similarity index 100% rename from GDX/Runtime/Developer/Reports/Sections/MemorySection.cs.meta rename to Runtime/Developer/Reports/Sections/MemorySection.cs.meta diff --git a/GDX/Runtime/Developer/TransientReference.cs b/Runtime/Developer/TransientReference.cs similarity index 100% rename from GDX/Runtime/Developer/TransientReference.cs rename to Runtime/Developer/TransientReference.cs diff --git a/GDX/Runtime/Developer/TransientReference.cs.meta b/Runtime/Developer/TransientReference.cs.meta similarity index 100% rename from GDX/Runtime/Developer/TransientReference.cs.meta rename to Runtime/Developer/TransientReference.cs.meta diff --git a/GDX/Runtime/DisableInInspectorAttribute.cs b/Runtime/DisableInInspectorAttribute.cs similarity index 100% rename from GDX/Runtime/DisableInInspectorAttribute.cs rename to Runtime/DisableInInspectorAttribute.cs diff --git a/GDX/Runtime/DisableInInspectorAttribute.cs.meta b/Runtime/DisableInInspectorAttribute.cs.meta similarity index 100% rename from GDX/Runtime/DisableInInspectorAttribute.cs.meta rename to Runtime/DisableInInspectorAttribute.cs.meta diff --git a/GDX/Runtime/Display.cs b/Runtime/Display.cs similarity index 100% rename from GDX/Runtime/Display.cs rename to Runtime/Display.cs diff --git a/GDX/Runtime/Display.cs.meta b/Runtime/Display.cs.meta similarity index 100% rename from GDX/Runtime/Display.cs.meta rename to Runtime/Display.cs.meta diff --git a/GDX/Runtime/EnumExtensions.cs b/Runtime/EnumExtensions.cs similarity index 98% rename from GDX/Runtime/EnumExtensions.cs rename to Runtime/EnumExtensions.cs index 322b8d68..e99be190 100644 --- a/GDX/Runtime/EnumExtensions.cs +++ b/Runtime/EnumExtensions.cs @@ -10,7 +10,7 @@ namespace GDX /// /// Enumeration Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class EnumExtensions { /// diff --git a/GDX/Runtime/EnumExtensions.cs.meta b/Runtime/EnumExtensions.cs.meta similarity index 100% rename from GDX/Runtime/EnumExtensions.cs.meta rename to Runtime/EnumExtensions.cs.meta diff --git a/GDX/Runtime/GDX.asmdef b/Runtime/GDX.asmdef similarity index 100% rename from GDX/Runtime/GDX.asmdef rename to Runtime/GDX.asmdef diff --git a/GDX/Runtime/GDX.asmdef.meta b/Runtime/GDX.asmdef.meta similarity index 100% rename from GDX/Runtime/GDX.asmdef.meta rename to Runtime/GDX.asmdef.meta diff --git a/GDX/Runtime/GDXConfig.cs b/Runtime/GDXConfig.cs similarity index 89% rename from GDX/Runtime/GDXConfig.cs rename to Runtime/GDXConfig.cs index bd991e8a..ebf3b48a 100644 --- a/GDX/Runtime/GDXConfig.cs +++ b/Runtime/GDXConfig.cs @@ -21,9 +21,8 @@ public class GDXConfig : ScriptableObject /// /// A runtime only instance of . /// -#pragma warning disable 414 - private static GDXConfig s_runtimeInstance = null; -#pragma warning restore 414 + private static GDXConfig s_instance = null; + /// /// Should GDX check for updates at editor time? /// @@ -140,34 +139,36 @@ public class GDXConfig : ScriptableObject public static GDXConfig Get() { #if UNITY_EDITOR + if (s_instance != null) + { + return s_instance; + } - // Attempt to load the settings file from the asset database. - GDXConfig settings = AssetDatabase.LoadAssetAtPath("Assets/Resources/GDX/GDXConfig.asset"); - - // If it worked, send it back! - if (settings != null) + // Load from disk + s_instance = AssetDatabase.LoadAssetAtPath("Assets/Resources/GDX/GDXConfig.asset"); + if (s_instance != null) { - return settings; + return s_instance; } // Looks like we need to make one - settings = CreateInstance(); + s_instance = CreateInstance(); // Ensure the folder structure is in place before we manually make the asset Platform.EnsureFileFolderHierarchyExists( System.IO.Path.Combine(Application.dataPath, "Resources/GDX/GDXConfig.asset")); // Create and save the asset - AssetDatabase.CreateAsset(settings, "Assets/Resources/GDX/GDXConfig.asset"); + AssetDatabase.CreateAsset(s_instance, "Assets/Resources/GDX/GDXConfig.asset"); // Send it back! - return settings; + return s_instance; #else - if (s_runtimeInstance == null) + if (s_instance == null) { - s_runtimeInstance = Resources.Load("GDX/GDXConfig"); + s_instance = Resources.Load("GDX/GDXConfig"); } - return s_runtimeInstance; + return s_instance; #endif } } diff --git a/GDX/Runtime/GDXConfig.cs.meta b/Runtime/GDXConfig.cs.meta similarity index 100% rename from GDX/Runtime/GDXConfig.cs.meta rename to Runtime/GDXConfig.cs.meta diff --git a/GDX/Runtime/GameObjectExtensions.cs b/Runtime/GameObjectExtensions.cs similarity index 99% rename from GDX/Runtime/GameObjectExtensions.cs rename to Runtime/GameObjectExtensions.cs index 42c7fde2..ccee8393 100644 --- a/GDX/Runtime/GameObjectExtensions.cs +++ b/Runtime/GameObjectExtensions.cs @@ -13,7 +13,7 @@ namespace GDX /// /// Used for MonoBehaviour workflows. /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class GameObjectExtensions { /// diff --git a/GDX/Runtime/GameObjectExtensions.cs.meta b/Runtime/GameObjectExtensions.cs.meta similarity index 100% rename from GDX/Runtime/GameObjectExtensions.cs.meta rename to Runtime/GameObjectExtensions.cs.meta diff --git a/GDX/Runtime/HideFromDocFXAttribute.cs b/Runtime/HideFromDocFXAttribute.cs similarity index 100% rename from GDX/Runtime/HideFromDocFXAttribute.cs rename to Runtime/HideFromDocFXAttribute.cs diff --git a/GDX/Runtime/HideFromDocFXAttribute.cs.meta b/Runtime/HideFromDocFXAttribute.cs.meta similarity index 100% rename from GDX/Runtime/HideFromDocFXAttribute.cs.meta rename to Runtime/HideFromDocFXAttribute.cs.meta diff --git a/GDX/Runtime/IListExtensions.cs b/Runtime/IListExtensions.cs similarity index 98% rename from GDX/Runtime/IListExtensions.cs rename to Runtime/IListExtensions.cs index e4db5096..d3ced3ef 100644 --- a/GDX/Runtime/IListExtensions.cs +++ b/Runtime/IListExtensions.cs @@ -2,16 +2,17 @@ // dotBunny licenses this file to you under the BSL-1.0 license. // See the LICENSE file in the project root for more information. +using System; using System.Collections.Generic; using System.Runtime.CompilerServices; -using UnityEngine; +using Random = UnityEngine.Random; namespace GDX { /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class IListExtensions { /// @@ -48,7 +49,7 @@ public static bool ContainsItem(this IList targetList, T targetItem) where int length = targetList.Count; for (int i = 0; i < length; i++) { - if (targetList[i] == targetItem) + if (targetList[i].Equals(targetItem)) { return true; } diff --git a/GDX/Runtime/IListExtensions.cs.meta b/Runtime/IListExtensions.cs.meta similarity index 100% rename from GDX/Runtime/IListExtensions.cs.meta rename to Runtime/IListExtensions.cs.meta diff --git a/GDX/Runtime/IO.meta b/Runtime/IO.meta similarity index 100% rename from GDX/Runtime/IO.meta rename to Runtime/IO.meta diff --git a/GDX/Runtime/IO/Compression.meta b/Runtime/IO/Compression.meta similarity index 100% rename from GDX/Runtime/IO/Compression.meta rename to Runtime/IO/Compression.meta diff --git a/GDX/Runtime/IO/Compression/TarFile.cs b/Runtime/IO/Compression/TarFile.cs similarity index 100% rename from GDX/Runtime/IO/Compression/TarFile.cs rename to Runtime/IO/Compression/TarFile.cs diff --git a/GDX/Runtime/IO/Compression/TarFile.cs.meta b/Runtime/IO/Compression/TarFile.cs.meta similarity index 100% rename from GDX/Runtime/IO/Compression/TarFile.cs.meta rename to Runtime/IO/Compression/TarFile.cs.meta diff --git a/GDX/Runtime/InspectorMessageBoxAttribute.cs b/Runtime/InspectorMessageBoxAttribute.cs similarity index 100% rename from GDX/Runtime/InspectorMessageBoxAttribute.cs rename to Runtime/InspectorMessageBoxAttribute.cs diff --git a/GDX/Runtime/InspectorMessageBoxAttribute.cs.meta b/Runtime/InspectorMessageBoxAttribute.cs.meta similarity index 100% rename from GDX/Runtime/InspectorMessageBoxAttribute.cs.meta rename to Runtime/InspectorMessageBoxAttribute.cs.meta diff --git a/GDX/Runtime/Jobs.meta b/Runtime/Jobs.meta similarity index 100% rename from GDX/Runtime/Jobs.meta rename to Runtime/Jobs.meta diff --git a/GDX/Runtime/Jobs/ParallelFor.meta b/Runtime/Jobs/ParallelFor.meta similarity index 100% rename from GDX/Runtime/Jobs/ParallelFor.meta rename to Runtime/Jobs/ParallelFor.meta diff --git a/GDX/Runtime/Jobs/ParallelFor/IntegerBufferCopyJob.cs b/Runtime/Jobs/ParallelFor/IntegerBufferCopyJob.cs similarity index 100% rename from GDX/Runtime/Jobs/ParallelFor/IntegerBufferCopyJob.cs rename to Runtime/Jobs/ParallelFor/IntegerBufferCopyJob.cs diff --git a/GDX/Runtime/Jobs/ParallelFor/IntegerBufferCopyJob.cs.meta b/Runtime/Jobs/ParallelFor/IntegerBufferCopyJob.cs.meta similarity index 100% rename from GDX/Runtime/Jobs/ParallelFor/IntegerBufferCopyJob.cs.meta rename to Runtime/Jobs/ParallelFor/IntegerBufferCopyJob.cs.meta diff --git a/GDX/Runtime/Jobs/ParallelFor/IntegerBufferFillJob.cs b/Runtime/Jobs/ParallelFor/IntegerBufferFillJob.cs similarity index 100% rename from GDX/Runtime/Jobs/ParallelFor/IntegerBufferFillJob.cs rename to Runtime/Jobs/ParallelFor/IntegerBufferFillJob.cs diff --git a/GDX/Runtime/Jobs/ParallelFor/IntegerBufferFillJob.cs.meta b/Runtime/Jobs/ParallelFor/IntegerBufferFillJob.cs.meta similarity index 100% rename from GDX/Runtime/Jobs/ParallelFor/IntegerBufferFillJob.cs.meta rename to Runtime/Jobs/ParallelFor/IntegerBufferFillJob.cs.meta diff --git a/GDX/Runtime/Jobs/ParallelFor/IntegerBufferSwapJob.cs b/Runtime/Jobs/ParallelFor/IntegerBufferSwapJob.cs similarity index 100% rename from GDX/Runtime/Jobs/ParallelFor/IntegerBufferSwapJob.cs rename to Runtime/Jobs/ParallelFor/IntegerBufferSwapJob.cs diff --git a/GDX/Runtime/Jobs/ParallelFor/IntegerBufferSwapJob.cs.meta b/Runtime/Jobs/ParallelFor/IntegerBufferSwapJob.cs.meta similarity index 100% rename from GDX/Runtime/Jobs/ParallelFor/IntegerBufferSwapJob.cs.meta rename to Runtime/Jobs/ParallelFor/IntegerBufferSwapJob.cs.meta diff --git a/GDX/Runtime/Localization.cs b/Runtime/Localization.cs similarity index 100% rename from GDX/Runtime/Localization.cs rename to Runtime/Localization.cs diff --git a/GDX/Runtime/Localization.cs.meta b/Runtime/Localization.cs.meta similarity index 100% rename from GDX/Runtime/Localization.cs.meta rename to Runtime/Localization.cs.meta diff --git a/GDX/Runtime/Mathematics.meta b/Runtime/Mathematics.meta similarity index 100% rename from GDX/Runtime/Mathematics.meta rename to Runtime/Mathematics.meta diff --git a/GDX/Runtime/Mathematics/Byte2.cs b/Runtime/Mathematics/Byte2.cs similarity index 100% rename from GDX/Runtime/Mathematics/Byte2.cs rename to Runtime/Mathematics/Byte2.cs diff --git a/GDX/Runtime/Mathematics/Byte2.cs.meta b/Runtime/Mathematics/Byte2.cs.meta similarity index 100% rename from GDX/Runtime/Mathematics/Byte2.cs.meta rename to Runtime/Mathematics/Byte2.cs.meta diff --git a/Runtime/Mathematics/FibonacciHash.cs b/Runtime/Mathematics/FibonacciHash.cs new file mode 100644 index 00000000..f9d07e6e --- /dev/null +++ b/Runtime/Mathematics/FibonacciHash.cs @@ -0,0 +1,65 @@ +// Copyright (c) 2020-2021 dotBunny Inc. +// dotBunny licenses this file to you under the BSL-1.0 license. +// See the LICENSE file in the project root for more information. + +using System.Runtime.CompilerServices; + +namespace GDX.Mathematics +{ + public static class FibonacciHash + { + /// + /// Takes a 32-bit length equal to a power of two, + /// and returns how many spaces another 32-bit int would need to shift in order to be a valid index within an array of that length. + /// + /// A 32-bit int equal to a power of two. + /// How many spaces a 32-bit int would need to shift in order to be a valid index within . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static byte GetRightShiftFromPow2Length(int pow2Length) + { + LongDoubleConversionUnion u; + u.doubleValue = 0.0; + u.longValue = 0x4330000000000000L + pow2Length; + u.doubleValue -= 4503599627370496.0; + int index = (int)(u.longValue >> 52) - 0x3FF; + + return (byte)(32 - index); + } + + /// + /// Takes the and multiplies it by 2^32 divided by the golden ratio, + /// then right shifts it by to fit within a given power-of-two size. + /// + /// The key to find an index for. + /// How far to right shift in order to fit within a given power-of-two size. + /// The index to store the . + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int GetIndexFromHash(int hash, byte shift) + { + int fibonacci = unchecked((int)(unchecked((uint)hash) * 2654435769)); + return fibonacci >> shift; + } + + /// + /// Takes the and finds an index within the provided range with Fibonacci hashing. + /// + /// The hash to find an index for. + /// The power-of-two array length to find an index within. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int GetIndexFromHash(int hash, int pow2Length) + { + LongDoubleConversionUnion u; + u.doubleValue = 0.0; + u.longValue = 0x4330000000000000L + pow2Length; + u.doubleValue -= 4503599627370496.0; + int index = (int)(u.longValue >> 52) - 0x3FF; + + int shift = 32 - index; + + int fibonacci = unchecked((int)(unchecked((uint)hash) * 2654435769)); + return fibonacci >> shift; + } + } +} + diff --git a/Runtime/Mathematics/FibonacciHash.cs.meta b/Runtime/Mathematics/FibonacciHash.cs.meta new file mode 100644 index 00000000..1fd3da5e --- /dev/null +++ b/Runtime/Mathematics/FibonacciHash.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9eab567170a8e6947a47e475a5dd1d8b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Mathematics/LongDoubleConversionUnion.cs b/Runtime/Mathematics/LongDoubleConversionUnion.cs new file mode 100644 index 00000000..4079437c --- /dev/null +++ b/Runtime/Mathematics/LongDoubleConversionUnion.cs @@ -0,0 +1,15 @@ +// Copyright (c) 2020-2021 dotBunny Inc. +// dotBunny licenses this file to you under the BSL-1.0 license. +// See the LICENSE file in the project root for more information. + +using System.Runtime.InteropServices; + +namespace GDX.Mathematics +{ + [StructLayout(LayoutKind.Explicit)] + public struct LongDoubleConversionUnion + { + [FieldOffset(0)] public long longValue; + [FieldOffset(0)] public double doubleValue; + } +} \ No newline at end of file diff --git a/Runtime/Mathematics/LongDoubleConversionUnion.cs.meta b/Runtime/Mathematics/LongDoubleConversionUnion.cs.meta new file mode 100644 index 00000000..43be95b4 --- /dev/null +++ b/Runtime/Mathematics/LongDoubleConversionUnion.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 49532117d1374d87bff44875b4aab16e +timeCreated: 1635637791 \ No newline at end of file diff --git a/GDX/Runtime/Mathematics/Random.meta b/Runtime/Mathematics/Random.meta similarity index 100% rename from GDX/Runtime/Mathematics/Random.meta rename to Runtime/Mathematics/Random.meta diff --git a/GDX/Runtime/Mathematics/Random/IRandomProvider.cs b/Runtime/Mathematics/Random/IRandomProvider.cs similarity index 100% rename from GDX/Runtime/Mathematics/Random/IRandomProvider.cs rename to Runtime/Mathematics/Random/IRandomProvider.cs diff --git a/GDX/Runtime/Mathematics/Random/IRandomProvider.cs.meta b/Runtime/Mathematics/Random/IRandomProvider.cs.meta similarity index 100% rename from GDX/Runtime/Mathematics/Random/IRandomProvider.cs.meta rename to Runtime/Mathematics/Random/IRandomProvider.cs.meta diff --git a/GDX/Runtime/Mathematics/Random/RandomAdaptor.cs b/Runtime/Mathematics/Random/RandomAdaptor.cs similarity index 100% rename from GDX/Runtime/Mathematics/Random/RandomAdaptor.cs rename to Runtime/Mathematics/Random/RandomAdaptor.cs diff --git a/GDX/Runtime/Mathematics/Random/RandomAdaptor.cs.meta b/Runtime/Mathematics/Random/RandomAdaptor.cs.meta similarity index 100% rename from GDX/Runtime/Mathematics/Random/RandomAdaptor.cs.meta rename to Runtime/Mathematics/Random/RandomAdaptor.cs.meta diff --git a/GDX/Runtime/Mathematics/Random/WELL1024a.cs b/Runtime/Mathematics/Random/WELL1024a.cs similarity index 100% rename from GDX/Runtime/Mathematics/Random/WELL1024a.cs rename to Runtime/Mathematics/Random/WELL1024a.cs diff --git a/GDX/Runtime/Mathematics/Random/WELL1024a.cs.meta b/Runtime/Mathematics/Random/WELL1024a.cs.meta similarity index 100% rename from GDX/Runtime/Mathematics/Random/WELL1024a.cs.meta rename to Runtime/Mathematics/Random/WELL1024a.cs.meta diff --git a/GDX/Runtime/Mathematics/Range.cs b/Runtime/Mathematics/Range.cs similarity index 100% rename from GDX/Runtime/Mathematics/Range.cs rename to Runtime/Mathematics/Range.cs diff --git a/GDX/Runtime/Mathematics/Range.cs.meta b/Runtime/Mathematics/Range.cs.meta similarity index 100% rename from GDX/Runtime/Mathematics/Range.cs.meta rename to Runtime/Mathematics/Range.cs.meta diff --git a/GDX/Runtime/Mathematics/Rotate.cs b/Runtime/Mathematics/Rotate.cs similarity index 100% rename from GDX/Runtime/Mathematics/Rotate.cs rename to Runtime/Mathematics/Rotate.cs diff --git a/GDX/Runtime/Mathematics/Rotate.cs.meta b/Runtime/Mathematics/Rotate.cs.meta similarity index 100% rename from GDX/Runtime/Mathematics/Rotate.cs.meta rename to Runtime/Mathematics/Rotate.cs.meta diff --git a/GDX/Runtime/Mathematics/Smooth.cs b/Runtime/Mathematics/Smooth.cs similarity index 100% rename from GDX/Runtime/Mathematics/Smooth.cs rename to Runtime/Mathematics/Smooth.cs diff --git a/GDX/Runtime/Mathematics/Smooth.cs.meta b/Runtime/Mathematics/Smooth.cs.meta similarity index 100% rename from GDX/Runtime/Mathematics/Smooth.cs.meta rename to Runtime/Mathematics/Smooth.cs.meta diff --git a/GDX/Runtime/Memory.cs b/Runtime/Memory.cs similarity index 100% rename from GDX/Runtime/Memory.cs rename to Runtime/Memory.cs diff --git a/GDX/Runtime/Memory.cs.meta b/Runtime/Memory.cs.meta similarity index 100% rename from GDX/Runtime/Memory.cs.meta rename to Runtime/Memory.cs.meta diff --git a/GDX/Runtime/MeshExtensions.cs b/Runtime/MeshExtensions.cs similarity index 97% rename from GDX/Runtime/MeshExtensions.cs rename to Runtime/MeshExtensions.cs index 0fe9daea..ef527be8 100644 --- a/GDX/Runtime/MeshExtensions.cs +++ b/Runtime/MeshExtensions.cs @@ -12,7 +12,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class MeshExtensions { /// diff --git a/GDX/Runtime/MeshExtensions.cs.meta b/Runtime/MeshExtensions.cs.meta similarity index 100% rename from GDX/Runtime/MeshExtensions.cs.meta rename to Runtime/MeshExtensions.cs.meta diff --git a/GDX/Runtime/MonoBehaviourExtensions.cs b/Runtime/MonoBehaviourExtensions.cs similarity index 98% rename from GDX/Runtime/MonoBehaviourExtensions.cs rename to Runtime/MonoBehaviourExtensions.cs index 94c92e9c..4d979497 100644 --- a/GDX/Runtime/MonoBehaviourExtensions.cs +++ b/Runtime/MonoBehaviourExtensions.cs @@ -13,7 +13,7 @@ namespace GDX /// /// Used for MonoBehaviour workflows. /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class MonoBehaviourExtensions { /// diff --git a/GDX/Runtime/MonoBehaviourExtensions.cs.meta b/Runtime/MonoBehaviourExtensions.cs.meta similarity index 100% rename from GDX/Runtime/MonoBehaviourExtensions.cs.meta rename to Runtime/MonoBehaviourExtensions.cs.meta diff --git a/GDX/Runtime/NavMeshPathExtensions.cs b/Runtime/NavMeshPathExtensions.cs similarity index 99% rename from GDX/Runtime/NavMeshPathExtensions.cs rename to Runtime/NavMeshPathExtensions.cs index 14609656..e6f594d3 100644 --- a/GDX/Runtime/NavMeshPathExtensions.cs +++ b/Runtime/NavMeshPathExtensions.cs @@ -15,7 +15,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class NavMeshPathExtensions { /// diff --git a/GDX/Runtime/NavMeshPathExtensions.cs.meta b/Runtime/NavMeshPathExtensions.cs.meta similarity index 100% rename from GDX/Runtime/NavMeshPathExtensions.cs.meta rename to Runtime/NavMeshPathExtensions.cs.meta diff --git a/GDX/Runtime/Platform.cs b/Runtime/Platform.cs similarity index 100% rename from GDX/Runtime/Platform.cs rename to Runtime/Platform.cs diff --git a/GDX/Runtime/Platform.cs.meta b/Runtime/Platform.cs.meta similarity index 100% rename from GDX/Runtime/Platform.cs.meta rename to Runtime/Platform.cs.meta diff --git a/GDX/Runtime/RigidbodyExtensions.cs b/Runtime/RigidbodyExtensions.cs similarity index 97% rename from GDX/Runtime/RigidbodyExtensions.cs rename to Runtime/RigidbodyExtensions.cs index 7161fcd6..cfaa3764 100644 --- a/GDX/Runtime/RigidbodyExtensions.cs +++ b/Runtime/RigidbodyExtensions.cs @@ -9,7 +9,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class RigidbodyExtensions { /// diff --git a/GDX/Runtime/RigidbodyExtensions.cs.meta b/Runtime/RigidbodyExtensions.cs.meta similarity index 100% rename from GDX/Runtime/RigidbodyExtensions.cs.meta rename to Runtime/RigidbodyExtensions.cs.meta diff --git a/GDX/Runtime/SemanticVersion.cs b/Runtime/SemanticVersion.cs similarity index 100% rename from GDX/Runtime/SemanticVersion.cs rename to Runtime/SemanticVersion.cs diff --git a/GDX/Runtime/SemanticVersion.cs.meta b/Runtime/SemanticVersion.cs.meta similarity index 100% rename from GDX/Runtime/SemanticVersion.cs.meta rename to Runtime/SemanticVersion.cs.meta diff --git a/GDX/Runtime/SimpleListExtensions.cs b/Runtime/SimpleListExtensions.cs similarity index 100% rename from GDX/Runtime/SimpleListExtensions.cs rename to Runtime/SimpleListExtensions.cs diff --git a/GDX/Runtime/SimpleListExtensions.cs.meta b/Runtime/SimpleListExtensions.cs.meta similarity index 100% rename from GDX/Runtime/SimpleListExtensions.cs.meta rename to Runtime/SimpleListExtensions.cs.meta diff --git a/GDX/Runtime/StringExtensions.cs b/Runtime/StringExtensions.cs similarity index 99% rename from GDX/Runtime/StringExtensions.cs rename to Runtime/StringExtensions.cs index 0e50d14a..2591618a 100644 --- a/GDX/Runtime/StringExtensions.cs +++ b/Runtime/StringExtensions.cs @@ -19,7 +19,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class StringExtensions { /// @@ -235,7 +235,6 @@ public static string GetBeforeLast(this string targetString, string splitString, return splitIndex < 0 ? null : targetString.Substring(0, splitIndex); } - /// /// /// Get the stable hash code value of . diff --git a/Runtime/StringExtensions.cs.meta b/Runtime/StringExtensions.cs.meta new file mode 100644 index 00000000..5fadca4c --- /dev/null +++ b/Runtime/StringExtensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dbf33f5628829714ea0e13186f773546 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: d7eba623e0ad65d49a034aeb2b74b7d4, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GDX/Runtime/Trace.cs b/Runtime/Trace.cs similarity index 78% rename from GDX/Runtime/Trace.cs rename to Runtime/Trace.cs index 1fe774eb..292918ec 100644 --- a/GDX/Runtime/Trace.cs +++ b/Runtime/Trace.cs @@ -62,16 +62,21 @@ public enum TraceLevel : ushort } /// - /// Log a trace message to the appropriate subscribers and the Unity console where applicable. + /// Log a trace message to the appropriate subscribers and the Unity console where applicable with additional context on invoke location. /// /// The of the particular message. /// An representing the message to be recorded. /// An indicating context for the given message. - public static void Output(TraceLevel level, object traceObject, Object contextObject = null) + /// Automatically filled out member name which invoked this method. + /// Automatically filled out source code path of the invoking method. + /// Automatically filled out line number of the invoking method. + public static void Output(TraceLevel level, object traceObject, + Object contextObject = null, + [System.Runtime.CompilerServices.CallerMemberName] string memberName = "", + [System.Runtime.CompilerServices.CallerFilePath] string sourceFilePath = "", + [System.Runtime.CompilerServices.CallerLineNumber] int sourceLineNumber = 0) { - // Get a reference to the config - // TODO: Would it be better to cache this? GDXConfig config = GDXConfig.Get(); #if UNITY_EDITOR || DEVELOPMENT_BUILD @@ -91,8 +96,19 @@ public static void Output(TraceLevel level, object traceObject, Object contextOb } #endif + // Build output content + string outputContent; + if (traceObject is Exception traceException) + { + outputContent = $"{traceException.Message}\n{traceException.StackTrace}\n{memberName}\n{sourceFilePath}:{sourceLineNumber.ToString()}"; + } + else + { + outputContent = $"{traceObject}\n{memberName}\n{sourceFilePath}:{sourceLineNumber.ToString()}"; + } + // This will output to anything internally registered for tracing (IDE consoles for example) - Debug.WriteLine(traceObject); + Debug.WriteLine(outputContent); // Is outputting to the Unity console enabled? #if UNITY_EDITOR || DEVELOPMENT_BUILD @@ -105,6 +121,9 @@ public static void Output(TraceLevel level, object traceObject, Object contextOb { return; } +#else + // NO RELEASE CONSOLE OUTPUT + return; #endif // Figure out what path to take based on the level diff --git a/GDX/Runtime/Trace.cs.meta b/Runtime/Trace.cs.meta similarity index 100% rename from GDX/Runtime/Trace.cs.meta rename to Runtime/Trace.cs.meta diff --git a/GDX/Runtime/TransformExtensions.cs b/Runtime/TransformExtensions.cs similarity index 99% rename from GDX/Runtime/TransformExtensions.cs rename to Runtime/TransformExtensions.cs index 5fc5f781..1bce311e 100644 --- a/GDX/Runtime/TransformExtensions.cs +++ b/Runtime/TransformExtensions.cs @@ -14,7 +14,7 @@ namespace GDX /// /// Used for MonoBehaviour workflows. /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class TransformExtensions { /// diff --git a/GDX/Runtime/TransformExtensions.cs.meta b/Runtime/TransformExtensions.cs.meta similarity index 100% rename from GDX/Runtime/TransformExtensions.cs.meta rename to Runtime/TransformExtensions.cs.meta diff --git a/GDX/Runtime/Vector2Extensions.cs b/Runtime/Vector2Extensions.cs similarity index 99% rename from GDX/Runtime/Vector2Extensions.cs rename to Runtime/Vector2Extensions.cs index 6c2c17d3..bd73f954 100644 --- a/GDX/Runtime/Vector2Extensions.cs +++ b/Runtime/Vector2Extensions.cs @@ -14,7 +14,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class Vector2Extensions { /// diff --git a/GDX/Runtime/Vector2Extensions.cs.meta b/Runtime/Vector2Extensions.cs.meta similarity index 100% rename from GDX/Runtime/Vector2Extensions.cs.meta rename to Runtime/Vector2Extensions.cs.meta diff --git a/GDX/Runtime/Vector3Extensions.cs b/Runtime/Vector3Extensions.cs similarity index 93% rename from GDX/Runtime/Vector3Extensions.cs rename to Runtime/Vector3Extensions.cs index bbd02676..84e3185f 100644 --- a/GDX/Runtime/Vector3Extensions.cs +++ b/Runtime/Vector3Extensions.cs @@ -14,7 +14,7 @@ namespace GDX /// /// Based Extension Methods /// - [VisualScriptingCompatible(12)] + [VisualScriptingCompatible(2)] public static class Vector3Extensions { /// @@ -28,27 +28,27 @@ public static class Vector3Extensions public static bool Approximately(this Vector3 targetVector3, Vector3 otherVector3) { float moddedEpsilon = Mathf.Epsilon * 8f; - const float baseMultiplier = 1E-06f; + const float BaseMultiplier = 1E-06f; #if GDX_MATHEMATICS return math.abs(otherVector3.x - targetVector3.x) < math.max( - baseMultiplier * math.max(math.abs(targetVector3.x), math.abs(otherVector3.x)), + BaseMultiplier * math.max(math.abs(targetVector3.x), math.abs(otherVector3.x)), moddedEpsilon) && math.abs(otherVector3.y - targetVector3.y) < math.max( - baseMultiplier * math.max(math.abs(targetVector3.y), math.abs(otherVector3.y)), + BaseMultiplier * math.max(math.abs(targetVector3.y), math.abs(otherVector3.y)), moddedEpsilon) && math.abs(otherVector3.z - targetVector3.z) < math.max( - baseMultiplier * math.max(math.abs(targetVector3.z), math.abs(otherVector3.z)), + BaseMultiplier * math.max(math.abs(targetVector3.z), math.abs(otherVector3.z)), moddedEpsilon); #else return Mathf.Abs(otherVector3.x - targetVector3.x) < (double)Mathf.Max( - baseMultiplier * Mathf.Max(Mathf.Abs(targetVector3.x), Mathf.Abs(otherVector3.x)), + BaseMultiplier * Mathf.Max(Mathf.Abs(targetVector3.x), Mathf.Abs(otherVector3.x)), moddedEpsilon) && Mathf.Abs(otherVector3.y - targetVector3.y) < (double)Mathf.Max( - baseMultiplier * Mathf.Max(Mathf.Abs(targetVector3.y), Mathf.Abs(otherVector3.y)), + BaseMultiplier * Mathf.Max(Mathf.Abs(targetVector3.y), Mathf.Abs(otherVector3.y)), moddedEpsilon) && Mathf.Abs(otherVector3.z - targetVector3.z) < (double)Mathf.Max( - baseMultiplier * Mathf.Max(Mathf.Abs(targetVector3.z), Mathf.Abs(otherVector3.z)), + BaseMultiplier * Mathf.Max(Mathf.Abs(targetVector3.z), Mathf.Abs(otherVector3.z)), moddedEpsilon); #endif } diff --git a/GDX/Runtime/Vector3Extensions.cs.meta b/Runtime/Vector3Extensions.cs.meta similarity index 100% rename from GDX/Runtime/Vector3Extensions.cs.meta rename to Runtime/Vector3Extensions.cs.meta diff --git a/GDX/Runtime/VisualScriptingCompatibleAttribute.cs b/Runtime/VisualScriptingCompatibleAttribute.cs similarity index 100% rename from GDX/Runtime/VisualScriptingCompatibleAttribute.cs rename to Runtime/VisualScriptingCompatibleAttribute.cs diff --git a/GDX/Runtime/VisualScriptingCompatibleAttribute.cs.meta b/Runtime/VisualScriptingCompatibleAttribute.cs.meta similarity index 100% rename from GDX/Runtime/VisualScriptingCompatibleAttribute.cs.meta rename to Runtime/VisualScriptingCompatibleAttribute.cs.meta diff --git a/GDX/Tests.meta b/Tests.meta similarity index 100% rename from GDX/Tests.meta rename to Tests.meta diff --git a/GDX/Tests/EditMode.meta b/Tests/EditMode.meta similarity index 100% rename from GDX/Tests/EditMode.meta rename to Tests/EditMode.meta diff --git a/GDX/Tests/EditMode/Editor.meta b/Tests/EditMode/Editor.meta similarity index 100% rename from GDX/Tests/EditMode/Editor.meta rename to Tests/EditMode/Editor.meta diff --git a/GDX/Tests/EditMode/Editor/Build.meta b/Tests/EditMode/Editor/Build.meta similarity index 100% rename from GDX/Tests/EditMode/Editor/Build.meta rename to Tests/EditMode/Editor/Build.meta diff --git a/GDX/Tests/EditMode/Editor/Build/BuildInfoProviderTests.cs b/Tests/EditMode/Editor/Build/BuildInfoProviderTests.cs similarity index 100% rename from GDX/Tests/EditMode/Editor/Build/BuildInfoProviderTests.cs rename to Tests/EditMode/Editor/Build/BuildInfoProviderTests.cs diff --git a/GDX/Tests/EditMode/Editor/Build/BuildInfoProviderTests.cs.meta b/Tests/EditMode/Editor/Build/BuildInfoProviderTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Editor/Build/BuildInfoProviderTests.cs.meta rename to Tests/EditMode/Editor/Build/BuildInfoProviderTests.cs.meta diff --git a/GDX/Tests/EditMode/GDX.Tests.EditMode.asmdef b/Tests/EditMode/GDX.Tests.EditMode.asmdef similarity index 100% rename from GDX/Tests/EditMode/GDX.Tests.EditMode.asmdef rename to Tests/EditMode/GDX.Tests.EditMode.asmdef diff --git a/GDX/Tests/EditMode/GDX.Tests.EditMode.asmdef.meta b/Tests/EditMode/GDX.Tests.EditMode.asmdef.meta similarity index 100% rename from GDX/Tests/EditMode/GDX.Tests.EditMode.asmdef.meta rename to Tests/EditMode/GDX.Tests.EditMode.asmdef.meta diff --git a/GDX/Tests/EditMode/Runtime.meta b/Tests/EditMode/Runtime.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime.meta rename to Tests/EditMode/Runtime.meta diff --git a/Tests/EditMode/Runtime/Array2DExtensionsTests.cs b/Tests/EditMode/Runtime/Array2DExtensionsTests.cs new file mode 100644 index 00000000..86a789bb --- /dev/null +++ b/Tests/EditMode/Runtime/Array2DExtensionsTests.cs @@ -0,0 +1,36 @@ +// Copyright (c) 2020-2021 dotBunny Inc. +// dotBunny licenses this file to you under the BSL-1.0 license. +// See the LICENSE file in the project root for more information. + +using GDX; +using GDX.Collections.Generic; +using NUnit.Framework; + +// ReSharper disable HeapView.ObjectAllocation.Evident + +namespace Runtime +{ + /// + /// A collection of unit tests to validate functionality of the . + /// class. + /// + public class Array2DExtensionsTests + { + [Test] + [Category("GDX.Tests")] + public void Scale_MockFloatData_ScaledData() + { + int scaleFactor = 2; + Array2D mockArray = new Array2D(2, 2) {[1, 0] = 0f, [1, 1] = 1f}; + Array2D scaledArray = mockArray.Scale(scaleFactor); + + bool evaluate = scaledArray.RowCount == (mockArray.RowCount * scaleFactor) && + scaledArray.ColumnCount == (mockArray.ColumnCount * scaleFactor) && + scaledArray.Array[15] == 0.5625f && + scaledArray.Array[10] == 0.25f && + scaledArray.Array[6] == 0.125f; + + Assert.IsTrue(evaluate); + } + } +} \ No newline at end of file diff --git a/Tests/EditMode/Runtime/Array2DExtensionsTests.cs.meta b/Tests/EditMode/Runtime/Array2DExtensionsTests.cs.meta new file mode 100644 index 00000000..06fa997e --- /dev/null +++ b/Tests/EditMode/Runtime/Array2DExtensionsTests.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 29b3afede49145c1b633f531963045c1 +timeCreated: 1621089818 \ No newline at end of file diff --git a/GDX/Tests/EditMode/Runtime/ArrayExtensionsTests.cs b/Tests/EditMode/Runtime/ArrayExtensionsTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/ArrayExtensionsTests.cs rename to Tests/EditMode/Runtime/ArrayExtensionsTests.cs diff --git a/GDX/Tests/EditMode/Runtime/ArrayExtensionsTests.cs.meta b/Tests/EditMode/Runtime/ArrayExtensionsTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/ArrayExtensionsTests.cs.meta rename to Tests/EditMode/Runtime/ArrayExtensionsTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/ByteExtensionsTests.cs b/Tests/EditMode/Runtime/ByteExtensionsTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/ByteExtensionsTests.cs rename to Tests/EditMode/Runtime/ByteExtensionsTests.cs diff --git a/GDX/Tests/EditMode/Runtime/ByteExtensionsTests.cs.meta b/Tests/EditMode/Runtime/ByteExtensionsTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/ByteExtensionsTests.cs.meta rename to Tests/EditMode/Runtime/ByteExtensionsTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Collections.meta b/Tests/EditMode/Runtime/Collections.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections.meta rename to Tests/EditMode/Runtime/Collections.meta diff --git a/GDX/Tests/EditMode/Runtime/Collections/Generic.meta b/Tests/EditMode/Runtime/Collections/Generic.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Generic.meta rename to Tests/EditMode/Runtime/Collections/Generic.meta diff --git a/GDX/Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs b/Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs similarity index 88% rename from GDX/Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs rename to Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs index 88cf2883..4a5ea220 100644 --- a/GDX/Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs +++ b/Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs @@ -45,6 +45,32 @@ public void AddRows_MockData_ArrayResized() Assert.IsTrue(evaluate); } + [Test] + [Category("GDX.Tests")] + public void GetColumnIndex_MockData_ReturnsIndex() + { + Array2D mockArray = new Array2D(2, 4) {[1, 0] = 0, [1, 1] = 1, [1, 2] = 2, [1, 3] = 3}; + + int columnIndex = mockArray.GetColumnIndex(5); + + bool evaluate = columnIndex == 1; + + Assert.IsTrue(evaluate); + } + + [Test] + [Category("GDX.Tests")] + public void GetRowIndex_MockData_ReturnsIndex() + { + Array2D mockArray = new Array2D(2, 4) {[1, 0] = 0, [1, 1] = 1, [1, 2] = 2, [1, 3] = 3}; + + int rowIndex = mockArray.GetRowIndex(5); + + bool evaluate = rowIndex == 1; + + Assert.IsTrue(evaluate); + } + [Test] [Category("GDX.Tests")] public void ReverseColumns_MockDataEven_ValuesReversed() diff --git a/GDX/Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs.meta b/Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs.meta rename to Tests/EditMode/Runtime/Collections/Generic/Array2DTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Collections/Generic/SerializableDictionaryTests.cs b/Tests/EditMode/Runtime/Collections/Generic/SerializableDictionaryTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Generic/SerializableDictionaryTests.cs rename to Tests/EditMode/Runtime/Collections/Generic/SerializableDictionaryTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Collections/Generic/SerializableDictionaryTests.cs.meta b/Tests/EditMode/Runtime/Collections/Generic/SerializableDictionaryTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Generic/SerializableDictionaryTests.cs.meta rename to Tests/EditMode/Runtime/Collections/Generic/SerializableDictionaryTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Collections/Generic/SimpleListTests.cs b/Tests/EditMode/Runtime/Collections/Generic/SimpleListTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Generic/SimpleListTests.cs rename to Tests/EditMode/Runtime/Collections/Generic/SimpleListTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Collections/Generic/SimpleListTests.cs.meta b/Tests/EditMode/Runtime/Collections/Generic/SimpleListTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Generic/SimpleListTests.cs.meta rename to Tests/EditMode/Runtime/Collections/Generic/SimpleListTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Collections/Pooling.meta b/Tests/EditMode/Runtime/Collections/Pooling.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Pooling.meta rename to Tests/EditMode/Runtime/Collections/Pooling.meta diff --git a/GDX/Tests/EditMode/Runtime/Collections/Pooling/ArrayPoolTests.cs b/Tests/EditMode/Runtime/Collections/Pooling/ArrayPoolTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Pooling/ArrayPoolTests.cs rename to Tests/EditMode/Runtime/Collections/Pooling/ArrayPoolTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Collections/Pooling/ArrayPoolTests.cs.meta b/Tests/EditMode/Runtime/Collections/Pooling/ArrayPoolTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Pooling/ArrayPoolTests.cs.meta rename to Tests/EditMode/Runtime/Collections/Pooling/ArrayPoolTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Collections/Pooling/GameObjectPoolTests.cs b/Tests/EditMode/Runtime/Collections/Pooling/GameObjectPoolTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Pooling/GameObjectPoolTests.cs rename to Tests/EditMode/Runtime/Collections/Pooling/GameObjectPoolTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Collections/Pooling/GameObjectPoolTests.cs.meta b/Tests/EditMode/Runtime/Collections/Pooling/GameObjectPoolTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Collections/Pooling/GameObjectPoolTests.cs.meta rename to Tests/EditMode/Runtime/Collections/Pooling/GameObjectPoolTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Developer.meta b/Tests/EditMode/Runtime/Developer.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer.meta rename to Tests/EditMode/Runtime/Developer.meta diff --git a/GDX/Tests/EditMode/Runtime/Developer/CommandLineParserTests.cs b/Tests/EditMode/Runtime/Developer/CommandLineParserTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/CommandLineParserTests.cs rename to Tests/EditMode/Runtime/Developer/CommandLineParserTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Developer/CommandLineParserTests.cs.meta b/Tests/EditMode/Runtime/Developer/CommandLineParserTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/CommandLineParserTests.cs.meta rename to Tests/EditMode/Runtime/Developer/CommandLineParserTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports.meta b/Tests/EditMode/Runtime/Developer/Reports.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports.meta rename to Tests/EditMode/Runtime/Developer/Reports.meta diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports/ReportExtensionsTests.cs b/Tests/EditMode/Runtime/Developer/Reports/ReportExtensionsTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports/ReportExtensionsTests.cs rename to Tests/EditMode/Runtime/Developer/Reports/ReportExtensionsTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports/ReportExtensionsTests.cs.meta b/Tests/EditMode/Runtime/Developer/Reports/ReportExtensionsTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports/ReportExtensionsTests.cs.meta rename to Tests/EditMode/Runtime/Developer/Reports/ReportExtensionsTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports/ReportTests.cs b/Tests/EditMode/Runtime/Developer/Reports/ReportTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports/ReportTests.cs rename to Tests/EditMode/Runtime/Developer/Reports/ReportTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports/ReportTests.cs.meta b/Tests/EditMode/Runtime/Developer/Reports/ReportTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports/ReportTests.cs.meta rename to Tests/EditMode/Runtime/Developer/Reports/ReportTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports/ResourcesAuditTests.cs b/Tests/EditMode/Runtime/Developer/Reports/ResourcesAuditTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports/ResourcesAuditTests.cs rename to Tests/EditMode/Runtime/Developer/Reports/ResourcesAuditTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports/ResourcesAuditTests.cs.meta b/Tests/EditMode/Runtime/Developer/Reports/ResourcesAuditTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports/ResourcesAuditTests.cs.meta rename to Tests/EditMode/Runtime/Developer/Reports/ResourcesAuditTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports/ResourcesDiffTests.cs b/Tests/EditMode/Runtime/Developer/Reports/ResourcesDiffTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports/ResourcesDiffTests.cs rename to Tests/EditMode/Runtime/Developer/Reports/ResourcesDiffTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Developer/Reports/ResourcesDiffTests.cs.meta b/Tests/EditMode/Runtime/Developer/Reports/ResourcesDiffTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Developer/Reports/ResourcesDiffTests.cs.meta rename to Tests/EditMode/Runtime/Developer/Reports/ResourcesDiffTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/IListExtensionsTests.cs b/Tests/EditMode/Runtime/IListExtensionsTests.cs similarity index 95% rename from GDX/Tests/EditMode/Runtime/IListExtensionsTests.cs rename to Tests/EditMode/Runtime/IListExtensionsTests.cs index 6831b1d4..ce02e440 100644 --- a/GDX/Tests/EditMode/Runtime/IListExtensionsTests.cs +++ b/Tests/EditMode/Runtime/IListExtensionsTests.cs @@ -49,7 +49,7 @@ public void AddUniqueItem_NonUniqueItem_ReturnsFalse() [Test] [Category("GDX.Tests")] - public void ContainsItem_MockData_ReturnsIndex() + public void ContainsItem_MockData_FindsItem() { CircularBuffer mockObject = new CircularBuffer(5); List> mockData = new List> @@ -66,6 +66,16 @@ public void ContainsItem_MockData_ReturnsIndex() Assert.IsTrue(evaluate); } + [Test] + [Category("GDX.Tests")] + public void ContainsItem_StringArray_FindsItem() + { + string[] mockObject = new string[] {"Hello", "Jello", "Mello", "Tello", "Dello"}; + bool evaluate = mockObject.ContainsItem("Jello"); + + Assert.IsTrue(evaluate); + } + [Test] [Category("GDX.Tests")] public void RemoveFirstItem_MockData_RemovedItem() diff --git a/GDX/Tests/EditMode/Runtime/IListExtensionsTests.cs.meta b/Tests/EditMode/Runtime/IListExtensionsTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/IListExtensionsTests.cs.meta rename to Tests/EditMode/Runtime/IListExtensionsTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/LocalizationTests.cs b/Tests/EditMode/Runtime/LocalizationTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/LocalizationTests.cs rename to Tests/EditMode/Runtime/LocalizationTests.cs diff --git a/GDX/Tests/EditMode/Runtime/LocalizationTests.cs.meta b/Tests/EditMode/Runtime/LocalizationTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/LocalizationTests.cs.meta rename to Tests/EditMode/Runtime/LocalizationTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Mathematics.meta b/Tests/EditMode/Runtime/Mathematics.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Mathematics.meta rename to Tests/EditMode/Runtime/Mathematics.meta diff --git a/GDX/Tests/EditMode/Runtime/Mathematics/Random.meta b/Tests/EditMode/Runtime/Mathematics/Random.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Mathematics/Random.meta rename to Tests/EditMode/Runtime/Mathematics/Random.meta diff --git a/GDX/Tests/EditMode/Runtime/Mathematics/Random/RandomAdaptorTests.cs b/Tests/EditMode/Runtime/Mathematics/Random/RandomAdaptorTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Mathematics/Random/RandomAdaptorTests.cs rename to Tests/EditMode/Runtime/Mathematics/Random/RandomAdaptorTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Mathematics/Random/RandomAdaptorTests.cs.meta b/Tests/EditMode/Runtime/Mathematics/Random/RandomAdaptorTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Mathematics/Random/RandomAdaptorTests.cs.meta rename to Tests/EditMode/Runtime/Mathematics/Random/RandomAdaptorTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Mathematics/Random/WELL1024aTests.cs b/Tests/EditMode/Runtime/Mathematics/Random/WELL1024aTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Mathematics/Random/WELL1024aTests.cs rename to Tests/EditMode/Runtime/Mathematics/Random/WELL1024aTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Mathematics/Random/WELL1024aTests.cs.meta b/Tests/EditMode/Runtime/Mathematics/Random/WELL1024aTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Mathematics/Random/WELL1024aTests.cs.meta rename to Tests/EditMode/Runtime/Mathematics/Random/WELL1024aTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/SimpleListExtensionsTests.cs b/Tests/EditMode/Runtime/SimpleListExtensionsTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/SimpleListExtensionsTests.cs rename to Tests/EditMode/Runtime/SimpleListExtensionsTests.cs diff --git a/GDX/Tests/EditMode/Runtime/SimpleListExtensionsTests.cs.meta b/Tests/EditMode/Runtime/SimpleListExtensionsTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/SimpleListExtensionsTests.cs.meta rename to Tests/EditMode/Runtime/SimpleListExtensionsTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/StringExtensionsPerformance.cs b/Tests/EditMode/Runtime/StringExtensionsPerformance.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/StringExtensionsPerformance.cs rename to Tests/EditMode/Runtime/StringExtensionsPerformance.cs diff --git a/GDX/Tests/EditMode/Runtime/StringExtensionsPerformance.cs.meta b/Tests/EditMode/Runtime/StringExtensionsPerformance.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/StringExtensionsPerformance.cs.meta rename to Tests/EditMode/Runtime/StringExtensionsPerformance.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/StringExtensionsTests.cs b/Tests/EditMode/Runtime/StringExtensionsTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/StringExtensionsTests.cs rename to Tests/EditMode/Runtime/StringExtensionsTests.cs diff --git a/GDX/Tests/EditMode/Runtime/StringExtensionsTests.cs.meta b/Tests/EditMode/Runtime/StringExtensionsTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/StringExtensionsTests.cs.meta rename to Tests/EditMode/Runtime/StringExtensionsTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Vector2ExtensionsTests.cs b/Tests/EditMode/Runtime/Vector2ExtensionsTests.cs similarity index 100% rename from GDX/Tests/EditMode/Runtime/Vector2ExtensionsTests.cs rename to Tests/EditMode/Runtime/Vector2ExtensionsTests.cs diff --git a/GDX/Tests/EditMode/Runtime/Vector2ExtensionsTests.cs.meta b/Tests/EditMode/Runtime/Vector2ExtensionsTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Vector2ExtensionsTests.cs.meta rename to Tests/EditMode/Runtime/Vector2ExtensionsTests.cs.meta diff --git a/GDX/Tests/EditMode/Runtime/Vector3ExtensionsTests.cs b/Tests/EditMode/Runtime/Vector3ExtensionsTests.cs similarity index 84% rename from GDX/Tests/EditMode/Runtime/Vector3ExtensionsTests.cs rename to Tests/EditMode/Runtime/Vector3ExtensionsTests.cs index bbc63757..58d73ad6 100644 --- a/GDX/Tests/EditMode/Runtime/Vector3ExtensionsTests.cs +++ b/Tests/EditMode/Runtime/Vector3ExtensionsTests.cs @@ -64,6 +64,23 @@ public void Approximately_Zero_ReturnsTrue() Assert.IsTrue(evaluate); } + [Test] + [Category("GDX.Tests")] + public void DistanceSqr_MockData_ReturnsSame() + { + Vector3 a = new Vector3(0,20.5f, 16.5f); + Vector3 b = new Vector3(18,17.5f, 92.5f); + + float originalDistance = Vector3.Distance(a, b); + float original = Mathf.Round(originalDistance * originalDistance); + float optimized = Mathf.Round(a.DistanceSqr(b)); + + bool evaluate = original == optimized; + + Assert.IsTrue(evaluate); + } + + [Test] [Category("GDX.Tests")] public void Midpoint_ZeroAndOne_ReturnsHalf() diff --git a/GDX/Tests/EditMode/Runtime/Vector3ExtensionsTests.cs.meta b/Tests/EditMode/Runtime/Vector3ExtensionsTests.cs.meta similarity index 100% rename from GDX/Tests/EditMode/Runtime/Vector3ExtensionsTests.cs.meta rename to Tests/EditMode/Runtime/Vector3ExtensionsTests.cs.meta diff --git a/package.json b/package.json index ee0e3c96..fbeb6a19 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "com.dotbunny.gdx", "displayName": "GDX", - "version": "2.0.0", + "version": "2.0.1", "unity": "2018.4", "description": "Game Development Extensions\nA battle-tested library of game-ready high-performance C# code.", "keywords": [