Adding basic language support unfinished
This commit is contained in:
11
src/dawn/locale/CMakeLists.txt
Normal file
11
src/dawn/locale/CMakeLists.txt
Normal file
@ -0,0 +1,11 @@
|
||||
# Copyright (c) 2022 Dominic Masters
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
|
||||
# Sources
|
||||
target_sources(${DAWN_TARGET_NAME}
|
||||
PRIVATE
|
||||
LanguageManager.cpp
|
||||
)
|
19
src/dawn/locale/LanguageManager.cpp
Normal file
19
src/dawn/locale/LanguageManager.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
// Copyright (c) 2022 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "LanguageManager.hpp"
|
||||
#include "game/DawnGame.hpp"
|
||||
|
||||
using namespace Dawn;
|
||||
|
||||
LanguageManager::LanguageManager(DawnGame *game) {
|
||||
this->game = game;
|
||||
|
||||
auto lang = this->game->assetManager.get<LanguageAsset>("language_en");
|
||||
while(!lang->loaded) {
|
||||
lang->updateAsync();
|
||||
}
|
||||
std::cout << lang->getValue("test2");
|
||||
}
|
29
src/dawn/locale/LanguageManager.hpp
Normal file
29
src/dawn/locale/LanguageManager.hpp
Normal file
@ -0,0 +1,29 @@
|
||||
// Copyright (c) 2022 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "event/Event.hpp"
|
||||
#include "asset/AssetManager.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class DawnGame;
|
||||
|
||||
struct LocalizedString {
|
||||
std::string data;
|
||||
};
|
||||
|
||||
class LanguageManager {
|
||||
private:
|
||||
DawnGame *game;
|
||||
LanguageAsset *asset;
|
||||
|
||||
public:
|
||||
Event<> eventLanguageChanged;
|
||||
|
||||
LanguageManager(DawnGame *game);
|
||||
|
||||
struct LocalizedString getString(std::string key);
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user