private IInjectable Inject(MonoBehaviour behaviour, InjectableId injectableId, Entity entity, FieldInfo field) { var injectable = injectableFactory.CreateInjectable(injectableId, entity); field.SetValue(behaviour, injectable); return(injectable); }
internal IInjectable CreateInjectable(InjectableId injectableId, Entity entity) { if (!injectableIdToReaderWriterCreator.ContainsKey(injectableId)) { logger.HandleLog(LogType.Error, new LogEvent(NoReaderWriterCreatorFoundForInjectableIdError) .WithField(LoggingUtils.LoggerName, GetType()) .WithField("ComponentId", injectableId)); return(null); } return(injectableIdToReaderWriterCreator[injectableId].CreateInjectable(entity, entityManager, logger)); }
public bool TryGetInjectablesForComponent(InjectableId injectableId, out HashSet <IInjectable> injectables) { return(injectablesForIds.TryGetValue(injectableId, out injectables)); }
public InjectableIdAttribute(InjectableType type, uint componentId) { Id = new InjectableId(type, componentId); }