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