public EnginesRoot(NodeSubmissionScheduler nodeScheduler) { _nodeEngines = new Dictionary <Type, FasterList <IEngine> >(); _activableEngines = new Dictionary <Type, FasterList <IEngine> >(); _otherEngines = new FasterList <IEngine>(); _engineRootWeakReference = new WeakReference(this); _nodesDB = new Dictionary <Type, FasterList <INode> >(); _nodesDBdic = new Dictionary <Type, Dictionary <int, INode> >(); _nodesToAdd = new FasterList <INode>(); _metaNodesToAdd = new FasterList <INode>(); _metaNodesDB = new Dictionary <Type, FasterList <INode> >(); _sharedStructNodeLists = new SharedStructNodeLists(); _sharedGroupedStructNodeLists = new SharedGroupedStructNodesLists(); _internalRemove = InternalRemove; _internalDisable = InternalDisable; _internalEnable = InternalEnable; _internalMetaRemove = InternalMetaRemove; _scheduler = nodeScheduler; _scheduler.Schedule(SubmitNodes); _structNodeEngineType = typeof(IStructNodeEngine <>); _groupedStructNodesEngineType = typeof(IGroupedStructNodesEngine <>); _activableNodeEngineType = typeof(IActivableNodeEngine <>); _implementedInterfaceTypes = new Dictionary <Type, Type[]>(); #if ENGINE_PROFILER_ENABLED && UNITY_EDITOR GameObject debugEngineObject = new GameObject("Engine Debugger"); debugEngineObject.gameObject.AddComponent <EngineProfilerBehaviour>(); #endif }
public StructNodes(SharedStructNodeLists container) { _internalList = container.GetList <T>(); }