#ifndef VIEWER_HPP #define VIEWER_HPP #include "world.hpp" #include "animqueue.hpp" #include #include #include #include class Viewer { private: std::unique_ptr world_; std::vector tangibles_; std::unordered_map anim_view_; public: Viewer(); ~Viewer(); // Get the lua state for interaction. // lua_State *get_lua_state() { return world_->get_lua_state(); } // Get the player ID of the current player. // int64_t get_player_id(); // Update the view. // void update_view(); // Get a list of the tangibles in viewing radius of the player. // const std::vector &get_tangibles_near_player(); // Get the animation viewer of the specified tangible. // AnimView *get_animation_view(int64_t id); // Get the menu of the specified tangible. // std::vector get_menu(int64_t id); // Select the specified menu item. // void choose_menu_item(int64_t id, const std::string &item); // Advance the simulation clock. Called 1/sec. // void advance_clock(); }; #endif // VIEWER_HPP