#ifndef XNA_PLATFORM_INIT_HPP #define XNA_PLATFORM_INIT_HPP #include "../default.hpp" #include "../csharp/type.hpp" #include "../content/typereadermanager.hpp" namespace xna { struct InitPlatform { static void Init() { InitRegisteredTypes(); InitActivadors(); } static void InitRegisteredTypes(); static void InitActivadors(); private: template static void insertRegisteredReader(String const& readerName) { const auto reader = typeof(); Type::NameOfRegisteredTypes.insert({ "xna::" + readerName, reader }); Type::NameOfRegisteredTypes.insert({ "Microsoft.Xna.Framework.Content." + readerName, reader }); } template static void insertActivadorReader() { ContentTypeReaderActivador::SetActivador(typeof(), []() -> sptr { auto obj = New (); return reinterpret_pointer_cast(obj); }); } }; } #endif