public void RunBeforeEveryTest() { this.TimeProvider = new DummyTimeProvider(); this.TestSystem = new ECSSystem(); this.TestEntity = new GameObject(); this.TestEntity2 = new GameObject(); }
private void DoRegister(ECSSystem system) { this.engineService.RequireInitState(); this.RegisterNodesDeclaredInSystem(system.GetType()); this.CollectHandlersAndNodes(system); this.InitSystem(system); this.registeredSystemTypes.Add(system.GetType()); }
private void CollectHandlersAndNodes(ECSSystem systemInstance) { foreach (Handler handler in this.engineService.HandlerCollector.CollectHandlers(systemInstance)) { IList <HandlerArgument> handlerArguments = handler.HandlerArgumentsDescription.HandlerArguments; foreach (HandlerArgument argument in handlerArguments) { NodeDescriptionRegistry.AddNodeDescription(argument.NodeDescription); } } }
public Handler CreateHandler(MethodInfo method, ECSSystem system) { if (!this.IsSelf(method)) { return(null); } this.ValidateMethodIsPublic(method); this.ValidateEventTypes(method); HandlerArgumentsDescription argumentsDescription = new HandlerArgumentsParser(method).Parse(); this.Validate(method, argumentsDescription); return(this.CreateHandlerInstance(method, this.GetMethodHandle(method, system), argumentsDescription)); }
private bool AddHandlerIfNeed(MethodInfo declaredMethod, ECSSystem system, ICollection <Handler> systemHandler) { bool flag; using (IEnumerator <HandlerFactory> enumerator = this.factories.GetEnumerator()) { while (true) { if (enumerator.MoveNext()) { Handler handler = enumerator.Current.CreateHandler(declaredMethod, system); if (handler == null) { continue; } if (this.HandlerMustBeIgnored(handler)) { flag = true; } else { if (!declaredMethod.IsPublic) { throw new PrivateHandlerFoundException(declaredMethod); } foreach (EngineHandlerRegistrationListener listener in this.handlerListeners) { listener.OnHandlerAdded(handler); } this.Register(handler); systemHandler.Add(handler); flag = true; } } else { return(false); } break; } } return(flag); }
private void Start() { ECSSystem.StartAll(); }
private void Update() { ECSSystem.UpdateAll(); }
private void Awake() { ECSSystem.AddSystem(new PecsManSystem(PecsMan, nbPecsMan)); ECSSystem.AddSystem(new FoodSystem(Food, nbFoods)); ECSSystem.AddSystem(new EnemySystem(Enemy, nbEnemy)); }
public void ForceRegisterSystem(ECSSystem system) { this.systemRegistry.ForceRegisterSystem(system); }
public void RegisterSystem(ECSSystem system) { this.systemRegistry.RegisterSystem(system); }
public MethodHandle GetMethodHandle(MethodInfo method, ECSSystem system) => new MethodHandle(method, system);
public MethodHandle(MethodInfo method, ECSSystem system) { this.method = method; this.system = system; this.throwInnerException = TestContext.IsTestMode; }
public void RegisterSystem(ECSSystem system) { this.CheckDoubleRegistration(system.GetType()); this.DoRegister(system); }
private void InitSystem(ECSSystem systemInstance) { systemInstance.Init(this.templateRegistry, this.engineService.DelayedEventManager, this.engineService, this.nodeRegistrator); }
public void ForceRegisterSystem(ECSSystem system) { this.DoRegister(system); }