- using System;
-
- using RobocraftX.Common;
- using RobocraftX.StateSync;
- using Svelto.ECS;
- using Unity.Jobs;
-
- using GamecraftModdingAPI.Engines;
- using GamecraftModdingAPI.Utility;
-
- namespace GamecraftModdingAPI.App
- {
- public class GameBuildSimEventEngine : IApiEngine, IUnorderedInitializeOnTimeRunningModeEntered, IUnorderedInitializeOnTimeStoppedModeEntered
- {
- public event EventHandler<GameEventArgs> SimulationMode;
-
- public event EventHandler<GameEventArgs> BuildMode;
-
- public string Name => "GamecraftModdingAPIBuildSimEventGameEngine";
-
- public bool isRemovable => false;
-
- public EntitiesDB entitiesDB { set; private get; }
-
- public void Dispose() { }
-
- public void Ready() { }
-
- public JobHandle OnInitializeTimeRunningMode(JobHandle inputDeps)
- {
- ExceptionUtil.InvokeEvent(SimulationMode, this, new GameEventArgs { GameName = GameMode.SaveGameDetails.Name, GamePath = GameMode.SaveGameDetails.Folder });
- return inputDeps;
- }
-
- public JobHandle OnInitializeTimeStoppedMode(JobHandle inputDeps)
- {
- ExceptionUtil.InvokeEvent(BuildMode, this, new GameEventArgs { GameName = GameMode.SaveGameDetails.Name, GamePath = GameMode.SaveGameDetails.Folder });
- return inputDeps;
- }
- }
-
- public struct GameEventArgs
- {
- public string GameName;
-
- public string GamePath;
- }
- }
|