diff options
author | Stijn Buys <ingar@osirion.org> | 2012-10-13 12:13:04 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2012-10-13 12:13:04 +0000 |
commit | 3b8ea0849fac5532d61a90608bda876cf518ba1b (patch) | |
tree | db7f34c22e746cfdc04574e0054c324c53838122 /src/game/base/weapon.h | |
parent | 0d58c4f8ab1d174c808c77bf94342c91f6e0c443 (diff) |
Read weapons.ini.
Diffstat (limited to 'src/game/base/weapon.h')
-rw-r--r-- | src/game/base/weapon.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/game/base/weapon.h b/src/game/base/weapon.h new file mode 100644 index 0000000..4e99493 --- /dev/null +++ b/src/game/base/weapon.h @@ -0,0 +1,52 @@ +/* + base/weapon.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_BASE_WEAPON_H__ +#define __INCLUDED_BASE_WEAPON_H__ + +#include "core/info.h" + +namespace game +{ +class Weapon : public core::Info { + +public: + Weapon(); + ~Weapon(); + + inline int level() const { + return weapon_level; + } + + inline void set_level(const int level) { + weapon_level = level; + } + + + + /* --- static registry functions ---------------------------------- */ + + static Weapon *find(const std::string & label); + + static bool init(); + + static void done(); + + static void list(); + + static inline const core::InfoType *infotype() { + return weapon_infotype; + } + +private: + static core::InfoType *weapon_infotype; + + int weapon_level; +}; + +} // namespace game + +#endif // __INCLUDED_BASE_WEAPON_H__ |