diff --git a/AwperativeKernel/Kernel/Component/Component.cs b/AwperativeKernel/Kernel/Component/Component.cs index bb9eba6..569b538 100644 --- a/AwperativeKernel/Kernel/Component/Component.cs +++ b/AwperativeKernel/Kernel/Component/Component.cs @@ -39,6 +39,13 @@ public abstract partial class Component : ComponentDocker /// internal List EventDelegates; + + + /// + /// + /// + internal Type _type; + @@ -62,10 +69,11 @@ public abstract partial class Component : ComponentDocker /// /// Docker that this spawned in this Component /// Name of the component - internal void Initiate(ComponentDocker __parent, string __name, string[] __tags) { + internal void Initiate(ComponentDocker __parent, string __name, ICollection __tags) { ComponentDocker = __parent; Name = __name; _tags = [..__tags]; + _type = GetType(); EventDelegates = new List(); for(int i = 0; i < Awperative.allEvents.Count; i++) EventDelegates.Add(null); diff --git a/AwperativeKernel/Kernel/ComponentDocker/ComponentDocker.cs b/AwperativeKernel/Kernel/ComponentDocker/ComponentDocker.cs index 40b0bf9..9ce1306 100644 --- a/AwperativeKernel/Kernel/ComponentDocker/ComponentDocker.cs +++ b/AwperativeKernel/Kernel/ComponentDocker/ComponentDocker.cs @@ -111,7 +111,7 @@ public abstract class ComponentDocker /// Arguments to construct the Component with /// Type of Component to instantiate /// - public __Type Add<__Type>(object[] __args, string name = "", string[] tags = null) where __Type : Component { + public __Type Add<__Type>(IEnumerable __args, string name = "", ICollection tags = null) where __Type : Component { if(name == "") { name = typeof(__Type).Name; } if (tags == null) tags = []; @@ -261,6 +261,7 @@ public abstract class ComponentDocker /// Component to hash /// Value to try and hash internal void HashTaggedComponent(Component __component, string __tag) { + if (!__component._tags.Add(__tag)) { Debug.LogError("Component already has tag!", ["Component", "Type", "Tag", "Docker"], diff --git a/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs b/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs index 77e8f2e..5a4a635 100644 --- a/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs +++ b/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; +using System.Collections.ObjectModel; using System.Linq; using System.Reflection; @@ -18,7 +19,7 @@ public static class Awperative /// /// Current Version of Awperative /// - public static double Version = 1.10d; + public static string Version = "1.2B"; @@ -34,6 +35,15 @@ public static class Awperative /// public static ImmutableArray Scenes => [.._scenes]; internal static HashSet _scenes { get; private set; } = []; + + + + public static bool IsRunning { get; private set; } = false; + public static bool IsStarted { get; private set; } = false; + + + + public static bool DebugMode = false; diff --git a/AwperativeKernel/VersionHistory.md b/AwperativeKernel/VersionHistory.md index 77f29b6..d0247ca 100644 --- a/AwperativeKernel/VersionHistory.md +++ b/AwperativeKernel/VersionHistory.md @@ -27,4 +27,6 @@ A few modules have been given documentation and the website is currently underwa --- -Awperative is officially moved to Open TK! \ No newline at end of file +Awperative is officially moved to Open TK! + +# Awperative V1.2B \ No newline at end of file diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs index dc4b3c6..408b563 100644 --- a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs +++ b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+75ebac61d0dfcd3286436ea7839c6d4506b0440e")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+abccecd29531912f8bab0e06c70666b1a8d88ceb")] [assembly: System.Reflection.AssemblyProductAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyTitleAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache index 989c3dd..d21f970 100644 --- a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache +++ b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache @@ -1 +1 @@ -9247c7222c48f63b20f7850bc43f8a7199e69898cd844fe346be865677a16d9c +eaefd8ded26140e2f41a812ea39f0e84a94c9d2484a5baede0586b90e9c4efcb diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll index 73b5957..b7fb2e9 100644 Binary files a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll and b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll differ diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb index b3e302a..3901741 100644 Binary files a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb and b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb differ diff --git a/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll b/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll index 74ab340..9c2280b 100644 Binary files a/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll and b/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll differ diff --git a/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll b/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll index 74ab340..9c2280b 100644 Binary files a/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll and b/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll differ