| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #include "common/make_unique.h"
- #include "core/Assert.h"
- #include "core/ConfigCmdManager.h"
- #include "core/ConfigCmdManagerCommands.h"
- template<>ConfigCmdManager *Ogre::Singleton<ConfigCmdManager>::msSingleton = nullptr;
- ConfigCmdManager::ConfigCmdManager()
- {
- InitCmd();
- }
- ConfigCmdManager::~ConfigCmdManager()
- {
- }
- void
- ConfigCmdManager::AddCommand(const Ogre::String& name, const Ogre::String& description, const Ogre::String& params_description, ConfigCmdHandler handler, ConfigCmdCompletion completion)
- {
- QGEARS_ASSERT(name != "", "Command name shouldn't be empty.");
- QGEARS_ASSERT(handler, "Null command handler.");
- // see if command already added
- for(unsigned int i = 0; i < m_Commands.size(); ++i)
- {
- QGEARS_ASSERT(m_Commands[i]->GetName() != name, "Command already exist.");
- }
- m_Commands.emplace_back(std::make_unique<ConfigCmd>(name, description, params_description, handler, completion));
- }
- void
- ConfigCmdManager::ExecuteString(const Ogre::String& cmd_string)
- {
- }
- ConfigCmd*
- ConfigCmdManager::Find(const Ogre::String& name) const
- {
- for(unsigned int i = 0; i < m_Commands.size(); ++i)
- {
- if(m_Commands[i]->GetName() == name)
- {
- return m_Commands[i].get();
- }
- }
- return nullptr;
- }
- int
- ConfigCmdManager::GetConfigCmdNumber()
- {
- return m_Commands.size();
- }
- ConfigCmd*
- ConfigCmdManager::GetConfigCmd(unsigned int i) const
- {
- if(i < m_Commands.size())
- {
- return m_Commands[i].get();
- }
- return nullptr;
- }
|