diff --git a/CodeGenerator/BlockClassGenerator.cs b/CodeGenerator/BlockClassGenerator.cs
new file mode 100644
index 0000000..82c3206
--- /dev/null
+++ b/CodeGenerator/BlockClassGenerator.cs
@@ -0,0 +1,68 @@
+using System.CodeDom;
+using System.CodeDom.Compiler;
+using System.IO;
+using System.Linq;
+using RobocraftX.Common;
+
+namespace CodeGenerator
+{
+ public class BlockClassGenerator
+ {
+ public void Generate(string name, string group)
+ {
+ if (group is null)
+ {
+ group = GetGroup(name) + "_BLOCK_GROUP";
+ if (typeof(CommonExclusiveGroups).GetFields().All(field => field.Name != group))
+ group = GetGroup(name) + "_BLOCK_BUILD_GROUP";
+ }
+
+ var codeUnit = new CodeCompileUnit();
+ var ns = new CodeNamespace("TechbloxModdingAPI.Blocks");
+ ns.Imports.Add(new CodeNamespaceImport("RobocraftX.Common"));
+ ns.Imports.Add(new CodeNamespaceImport("Svelto.ECS"));
+ var cl = new CodeTypeDeclaration(name);
+ cl.Members.Add(new CodeConstructor
+ {
+ Parameters = {new CodeParameterDeclarationExpression("EGID", "egid")},
+ Comments = { new CodeCommentStatement($"{name} constructor", true)}
+ });
+ cl.Members.Add(new CodeConstructor
+ {
+ Parameters =
+ {
+ new CodeParameterDeclarationExpression(typeof(uint), "id")
+ },
+ Comments = {new CodeCommentStatement($"{name} constructor", true)},
+ BaseConstructorArgs =
+ {
+ new CodeObjectCreateExpression("EGID", new CodeVariableReferenceExpression("id"),
+ new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("CommonExclusiveGroups"),
+ group))
+ }
+ });
+ ns.Types.Add(cl);
+ codeUnit.Namespaces.Add(ns);
+
+ var provider = CodeDomProvider.CreateProvider("CSharp");
+ using (var sw = new StreamWriter($"{name}.cs"))
+ {
+ provider.GenerateCodeFromCompileUnit(codeUnit, sw, new CodeGeneratorOptions {BracingStyle = "C"});
+ }
+ }
+
+ private static string GetGroup(string name)
+ {
+ var ret = "";
+ foreach (var ch in name)
+ {
+ if (char.IsUpper(ch) && ret.Length > 0)
+ ret += "_" + ch;
+ else
+ ret += char.ToUpper(ch);
+ }
+
+ return ret;
+ }
+ }
+}
\ No newline at end of file
diff --git a/CodeGenerator/CodeGenerator.csproj b/CodeGenerator/CodeGenerator.csproj
new file mode 100644
index 0000000..826623c
--- /dev/null
+++ b/CodeGenerator/CodeGenerator.csproj
@@ -0,0 +1,1176 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0EBB6400-95A7-4A3D-B2ED-BF31E364CC10}
+ Exe
+ Properties
+ CodeGenerator
+ CodeGenerator
+ v4.7.2
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..\ref\TechbloxPreview_Data\Managed\IllusionInjector.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\IllusionInjector.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\IllusionPlugin.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\IllusionPlugin.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Analytics.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Analytics.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Assembly-CSharp-firstpass.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Assembly-CSharp-firstpass.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Assembly-CSharp.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Assembly-CSharp.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\BevelEffect.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\BevelEffect.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Blocks.HUDFeedbackBlocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Blocks.HUDFeedbackBlocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Boxophobic.TheVehetationEngine.Runtime.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Boxophobic.TheVehetationEngine.Runtime.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Boxophobic.Utils.Scripts.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Boxophobic.Utils.Scripts.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\DataLoader.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\DataLoader.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\DDNA.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\DDNA.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\EOSSDK.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\EOSSDK.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\FMODUnity.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\FMODUnity.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\FMODUnityResonance.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\FMODUnityResonance.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\FullGame.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\FullGame.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.AudioBlocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.AudioBlocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.BlockEntityFactory.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.BlockEntityFactory.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.BlockGroups.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.BlockGroups.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.DamagingSurfaceBlock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.DamagingSurfaceBlock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.DestructionBlocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.DestructionBlocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.GenericPhysicsBlocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.GenericPhysicsBlocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.LightBlock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.LightBlock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.LogicBlock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.LogicBlock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\GameCraft.Blocks.ProjectileBlock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\GameCraft.Blocks.ProjectileBlock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.TextBlock.CompositionRoot.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.TextBlock.CompositionRoot.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.TimerBlock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Blocks.TimerBlock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.BlocksEntityDescriptors.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.BlocksEntityDescriptors.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.CharacterVulnerability.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.CharacterVulnerability.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.CharacterVulnerabilityGui.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.CharacterVulnerabilityGui.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.ColourPalette.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.ColourPalette.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Damage.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Damage.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Effects.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Effects.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.ExplosionFragments.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.ExplosionFragments.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GraphicsSettings.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GraphicsSettings.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.BlueprintInventory.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.BlueprintInventory.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.BlueprintInventoryMock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.BlueprintInventoryMock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Blueprints.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Blueprints.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.BlueprintSets.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.BlueprintSets.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.GameOptionsScreen.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.GameOptionsScreen.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.GraphicsScreen.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.GraphicsScreen.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Hotbar.Blocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Hotbar.Blocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Hotbar.BlueprintsHotbar.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Hotbar.BlueprintsHotbar.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Hotbar.Colours.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Hotbar.Colours.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.HUDFeedbackBlocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.HUDFeedbackBlocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.ModeBar.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.ModeBar.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.OptionsScreen.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.OptionsScreen.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TabsBar.Blocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TabsBar.Blocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TabsBar.Blueprints.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TabsBar.Blueprints.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TabsBar.Colours.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TabsBar.Colours.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TabsBar.Common.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TabsBar.Common.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TimeModeClock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.TimeModeClock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Tweaks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Tweaks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Wires.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Wires.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Wires.Mockup.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.Wires.Mockup.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.WorldSpaceGuis.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.GUI.WorldSpaceGuis.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.InventoryTimeRunning.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.InventoryTimeRunning.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.JointBlocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.JointBlocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Music.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Music.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.NetStrings.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.NetStrings.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.PerformanceWarnings.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.PerformanceWarnings.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.PickupBlck.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.PickupBlck.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.PickupsCommon.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.PickupsCommon.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.PopupMessage.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.PopupMessage.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Projectiles.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Projectiles.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Serialization.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Serialization.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Tweaks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Tweaks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Tweaks.Mockup.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Tweaks.Mockup.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.VisualEffects.Decals.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.VisualEffects.Decals.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.VisualEffects.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.VisualEffects.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Wires.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Wires.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Gamecraft.Wires.Mockup.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Gamecraft.Wires.Mockup.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\GameState.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\GameState.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\GhostShark.Outline.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\GhostShark.Outline.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\GPUInstancer.CrowdAnimations.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\GPUInstancer.CrowdAnimations.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\GPUInstancer.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\GPUInstancer.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Havok.Physics.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Havok.Physics.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Havok.Physics.Hybrid.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Havok.Physics.Hybrid.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\JWT.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\JWT.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\LZ4.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\LZ4.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\mscorlib.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\mscorlib.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\MultiplayerNetworking.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\MultiplayerNetworking.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\MultiplayerTest.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\MultiplayerTest.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\netstandard.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\netstandard.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Newtonsoft.Json.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Newtonsoft.Json.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RCX.ScreenshotTaker.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RCX.ScreenshotTaker.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Rewired_Core.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Rewired_Core.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Rewired_Windows.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Rewired_Windows.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftECS.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftECS.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.AccountPreferences.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.AccountPreferences.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Blocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Blocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Blocks.Ghost.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Blocks.Ghost.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Blocks.Triggers.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Blocks.Triggers.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Building.BoxSelect.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Building.BoxSelect.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Building.Jobs.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Building.Jobs.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Character.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Character.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Common.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Common.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.ControlsScreen.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.ControlsScreen.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Crosshair.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Crosshair.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.FrontEnd.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.FrontEnd.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.BlockLabel.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.BlockLabel.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.DebugDisplay.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.DebugDisplay.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.Hotbar.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.Hotbar.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.Inventory.BlocksInventory.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.Inventory.BlocksInventory.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.Inventory.ColourInventory.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.Inventory.ColourInventory.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.Inventory.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.Inventory.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.PauseMenu.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.PauseMenu.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.ScaleGhost.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.ScaleGhost.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.TabsBar.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.GUI.TabsBar.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Input.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Input.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.MachineEditor.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.MachineEditor.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.MainGame.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.MainGame.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.MainSimulation.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.MainSimulation.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.MockCharacter.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.MockCharacter.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Multiplayer.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Multiplayer.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Multiplayer.GUI.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Multiplayer.GUI.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Multiplayer.NetworkEntityStream.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Multiplayer.NetworkEntityStream.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Multiplayer.Serializers.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Multiplayer.Serializers.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.MultiplayerInput.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.MultiplayerInput.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.ObjectIdBlocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.ObjectIdBlocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Party.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Party.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Physics.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Physics.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.PilotSeat.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.PilotSeat.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Player.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Player.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Rendering.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Rendering.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Rendering.Mock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Rendering.Mock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.SaveAndLoad.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.SaveAndLoad.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.SaveGameDialog.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.SaveGameDialog.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.Services.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.Services.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.SignalHandling.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.SignalHandling.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.SpawnPoints.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.SpawnPoints.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX.StateSync.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX.StateSync.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocraftX_TextBlock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocraftX_TextBlock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\RobocratX.SimulationMockCompositionRoot.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\RobocratX.SimulationMockCompositionRoot.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\SpecializedDescriptors.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\SpecializedDescriptors.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\StringFormatter.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\StringFormatter.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Svelto.Common.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Svelto.Common.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Svelto.ECS.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Svelto.ECS.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Svelto.ECS.GUI.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Svelto.ECS.GUI.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Svelto.Services.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Svelto.Services.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Svelto.Tasks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Svelto.Tasks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.AutoForward.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.AutoForward.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.Backend.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.Backend.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.Building.Rules.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.Building.Rules.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.BuildingDrone.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.BuildingDrone.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.Camera.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.Camera.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.ContextSensitiveTextHint.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.ContextSensitiveTextHint.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.EngineBlock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.EngineBlock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.Environment.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.Environment.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Building.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Building.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.BuildRules.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.BuildRules.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.BuildRules.MockUps.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.BuildRules.MockUps.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Hotbar.Materials.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Hotbar.Materials.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Inventory.Common.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Inventory.Common.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Inventory.Materials.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Inventory.Materials.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Login.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Login.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.MyGamesScreen.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.MyGamesScreen.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Notifications.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Notifications.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Notifications.MockUps.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.Notifications.MockUps.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.TabsBar.Materials.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.GUI.TabsBar.Materials.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.InputCapture.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.InputCapture.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.Pointer.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.Pointer.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.SaveGamesConversion.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.SaveGamesConversion.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.Services.Eos.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.Services.Eos.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.SwitchAnimation.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.SwitchAnimation.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Techblox.WheelRigBlock.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Techblox.WheelRigBlock.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UniTask.Addressables.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UniTask.Addressables.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UniTask.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UniTask.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UniTask.DOTween.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UniTask.DOTween.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UniTask.Linq.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UniTask.Linq.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UniTask.TextMeshPro.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UniTask.TextMeshPro.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Addressables.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Addressables.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Cecil.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Cecil.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Cecil.Mdb.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Cecil.Mdb.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Cecil.Pdb.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Cecil.Pdb.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Cecil.Rocks.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Cecil.Rocks.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Burst.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Burst.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Unsafe.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Burst.Unsafe.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Collections.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Collections.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Collections.LowLevel.ILSupport.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Collections.LowLevel.ILSupport.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Deformations.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Deformations.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Entities.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Entities.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Entities.Hybrid.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Entities.Hybrid.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.InternalAPIEngineBridge.012.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.InternalAPIEngineBridge.012.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Jobs.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Jobs.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Mathematics.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Mathematics.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Mathematics.Extensions.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Mathematics.Extensions.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Mathematics.Extensions.Hybrid.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Mathematics.Extensions.Hybrid.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.MemoryProfiler.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.MemoryProfiler.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Physics.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Physics.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Physics.Hybrid.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Physics.Hybrid.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Platforms.Common.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Platforms.Common.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Properties.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Properties.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Properties.Reflection.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Properties.Reflection.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Properties.UI.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Properties.UI.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Recorder.Base.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Recorder.Base.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Recorder.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Recorder.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.Core.Runtime.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.Core.Runtime.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.Core.ShaderLibrary.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.Core.ShaderLibrary.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.HighDefinition.Config.Runtime.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.HighDefinition.Config.Runtime.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.HighDefinition.Runtime.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.HighDefinition.Runtime.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.ResourceManager.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.ResourceManager.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Scenes.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Scenes.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.ScriptableBuildPipeline.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.ScriptableBuildPipeline.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Serialization.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Serialization.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.TextMeshPro.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.TextMeshPro.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Timeline.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Timeline.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Transforms.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Transforms.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.Transforms.Hybrid.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.Transforms.Hybrid.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\Unity.VisualEffectGraph.Runtime.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\Unity.VisualEffectGraph.Runtime.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.AccessibilityModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.AccessibilityModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.AIModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.AIModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.AndroidJNIModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.AndroidJNIModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.AnimationModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.AnimationModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.ARModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.ARModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.AssetBundleModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.AssetBundleModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.AudioModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.AudioModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.ClothModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.ClothModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.ClusterInputModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.ClusterInputModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.ClusterRendererModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.ClusterRendererModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.CoreModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.CoreModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.CrashReportingModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.CrashReportingModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.DirectorModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.DirectorModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.DSPGraphModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.DSPGraphModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.GameCenterModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.GameCenterModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.GIModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.GIModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.GridModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.GridModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.HotReloadModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.HotReloadModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.ImageConversionModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.ImageConversionModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.IMGUIModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.IMGUIModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.InputLegacyModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.InputLegacyModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.InputModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.InputModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.JSONSerializeModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.JSONSerializeModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.LocalizationModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.LocalizationModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.ParticleSystemModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.ParticleSystemModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.PerformanceReportingModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.PerformanceReportingModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.Physics2DModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.Physics2DModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.PhysicsModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.PhysicsModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.ProfilerModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.ProfilerModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.ScreenCaptureModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.ScreenCaptureModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.SharedInternalsModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.SharedInternalsModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.SpriteMaskModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.SpriteMaskModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.SpriteShapeModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.SpriteShapeModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.StreamingModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.StreamingModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.SubstanceModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.SubstanceModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.SubsystemsModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.SubsystemsModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.TerrainModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.TerrainModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.TerrainPhysicsModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.TerrainPhysicsModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.TextCoreModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.TextCoreModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.TextRenderingModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.TextRenderingModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.TilemapModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.TilemapModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.TLSModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.TLSModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UI.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UI.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UIElementsModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UIElementsModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UIElementsNativeModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UIElementsNativeModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UIModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UIModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UmbraModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UmbraModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UNETModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UNETModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityAnalyticsModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityAnalyticsModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityConnectModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityConnectModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityCurlModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityCurlModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityTestProtocolModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityTestProtocolModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestAssetBundleModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestAssetBundleModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestAudioModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestAudioModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestTextureModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestTextureModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestWWWModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.UnityWebRequestWWWModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.VehiclesModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.VehiclesModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.VFXModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.VFXModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.VideoModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.VideoModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.VirtualTexturingModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.VirtualTexturingModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.VRModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.VRModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.WindModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.WindModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\UnityEngine.XRModule.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\UnityEngine.XRModule.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\uREPL.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\uREPL.dll
+
+
+ ..\ref\TechbloxPreview_Data\Managed\VisualProfiler.dll
+ ..\..\ref\TechbloxPreview_Data\Managed\VisualProfiler.dll
+
+
+
+
+
+
diff --git a/CodeGenerator/Program.cs b/CodeGenerator/Program.cs
new file mode 100644
index 0000000..15a7e1c
--- /dev/null
+++ b/CodeGenerator/Program.cs
@@ -0,0 +1,16 @@
+using System.CodeDom;
+using System.CodeDom.Compiler;
+using System.IO;
+
+namespace CodeGenerator
+{
+ internal class Program
+ {
+ public static void Main(string[] args)
+ {
+ var bcg = new BlockClassGenerator();
+ bcg.Generate("TestBlock", "TEST_BLOCK");
+ bcg.Generate("Engine", null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/CodeGenerator/Properties/AssemblyInfo.cs b/CodeGenerator/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..18681a4
--- /dev/null
+++ b/CodeGenerator/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("CodeGenerator")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CodeGenerator")]
+[assembly: AssemblyCopyright("Copyright © ExMods 2021")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("0EBB6400-95A7-4A3D-B2ED-BF31E364CC10")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/TechbloxModdingAPI.sln b/TechbloxModdingAPI.sln
index 2191746..999cac5 100644
--- a/TechbloxModdingAPI.sln
+++ b/TechbloxModdingAPI.sln
@@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.29411.108
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechbloxModdingAPI", "TechbloxModdingAPI\TechbloxModdingAPI.csproj", "{7FD5A7D8-4F3E-426A-B07D-7DC70442A4DF}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeGenerator", "CodeGenerator\CodeGenerator.csproj", "{0EBB6400-95A7-4A3D-B2ED-BF31E364CC10}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -18,6 +20,12 @@ Global
{7FD5A7D8-4F3E-426A-B07D-7DC70442A4DF}.Release|Any CPU.Build.0 = Release|Any CPU
{7FD5A7D8-4F3E-426A-B07D-7DC70442A4DF}.Test|Any CPU.ActiveCfg = Test|Any CPU
{7FD5A7D8-4F3E-426A-B07D-7DC70442A4DF}.Test|Any CPU.Build.0 = Test|Any CPU
+ {0EBB6400-95A7-4A3D-B2ED-BF31E364CC10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0EBB6400-95A7-4A3D-B2ED-BF31E364CC10}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0EBB6400-95A7-4A3D-B2ED-BF31E364CC10}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0EBB6400-95A7-4A3D-B2ED-BF31E364CC10}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0EBB6400-95A7-4A3D-B2ED-BF31E364CC10}.Test|Any CPU.ActiveCfg = Debug|Any CPU
+ {0EBB6400-95A7-4A3D-B2ED-BF31E364CC10}.Test|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/TechbloxModdingAPI/App/GameGameEngine.cs b/TechbloxModdingAPI/App/GameGameEngine.cs
index 51c53c8..8ae2aa3 100644
--- a/TechbloxModdingAPI/App/GameGameEngine.cs
+++ b/TechbloxModdingAPI/App/GameGameEngine.cs
@@ -1,8 +1,6 @@
using System;
using System.Collections.Generic;
-using HarmonyLib;
-using RobocraftX;
using RobocraftX.Common;
using RobocraftX.Schedulers;
using RobocraftX.SimulationModeState;
diff --git a/TechbloxModdingAPI/Blocks/LogicGate.cs b/TechbloxModdingAPI/Blocks/LogicGate.cs
new file mode 100644
index 0000000..50a819c
--- /dev/null
+++ b/TechbloxModdingAPI/Blocks/LogicGate.cs
@@ -0,0 +1,16 @@
+using RobocraftX.Common;
+using Svelto.ECS;
+
+namespace TechbloxModdingAPI.Blocks
+{
+ public class LogicGate : SignalingBlock
+ {
+ public LogicGate(EGID id) : base(id)
+ {
+ }
+
+ public LogicGate(uint id) : base(new EGID(id, CommonExclusiveGroups.LOGIC_BLOCK_GROUP))
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/TechbloxModdingAPI/Blocks/Piston.cs b/TechbloxModdingAPI/Blocks/Piston.cs
new file mode 100644
index 0000000..22ee052
--- /dev/null
+++ b/TechbloxModdingAPI/Blocks/Piston.cs
@@ -0,0 +1,50 @@
+using System;
+
+using RobocraftX.Blocks;
+using Svelto.ECS;
+using Unity.Mathematics;
+
+using TechbloxModdingAPI.Utility;
+using RobocraftX.Common;
+
+namespace TechbloxModdingAPI.Blocks
+{
+ public class Piston : SignalingBlock
+ {
+ public Piston(EGID id) : base(id)
+ {
+ }
+
+ public Piston(uint id) : base(new EGID(id, CommonExclusiveGroups.PISTON_BLOCK_GROUP))
+ {
+ }
+
+ // custom piston properties
+
+ ///
+ /// The piston's max extension distance.
+ ///
+ public float MaximumExtension
+ {
+ get => BlockEngine.GetBlockInfo(this).maxDeviation;
+
+ set
+ {
+ BlockEngine.GetBlockInfo(this).maxDeviation = value;
+ }
+ }
+
+ ///
+ /// The piston's max extension force.
+ ///
+ public float MaximumForce
+ {
+ get => BlockEngine.GetBlockInfo(this).pistonVelocity;
+
+ set
+ {
+ BlockEngine.GetBlockInfo(this).pistonVelocity = value;
+ }
+ }
+ }
+}
diff --git a/TechbloxModdingAPI/Blocks/Servo.cs b/TechbloxModdingAPI/Blocks/Servo.cs
new file mode 100644
index 0000000..613ab65
--- /dev/null
+++ b/TechbloxModdingAPI/Blocks/Servo.cs
@@ -0,0 +1,71 @@
+using RobocraftX.Blocks;
+using RobocraftX.Common;
+using Svelto.ECS;
+
+namespace TechbloxModdingAPI.Blocks
+{
+ public class Servo : SignalingBlock
+ {
+ public Servo(EGID id) : base(id)
+ {
+ }
+
+ public Servo(uint id) : base(new EGID(id, CommonExclusiveGroups.SERVO_BLOCK_GROUP))
+ {
+ }
+
+ // custom servo properties
+
+ ///
+ /// The servo's minimum angle.
+ ///
+ public float MinimumAngle
+ {
+ get => BlockEngine.GetBlockInfo(this).minDeviation;
+
+ set
+ {
+ BlockEngine.GetBlockInfo(this).minDeviation = value;
+ }
+ }
+
+ ///
+ /// The servo's maximum angle.
+ ///
+ public float MaximumAngle
+ {
+ get => BlockEngine.GetBlockInfo(this).maxDeviation;
+
+ set
+ {
+ BlockEngine.GetBlockInfo(this).maxDeviation = value;
+ }
+ }
+
+ ///
+ /// The servo's maximum force.
+ ///
+ public float MaximumForce
+ {
+ get => BlockEngine.GetBlockInfo(this).servoVelocity;
+
+ set
+ {
+ BlockEngine.GetBlockInfo(this).servoVelocity = value;
+ }
+ }
+
+ ///
+ /// The servo's direction.
+ ///
+ public bool Reverse
+ {
+ get => BlockEngine.GetBlockInfo(this).reverse;
+
+ set
+ {
+ BlockEngine.GetBlockInfo(this).reverse = value;
+ }
+ }
+ }
+}
diff --git a/TechbloxModdingAPI/Player.cs b/TechbloxModdingAPI/Player.cs
index de38b9b..811056e 100644
--- a/TechbloxModdingAPI/Player.cs
+++ b/TechbloxModdingAPI/Player.cs
@@ -4,6 +4,7 @@ using RobocraftX.Character.Movement;
using Unity.Mathematics;
using RobocraftX.Common;
using RobocraftX.Common.Players;
+using RobocraftX.GUI.Wires;
using RobocraftX.Physics;
using Svelto.ECS;
using Techblox.BuildingDrone;
@@ -432,8 +433,9 @@ namespace TechbloxModdingAPI
{
var egid = playerEngine.GetThingLookedAt(Id, maxDistance);
return egid != EGID.Empty && egid.groupID != CommonExclusiveGroups.SIMULATION_BODIES_GROUP
+ && egid.groupID != WiresGUIExclusiveGroups.WireGroup
? Block.New(egid)
- : null;
+ : null;
}
///
@@ -449,6 +451,19 @@ namespace TechbloxModdingAPI
: null;
}
+ ///
+ /// Returns the wire the player is currently looking at in build mode.
+ ///
+ /// The maximum distance from the player (default is the player's building reach)
+ /// The wire or null if not found
+ public Wire GetWireLookedAt(float maxDistance = -1f)
+ {
+ var egid = playerEngine.GetThingLookedAt(Id, maxDistance);
+ return egid != EGID.Empty && egid.groupID == WiresGUIExclusiveGroups.WireGroup
+ ? new Wire(egid)
+ : null;
+ }
+
///
/// Returns the blocks that are in the player's current selection.
///
diff --git a/TechbloxModdingAPI/Tests/TechbloxModdingAPIPluginTest.cs b/TechbloxModdingAPI/Tests/TechbloxModdingAPIPluginTest.cs
index b98990b..eb9bda4 100644
--- a/TechbloxModdingAPI/Tests/TechbloxModdingAPIPluginTest.cs
+++ b/TechbloxModdingAPI/Tests/TechbloxModdingAPIPluginTest.cs
@@ -312,6 +312,21 @@ namespace TechbloxModdingAPI.Tests
Loop().RunOn(Scheduler.leanRunner);
}).Build();
+
+ CommandBuilder.Builder("importAssetBundle")
+ .Action(() =>
+ {
+ Logging.CommandLog("Importing asset bundle...");
+ var ab = AssetBundle.LoadFromFile(
+ @"filepath");
+ Logging.CommandLog("Imported asset bundle: " + ab);
+ var assets = ab.LoadAllAssets();
+ Logging.CommandLog("Loaded " + assets.Length + " assets");
+ foreach (var asset in assets)
+ {
+ Logging.CommandLog(asset);
+ }
+ }).Build();
#if TEST
TestRoot.RunTests();
#endif