18class CircuitSceneGraph {
30 ::ll::TypedStorage<8, 8, ::BaseCircuitComponent*> mRawComponentPtr;
31 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BaseCircuitComponent>> mComponent;
32 ::ll::TypedStorage<4, 12, ::BlockPos> mPos;
36 using ComponentMap = ::std::unordered_map<::BlockPos, ::std::unique_ptr<::BaseCircuitComponent>>;
38 using ComponentsPerChunkMap = ::std::unordered_map<::BlockPos, ::ChunkCircuitComponentList>;
40 using ComponentsPerPosMap = ::std::unordered_map<::BlockPos, ::CircuitComponentList>;
45 ComponentMap mAllComponents;
46 ComponentsPerChunkMap mActiveComponentsPerChunk;
47 ComponentsPerPosMap mPowerAssociationMap;
48 ::std::unordered_map<::BlockPos, ::CircuitSceneGraph::PendingEntry> mPendingAdds;
49 ::std::unordered_map<::BlockPos, ::CircuitSceneGraph::PendingEntry> mPendingUpdates;
50 ::std::unordered_map<::BlockPos, ::std::vector<::BlockPos>> mComponentsToReEvaluate;
51 ::std::vector<::CircuitSceneGraph::PendingEntry> mPendingRemoves;
57 MCAPI CircuitSceneGraph();
59 MCAPI
void add(
::BlockPos const& pos, ::std::unique_ptr<::BaseCircuitComponent> component);
61 MCAPI
void invalidatePos(
::BlockPos const& pos);
63 MCAPI
void preSetupPoweredBlocks(
::ChunkPos const& chunkPos);
69 MCAPI ~CircuitSceneGraph();
Definition CircuitSceneGraph.h:26