25 lines
552 B
C++
25 lines
552 B
C++
#pragma once
|
|
|
|
#include <lua_processor.h>
|
|
#include <string>
|
|
#include <map>
|
|
|
|
#include "vfs.h"
|
|
|
|
class CommandProcessor {
|
|
public:
|
|
CommandProcessor(vfs_node* home_vfs, std::map<std::string, vfs_node*>& world_vfs);
|
|
~CommandProcessor(void);
|
|
|
|
std::string process_command(const std::string& command);
|
|
vfs_node* get_current_dir(void);
|
|
|
|
private:
|
|
std::string _handle_vfs_action(sol::table action);
|
|
vfs_node* home_vfs_root;
|
|
vfs_node* session_vfs_root;
|
|
vfs_node* _current_dir;
|
|
std::map<std::string, vfs_node*>& _world_vfs;
|
|
LuaProcessor* _lua;
|
|
};
|