From 32fdae32482131f6e177956aee0f9ddcdf9877cf Mon Sep 17 00:00:00 2001 From: avery Date: Wed, 25 Feb 2026 18:04:55 -0500 Subject: [PATCH] Making A Tree --- .../Kernel/Component/Component.cs | 10 +++++++++- .../Kernel/ComponentDocker/ComponentDocker.cs | 3 ++- .../Kernel/Overhead/Awperative/Awperative.cs | 12 +++++++++++- AwperativeKernel/VersionHistory.md | 4 +++- .../net8.0/AwperativeKernel.AssemblyInfo.cs | 2 +- .../AwperativeKernel.AssemblyInfoInputs.cache | 2 +- .../obj/Debug/net8.0/AwperativeKernel.dll | Bin 24576 -> 24576 bytes .../obj/Debug/net8.0/AwperativeKernel.pdb | Bin 19440 -> 19440 bytes .../obj/Debug/net8.0/ref/AwperativeKernel.dll | Bin 9728 -> 9728 bytes .../Debug/net8.0/refint/AwperativeKernel.dll | Bin 9728 -> 9728 bytes 10 files changed, 27 insertions(+), 6 deletions(-) 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 73b59571ffdb97ef8a38f02480673ba2ae9c52a3..b7fb2e942c5ae63e84a5795499c1fad72d0a3908 100644 GIT binary patch delta 2395 zcmY+F3v5$W9LB$U*WPpb!r>IgR-ki?0b{IPSy$c+knx&Kd2EOvZMQOBG8iDBp_9!; z!%)T*)IkVwD#Hmui^&W~a4cvlWJFDz3Ivo84G|=eU<^_J_uP|awz=Ouzw>?fe;&8@ zw*IVAe^%M^nq~au`Wr3HZe>o((F)~(t|+A9+(#Q0XzI+rU@a-qKg*jLd7* zQg9*5=xgHZENwK>_ktSniJ&1*nBIH#cKuY&$k+*uqf+!WqQGHLVYZn#<@}szqM$~c z7qn7(zc|j2S1Y}9f-adJc3Qq7uUAq#kqy@*y* zV1)BKqLY%i^E-X_@J!{5esp+d>@qo)Tr+2P{i^kYN7BE}TUsj43Ti^DdY5iW_b9O- zqKDdJ_+FBSS=j(s>5kG?!NXiE9d1c>{umpCvLv}!CaMHA;8mw5#@v{iZw~*i)5C^< zk1?sjnaex~N?Pd5XIZF}G?W*yZ0wQb=2O@(bSAHx%ZB5(ACsaL~%*X(ZV_sDG%_=!8&U_izD)CX?$$a=INpXGYh>@`_R*2%U#s&NNL3W;KvY;0J zF-s85l%Cykp7~KGy$nl&s8W!QN!Bhl7C)FtwDAPdoh0?JBK#}q81H34q!)?tu*{l> zvGMRGv4>5-R7p{5FPn@dl5T4WHWeF^)Wb^filh|Q%VwZe(rTLaOnjQ89#)DjNt-D- z2R}>duq9Y*9_}Tvhm|3PUNE#5IBDx;<#0=?Q?IgTa8}X|^*6Q{wZ%rVCH<pk*xK{~ft{~|gdz2)|Q*mE&_EX`GR#-Br6Pz&E|PbE5SM(Hul z;L8vUnp0~hT8_1nS}h*_JPt~F(UQYgpfgDc7Q$sogI!%LjP~(nmA|<`v2KCpD#DmE z!7$BLgt0sll;6$yNBgPjVHyWb%OWlDY~B zNxN`SU5#%i#l%c;j&KcrlIBL`qPiA01l?5N@bh&5{rLblm6a(I_agCH ztr+bRscR6mO&9HuRHG*%+6{*4yZjDU)OKC;Tvy1|+x%_w%Q(RLJww`QSxow&eJN?c z5h1v4J!pbfC*fo?zQahgb}CS$B|z?G2>c?9K6gV=ts<+I$#88#Rr#%K6Qe z-&ed}@zjYUU+jKob<^GWrm`os_~``?)DfX@BvKuzDjZkj_l@%vMuXu{*jw!lM2fwE zKp^Z31*?L=NOf5Md2v=cmHM)0@GdB2rZ_}MP0t^ynjn}8ii{5J$`uZw8q&TQ`U74-9pvmXWZV(OeIfuS9;^+ zmDeouL-ZU)=vz%k6|HF;is%mc=IY8|&WkQswq9Z73g!S06 Q*VTD}c>m>hlol`h51kY87ytkO delta 2399 zcmY+F3v3is7=_PFcjw-H6pJ;q&@F7;mKKU-+kJF-Rpbp)Y~;}r1?_fQD34HDz!HQ7 z3RPl7mWdz*V-&3*Xn;j+0>)Ori0K+q5lIRN#t@7KLLh1sga6#Q+0;qq%>Vu8%)NJJ zc4jwsDVw{LU9Va`SkU)otj(oNiyf|1?&*q>Z~bcxFi+1>N9hZd4+rP3gV<(}s<7gl zGQb-I6ur8tG+v=L4;i@0Ou*B=&)Duh8UMlMvkbn^0MGonI4}xGqljnv{Fzhecr>1q zvpywnsx}a3)ET51DYLb71f26ovxMGuETZ}o$8!D4+zhr}3u1t}QNNlSDBPkg*nBG0 z(4DHGx=^>(sHaiiNN(2#VIg+t6Y?@1*{vz4avKY5;Y)0L^_sj9g>P#q=*cm9t$d}W zL(_0k&^8(MEs@^Oj&AZA zq<2Qp1=GV;%eUlRmUM{7hU=1cS}tgI{FvhM4lzzJlmdnQyT!cq=(MiS{k|pwW3|UPtW7*NHGf0 zL+vqKl;mcd4T6;(CfzrAtI;++npZf!o(-c>Gu&01urtG z(m9g35t1~|>18>nk~EBmm zHWI%GYDJ}UD;tG2uaRuUJm;%Kosx#}UF-?86`P)mw-d!BF-He0LU)pm=mQI~3Xd@_ zB0e*p$3A1lXqNOSKSlIWl0MTb3r0lGu@aQ}jr<;dfSo5Q6BOe|S%PSq^z4@N%!hL6 z4Y4GMss!nnU_HnD_|Z(_AWsn8Nm4Hh;Gv|Cc^?ZQGa%-}B5NYb#=@J#UN#OBCDmE` zSQ!>dx~(PHM66CyFMA4GB&D!EHU;gHmeI1O;Y5;p*>rp*X)PsZp-<8gTY^Pr<6aVb zSvgYZLqhigCvAPK0xn5S>J9cRx+HBKP--M&nb&OR*mHPUP;2I8n}+AmCTI_b z^$+rNK{~ft{~_8hy~TEgKOepzl%+V{FIkT-`X%e}wM_0;HmLRZPSR^gsLOC^LR732 zX9$<$nlu}ggt`K^1l?5N2=bM%(4P!&Q(2Ny##g~5$Xs><@&uXJ)PUmud1D2&paxTT z17=H_Nf)>pua}{O1~rFi!X9ZJ!7Sc{!~KR?gA>x*i&^o)QCGESy)B=9XB%uqaNsTa zcBSK8(kyh5dT^e!5R6Ia(xDbZQ>|M_!}eCv_4YU7F@H~HI^C)HA2qv=KQejF$BiFk7j1pe5N|G@ zs->t}YW$12f2swgf!c6&O|UrPjnvgdd?lfv-xsW{E)Ds{)C42`fHxTS`u*No{mO!z z;)8w7-B8LaR2p|P?X%a?UP*=A6gnDn8vjE*klsO z)+3coC9?V6blEh9_MExpbHD%Ezjwb6{hqZ>j!B1rQM+R~gOq&TUFEeHPQ0S(y5*Tt z1nB(;qne&d5XFdqzT~JQiqKOmL5RA3s)CfNMk%omV?;JW{Q#wdbhejjKWVKVU9>}; N5sVL9d`F3S*?&3W^jH7@ diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb index b3e302aa0ea3f9fff7688060619169923cc4f008..390174190db604415ae7006762004271300b8e73 100644 GIT binary patch delta 126 zcmV-^0D=GTmjUpX0g!wYlSep&cgg}ptJiKZssO_9!OtCwv5>?H0eZ7l3t9&tTjYav zo|p)RSNO`smvlPrCs1`eS$v4hhnpUPBPb|%v(FM60U*znygmsfo0t+&Xyumz+=dU) gPhH?h*IrUfH1yo}29vW26udPACKUw=v&u;(0w#wxd;kCd delta 126 zcmV-^0D=GTmjUpX0g!wYrcK@?dGRhnhmf=@;QZ8*quY4Fv5>?H0e-Vp3t9&t1rm^I zfKV`X%evBD7dC+RR?{=>I478+4sr+;+}f{&v(FM60U*gvEB@LjUv&S=315ARi(N1= gKFN4h=FeL4>vHlpBRjJS6udPAB^3n@v&u;(0>~6Nn*aa+ diff --git a/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll b/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll index 74ab340ccd6d155e0ce053201837fe3615491a7e..9c2280bf1bec5ec8363d439652174257d6ee6030 100644 GIT binary patch delta 1507 zcmZXUUuaWT9LImZ!@cLG)pV(KwKm4JE7Mk`P0}?ZE<=Ez9j zu`^%Z{psmCqfo0oL?oSS;iyy3Q@wcS9Q`&7 zd3xe~j5qy1!1gH6k#&8me?ku|+q5w*hO4~3NnoYg2hh(dmUU(L7hed(IV%ez6odc|Hp!YmuQ52&KTJ3GPv=kY2{fde~LXTB? zWJzo+C&AQB^hujwF?>m}BsNLA$V_aJ)}_Vp6~&S^u8{hMW@4MPk0`oYu_UgMHcrV7 zX-{aO0mYISl=crTv`g9`4q#ZCjfYTNUD#;9i_vn?^)`R6V)SL5R4hTZzMO!9rBazxI@sOS8R!lK_eLz!@@M>^RM;O1g{*)X zNk<~7j3q{W&EhMcXVC-NM9T+H(kz;5uE%-t$k(A2>xHJ}9(|h$7NqFR(3OTDy@f9N w{{b2UWP2e({bI&X2|w+0Dca?VWAU^oV^ShbSH!u8CG3_HtRdp;&^f>HA6j)N1ONa4 delta 1502 zcmZXUZD>6jy5ZbfsfBU0Zx(FSJ4Z(htfE8$$-0?u)|c7Y7d9iwqe|(bK!+$s@avU(WBG z|IK{}movC|aPz6-TI^PMdgQ};^p9Lj;dcV@HT{beK)q;WErp$Up81BR9DDTLQ4(b+8@Z^u|Qs{_tpU*W#eKiw{fm;nXhF|FK{@6+llwE2O>BFX|P}k?sA!h zMS$?WTMtlu5e^eKz%k+`m!A+h@5CWU4xVPGh?k6c4&yvWU5>f^kEuWZ%cFE}9LDL1 zzhO_qe_yb5JE(05I(D1RT{-Gc??B&4<9!Bp%KER^<-_5^&2J%X2{bs1i)mDXu2bQCr9I(%6UtMo?2 z&hpjxikzM0VO*qGT(LfF9oETNpVonkrGeh{oOPfWTd>mEj!R0BG0z=T3{rZsG9yc) zznp}OZevi|6ieb##nRXy?Mr53leCzY#N~>m9b6&xb4z4dZJ=^%viqV@jq*#hRRF10qIRD;zu-Ja*aKn@ ze^}U2v)B8-RVQxxdtYGOEG!FbWGmybTz@8Owb>zich-)C6IL{0*92mO$NEUmCMupvaB-DEcX s1z|`~H%gU7sSGW*1l8?s)~0@p(iYtvqB=^<38(1ZE<=Ez9j zu`^%Z{psmCqfo0oL?oSS;iyy3Q@wcS9Q`&7 zd3xe~j5qy1!1gH6k#&8me?ku|+q5w*hO4~3NnoYg2hh(dmUU(L7hed(IV%ez6odc|Hp!YmuQ52&KTJ3GPv=kY2{fde~LXTB? zWJzo+C&AQB^hujwF?>m}BsNLA$V_aJ)}_Vp6~&S^u8{hMW@4MPk0`oYu_UgMHcrV7 zX-{aO0mYISl=crTv`g9`4q#ZCjfYTNUD#;9i_vn?^)`R6V)SL5R4hTZzMO!9rBazxI@sOS8R!lK_eLz!@@M>^RM;O1g{*)X zNk<~7j3q{W&EhMcXVC-NM9T+H(kz;5uE%-t$k(A2>xHJ}9(|h$7NqFR(3OTDy@f9N w{{b2UWP2e({bI&X2|w+0Dca?VWAU^oV^ShbSH!u8CG3_HtRdp;&^f>HA6j)N1ONa4 delta 1502 zcmZXUZD>6jy5ZbfsfBU0Zx(FSJ4Z(htfE8$$-0?u)|c7Y7d9iwqe|(bK!+$s@avU(WBG z|IK{}movC|aPz6-TI^PMdgQ};^p9Lj;dcV@HT{beK)q;WErp$Up81BR9DDTLQ4(b+8@Z^u|Qs{_tpU*W#eKiw{fm;nXhF|FK{@6+llwE2O>BFX|P}k?sA!h zMS$?WTMtlu5e^eKz%k+`m!A+h@5CWU4xVPGh?k6c4&yvWU5>f^kEuWZ%cFE}9LDL1 zzhO_qe_yb5JE(05I(D1RT{-Gc??B&4<9!Bp%KER^<-_5^&2J%X2{bs1i)mDXu2bQCr9I(%6UtMo?2 z&hpjxikzM0VO*qGT(LfF9oETNpVonkrGeh{oOPfWTd>mEj!R0BG0z=T3{rZsG9yc) zznp}OZevi|6ieb##nRXy?Mr53leCzY#N~>m9b6&xb4z4dZJ=^%viqV@jq*#hRRF10qIRD;zu-Ja*aKn@ ze^}U2v)B8-RVQxxdtYGOEG!FbWGmybTz@8Owb>zich-)C6IL{0*92mO$NEUmCMupvaB-DEcX s1z|`~H%gU7sSGW*1l8?s)~0@p(iYtvqB=^<38(1