From 5f6bb84a73572df3139b12d440008405d05bdd57 Mon Sep 17 00:00:00 2001 From: Raef Coles Date: Mon, 7 May 2018 13:16:17 +0100 Subject: [PATCH] Add teleporters --- .../include/tempo/system/SystemPlayer.hpp | 1 + src/lib-tempo/src/system/SystemPlayer.cpp | 17 +++++++++++++++++ src/server/main.cpp | 1 + 3 files changed, 19 insertions(+) diff --git a/src/lib-tempo/include/tempo/system/SystemPlayer.hpp b/src/lib-tempo/include/tempo/system/SystemPlayer.hpp index 7e50615d..58ea2b6f 100644 --- a/src/lib-tempo/include/tempo/system/SystemPlayer.hpp +++ b/src/lib-tempo/include/tempo/system/SystemPlayer.hpp @@ -12,6 +12,7 @@ namespace tempo { struct SystemPlayer : anax::System> { anax::Entity nearest_player(glm::ivec2 pos); + void TeleportPlayers(); }; } diff --git a/src/lib-tempo/src/system/SystemPlayer.cpp b/src/lib-tempo/src/system/SystemPlayer.cpp index 214e55d4..2e81e433 100644 --- a/src/lib-tempo/src/system/SystemPlayer.cpp +++ b/src/lib-tempo/src/system/SystemPlayer.cpp @@ -1,4 +1,10 @@ #include +#include + +#define TELEPORT_LEFT 30 +#define TELEPORT_RIGHT 1100 + +#define TELEPORT_EXIT glm::ivec2(1000,1000) namespace tempo { @@ -21,4 +27,15 @@ anax::Entity SystemPlayer::nearest_player(glm::ivec2 pos) return out; } +void SystemPlayer::TeleportPlayers() +{ + for (auto entity : getEntities()) + { + glm::vec2 pos = entity.getComponent().getOrigin(); + if (pos.y > TELEPORT_LEFT && pos.y < TELEPORT_RIGHT) + entity.getComponent().setPosition(TELEPORT_EXIT); + + } +} + } diff --git a/src/server/main.cpp b/src/server/main.cpp index 9d47dc57..3c099483 100644 --- a/src/server/main.cpp +++ b/src/server/main.cpp @@ -362,6 +362,7 @@ int main(int argc, const char **argv) system_attack.processAttacks(); system_health.regenerate(); system_movement.processTranslation(); + system_player.TeleportPlayers(); } ////////////////