|
1234567891011121314151617181920212223242526272829303132 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- using Harmony;
- using RobocraftX;
- using Svelto.ECS;
-
- using GamecraftModdingAPI.Utility;
-
- namespace GamecraftModdingAPI.Events
- {
- /// <summary>
- /// Patch of RobocraftX.FullGameCompositionRoot.ActivateGame()
- /// </summary>
- [HarmonyPatch(typeof(FullGameCompositionRoot), "ActivateGame")]
- class GameActivatedPatch
- {
- public static void Postfix(ref EnginesRoot ____mainGameEnginesRoot)
- {
- // register custom game engines
- GameEngineManager.RegisterEngines(____mainGameEnginesRoot);
- // A new EnginesRoot is always created when ActivateGame is called
- // so all event emitters and handlers must be re-registered.
- EventManager.RegisterEngines(____mainGameEnginesRoot);
- Logging.Log("Dispatching Game Activated event");
- EventManager.GetEventEmitter("GamecraftModdingAPIGameActivatedEventEmitter").Emit();
- }
- }
- }
|