diff --git a/package.json b/package.json index 7596b283..916e5e2e 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,8 @@ "com.appalachia.unity3d.third-party.hendrikhaupt": "0.1.0", "com.appalachia.unity3d.third-party.amplify": "0.1.0", "com.appalachia.unity3d.third-party.virtualmethod": "0.1.0", - "com.unity.timeline": "1.6.2" + "com.unity.timeline": "1.6.2", + "com.unity.inputsystem": "1.1.1" }, "scripts": { "preversion": "bash ~/com.appalachia/appa/appa package unity3d preversion", diff --git a/src/Buoyancy/Appalachia.Simulation.Buoyancy.asmdef b/src/Buoyancy/Appalachia.Simulation.Buoyancy.asmdef index 30a17c2d..730e1c42 100644 --- a/src/Buoyancy/Appalachia.Simulation.Buoyancy.asmdef +++ b/src/Buoyancy/Appalachia.Simulation.Buoyancy.asmdef @@ -62,6 +62,7 @@ "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:2665a8d13d1b3f18800f46e256720795", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Buoyancy/BuoyancyVoxelDataGizmoSettings.cs b/src/Buoyancy/BuoyancyVoxelDataGizmoSettings.cs index 22497de2..1f81ce0d 100644 --- a/src/Buoyancy/BuoyancyVoxelDataGizmoSettings.cs +++ b/src/Buoyancy/BuoyancyVoxelDataGizmoSettings.cs @@ -9,7 +9,7 @@ namespace Appalachia.Simulation.Buoyancy { public class - BuoyancyVoxelDataGizmoSettings : SelfSavingSingletonScriptableObject< + BuoyancyVoxelDataGizmoSettings : SingletonAppalachiaObject< BuoyancyVoxelDataGizmoSettings> { private const string _GC = "Cumulative"; diff --git a/src/Buoyancy/Buoyant.cs b/src/Buoyancy/Buoyant.cs index b4d2ba5e..c1f52664 100644 --- a/src/Buoyancy/Buoyant.cs +++ b/src/Buoyancy/Buoyant.cs @@ -44,7 +44,7 @@ namespace Appalachia.Simulation.Buoyancy [RequireComponent(typeof(Rigidbody))] [RequireComponent(typeof(RigidbodyDensityManager))] [ExecutionOrder(-90)] - public class Buoyant : AppalachiaInstancedMonoBehaviour + public class Buoyant : InstancedAppalachiaBehaviour { private const string _PRF_PFX = nameof(Buoyant) + "."; diff --git a/src/Buoyancy/Data/BuoyancyData.cs b/src/Buoyancy/Data/BuoyancyData.cs index f546272d..6e7f1e6c 100644 --- a/src/Buoyancy/Data/BuoyancyData.cs +++ b/src/Buoyancy/Data/BuoyancyData.cs @@ -9,7 +9,7 @@ namespace Appalachia.Simulation.Buoyancy.Data { [Serializable] - public class BuoyancyData : SelfSavingScriptableObject + public class BuoyancyData : AppalachiaObject { [SmartLabel(Postfix = true)] [SerializeField] diff --git a/src/Buoyancy/Data/BuoyancyDataCollection.cs b/src/Buoyancy/Data/BuoyancyDataCollection.cs index 1ae57a10..51bb804d 100644 --- a/src/Buoyancy/Data/BuoyancyDataCollection.cs +++ b/src/Buoyancy/Data/BuoyancyDataCollection.cs @@ -6,7 +6,7 @@ namespace Appalachia.Simulation.Buoyancy.Data { [Serializable] - public class BuoyancyDataCollection : ScriptableObjectLookupCollection { protected override string GetUniqueKeyFromValue(BuoyancyData value) diff --git a/src/Buoyancy/Data/BuoyancyDataDefaults.cs b/src/Buoyancy/Data/BuoyancyDataDefaults.cs index ca848413..8bcf3f8d 100644 --- a/src/Buoyancy/Data/BuoyancyDataDefaults.cs +++ b/src/Buoyancy/Data/BuoyancyDataDefaults.cs @@ -5,7 +5,7 @@ namespace Appalachia.Simulation.Buoyancy.Data { - public class BuoyancyDataDefaults : SelfSavingSingletonScriptableObject + public class BuoyancyDataDefaults : SingletonAppalachiaObject { [SmartLabel] [PropertyRange(0.00001f, 0.01f)] diff --git a/src/Buoyancy/Data/WaterPhysicsCoefficients.cs b/src/Buoyancy/Data/WaterPhysicsCoefficients.cs index a37dc5a2..097360c8 100644 --- a/src/Buoyancy/Data/WaterPhysicsCoefficients.cs +++ b/src/Buoyancy/Data/WaterPhysicsCoefficients.cs @@ -7,7 +7,7 @@ namespace Appalachia.Simulation.Buoyancy.Data { [Serializable] public class - WaterPhysicsCoefficients : SelfSavingSingletonScriptableObject + WaterPhysicsCoefficients : SingletonAppalachiaObject { [InlineProperty] [SmartLabel] diff --git a/src/Buoyancy/PKG.cs b/src/Buoyancy/PKG.cs index 7bc4b40d..14b21e23 100644 --- a/src/Buoyancy/PKG.cs +++ b/src/Buoyancy/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Buoyancy { internal static partial class PKG { + public const int Priority = -306000; + public const string Name = "Simulation/Buoyancy"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/Buoyancy/"; - public const int Priority = 1000*80; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/Buoyancy/Water.cs b/src/Buoyancy/Water.cs index 701cc0d7..97dd5c00 100644 --- a/src/Buoyancy/Water.cs +++ b/src/Buoyancy/Water.cs @@ -28,7 +28,7 @@ namespace Appalachia.Simulation.Buoyancy { [ExecuteAlways] [ExecutionOrder(-100)] - public class Water : AppalachiaMonoBehaviour + public class Water : AppalachiaBehaviour { private const string _PRF_PFX = nameof(Water) + "."; diff --git a/src/Core/Appalachia.Simulation.Core.asmdef b/src/Core/Appalachia.Simulation.Core.asmdef index 9f9ea883..3230a1e7 100644 --- a/src/Core/Appalachia.Simulation.Core.asmdef +++ b/src/Core/Appalachia.Simulation.Core.asmdef @@ -52,6 +52,7 @@ "GUID:a03736e1d95a0ed4c8a44e1ee02df53f", "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Core/Metadata/Density/DensityMetadata.cs b/src/Core/Metadata/Density/DensityMetadata.cs index d5ce8bcb..f3cfffae 100644 --- a/src/Core/Metadata/Density/DensityMetadata.cs +++ b/src/Core/Metadata/Density/DensityMetadata.cs @@ -10,7 +10,7 @@ namespace Appalachia.Simulation.Core.Metadata.Density { - public class DensityMetadata : SelfCategorizingNamingSavingAndIdentifyingScriptableObject< + public class DensityMetadata : CategorizableAutonamedIdentifiableAppalachiaObject< DensityMetadata> { [SerializeField] diff --git a/src/Core/Metadata/Density/DensityMetadataCollection.cs b/src/Core/Metadata/Density/DensityMetadataCollection.cs index 0dec70b4..adb8b8cf 100644 --- a/src/Core/Metadata/Density/DensityMetadataCollection.cs +++ b/src/Core/Metadata/Density/DensityMetadataCollection.cs @@ -4,7 +4,7 @@ namespace Appalachia.Simulation.Core.Metadata.Density { public class - DensityMetadataCollection : MetadataLookupBase + DensityMetadataCollection : AppalachiaMetadataCollection { [FoldoutGroup("Named")] public DensityMetadata ground; [FoldoutGroup("Named")] public DensityMetadata air; diff --git a/src/Core/Metadata/Fuel/FuelBurnRate.cs b/src/Core/Metadata/Fuel/FuelBurnRate.cs index 73957622..f836afca 100644 --- a/src/Core/Metadata/Fuel/FuelBurnRate.cs +++ b/src/Core/Metadata/Fuel/FuelBurnRate.cs @@ -3,11 +3,16 @@ namespace Appalachia.Simulation.Core.Metadata.Fuel { - [CreateAssetMenu(menuName = "Internal/Metadata/Simulation/Heat/Fuel/FuelBurnRate", order = 0)] - public class FuelBurnRate : AppalachiaScriptableObject + public class FuelBurnRate : AppalachiaObject { public float kgCharPerHour = 2f; public float kgBurnPerHour = 1f; public float ignitionRate = 0.05f; + + [UnityEditor.MenuItem(PKG.Menu.Assets.Base + nameof(FuelBurnRate), priority = PKG.Menu.Assets.Priority)] + public static void CreateAsset() + { + CreateNew(); + } } } diff --git a/src/Core/Metadata/Fuel/FuelBurnScale.cs b/src/Core/Metadata/Fuel/FuelBurnScale.cs index b8eab564..37fe7c73 100644 --- a/src/Core/Metadata/Fuel/FuelBurnScale.cs +++ b/src/Core/Metadata/Fuel/FuelBurnScale.cs @@ -3,9 +3,14 @@ namespace Appalachia.Simulation.Core.Metadata.Fuel { - [CreateAssetMenu(menuName = "Internal/Metadata/Simulation/Heat/Fuel/FuelBurnScale", order = 0)] - public class FuelBurnScale : AppalachiaScriptableObject + public class FuelBurnScale : AppalachiaObject { public Vector3 burnScale; + + [UnityEditor.MenuItem(PKG.Menu.Assets.Base + nameof(FuelBurnScale), priority = PKG.Menu.Assets.Priority)] + public static void CreateAsset() + { + CreateNew(); + } } } diff --git a/src/Core/Metadata/Materials/PhysicMaterialWrapper.cs b/src/Core/Metadata/Materials/PhysicMaterialWrapper.cs index d81f861f..a7e4bdcb 100644 --- a/src/Core/Metadata/Materials/PhysicMaterialWrapper.cs +++ b/src/Core/Metadata/Materials/PhysicMaterialWrapper.cs @@ -11,7 +11,7 @@ namespace Appalachia.Simulation.Core.Metadata.Materials { [SmartLabel] public class - PhysicMaterialWrapper : SelfCategorizingAndSavingScriptableObject + PhysicMaterialWrapper : CategorizableAppalachiaObject { [SmartLabel] [SmartLabelChildren] diff --git a/src/Core/Metadata/Materials/PhysicsMaterialsCollection.cs b/src/Core/Metadata/Materials/PhysicsMaterialsCollection.cs index 1c176aa8..f3ae04b8 100644 --- a/src/Core/Metadata/Materials/PhysicsMaterialsCollection.cs +++ b/src/Core/Metadata/Materials/PhysicsMaterialsCollection.cs @@ -11,7 +11,7 @@ namespace Appalachia.Simulation.Core.Metadata.Materials { - public class PhysicsMaterialsCollection : MetadataLookupBase + public class PhysicsMaterialsCollection : AppalachiaMetadataCollection { [FoldoutGroup("Misc")] public Material physicsVisualizationMaterial; diff --git a/src/Core/Metadata/Tree/TreeIndividualMetadata.cs b/src/Core/Metadata/Tree/TreeIndividualMetadata.cs index 9f8690c0..93f4e1ad 100644 --- a/src/Core/Metadata/Tree/TreeIndividualMetadata.cs +++ b/src/Core/Metadata/Tree/TreeIndividualMetadata.cs @@ -6,7 +6,7 @@ namespace Appalachia.Simulation.Core.Metadata.Tree { [Serializable] public class - TreeIndividualMetadata : SelfSavingAndIdentifyingScriptableObject + TreeIndividualMetadata : IdentifiableAppalachiaObject { public int individualID; diff --git a/src/Core/Metadata/Tree/TreeSpeciesMetadata.cs b/src/Core/Metadata/Tree/TreeSpeciesMetadata.cs index dc5635fa..290be734 100644 --- a/src/Core/Metadata/Tree/TreeSpeciesMetadata.cs +++ b/src/Core/Metadata/Tree/TreeSpeciesMetadata.cs @@ -4,7 +4,7 @@ namespace Appalachia.Simulation.Core.Metadata.Tree { - public class TreeSpeciesMetadata : SelfSavingAndIdentifyingScriptableObject + public class TreeSpeciesMetadata : IdentifiableAppalachiaObject { public string speciesName; diff --git a/src/Core/Metadata/Wind/GlobalWindParameters.cs b/src/Core/Metadata/Wind/GlobalWindParameters.cs index 57739087..d37c278d 100644 --- a/src/Core/Metadata/Wind/GlobalWindParameters.cs +++ b/src/Core/Metadata/Wind/GlobalWindParameters.cs @@ -10,7 +10,7 @@ namespace Appalachia.Simulation.Core.Metadata.Wind { - public class GlobalWindParameters : SelfSavingScriptableObject + public class GlobalWindParameters : AppalachiaObject { [FoldoutGroup("System")] [SmartLabel] diff --git a/src/Core/Metadata/Wood/WoodSimulationData.cs b/src/Core/Metadata/Wood/WoodSimulationData.cs index f03ce1a4..34bb2f7b 100644 --- a/src/Core/Metadata/Wood/WoodSimulationData.cs +++ b/src/Core/Metadata/Wood/WoodSimulationData.cs @@ -7,9 +7,8 @@ namespace Appalachia.Simulation.Core.Metadata.Wood { - [CreateAssetMenu(menuName = "Tree Species Editor/Simulation/Wood", order = 10)] public class WoodSimulationData : - SelfCategorizingIdentifyingAndSavingScriptableObject + CategorizableIdentifiableAppalachiaObject { [BoxGroup("Physical")] public DensityMetadata densityMetadata; @@ -85,6 +84,11 @@ private void AssignBestDensity() #pragma warning restore 612 } + [UnityEditor.MenuItem(PKG.Menu.Assets.Base + nameof(WoodSimulationData), priority = PKG.Menu.Assets.Priority)] + public static void CreateAsset() + { + CreateNew(); + } #endif } } diff --git a/src/Core/Metadata/Wood/WoodSimulationDataCollection.cs b/src/Core/Metadata/Wood/WoodSimulationDataCollection.cs index 5514bab3..f876ab28 100644 --- a/src/Core/Metadata/Wood/WoodSimulationDataCollection.cs +++ b/src/Core/Metadata/Wood/WoodSimulationDataCollection.cs @@ -3,7 +3,7 @@ namespace Appalachia.Simulation.Core.Metadata.Wood { public class - WoodSimulationDataCollection : MetadataLookupBase { } diff --git a/src/Core/PKG.cs b/src/Core/PKG.cs index 262c798a..7a0ea816 100644 --- a/src/Core/PKG.cs +++ b/src/Core/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Core { internal static partial class PKG { + public const int Priority = -305000; + public const string Name = "Simulation"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/"; - public const int Priority = 1000*81; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/Core/PhysicsSimulator.cs b/src/Core/PhysicsSimulator.cs index c328bac4..8dfcf4b7 100644 --- a/src/Core/PhysicsSimulator.cs +++ b/src/Core/PhysicsSimulator.cs @@ -60,7 +60,7 @@ public static void SetEnabled(bool enabled) } } - [MenuItem(PKG.Menu.Appalachia.Tools.Base + MENU_TOGGLE, false, priority = PKG.Priority)] + [MenuItem(PKG.Menu.Appalachia.Tools.Base + MENU_TOGGLE, priority = PKG.Priority)] public static void TogglePhysicsSimulation() { SetEnabled(!s_Enabled); diff --git a/src/Editor/Appalachia.Simulation.Editor.asmdef b/src/Editor/Appalachia.Simulation.Editor.asmdef index 668d397e..293639c6 100644 --- a/src/Editor/Appalachia.Simulation.Editor.asmdef +++ b/src/Editor/Appalachia.Simulation.Editor.asmdef @@ -56,6 +56,7 @@ "GUID:a03736e1d95a0ed4c8a44e1ee02df53f", "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Editor/Integration/ColliderUtility.cs b/src/Editor/Integration/ColliderUtility.cs index 2265835f..9bf08d6c 100644 --- a/src/Editor/Integration/ColliderUtility.cs +++ b/src/Editor/Integration/ColliderUtility.cs @@ -8,7 +8,7 @@ namespace Appalachia.Simulation.Integration { - public class ColliderUtility : EditorOnlyMonoBehaviour + public class ColliderUtility : EditorOnlyBehaviour { [SmartLabel] [InlineButton(nameof(ApplyToAll))] diff --git a/src/Editor/Integration/MaterialTestingArena.cs b/src/Editor/Integration/MaterialTestingArena.cs index c34f022e..9ea54873 100644 --- a/src/Editor/Integration/MaterialTestingArena.cs +++ b/src/Editor/Integration/MaterialTestingArena.cs @@ -11,7 +11,7 @@ namespace Appalachia.Simulation.Integration { - public class MaterialTestingArena : EditorOnlyMonoBehaviour + public class MaterialTestingArena : EditorOnlyBehaviour { [FoldoutGroup("Center")] [SmartLabel] diff --git a/src/Editor/Integration/SimpleColliderGenerator.cs b/src/Editor/Integration/SimpleColliderGenerator.cs index 100d5aa6..86d48aea 100644 --- a/src/Editor/Integration/SimpleColliderGenerator.cs +++ b/src/Editor/Integration/SimpleColliderGenerator.cs @@ -12,7 +12,7 @@ namespace Appalachia.Simulation.Integration { [ExecuteAlways] [DisallowMultipleComponent] - public class SimpleColliderGenerator : EditorOnlyFrustumCulledMonoBehaviour + public class SimpleColliderGenerator : EditorOnlyFrustumCulledBehaviour { public override EditorOnlyExclusionStyle exclusionStyle => EditorOnlyExclusionStyle.Component; diff --git a/src/Editor/PKG.cs b/src/Editor/PKG.cs index fb4b0907..6915898c 100644 --- a/src/Editor/PKG.cs +++ b/src/Editor/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation { internal static partial class PKG { + public const int Priority = -273000; + public const string Name = "Simulation"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/"; - public const int Priority = 1000*82; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/Fire/Appalachia.Simulation.Fire.asmdef b/src/Fire/Appalachia.Simulation.Fire.asmdef index 2e298db7..8a7d37c4 100644 --- a/src/Fire/Appalachia.Simulation.Fire.asmdef +++ b/src/Fire/Appalachia.Simulation.Fire.asmdef @@ -54,6 +54,7 @@ "GUID:a03736e1d95a0ed4c8a44e1ee02df53f", "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Fire/PKG.cs b/src/Fire/PKG.cs index 01ecdb38..2480021e 100644 --- a/src/Fire/PKG.cs +++ b/src/Fire/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Fire { internal static partial class PKG { + public const int Priority = -304000; + public const string Name = "Simulation/Fire"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/Fire/"; - public const int Priority = 1000*83; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/Obi/Appalachia.Simulation.Obi.asmdef b/src/Obi/Appalachia.Simulation.Obi.asmdef index 76ea87df..72706b5e 100644 --- a/src/Obi/Appalachia.Simulation.Obi.asmdef +++ b/src/Obi/Appalachia.Simulation.Obi.asmdef @@ -52,6 +52,7 @@ "GUID:a03736e1d95a0ed4c8a44e1ee02df53f", "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Obi/PKG.cs b/src/Obi/PKG.cs index 5725939a..dafc6f33 100644 --- a/src/Obi/PKG.cs +++ b/src/Obi/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Obi { internal static partial class PKG { + public const int Priority = -303000; + public const string Name = "Simulation/Obi"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/Obi/"; - public const int Priority = 1000*84; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/ObjectTracking/Appalachia.Simulation.ObjectTracking.asmdef b/src/ObjectTracking/Appalachia.Simulation.ObjectTracking.asmdef index b88c5b56..84899a27 100644 --- a/src/ObjectTracking/Appalachia.Simulation.ObjectTracking.asmdef +++ b/src/ObjectTracking/Appalachia.Simulation.ObjectTracking.asmdef @@ -51,6 +51,7 @@ "GUID:a03736e1d95a0ed4c8a44e1ee02df53f", "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/ObjectTracking/PKG.cs b/src/ObjectTracking/PKG.cs index 19672706..1ba6710f 100644 --- a/src/ObjectTracking/PKG.cs +++ b/src/ObjectTracking/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.ObjectTracking { internal static partial class PKG { + public const int Priority = -302000; + public const string Name = "Simulation/ObjectTracking"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/ObjectTracking/"; - public const int Priority = 1000*85; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/Physical/Appalachia.Simulation.Physical.asmdef b/src/Physical/Appalachia.Simulation.Physical.asmdef index 7a9a872a..c29f7edb 100644 --- a/src/Physical/Appalachia.Simulation.Physical.asmdef +++ b/src/Physical/Appalachia.Simulation.Physical.asmdef @@ -56,6 +56,7 @@ "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:2665a8d13d1b3f18800f46e256720795", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Physical/Integration/RigidbodyDensityManager.cs b/src/Physical/Integration/RigidbodyDensityManager.cs index 1ffbdce6..d8a3712e 100644 --- a/src/Physical/Integration/RigidbodyDensityManager.cs +++ b/src/Physical/Integration/RigidbodyDensityManager.cs @@ -13,7 +13,7 @@ namespace Appalachia.Simulation.Physical.Integration { [ExecuteAlways] [DisallowMultipleComponent] - public class RigidbodyDensityManager : EditorOnlyMonoBehaviour + public class RigidbodyDensityManager : EditorOnlyBehaviour { private const string _PRF_PFX = nameof(RigidbodyDensityManager) + "."; diff --git a/src/Physical/Integration/RigidbodyEditorUtility.cs b/src/Physical/Integration/RigidbodyEditorUtility.cs index 0f209496..2aee2eac 100644 --- a/src/Physical/Integration/RigidbodyEditorUtility.cs +++ b/src/Physical/Integration/RigidbodyEditorUtility.cs @@ -12,7 +12,7 @@ namespace Appalachia.Simulation.Physical.Integration { [DisallowMultipleComponent] [RequireComponent(typeof(Rigidbody))] - public class RigidbodyEditorUtility : EditorOnlyMonoBehaviour + public class RigidbodyEditorUtility : EditorOnlyBehaviour { [HorizontalGroup("zzz")] [ReadOnly] diff --git a/src/Physical/PKG.cs b/src/Physical/PKG.cs index 17ecb8a5..601975ab 100644 --- a/src/Physical/PKG.cs +++ b/src/Physical/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Physical { internal static partial class PKG { + public const int Priority = -301000; + public const string Name = "Simulation/Physical"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/Physical/"; - public const int Priority = 1000*86; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/ReactionSystem/Appalachia.Simulation.ReactionSystem.asmdef b/src/ReactionSystem/Appalachia.Simulation.ReactionSystem.asmdef index 9443090b..d81c9759 100644 --- a/src/ReactionSystem/Appalachia.Simulation.ReactionSystem.asmdef +++ b/src/ReactionSystem/Appalachia.Simulation.ReactionSystem.asmdef @@ -58,6 +58,7 @@ "GUID:a03736e1d95a0ed4c8a44e1ee02df53f", "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/ReactionSystem/Base/ReactionSubsystemBase.cs b/src/ReactionSystem/Base/ReactionSubsystemBase.cs index 74645eb3..be47d315 100644 --- a/src/ReactionSystem/Base/ReactionSubsystemBase.cs +++ b/src/ReactionSystem/Base/ReactionSubsystemBase.cs @@ -8,7 +8,7 @@ namespace Appalachia.Simulation.ReactionSystem.Base { [ExecuteAlways] [Serializable] - public abstract class ReactionSubsystemBase : AppalachiaMonoBehaviour + public abstract class ReactionSubsystemBase : AppalachiaBehaviour { private const string _PRF_PFX = nameof(ReactionSubsystemBase) + "."; diff --git a/src/ReactionSystem/Base/ReactionSubsystemCenter.cs b/src/ReactionSystem/Base/ReactionSubsystemCenter.cs index 2a0252bf..79944622 100644 --- a/src/ReactionSystem/Base/ReactionSubsystemCenter.cs +++ b/src/ReactionSystem/Base/ReactionSubsystemCenter.cs @@ -11,7 +11,7 @@ namespace Appalachia.Simulation.ReactionSystem.Base { [ExecuteAlways] [DisallowMultipleComponent] - public class ReactionSubsystemCenter : AppalachiaMonoBehaviour + public class ReactionSubsystemCenter : AppalachiaBehaviour { private const string _PRF_PFX = nameof(ReactionSubsystemCenter) + "."; diff --git a/src/ReactionSystem/PKG.cs b/src/ReactionSystem/PKG.cs index ad46b894..e4ea549f 100644 --- a/src/ReactionSystem/PKG.cs +++ b/src/ReactionSystem/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.ReactionSystem { internal static partial class PKG { + public const int Priority = -300000; + public const string Name = "Simulation/ReactionSystem"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/ReactionSystem/"; - public const int Priority = 1000*87; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/ReactionSystem/ReactionSystem.cs b/src/ReactionSystem/ReactionSystem.cs index 7bdefe9b..ce0ec552 100644 --- a/src/ReactionSystem/ReactionSystem.cs +++ b/src/ReactionSystem/ReactionSystem.cs @@ -7,7 +7,7 @@ namespace Appalachia.Simulation.ReactionSystem { [ExecuteAlways] [DisallowMultipleComponent] - public class ReactionSystem : AppalachiaMonoBehaviour + public class ReactionSystem : AppalachiaBehaviour { private const string _PRF_PFX = nameof(ReactionSystem) + "."; diff --git a/src/ReactionSystem/TouchBend/Data/TouchBendComponentInfo.cs b/src/ReactionSystem/TouchBend/Data/TouchBendComponentInfo.cs index ecac8f2b..accce657 100644 --- a/src/ReactionSystem/TouchBend/Data/TouchBendComponentInfo.cs +++ b/src/ReactionSystem/TouchBend/Data/TouchBendComponentInfo.cs @@ -6,7 +6,7 @@ namespace Appalachia.Simulation.ReactionSystem.TouchBend.Data { [Serializable] - public class TouchBendComponentInfo : SelfSavingScriptableObject, + public class TouchBendComponentInfo : AppalachiaObject, IEquatable { public Texture2D texture; diff --git a/src/Trees/Appalachia.Simulation.Trees.asmdef b/src/Trees/Appalachia.Simulation.Trees.asmdef index efa671b6..dbc8085d 100644 --- a/src/Trees/Appalachia.Simulation.Trees.asmdef +++ b/src/Trees/Appalachia.Simulation.Trees.asmdef @@ -54,6 +54,7 @@ "GUID:a03736e1d95a0ed4c8a44e1ee02df53f", "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Trees/Core/Appalachia.Simulation.Trees.Core.asmdef b/src/Trees/Core/Appalachia.Simulation.Trees.Core.asmdef index fcb2cfe1..036360c4 100644 --- a/src/Trees/Core/Appalachia.Simulation.Trees.Core.asmdef +++ b/src/Trees/Core/Appalachia.Simulation.Trees.Core.asmdef @@ -65,6 +65,7 @@ "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", "GUID:478a2357cc57436488a56e564b08d223", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Trees/Core/LogRuntimeInstance.cs b/src/Trees/Core/LogRuntimeInstance.cs index 15021118..1dafd784 100644 --- a/src/Trees/Core/LogRuntimeInstance.cs +++ b/src/Trees/Core/LogRuntimeInstance.cs @@ -21,7 +21,7 @@ namespace Appalachia.Simulation.Trees.Core [DisallowMultipleComponent] [ExecuteAlways] [RequireComponent(typeof(RigidbodyDensityManager))] - public class LogRuntimeInstance : AppalachiaInstancedMonoBehaviour + public class LogRuntimeInstance : InstancedAppalachiaBehaviour { [FormerlySerializedAs("densityRigidbodyManager")] [FoldoutGroup("References")] diff --git a/src/Trees/Core/Model/LogModel.cs b/src/Trees/Core/Model/LogModel.cs index f57ee340..3644df02 100644 --- a/src/Trees/Core/Model/LogModel.cs +++ b/src/Trees/Core/Model/LogModel.cs @@ -18,7 +18,7 @@ namespace Appalachia.Simulation.Trees.Core.Model { [ExecuteAlways] - public class LogModel : EditorOnlyFrustumCulledMonoBehaviour, ILogModel + public class LogModel : EditorOnlyFrustumCulledBehaviour, ILogModel { private ILogDataProvider _container; [HideInInspector] public RaycastHit[] _hits = new RaycastHit[24]; diff --git a/src/Trees/Core/Model/TreeGizmoStyle.cs b/src/Trees/Core/Model/TreeGizmoStyle.cs index 8da49c2e..9a1d0e43 100644 --- a/src/Trees/Core/Model/TreeGizmoStyle.cs +++ b/src/Trees/Core/Model/TreeGizmoStyle.cs @@ -10,7 +10,7 @@ namespace Appalachia.Simulation.Trees.Core.Model { #if UNITY_EDITOR - public class TreeGizmoStyle : SelfSavingSingletonScriptableObject + public class TreeGizmoStyle : SingletonAppalachiaObject { diff --git a/src/Trees/Core/Model/TreeModel.cs b/src/Trees/Core/Model/TreeModel.cs index 222f1a99..d9fa2f98 100644 --- a/src/Trees/Core/Model/TreeModel.cs +++ b/src/Trees/Core/Model/TreeModel.cs @@ -24,7 +24,7 @@ namespace Appalachia.Simulation.Trees.Core.Model { [ExecuteAlways] - public class TreeModel : EditorOnlyFrustumCulledMonoBehaviour, ITreeModel + public class TreeModel : EditorOnlyFrustumCulledBehaviour, ITreeModel { private ISpeciesDataProvider _container; [HideInInspector] public RaycastHit[] _hits = new RaycastHit[24]; diff --git a/src/Trees/Core/PKG.cs b/src/Trees/Core/PKG.cs index dfbb2eff..aa25ab97 100644 --- a/src/Trees/Core/PKG.cs +++ b/src/Trees/Core/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Trees.Core { internal static partial class PKG { + public const int Priority = -298000; + public const string Name = "Simulation/Trees"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/Trees/"; - public const int Priority = 1000*89; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/Trees/Core/Serialization/ResponsiveSelfSavingScriptableObject.cs b/src/Trees/Core/Serialization/ResponsiveAppalachiaObject.cs similarity index 80% rename from src/Trees/Core/Serialization/ResponsiveSelfSavingScriptableObject.cs rename to src/Trees/Core/Serialization/ResponsiveAppalachiaObject.cs index d3a508af..c190841e 100644 --- a/src/Trees/Core/Serialization/ResponsiveSelfSavingScriptableObject.cs +++ b/src/Trees/Core/Serialization/ResponsiveAppalachiaObject.cs @@ -7,8 +7,8 @@ namespace Appalachia.Simulation.Trees.Core.Serialization { - public abstract class ResponsiveSelfSavingScriptableObject : SelfSavingScriptableObject, IResponsive - where T : SelfSavingScriptableObject + public abstract class ResponsiveAppalachiaObject : AppalachiaObject, IResponsive + where T : AppalachiaObject { #if UNITY_EDITOR diff --git a/src/Trees/Core/Serialization/ResponsiveSelfSavingScriptableObject.cs.meta b/src/Trees/Core/Serialization/ResponsiveAppalachiaObject.cs.meta similarity index 100% rename from src/Trees/Core/Serialization/ResponsiveSelfSavingScriptableObject.cs.meta rename to src/Trees/Core/Serialization/ResponsiveAppalachiaObject.cs.meta diff --git a/src/Trees/Core/Serialization/ResponsiveAppalachiaScriptableObject.cs.meta b/src/Trees/Core/Serialization/ResponsiveAppalachiaScriptableObject.cs.meta deleted file mode 100644 index 19422214..00000000 --- a/src/Trees/Core/Serialization/ResponsiveAppalachiaScriptableObject.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 55183a0561a98e84f8103dd0ef3253c3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Trees/Core/Serialization/ResponsiveEmbeddedScriptableObject.cs b/src/Trees/Core/Serialization/ResponsiveEmbeddedScriptableObject.cs deleted file mode 100644 index 572596ce..00000000 --- a/src/Trees/Core/Serialization/ResponsiveEmbeddedScriptableObject.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Appalachia.Core.Extensions; -using Appalachia.Core.Scriptables; -using Appalachia.Simulation.Trees.Core.Editing; -using Appalachia.Simulation.Trees.Core.Settings; -using UnityEditor; -using UnityEngine; - -namespace Appalachia.Simulation.Trees.Core.Serialization -{ - public abstract class ResponsiveNestedScriptableObject : NestedScriptableObject, IResponsive - where T : ResponsiveNestedScriptableObject - where TP : ResponsiveAppalachiaScriptableObject - { - #if UNITY_EDITOR - - public void RecordUndo(TreeEditMode mode) - { - var objects = new Object[] {this}; - - EditorUtility.SetDirty(this); - - Undo.RegisterCompleteObjectUndo(objects, mode.ToString().ToTitleCase()); - } - - public abstract void UpdateSettingsType(ResponsiveSettingsType t); - - #endif - } -} diff --git a/src/Trees/Core/Serialization/ResponsiveAppalachiaScriptableObject.cs b/src/Trees/Core/Serialization/ResponsiveIdentifiableAppalachiaObject.cs similarity index 80% rename from src/Trees/Core/Serialization/ResponsiveAppalachiaScriptableObject.cs rename to src/Trees/Core/Serialization/ResponsiveIdentifiableAppalachiaObject.cs index 003ce274..0439d542 100644 --- a/src/Trees/Core/Serialization/ResponsiveAppalachiaScriptableObject.cs +++ b/src/Trees/Core/Serialization/ResponsiveIdentifiableAppalachiaObject.cs @@ -7,8 +7,8 @@ namespace Appalachia.Simulation.Trees.Core.Serialization { - public abstract class ResponsiveAppalachiaScriptableObject : AppalachiaScriptableObject, IResponsive - where T : ResponsiveAppalachiaScriptableObject + public abstract class ResponsiveIdentifiableAppalachiaObject : IdentifiableAppalachiaObject, IResponsive + where T : IdentifiableAppalachiaObject { #if UNITY_EDITOR diff --git a/src/Trees/Core/Serialization/ResponsiveSelfSavingAndIdentifyingScriptableObject.cs.meta b/src/Trees/Core/Serialization/ResponsiveIdentifiableAppalachiaObject.cs.meta similarity index 83% rename from src/Trees/Core/Serialization/ResponsiveSelfSavingAndIdentifyingScriptableObject.cs.meta rename to src/Trees/Core/Serialization/ResponsiveIdentifiableAppalachiaObject.cs.meta index ba6aabb2..771e9323 100644 --- a/src/Trees/Core/Serialization/ResponsiveSelfSavingAndIdentifyingScriptableObject.cs.meta +++ b/src/Trees/Core/Serialization/ResponsiveIdentifiableAppalachiaObject.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9e1ee7240bb214d47b60e122a0110d00 +guid: 978c5038dfb7dc54587332a907829cae MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/src/Trees/Core/Serialization/ResponsiveSelfSavingAndIdentifyingScriptableObject.cs b/src/Trees/Core/Serialization/ResponsiveNestedAppalachiaObject.cs similarity index 75% rename from src/Trees/Core/Serialization/ResponsiveSelfSavingAndIdentifyingScriptableObject.cs rename to src/Trees/Core/Serialization/ResponsiveNestedAppalachiaObject.cs index 20a0708a..3fdc4ff7 100644 --- a/src/Trees/Core/Serialization/ResponsiveSelfSavingAndIdentifyingScriptableObject.cs +++ b/src/Trees/Core/Serialization/ResponsiveNestedAppalachiaObject.cs @@ -7,8 +7,9 @@ namespace Appalachia.Simulation.Trees.Core.Serialization { - public abstract class ResponsiveSelfSavingAndIdentifyingScriptableObject : SelfSavingAndIdentifyingScriptableObject, IResponsive - where T : SelfSavingAndIdentifyingScriptableObject + public abstract class ResponsiveNestedAppalachiaObject : NestedAppalachiaObject, IResponsive + where T : ResponsiveNestedAppalachiaObject + where TP : ResponsiveAppalachiaObject { #if UNITY_EDITOR diff --git a/src/Trees/Core/Serialization/ResponsiveEmbeddedScriptableObject.cs.meta b/src/Trees/Core/Serialization/ResponsiveNestedAppalachiaObject.cs.meta similarity index 100% rename from src/Trees/Core/Serialization/ResponsiveEmbeddedScriptableObject.cs.meta rename to src/Trees/Core/Serialization/ResponsiveNestedAppalachiaObject.cs.meta diff --git a/src/Trees/Core/Serialization/ResponsiveSelfSavingSingletonScriptableObject.cs b/src/Trees/Core/Serialization/ResponsiveSingletonAppalachiaObject.cs similarity index 78% rename from src/Trees/Core/Serialization/ResponsiveSelfSavingSingletonScriptableObject.cs rename to src/Trees/Core/Serialization/ResponsiveSingletonAppalachiaObject.cs index be662c87..f23b9d7e 100644 --- a/src/Trees/Core/Serialization/ResponsiveSelfSavingSingletonScriptableObject.cs +++ b/src/Trees/Core/Serialization/ResponsiveSingletonAppalachiaObject.cs @@ -7,8 +7,8 @@ namespace Appalachia.Simulation.Trees.Core.Serialization { - public abstract class ResponsiveSelfSavingSingletonScriptableObject : SelfSavingSingletonScriptableObject, IResponsive - where T : SelfSavingSingletonScriptableObject + public abstract class ResponsiveSingletonAppalachiaObject : SingletonAppalachiaObject, IResponsive + where T : SingletonAppalachiaObject { #if UNITY_EDITOR diff --git a/src/Trees/Core/Serialization/ResponsiveSelfSavingSingletonScriptableObject.cs.meta b/src/Trees/Core/Serialization/ResponsiveSingletonAppalachiaObject.cs.meta similarity index 100% rename from src/Trees/Core/Serialization/ResponsiveSelfSavingSingletonScriptableObject.cs.meta rename to src/Trees/Core/Serialization/ResponsiveSingletonAppalachiaObject.cs.meta diff --git a/src/Trees/Core/TreeRuntimeInstanceMetadata.cs b/src/Trees/Core/TreeRuntimeInstanceMetadata.cs index 5a7e236e..8d88f798 100644 --- a/src/Trees/Core/TreeRuntimeInstanceMetadata.cs +++ b/src/Trees/Core/TreeRuntimeInstanceMetadata.cs @@ -6,7 +6,7 @@ namespace Appalachia.Simulation.Trees.Core { public class - TreeRuntimeInstanceMetadata : SelfSavingAndIdentifyingScriptableObject< + TreeRuntimeInstanceMetadata : IdentifiableAppalachiaObject< TreeRuntimeInstanceMetadata> { public string speciesName; diff --git a/src/Trees/Core/TreeRuntimeMetadataCollection.cs b/src/Trees/Core/TreeRuntimeMetadataCollection.cs index f564fbdd..4f50e219 100644 --- a/src/Trees/Core/TreeRuntimeMetadataCollection.cs +++ b/src/Trees/Core/TreeRuntimeMetadataCollection.cs @@ -6,9 +6,8 @@ namespace Appalachia.Simulation.Trees.Core { - [CreateAssetMenu(menuName = "Internal/System/TreeRuntimeMetadataCollection", order = 0)] public class - TreeRuntimeMetadataCollection : SelfSavingSingletonScriptableObject< + TreeRuntimeMetadataCollection : SingletonAppalachiaObject< TreeRuntimeMetadataCollection> { public List treeRuntimeInstanceMetadatas = new(); @@ -40,6 +39,12 @@ private void UpdateLists() treeRuntimeInstanceMetadatas.Add(i); } } + + [UnityEditor.MenuItem(PKG.Menu.Assets.Base + nameof(TreeRuntimeMetadataCollection), priority = PKG.Menu.Assets.Priority)] + public static void CreateAsset() + { + CreateNew(); + } #endif } } diff --git a/src/Trees/Editor/Appalachia.Simulation.Trees.Editor.asmdef b/src/Trees/Editor/Appalachia.Simulation.Trees.Editor.asmdef index 7177eb42..0314a87b 100644 --- a/src/Trees/Editor/Appalachia.Simulation.Trees.Editor.asmdef +++ b/src/Trees/Editor/Appalachia.Simulation.Trees.Editor.asmdef @@ -67,6 +67,7 @@ "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", "GUID:478a2357cc57436488a56e564b08d223", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Trees/Editor/BranchDataContainer.cs b/src/Trees/Editor/BranchDataContainer.cs index 75b0b92f..88ce56da 100644 --- a/src/Trees/Editor/BranchDataContainer.cs +++ b/src/Trees/Editor/BranchDataContainer.cs @@ -24,7 +24,6 @@ namespace Appalachia.Simulation.Trees { - [CreateAssetMenu(menuName = "Tree Species Editor/New/Branch", order = 1)] [Serializable] public class BranchDataContainer : TSEDataContainer { @@ -317,5 +316,11 @@ public override void CopyHierarchiesFrom(TSEDataContainer tsd) dc.branch.hierarchies.CopyHierarchiesTo(branch.hierarchies); } } + + [UnityEditor.MenuItem(PKG.Menu.Assets.Base + nameof(BranchDataContainer), priority = PKG.Menu.Assets.Priority)] + public static void CreateAsset() + { + CreateNew(); + } } } diff --git a/src/Trees/Editor/Data/NameBasis.cs b/src/Trees/Editor/Data/NameBasis.cs index 89ec10a0..ce11cf03 100644 --- a/src/Trees/Editor/Data/NameBasis.cs +++ b/src/Trees/Editor/Data/NameBasis.cs @@ -8,7 +8,7 @@ namespace Appalachia.Simulation.Trees.Data { [InlineEditor(InlineEditorObjectFieldModes.CompletelyHidden)] - public class NameBasis : ResponsiveNestedScriptableObject + public class NameBasis : ResponsiveNestedAppalachiaObject { [LabelText("Name"), LabelWidth(100)] [DelayedProperty, OnValueChanged(nameof(ValidateName))] diff --git a/src/Trees/Editor/Data/TreePresets.cs b/src/Trees/Editor/Data/TreePresets.cs index 37d5f2c6..acadc27b 100644 --- a/src/Trees/Editor/Data/TreePresets.cs +++ b/src/Trees/Editor/Data/TreePresets.cs @@ -6,7 +6,7 @@ namespace Appalachia.Simulation.Trees.Data { - public class TreePresets : SelfSavingSingletonScriptableObject, ISerializationCallbackReceiver + public class TreePresets : SingletonAppalachiaObject, ISerializationCallbackReceiver { [FoldoutGroup("Trunk")] public DistributionSettings trunk_distribution; [FoldoutGroup("Trunk")] public BranchSettings trunk_branch; diff --git a/src/Trees/Editor/Generation/Assets/TreeAssetSubfolders.cs b/src/Trees/Editor/Generation/Assets/TreeAssetSubfolders.cs index 5f051576..d7b9db68 100644 --- a/src/Trees/Editor/Generation/Assets/TreeAssetSubfolders.cs +++ b/src/Trees/Editor/Generation/Assets/TreeAssetSubfolders.cs @@ -9,7 +9,7 @@ namespace Appalachia.Simulation.Trees.Generation.Assets { [Serializable] [Title("Subfolders", TitleAlignment = TitleAlignments.Centered)] - public class TreeAssetSubfolders : ResponsiveNestedScriptableObject + public class TreeAssetSubfolders : ResponsiveNestedAppalachiaObject { private const string _DATA_FOLDER = "Data"; private const string _MATERIALS_FOLDER = "Materials"; diff --git a/src/Trees/Editor/Generation/Impostors/ImpostorGenerator.cs b/src/Trees/Editor/Generation/Impostors/ImpostorGenerator.cs index 93019f8d..109efa2f 100644 --- a/src/Trees/Editor/Generation/Impostors/ImpostorGenerator.cs +++ b/src/Trees/Editor/Generation/Impostors/ImpostorGenerator.cs @@ -432,11 +432,11 @@ static void Impostors_Settings_PixelPadding(bool all, int padding) [UnityEditor.MenuItem( "Tools/Impostors/All/Settings/Bake Preset/Individual Plant")] static void Impostors_All_Settings_BakePreset_IndividualPlant() { Impostors_Settings_BakePreset( true, "internal_plant-individual_billboard-bake"); } -[UnityEditor.MenuItem(PKG.Menu.Appalachia.Tools.Base + "Impostors/Selected/Settings/Bake Preset/Individual Plant")] static void Impostors_Selected_Settings_BakePreset_IndividualPlant() { Impostors_Settings_BakePreset(false, "internal_plant-individual_billboard-bake"); } +[UnityEditor.MenuItem(PKG.Menu.Appalachia.Tools.Base + "Impostors/Selected/Settings/Bake Preset/Individual Plant")] static void Impostors_Selected_Settings_BakePreset_IndividualPlant() { Impostors_Settings_BakePreset(priority = PKG.Priority "internal_plant-individual_billboard-bake"); } [UnityEditor.MenuItem( "Tools/Impostors/All/Settings/Bake Preset/Individual Plant Emissive")] static void Impostors_All_BakePreset_IndividualPlantEmissive() { Impostors_Settings_BakePreset( true, "internal_plant-individual-emissive_billboard-bake"); } -[UnityEditor.MenuItem(PKG.Menu.Appalachia.Tools.Base + "Impostors/Selected/Settings/Bake Preset/Individual Plant Emissive")] static void Impostors_Selected_BakePreset_IndividualPlantEmissive() { Impostors_Settings_BakePreset(false, "internal_plant-individual-emissive_billboard-bake"); } +[UnityEditor.MenuItem(PKG.Menu.Appalachia.Tools.Base + "Impostors/Selected/Settings/Bake Preset/Individual Plant Emissive")] static void Impostors_Selected_BakePreset_IndividualPlantEmissive() { Impostors_Settings_BakePreset(priority = PKG.Priority "internal_plant-individual-emissive_billboard-bake"); } [UnityEditor.MenuItem( "Tools/Impostors/All/Settings/Bake Preset/Standard Deferred")] static void Impostors_All_Settings_BakePreset_StandardShader() { Impostors_Settings_BakePreset( true, "StandardDeferred"); } -[UnityEditor.MenuItem(PKG.Menu.Appalachia.Tools.Base + "Impostors/Selected/Settings/Bake Preset/Standard Deferred")] static void Impostors_Selected_Settings_BakePreset_StandardShader() { Impostors_Settings_BakePreset(false, "StandardDeferred"); } +[UnityEditor.MenuItem(PKG.Menu.Appalachia.Tools.Base + "Impostors/Selected/Settings/Bake Preset/Standard Deferred")] static void Impostors_Selected_Settings_BakePreset_StandardShader() { Impostors_Settings_BakePreset(priority = PKG.Priority "StandardDeferred"); } static void Impostors_Settings_BakePreset(bool all, string presetName) { @@ -456,7 +456,7 @@ static void Impostors_Settings_BakePreset(bool all, string presetName) [UnityEditor.MenuItem( "Tools/Impostors/All/Bake Impostors")] static void Impostors_All_Bake() { Impostors_Bake( true); } -[UnityEditor.MenuItem(PKG.Menu.Appalachia.Tools.Base + "Impostors/Selected/Bake Impostors")] static void Impostors_Selected_Bake() { Impostors_Bake(false); } +[UnityEditor.MenuItem(PKG.Menu.Appalachia.Tools.Base + "Impostors/Selected/Bake Impostors")] static void Impostors_Selected_Bake() { Impostors_Bake(priority = PKG.Priority); } static void Impostors_Bake(bool all) { diff --git a/src/Trees/Editor/Generation/Texturing/Materials/Output/DefaultMaterialResource.cs b/src/Trees/Editor/Generation/Texturing/Materials/Output/DefaultMaterialResource.cs index 9610e0c8..4dec77ee 100644 --- a/src/Trees/Editor/Generation/Texturing/Materials/Output/DefaultMaterialResource.cs +++ b/src/Trees/Editor/Generation/Texturing/Materials/Output/DefaultMaterialResource.cs @@ -3,7 +3,7 @@ namespace Appalachia.Simulation.Trees.Generation.Texturing.Materials.Output { - public class DefaultMaterialResource : SelfSavingSingletonScriptableObject + public class DefaultMaterialResource : SingletonAppalachiaObject { public Material material; } diff --git a/src/Trees/Editor/Generation/Texturing/Materials/Output/DefaultShaderResource.cs b/src/Trees/Editor/Generation/Texturing/Materials/Output/DefaultShaderResource.cs index e9d60eb1..64aeaf81 100644 --- a/src/Trees/Editor/Generation/Texturing/Materials/Output/DefaultShaderResource.cs +++ b/src/Trees/Editor/Generation/Texturing/Materials/Output/DefaultShaderResource.cs @@ -5,7 +5,7 @@ namespace Appalachia.Simulation.Trees.Generation.Texturing.Materials.Output { - public class DefaultShaderResource : SelfSavingSingletonScriptableObject + public class DefaultShaderResource : SingletonAppalachiaObject { public OutputShaderSelectionSet branchShaderSet; public OutputShaderSelectionSet tiledShaderSet; diff --git a/src/Trees/Editor/Generation/Texturing/Materials/Rects/LeafUVRectCollection.cs b/src/Trees/Editor/Generation/Texturing/Materials/Rects/LeafUVRectCollection.cs index 500f8565..21212414 100644 --- a/src/Trees/Editor/Generation/Texturing/Materials/Rects/LeafUVRectCollection.cs +++ b/src/Trees/Editor/Generation/Texturing/Materials/Rects/LeafUVRectCollection.cs @@ -5,7 +5,7 @@ namespace Appalachia.Simulation.Trees.Generation.Texturing.Materials.Rects { - public class LeafUVRectCollection : SelfSavingSingletonScriptableObject + public class LeafUVRectCollection : SingletonAppalachiaObject { public List leafUVRectSets = new List(); diff --git a/src/Trees/Editor/Generation/Texturing/Materials/UVScale.cs b/src/Trees/Editor/Generation/Texturing/Materials/UVScale.cs index f2d14664..4e55d6b5 100644 --- a/src/Trees/Editor/Generation/Texturing/Materials/UVScale.cs +++ b/src/Trees/Editor/Generation/Texturing/Materials/UVScale.cs @@ -17,12 +17,12 @@ public UVScale(int x = 1, int y = 1) //[PropertyRange(1, 5)] [HorizontalGroup(.5f), LabelWidth(20)] [ValueDropdown(nameof(GetValuesX))] - public float x = 1f; + public float x; //[PropertyRange(1, 5)] [HorizontalGroup(.5f), LabelWidth(20)] [ValueDropdown(nameof(GetValuesY))] - public float y = 1f; + public float y; private static float[] valuesX; diff --git a/src/Trees/Editor/Hierarchy/Options/Attributes/TreeCurveAttribute.cs b/src/Trees/Editor/Hierarchy/Options/Attributes/TreeCurveAttribute.cs index 83d8bf00..dfa05faf 100644 --- a/src/Trees/Editor/Hierarchy/Options/Attributes/TreeCurveAttribute.cs +++ b/src/Trees/Editor/Hierarchy/Options/Attributes/TreeCurveAttribute.cs @@ -9,9 +9,9 @@ public class TreeCurveAttribute : Attribute { public SettingsUpdateTarget target; public float MinTime; - public float MaxTime = 1f; + public float MaxTime; public float MinValue; - public float MaxValue = 1f; + public float MaxValue; public TreeCurveAttribute( SettingsUpdateTarget target = SettingsUpdateTarget.Distribution, diff --git a/src/Trees/Editor/LogDataContainer.cs b/src/Trees/Editor/LogDataContainer.cs index e074d881..52dd6113 100644 --- a/src/Trees/Editor/LogDataContainer.cs +++ b/src/Trees/Editor/LogDataContainer.cs @@ -26,7 +26,6 @@ namespace Appalachia.Simulation.Trees { - [CreateAssetMenu(menuName = "Tree Species Editor/New/Log", order = 0)] [Serializable] public class LogDataContainer : TSEDataContainer, ILogDataProvider { @@ -617,5 +616,14 @@ public override void CopyHierarchiesFrom(TSEDataContainer tsd) dc.log.hierarchies.CopyHierarchiesTo(log.hierarchies); } } + + [UnityEditor.MenuItem( + PKG.Menu.Assets.Base + nameof(LogDataContainer), + priority = PKG.Menu.Assets.Priority + )] + public static void CreateAsset() + { + CreateNew(); + } } } \ No newline at end of file diff --git a/src/Trees/Editor/PKG.cs b/src/Trees/Editor/PKG.cs index 3bd322be..53e7bb9c 100644 --- a/src/Trees/Editor/PKG.cs +++ b/src/Trees/Editor/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Trees { internal static partial class PKG { + public const int Priority = -272000; + public const string Name = "Simulation/Trees"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/Trees/"; - public const int Priority = 1000*90; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/Trees/Editor/Settings/TreeGlobalSettings.cs b/src/Trees/Editor/Settings/TreeGlobalSettings.cs index 1a49481d..101c8f27 100644 --- a/src/Trees/Editor/Settings/TreeGlobalSettings.cs +++ b/src/Trees/Editor/Settings/TreeGlobalSettings.cs @@ -12,7 +12,7 @@ namespace Appalachia.Simulation.Trees.Settings "Control the generation of all tree species.", titleAlignment: TitleAlignments.Split )] - public class TreeGlobalSettings : SelfSavingSingletonScriptableObject + public class TreeGlobalSettings : SingletonAppalachiaObject { [TitleGroup("Layers")] [BoxGroup("Layers/Trees")] diff --git a/src/Trees/Editor/Settings/TypeBasedSettings.cs b/src/Trees/Editor/Settings/TypeBasedSettings.cs index 3edb2fbf..5c7dcc69 100644 --- a/src/Trees/Editor/Settings/TypeBasedSettings.cs +++ b/src/Trees/Editor/Settings/TypeBasedSettings.cs @@ -4,7 +4,7 @@ namespace Appalachia.Simulation.Trees.Settings { - public abstract class TypeBasedSettings : ResponsiveSelfSavingScriptableObject + public abstract class TypeBasedSettings : ResponsiveAppalachiaObject where T : TypeBasedSettings { public override void UpdateSettingsType(ResponsiveSettingsType t) diff --git a/src/Trees/Editor/Snapshot/SnapshotShaders.cs b/src/Trees/Editor/Snapshot/SnapshotShaders.cs index 957d6020..db595fa8 100644 --- a/src/Trees/Editor/Snapshot/SnapshotShaders.cs +++ b/src/Trees/Editor/Snapshot/SnapshotShaders.cs @@ -3,7 +3,7 @@ namespace Appalachia.Simulation.Trees.Snapshot { - public class SnapshotShaders : SelfSavingSingletonScriptableObject + public class SnapshotShaders : SingletonAppalachiaObject { public Shader albedo; public Shader normal; diff --git a/src/Trees/Editor/TSEDataContainer.cs b/src/Trees/Editor/TSEDataContainer.cs index c175fc09..b8043b8c 100644 --- a/src/Trees/Editor/TSEDataContainer.cs +++ b/src/Trees/Editor/TSEDataContainer.cs @@ -19,7 +19,7 @@ namespace Appalachia.Simulation.Trees { - public abstract class TSEDataContainer : ResponsiveAppalachiaScriptableObject + public abstract class TSEDataContainer : ResponsiveAppalachiaObject { [HideInInspector] public bool initialized; diff --git a/src/Trees/Editor/TreeDataContainer.cs b/src/Trees/Editor/TreeDataContainer.cs index 7c8e98af..061841ba 100644 --- a/src/Trees/Editor/TreeDataContainer.cs +++ b/src/Trees/Editor/TreeDataContainer.cs @@ -33,7 +33,6 @@ namespace Appalachia.Simulation.Trees { - [CreateAssetMenu(menuName = "Tree Species Editor/New/Tree", order = 0)] [Serializable] public class TreeDataContainer : TSEDataContainer, ISpeciesDataProvider { @@ -964,5 +963,11 @@ public override void CopyHierarchiesFrom(TSEDataContainer tsd) dc.species.hierarchies.CopyHierarchiesTo(species.hierarchies); } } + + [UnityEditor.MenuItem(PKG.Menu.Assets.Base + nameof(TreeDataContainer), priority = PKG.Menu.Assets.Priority)] + public static void CreateAsset() + { + CreateNew(); + } } } \ No newline at end of file diff --git a/src/Trees/Editor/UI/Gizmos/TreeGizmoDelegate.cs b/src/Trees/Editor/UI/Gizmos/TreeGizmoDelegate.cs index 13f5d267..89c7f70d 100644 --- a/src/Trees/Editor/UI/Gizmos/TreeGizmoDelegate.cs +++ b/src/Trees/Editor/UI/Gizmos/TreeGizmoDelegate.cs @@ -5,7 +5,7 @@ namespace Appalachia.Simulation.Trees.UI.Gizmos { - public class TreeGizmoDelegate : SelfSavingSingletonScriptableObject, ISpeciesGizmoDelegate + public class TreeGizmoDelegate : SingletonAppalachiaObject, ISpeciesGizmoDelegate { private TreeGizmoDelegate() { diff --git a/src/Trees/Editor/UI/Graph/TreeGraphSettings.cs b/src/Trees/Editor/UI/Graph/TreeGraphSettings.cs index f45e1e4b..b1e1bfb1 100644 --- a/src/Trees/Editor/UI/Graph/TreeGraphSettings.cs +++ b/src/Trees/Editor/UI/Graph/TreeGraphSettings.cs @@ -3,7 +3,7 @@ namespace Appalachia.Simulation.Trees.UI.Graph { - public class TreeGraphSettings : SelfSavingSingletonScriptableObject + public class TreeGraphSettings : SingletonAppalachiaObject { [BoxGroup("Graph")] public float graphSize = 250f; diff --git a/src/Trees/Editor/UI/Selections/Dropdown/TreeScriptableObjectContainerSelection.cs b/src/Trees/Editor/UI/Selections/Dropdown/TreeScriptableObjectContainerSelection.cs index bec55fac..615e8ac2 100644 --- a/src/Trees/Editor/UI/Selections/Dropdown/TreeScriptableObjectContainerSelection.cs +++ b/src/Trees/Editor/UI/Selections/Dropdown/TreeScriptableObjectContainerSelection.cs @@ -9,9 +9,9 @@ namespace Appalachia.Simulation.Trees.UI.Selections.Dropdown { [Serializable] - public abstract class TreeScriptableObjectContainerSelection : SelfSavingSingletonScriptableObject - where TS : SelfSavingSingletonScriptableObject - where T : ScriptableObject//AppalachiaScriptableObject + public abstract class TreeScriptableObjectContainerSelection : SingletonAppalachiaObject + where TS : SingletonAppalachiaObject + where T : ScriptableObject { [SerializeField, HideInInspector] private T[] objects; [SerializeField, HideInInspector] private string[] objectNames; diff --git a/src/Trees/Editor/UI/Selections/State/TreeSpeciesEditorSelection.cs b/src/Trees/Editor/UI/Selections/State/TreeSpeciesEditorSelection.cs index 7f2ade6e..8e4e3e06 100644 --- a/src/Trees/Editor/UI/Selections/State/TreeSpeciesEditorSelection.cs +++ b/src/Trees/Editor/UI/Selections/State/TreeSpeciesEditorSelection.cs @@ -2,7 +2,7 @@ namespace Appalachia.Simulation.Trees.UI.Selections.State { - public class TreeSpeciesEditorSelection : SelfSavingSingletonScriptableObject + public class TreeSpeciesEditorSelection : SingletonAppalachiaObject { public TreeSelection tree; diff --git a/src/Trees/PKG.cs b/src/Trees/PKG.cs index fd2105a7..91ed376f 100644 --- a/src/Trees/PKG.cs +++ b/src/Trees/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Trees { internal static partial class PKG { + public const int Priority = -299000; + public const string Name = "Simulation/Trees"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/Trees/"; - public const int Priority = 1000*88; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } } diff --git a/src/Wind/Appalachia.Simulation.Wind.asmdef b/src/Wind/Appalachia.Simulation.Wind.asmdef index 9b9a6de7..b3ebb488 100644 --- a/src/Wind/Appalachia.Simulation.Wind.asmdef +++ b/src/Wind/Appalachia.Simulation.Wind.asmdef @@ -55,6 +55,7 @@ "GUID:a03736e1d95a0ed4c8a44e1ee02df53f", "GUID:9e24947de15b9834991c9d8411ea37cf", "GUID:e0cd26848372d4e5c891c569017e11f1", + "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:d8b63aba1907145bea998dd612889d6b", "GUID:df380645f10b7bc4b97d4f5eb6303d95", "GUID:84651a3751eca9349aac36a66bba901b", diff --git a/src/Wind/GlobalWindManager.cs b/src/Wind/GlobalWindManager.cs index b9c77907..cd08e7a7 100644 --- a/src/Wind/GlobalWindManager.cs +++ b/src/Wind/GlobalWindManager.cs @@ -25,7 +25,7 @@ namespace Appalachia.Simulation.Wind { [DisallowMultipleComponent] [ExecuteAlways] - public class GlobalWindManager : SingletonMonoBehaviour + public class GlobalWindManager : SingletonAppalachiaBehaviour { private const string _PRF_PFX = nameof(GlobalWindManager) + "."; private static readonly ProfilerMarker _PRF_Awake = new(_PRF_PFX + "Awake"); diff --git a/src/Wind/PKG.cs b/src/Wind/PKG.cs index 886bc699..fa770484 100644 --- a/src/Wind/PKG.cs +++ b/src/Wind/PKG.cs @@ -8,9 +8,10 @@ namespace Appalachia.Simulation.Wind { internal static partial class PKG { + public const int Priority = -297000; + public const string Name = "Simulation/Wind"; + public const string Prefix = Root + Name + "/"; public const string Root = "Appalachia/"; - public const string Prefix = Root + "Simulation/Wind/"; - public const int Priority = 1000*91; public static partial class Prefs { @@ -24,8 +25,8 @@ public static partial class Gizmos public static partial class Menu { - public static partial class Assets - { + public static partial class Assets + { public const int Priority = PKG.Priority; public const string Base = "Assets/" + Prefix; } @@ -34,6 +35,12 @@ public static partial class GameObject { public const int Priority = PKG.Priority; public const string Base = "GameObject/" + Prefix; + + public static partial class Create + { + public const int Priority = GameObject.Priority + 0; + public const string Base = "GameObject/Create/" + Prefix; + } } public static partial class Appalachia @@ -43,61 +50,61 @@ public static partial class Appalachia public static partial class Behaviours { public const int Priority = Appalachia.Priority; - public const string Base = Prefix + nameof(Behaviours) + "/"; + public const string Base = Root + nameof(Behaviours) + "/" + Name + "/"; } public static partial class Components { public const int Priority = Behaviours.Priority + 100; - public const string Base = Prefix + nameof(Components) + "/"; + public const string Base = Root + nameof(Components) + "/" + Name + "/"; } public static partial class Add { public const int Priority = Components.Priority + 100; - public const string Base = Prefix + nameof(Add) + "/"; + public const string Base = Root + nameof(Add) + "/" + Name + "/"; } public static partial class Create { public const int Priority = Add.Priority + 100; - public const string Base = Prefix + nameof(Create) + "/"; + public const string Base = Root + nameof(Create) + "/" + Name + "/"; } public static partial class Update { public const int Priority = Create.Priority + 100; - public const string Base = Prefix + nameof(Update) + "/"; + public const string Base = Root + nameof(Update) + "/" + Name + "/"; } public static partial class Manage { public const int Priority = Update.Priority + 100; - public const string Base = Prefix + nameof(Manage) + "/"; + public const string Base = Root + nameof(Manage) + "/" + Name + "/"; } public static partial class Data { public const int Priority = Manage.Priority + 100; - public const string Base = Prefix + nameof(Data) + "/"; + public const string Base = Root + nameof(Data) + "/" + Name + "/"; } public static partial class RootTools { - public const int Priority = Data.Priority + 100; + public const int Priority = 0; public const string Base = Root + "Tools/"; } public static partial class State { - public const int Priority = RootTools.Priority + 100; - public const string Base = Prefix + nameof(State) + "/"; + public const int Priority = Data.Priority + 100; + public const string Base = Root + nameof(State) + "/" + Name + "/"; } public static partial class Tools { public const int Priority = State.Priority + 100; - public const string Base = Prefix + nameof(Tools) + "/"; + public const string Base = Root + nameof(Tools) + "/" + Name + "/"; public static partial class Enable { @@ -115,61 +122,61 @@ public static partial class Disable public static partial class Jobs { public const int Priority = Tools.Priority + 100; - public const string Base = Prefix + nameof(Jobs) + "/"; + public const string Base = Root + nameof(Jobs) + "/" + Name + "/"; } public static partial class Timing { public const int Priority = Jobs.Priority + 100; - public const string Base = Prefix + nameof(Timing) + "/"; + public const string Base = Root + nameof(Timing) + "/" + Name + "/"; } public static partial class Utility { public const int Priority = Timing.Priority + 100; - public const string Base = Prefix + nameof(Utility) + "/"; + public const string Base = Root + nameof(Utility) + "/" + Name + "/"; } public static partial class Windows { public const int Priority = Utility.Priority + 100; - public const string Base = Prefix + nameof(Windows) + "/"; + public const string Base = Root + nameof(Windows) + "/" + Name + "/"; } public static partial class Logging { public const int Priority = Windows.Priority + 100; - public const string Base = Prefix + nameof(Logging) + "/"; + public const string Base = Root + nameof(Logging) + "/" + Name + "/"; } public static partial class Settings { public const int Priority = Logging.Priority + 100; - public const string Base = Prefix + nameof(Settings) + "/"; + public const string Base = Root + nameof(Settings) + "/" + Name + "/"; } public static partial class Packages { public const int Priority = Settings.Priority + 100; - public const string Base = Prefix + nameof(Packages) + "/"; + public const string Base = Root + nameof(Packages) + "/" + Name + "/"; } public static partial class External { public const int Priority = Packages.Priority + 100; - public const string Base = Prefix + nameof(External) + "/"; + public const string Base = Root + nameof(External) + "/" + Name + "/"; } public static partial class Debug { public const int Priority = External.Priority + 100; - public const string Base = Prefix + nameof(Debug) + "/"; + public const string Base = Root + nameof(Debug) + "/" + Name + "/"; } public static partial class Gizmos { public const int Priority = Debug.Priority + 100; - public const string Base = Prefix + nameof(Gizmos) + "/"; + public const string Base = Root + nameof(Gizmos) + "/" + Name + "/"; } }