#pragma once #include #include #include #include #include #include "CCommand.h" class CCommandsManager { public: bool IsCommandPresent(const std::string& name) const; std::unique_ptr& GetCommand(const std::string& name); bool IsCommandPresent(const std::unique_ptr& cmd) const; bool CanAdd(const std::unique_ptr& item) const; void Add(std::unique_ptr&& cmd); std::unique_ptr& CreateCommand(const std::string& name, CCommand::CType type, CCommand::CmdRight rights, const std::function& hndlr); std::unique_ptr& CreateLuaCommand(const std::string& name, CCommand::CType type, CCommand::CmdRight rights, const sol::function& func); std::vector> Items; };