duncan
Mom and Dad were wrong!
/home/malcolm/tmp/duncan/prototype/0/client/world.h
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
All Classes Namespaces Functions Variables Typedefs Enumerations