mirror of
https://github.com/borgesdan/xn65
synced 2024-12-29 21:54:47 +01:00
46 lines
1.4 KiB
C++
46 lines
1.4 KiB
C++
#ifndef XNA_PLATFORM_INIT_HPP
|
|
#define XNA_PLATFORM_INIT_HPP
|
|
|
|
#include "../default.hpp"
|
|
#include "../csharp/type.hpp"
|
|
#include "../content/typereadermanager.hpp"
|
|
#include "../platforminit.hpp"
|
|
|
|
namespace xna {
|
|
struct PlatformInit {
|
|
static void Init() {
|
|
InitRegisteredTypes();
|
|
InitActivadors();
|
|
}
|
|
|
|
static void InitRegisteredTypes();
|
|
static void InitActivadors();
|
|
|
|
private:
|
|
template <typename T>
|
|
static void insertRegisteredReader(String const& readerName) {
|
|
const auto reader = typeof<T>();
|
|
//Type::NameOfRegisteredTypes.insert({ "xna::" + readerName, reader });
|
|
Type::NameOfRegisteredTypes.insert({ reader->FullName(), reader });
|
|
Type::NameOfRegisteredTypes.insert({ "Microsoft.Xna.Framework.Content." + readerName, reader });
|
|
}
|
|
|
|
template <typename T>
|
|
static void insertRegisteredReader(String const& readerName, String const& microsoftNameFullName) {
|
|
const auto reader = typeof<T>();
|
|
//Type::NameOfRegisteredTypes.insert({ "xna::" + readerName, reader });
|
|
Type::NameOfRegisteredTypes.insert({ reader->FullName(), reader });
|
|
Type::NameOfRegisteredTypes.insert({ microsoftNameFullName, reader });
|
|
}
|
|
|
|
template <typename T>
|
|
static void insertActivadorReader() {
|
|
ContentTypeReaderActivador::SetActivador(typeof<T>(), []() -> sptr<ContentTypeReader> {
|
|
auto obj = New <T>();
|
|
return reinterpret_pointer_cast<ContentTypeReader>(obj);
|
|
});
|
|
}
|
|
};
|
|
}
|
|
|
|
#endif |