diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/jumppoint.cc | 29 | ||||
-rw-r--r-- | src/game/jumppoint.h | 40 |
2 files changed, 69 insertions, 0 deletions
diff --git a/src/game/jumppoint.cc b/src/game/jumppoint.cc new file mode 100644 index 0000000..a5f9b1a --- /dev/null +++ b/src/game/jumppoint.cc @@ -0,0 +1,29 @@ +/* + game/jumppoint.cc + This file is part of the Osirion project and is distributed under + the terms and conditions of the GNU General Public License version 2 +*/ + +#include "game/jumppoint.h" +#include "game/game.h" + +namespace game +{ + +JumpPoint::JumpPoint() : core::Entity(core::Entity::Static) +{ + entity_shape = core::Entity::Diamond; + entity_color.assign(0.8f, 0.0f, 0.0f, 1.0f); + entity_color_second.assign(0.6f, 1.0f); + entity_radius = 0.25f; + + entity_moduletypeid = jumppoint_enttype; + jumppoint_target = 0; + entity_serverside = true; +} + +JumpPoint::~JumpPoint() +{ +} + +} diff --git a/src/game/jumppoint.h b/src/game/jumppoint.h new file mode 100644 index 0000000..59ec69c --- /dev/null +++ b/src/game/jumppoint.h @@ -0,0 +1,40 @@ +/* + game/jumppoint.h + This file is part of the Osirion project and is distributed under + the terms and conditions of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_GAME_JUMPPOINT_H__ +#define __INCLUDED_GAME_JUMPPOINT_H__ + +#include "core/entity.h" +#include "math/mathlib.h" + +#include <string> + +namespace game { + +/// a jump point +/** + * jumppoints are used to define hyperspace routes between systems + * when a ship actives the jump drive, a jump point will be opened + * between the current system and the target of the nearest jumppoint. + * + */ +class JumpPoint : public core::Entity { +public: + JumpPoint(); + ~JumpPoint(); + + inline std::string const & targetlabel() { return jumppoint_targetlabel; } + inline JumpPoint *target() { return jumppoint_target; } + + std::string jumppoint_targetlabel; + + JumpPoint *jumppoint_target; +}; + +} + +#endif // __INCLUDED_GAME_JUMPPOINT_H__ + |