| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #include "Localization/BsStringTableManager.h"
- namespace bs
- {
- StringTableManager::StringTableManager()
- :mActiveLanguage(StringTable::DEFAULT_LANGUAGE)
- {
- }
- void StringTableManager::setActiveLanguage(Language language)
- {
- if (language != mActiveLanguage)
- {
- mActiveLanguage = language;
- for (auto& tablePair : mTables)
- tablePair.second->setActiveLanguage(language);
- }
- }
- HStringTable StringTableManager::getTable(UINT32 id)
- {
- auto iterFind = mTables.find(id);
- if (iterFind != mTables.end())
- return iterFind->second;
- HStringTable newTable = StringTable::create();
- setTable(id, newTable);
- return newTable;
- }
- void StringTableManager::removeTable(UINT32 id)
- {
- mTables.erase(id);
- }
- void StringTableManager::setTable(UINT32 id, const HStringTable& table)
- {
- mTables[id] = table;
- if (table != nullptr)
- table->setActiveLanguage(mActiveLanguage);
- }
- StringTableManager& gStringTableManager()
- {
- return StringTableManager::instance();
- }
- }
|