MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / populateWorking

Method populateWorking

source/game/StarWireProcessor.cpp:49–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47}
48
49void WireProcessor::populateWorking(WireEntity* wireEntity) {
50 auto p = m_workingWireEntities.insert(wireEntity->tilePosition(), WireEntityState{nullptr, {}, false});
51 if (!p.second) {
52 if (p.first->second.wireEntity != wireEntity)
53 Logger::debug("Multiple wire entities share tile position: {}", wireEntity->position());
54 return;
55 }
56 auto& wes = p.first->second;
57 wes.wireEntity = wireEntity;
58 size_t outputNodeCount = wes.wireEntity->nodeCount(WireDirection::Output);
59 wes.outputStates.resize(outputNodeCount);
60 for (size_t i = 0; i < outputNodeCount; ++i)
61 wes.outputStates[i] = wes.wireEntity->nodeState({WireDirection::Output, i});
62}
63
64void WireProcessor::loadNetwork(Vec2I tilePosition) {
65 HashSet<WorldStorage::Sector> networkSectors;

Callers

nothing calls this directly

Calls 6

nodeCountMethod · 0.80
nodeStateMethod · 0.80
insertMethod · 0.45
tilePositionMethod · 0.45
positionMethod · 0.45
resizeMethod · 0.45

Tested by

no test coverage detected