summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2022-10-11 00:40:25 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2022-10-11 00:40:25 +0100
commitfbc6c0eed90fb704524eb503a4f7dae9e0d9dca2 (patch)
treed60e00774f3333d4f869050e40cb68e5d27d5ea3
parentGameMainSelector provides world overlay and renders its target (diff)
downloadilt-fbc6c0eed90fb704524eb503a4f7dae9e0d9dca2.tar.bz2
ilt-fbc6c0eed90fb704524eb503a4f7dae9e0d9dca2.tar.xz
ilt-fbc6c0eed90fb704524eb503a4f7dae9e0d9dca2.zip
Fix return type of network link factories
-rw-r--r--game/network/link.h1
-rw-r--r--game/network/network.h8
-rw-r--r--game/network/network.impl.h6
3 files changed, 8 insertions, 7 deletions
diff --git a/game/network/link.h b/game/network/link.h
index d9629de..6441c8b 100644
--- a/game/network/link.h
+++ b/game/network/link.h
@@ -61,6 +61,7 @@ protected:
return {};
}
};
+using CLinks = std::vector<LinkCPtr>;
bool operator<(const glm::vec3 & a, const glm::vec3 & b);
bool operator<(const Node & a, const Node & b);
diff --git a/game/network/network.h b/game/network/network.h
index 9dbca7c..d561e55 100644
--- a/game/network/network.h
+++ b/game/network/network.h
@@ -30,8 +30,8 @@ public:
[[nodiscard]] Link::Nexts routeFromTo(const Link::End &, glm::vec3) const;
[[nodiscard]] Link::Nexts routeFromTo(const Link::End &, const NodePtr &) const;
- virtual LinkPtr addStraight(glm::vec3, glm::vec3) = 0;
- virtual LinkPtr addJoins(glm::vec3, glm::vec3) = 0;
+ virtual LinkCPtr addStraight(glm::vec3, glm::vec3) = 0;
+ virtual CLinks addJoins(glm::vec3, glm::vec3) = 0;
protected:
static void joinLinks(const LinkPtr & l, const LinkPtr & ol);
@@ -63,8 +63,8 @@ public:
return l;
}
- LinkPtr addStraight(glm::vec3 n1, glm::vec3 n2) override;
- LinkPtr addJoins(glm::vec3, glm::vec3) override;
+ LinkCPtr addStraight(glm::vec3 n1, glm::vec3 n2) override;
+ CLinks addJoins(glm::vec3, glm::vec3) override;
void render(const Shader &) const override;
};
diff --git a/game/network/network.impl.h b/game/network/network.impl.h
index 37d03f8..4e2b37e 100644
--- a/game/network/network.impl.h
+++ b/game/network/network.impl.h
@@ -38,15 +38,15 @@ NetworkOf<T>::intersectRayLinks(const Ray & ray) const
}
template<typename T>
-LinkPtr
+LinkCPtr
NetworkOf<T>::addStraight(glm::vec3 n1, glm::vec3 n2)
{
return addLink<typename T::StraightLink>(n1, n2);
}
template<typename T>
-LinkPtr
+CLinks
NetworkOf<T>::addJoins(glm::vec3 n1, glm::vec3 n2)
{
- return addLink<typename T::StraightLink>(n1, n2);
+ return {addLink<typename T::StraightLink>(n1, n2)};
}