Attempts to bring console commands back (test)
This commit is contained in:
parent
cc4850a073
commit
6a2459b3e7
1 changed files with 115 additions and 0 deletions
|
@ -29,8 +29,15 @@ using GamecraftModdingAPI.Blocks;
|
||||||
using GamecraftModdingAPI.Input;
|
using GamecraftModdingAPI.Input;
|
||||||
using GamecraftModdingAPI.Interface.IMGUI;
|
using GamecraftModdingAPI.Interface.IMGUI;
|
||||||
using GamecraftModdingAPI.Players;
|
using GamecraftModdingAPI.Players;
|
||||||
|
using GamecraftModdingAPI.Tasks;
|
||||||
using RobocraftX.Common.Input;
|
using RobocraftX.Common.Input;
|
||||||
|
using RobocraftX.CR.MainGame;
|
||||||
|
using RobocraftX.GUI.CommandLine;
|
||||||
|
using RobocraftX.Multiplayer;
|
||||||
|
using RobocraftX.StateSync;
|
||||||
|
using Svelto.Context;
|
||||||
using Svelto.DataStructures;
|
using Svelto.DataStructures;
|
||||||
|
using Svelto.Services;
|
||||||
using UnityEngine.AddressableAssets;
|
using UnityEngine.AddressableAssets;
|
||||||
using UnityEngine.AddressableAssets.ResourceLocators;
|
using UnityEngine.AddressableAssets.ResourceLocators;
|
||||||
using UnityEngine.ResourceManagement.AsyncOperations;
|
using UnityEngine.ResourceManagement.AsyncOperations;
|
||||||
|
@ -493,6 +500,114 @@ namespace GamecraftModdingAPI.Tests
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HarmonyPatch]
|
||||||
|
public static class MainGamePatch
|
||||||
|
{
|
||||||
|
public static void Postfix(Transform mainGameTransform)
|
||||||
|
{
|
||||||
|
//CommandLineCompositionRoot.Init(mainGameTransform).RunOn(Scheduler.extraLeanRunner); - uREPL C# compilation not supported anymore
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MethodInfo TargetMethod()
|
||||||
|
{
|
||||||
|
return AccessTools.Method(typeof(MainGameCompositionRoot), "Init");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HarmonyPatch]
|
||||||
|
public static class MainGamePatch2
|
||||||
|
{
|
||||||
|
public static void Postfix(UnityContext<MainGameCompositionRoot> contextHolder,
|
||||||
|
Action reloadGame, MultiplayerInitParameters multiplayerParameters,
|
||||||
|
StateSyncRegistrationHelper stateSyncReg)
|
||||||
|
{
|
||||||
|
/*CommandLineCompositionRoot.Compose(contextHolder, stateSyncReg.enginesRoot, reloadGame, multiplayerParameters,
|
||||||
|
stateSyncReg); - uREPL C# compilation not supported anymore */
|
||||||
|
var enginesRoot = stateSyncReg.enginesRoot;
|
||||||
|
var entityFunctions = enginesRoot.GenerateEntityFunctions();
|
||||||
|
var entityFactory = enginesRoot.GenerateEntityFactory();
|
||||||
|
var entitySerializer = enginesRoot.GenerateEntitySerializer();
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteSetGravityCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteSetPhysicsPrecisionCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteSetPhysicsFrequencyCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName(
|
||||||
|
"RobocraftX.GUI.CommandLine.ExecuteClearAllPartsCommandEngine"),
|
||||||
|
entityFunctions));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteHelpCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName(
|
||||||
|
"RobocraftX.GUI.CommandLine.ExecuteSetLinearRestingThresholdCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName(
|
||||||
|
"RobocraftX.GUI.CommandLine.ExecuteSetAngularRestingThresholdCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteEnableVisualProfilerCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteSetNetworkJitterFramesEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteSetSendConnectedEntitiesCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteSetMaxSimFramesEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.SetDebugDisplayExtraInfoCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.SetNetSyncBandwidthLimitCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ThrowExceptionCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.SetPriorityCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.TeleportCharacterCommandEngine"),
|
||||||
|
entityFactory));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ChangeTextBlockTextCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.SetCharacterRunSpeedCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.SetCameraZoomDistanceCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.EditLightingSettingsCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.EditSkySettingsCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.EditFogSettingsCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.TeleportCharacterImplementationEngine"),
|
||||||
|
entityFunctions));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteConnectToServerCommandEngine"),
|
||||||
|
entityFunctions, entitySerializer, reloadGame, multiplayerParameters));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.SetInputBroadcastCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteSetJointInertiaTensorCommandEngine")));
|
||||||
|
enginesRoot.AddEngine(
|
||||||
|
(IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.CommandLineInputEngine")));
|
||||||
|
stateSyncReg.AddDeterministicEngine(
|
||||||
|
(IDeterministicEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ExecuteCommandEngine")));
|
||||||
|
enginesRoot.AddEngine(
|
||||||
|
(IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.ChangeTeamCommandEngine")));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.DamageCharacterCommandEngine"), entityFactory));
|
||||||
|
enginesRoot.AddEngine((IEngine) Activator.CreateInstance(
|
||||||
|
AccessTools.TypeByName("RobocraftX.GUI.CommandLine.DisableCharacterDamageCommandEngine")));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MethodInfo TargetMethod()
|
||||||
|
{
|
||||||
|
return AccessTools.Method(typeof(MainGameCompositionRoot), "DeterministicCompose")
|
||||||
|
.MakeGenericMethod(typeof(UnityContext<MainGameCompositionRoot>));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[CustomBlock("customCatalog.json", "Assets/Prefabs/Cube.prefab", "strAluminiumCube", SortIndex = 12)]
|
[CustomBlock("customCatalog.json", "Assets/Prefabs/Cube.prefab", "strAluminiumCube", SortIndex = 12)]
|
||||||
public class TestBlock : CustomBlock
|
public class TestBlock : CustomBlock
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue