duncan
Mom and Dad were wrong!
|
00001 #ifndef CLIENT_WORLD_H_ 00002 #define CLIENT_WORLD_H_ 00003 00004 #include <algorithm> 00005 #include <set> 00006 #include <list> 00007 #include <iostream> 00008 #include <tr1/array> 00009 #include "map.h" 00010 #include "ncwindow.h" 00011 #include "character.h" 00012 #include "../network/network.h" 00013 #include "col.h" 00014 00015 namespace client { 00016 00024 class World { 00025 private: 00026 DrawableMap map_; 00027 std::tr1::array<Character,net::kMaxCharacters> charlist_;//Character charlist_[net::kMaxCharacters]; 00028 std::set<net::index_t> chars_; 00029 std::list<net::index_t> visible_; 00030 net::index_t follow_; 00031 public: 00032 World(); 00033 00034 bool load(const std::string&); 00035 00036 void reset(); 00037 00038 void reset_visible(); 00039 void add_visible(net::index_t); 00040 void set_char_pos(net::index_t, size_t, size_t); 00041 void add_char(net::index_t, const std::string&); 00042 void remove_char(net::index_t); 00043 void set_char_name(net::index_t, const std::string&); 00044 void set_follow(net::index_t); 00045 const std::string& char_name(net::index_t); 00046 void draw(NCWindow&); 00047 00048 bool is_vacant(size_t, size_t, net::index_t); 00049 size_t width(); 00050 size_t height(); 00051 }; 00052 00053 } 00054 00055 #endif