/* client/targets.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_CLIENT_TARGETS_H__ #define __INCLUDED_CLIENT_TARGETS_H__ #include "core/entity.h" #include "render/render.h" #include "render/gl.h" #include "render/text.h" namespace client { namespace targets { void init(); void shutdown(); void reset(); /// return true if the entity is a legal hud target bool is_valid_hud_target(const core::Entity *entity); /// return true if the entity is a legal map target bool is_valid_map_target(const core::Entity *entity); /// render targets and sounds void frame(); /// currently selected target, 0 if there is none const core::Entity *current(); /// id of the currently selected target, 0 if there is none unsigned int current_id(); /// id if target the mouse is currently hovering, 0 if none unsigned int hover(); /// target a specific entity void set_target(unsigned int id); /// target a specific entity void set_target(const core::Entity *entity); } } #endif //__INCLUDED_CLIENT_TARGETS_H__