|
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Reflection;
-
- using HarmonyLib;
- using Svelto.Context;
- using Svelto.ECS;
- using RobocraftX;
- using RobocraftX.Multiplayer;
- using RobocraftX.StateSync;
- using Unity.Entities;
-
- using GamecraftModdingAPI.Utility;
-
- namespace GamecraftModdingAPI.Commands
- {
- /// <summary>
- /// Patch of RobocraftX.GUI.CommandLine.CommandLineCompositionRoot.Compose<T>()
- /// </summary>
- // TODO: fix
- [HarmonyPatch]
- //[HarmonyPatch(typeof(RobocraftX.GUI.CommandLine.CommandLineCompositionRoot))]
- //[HarmonyPatch("Compose")]
- //[HarmonyPatch("Compose", new Type[] { typeof(UnityContext<FullGameCompositionRoot>), typeof(EnginesRoot), typeof(World), typeof(Action), typeof(MultiplayerInitParameters), typeof(StateSyncRegistrationHelper)})]
- static class CommandPatch
- {
- public static void Postfix(object contextHolder, EnginesRoot enginesRoot, World physicsWorld, Action reloadGame, MultiplayerInitParameters multiplayerParameters, ref StateSyncRegistrationHelper stateSyncReg)
- {
- // When a game is loaded, register the command engines
- CommandManager.RegisterEngines(enginesRoot);
- }
-
- public static MethodBase TargetMethod(Harmony instance)
- {
- return typeof(RobocraftX.GUI.CommandLine.CommandLineCompositionRoot).GetMethod("Compose").MakeGenericMethod(typeof(object));
- //return func.Method;
- }
- }
- }
|