diff options
Diffstat (limited to 'game')
-rw-r--r-- | game/network/network.h | 1 | ||||
-rw-r--r-- | game/network/network.impl.h | 7 | ||||
-rw-r--r-- | game/network/rail.cpp | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/game/network/network.h b/game/network/network.h index 0c499c6..c1d3265 100644 --- a/game/network/network.h +++ b/game/network/network.h @@ -135,4 +135,5 @@ public: protected: Link::CCollection addCurve(const GeoData *, const GenCurveDef &); + [[nodiscard]] bool anyLinks() const; }; diff --git a/game/network/network.impl.h b/game/network/network.impl.h index 7f7dfb3..04c5d7c 100644 --- a/game/network/network.impl.h +++ b/game/network/network.impl.h @@ -161,6 +161,13 @@ NetworkOf<T, Links...>::create(const GenCurveDef & def) } template<typename T, typename... Links> +bool +NetworkOf<T, Links...>::anyLinks() const +{ + return !(static_cast<const NetworkLinkHolder<Links> *>(this)->vertices.empty() && ...); +} + +template<typename T, typename... Links> void NetworkOf<T, Links...>::add(GeoData * geoData, const Link::Ptr & link) { diff --git a/game/network/rail.cpp b/game/network/rail.cpp index c0e597d..37eb7df 100644 --- a/game/network/rail.cpp +++ b/game/network/rail.cpp @@ -169,7 +169,7 @@ namespace { void RailLinks::render(const SceneShader & shader, const Frustum &) const { - if (!links.empty()) { + if (anyLinks()) { texture->bind(); glEnable(GL_POLYGON_OFFSET_FILL); glPolygonOffset(-1, 0); |