public CreateMalwareCommandHandler(IEntityFactoryProvider entityFactoryProvider, IMatcherProvider matcherProvider, MovementSystem movementSystem, RNGSystem rngSystem) { _entityFactoryProvider = entityFactoryProvider; _movementSystem = movementSystem; _nodeMatcherGroup = matcherProvider.CreateMatcherGroup <GraphNode, Visitors, IEntityType>(); _rngSystem = rngSystem; }
public MalwarePropogationSystem(IMatcherProvider matcherProvider, IEntityFactoryProvider entityFactoryProvider, RNGSystem rngSystem, MovementSystem movementSystem, EventSystem eventSystem) { _entityFactoryProvider = entityFactoryProvider; _rngSystem = rngSystem; _movementSystem = movementSystem; _eventSystem = eventSystem; // TODO: refactor to use tuple matcher _malwareMatcher = matcherProvider.CreateMatcherGroup <MalwareGenome, CurrentLocation, MalwarePropogation, MalwareVisibility>(); _subsystemMatcher = matcherProvider.CreateMatcherGroup <Subsystem, GraphNode>(); }