45 std::vector<LinkEntity*> inLinks;
46 std::vector<LinkEntity*> outLinks;
50 nodeComponentArray.emplace();
51 nodeComponentBitSet.emplace();
58 void removeEntity()
override {
59 ownerCell->nodes.erase(
60 std::remove(this->ownerCell->nodes.begin(), this->ownerCell->nodes.end(),
62 this->ownerCell->nodes.end());
66 inLinks.push_back(link);
70 outLinks.push_back(link);
73 const std::vector<LinkEntity*>& getInLinks()
const {
77 const std::vector<LinkEntity*>& getOutLinks()
const {
81 virtual void addPorts() {}
83 virtual void removePorts() {}
85 virtual void updatePorts(
float deltaTime) {}
92 unsigned int fromId = 0;
93 unsigned int toId = 0;
117 void removeFromCells() {
122 void removeEntity()
override {
123 for (
auto cell : ownerCells) {
124 cell->links.erase(std::remove(cell->links.begin(), cell->links.end(),
139 return from->children[fromPort];
143 return to->children[toPort];
146 virtual void updateLinkToPorts() {}
148 virtual void updateLinkToNodes() {}
150 virtual void updateArrowHeads() {}
152 virtual void addArrowHead() {}
154 virtual void removeArrowHead() {}