diff options
author | Perttu Ahola <celeron55@gmail.com> | 2010-11-27 01:02:21 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2010-11-27 01:02:21 +0200 |
commit | 4e249fb3fbf75f0359758760d88e22aa5b14533c (patch) | |
tree | 323087d05efbd2ace27b316d4f017cf812a31992 /src/environment.h | |
download | minetest-4e249fb3fbf75f0359758760d88e22aa5b14533c.tar.gz minetest-4e249fb3fbf75f0359758760d88e22aa5b14533c.tar.bz2 minetest-4e249fb3fbf75f0359758760d88e22aa5b14533c.zip |
Initial files
Diffstat (limited to 'src/environment.h')
-rw-r--r-- | src/environment.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/environment.h b/src/environment.h new file mode 100644 index 000000000..141511258 --- /dev/null +++ b/src/environment.h @@ -0,0 +1,50 @@ +#ifndef ENVIRONMENT_HEADER +#define ENVIRONMENT_HEADER + +/* + This class is the game's environment. + It contains: + - The map + - Players + - Other objects + - The current time in the game, etc. +*/ + +#include <list> +#include "common_irrlicht.h" +#include "player.h" +#include "map.h" +#include <ostream> + +class Environment +{ +public: + // Environment will delete the map passed to the constructor + Environment(Map *map, std::ostream &dout); + ~Environment(); + /* + This can do anything to the environment, such as removing + timed-out players. + Also updates Map's timers. + */ + void step(f32 dtime); + + Map & getMap(); + /* + Environment deallocates players after use. + */ + void addPlayer(Player *player); + void removePlayer(u16 peer_id); + LocalPlayer * getLocalPlayer(); + Player * getPlayer(u16 peer_id); + core::list<Player*> getPlayers(); + void printPlayers(std::ostream &o); +private: + Map *m_map; + core::list<Player*> m_players; + // Debug output goes here + std::ostream &m_dout; +}; + +#endif + |