local singletons = {}; singletons.message_manager = nil; singletons.enemy_manager = nil; singletons.lobby_manager = nil; singletons.progress_manager = nil; singletons.quest_manager = nil; singletons.player_manager = nil; singletons.village_area_manager = nil; singletons.gui_manager = nil; singletons.game_keyboard = nil; singletons.scene_manager = nil; singletons.game_manager = nil; function singletons.init() singletons.init_message_manager(); singletons.init_enemy_manager(); singletons.init_lobby_manager() singletons.init_progress_manager(); singletons.init_quest_manager(); singletons.init_player_manager(); singletons.init_village_area_manager(); singletons.init_gui_manager(); singletons.init_game_keyboard(); singletons.init_scene_manager(); singletons.init_game_manager(); singletons.init_servant_manager(); singletons.init_otomo_manager(); end function singletons.init_message_manager() if singletons.message_manager ~= nil then return; end singletons.message_manager = sdk.get_managed_singleton("snow.gui.MessageManager"); if singletons.message_manager == nil then --log.error("[MHR Overlay] No message manager"); end return singletons.message_manager; end function singletons.init_enemy_manager() if singletons.enemy_manager ~= nil then return; end singletons.enemy_manager = sdk.get_managed_singleton("snow.enemy.EnemyManager"); if singletons.enemy_manager == nil then --log.error("[MHR Overlay] No enemy manager"); end return singletons.enemy_manager; end function singletons.init_lobby_manager() if singletons.lobby_manager ~= nil then return; end singletons.lobby_manager = sdk.get_managed_singleton("snow.LobbyManager"); if singletons.lobby_manager == nil then --log.error("[MHR Overlay] No lobby manager"); return false; end return singletons.lobby_manager; end function singletons.init_progress_manager() if singletons.progress_manager ~= nil then return; end singletons.progress_manager = sdk.get_managed_singleton("snow.progress.ProgressManager"); if singletons.progress_manager == nil then --log.error("[MHR Overlay] No progress manager"); return false; end return singletons.progress_manager; end function singletons.init_quest_manager() if singletons.quest_manager ~= nil then return; end singletons.quest_manager = sdk.get_managed_singleton("snow.QuestManager"); if singletons.quest_manager == nil then --log.error("[MHR Overlay] No quest manager"); end return singletons.quest_manager; end function singletons.init_player_manager() if singletons.player_manager ~= nil then return; end singletons.player_manager = sdk.get_managed_singleton("snow.player.PlayerManager"); if singletons.player_manager == nil then --log.error("[MHR Overlay] No player manager"); end return singletons.player_manager; end function singletons.init_village_area_manager() if singletons.village_area_manager ~= nil then return; end singletons.village_area_manager = sdk.get_managed_singleton("snow.VillageAreaManager"); if singletons.village_area_manager == nil then --log.error("[MHR Overlay] No village area manager"); end return singletons.village_area_manager; end function singletons.init_gui_manager() if singletons.gui_manager ~= nil then return; end singletons.gui_manager = sdk.get_managed_singleton("snow.gui.GuiManager"); if singletons.gui_manager == nil then --log.error("[MHR Overlay] No gui manager"); end return singletons.gui_manager; end function singletons.init_game_keyboard() if singletons.game_keyboard ~= nil then return; end singletons.game_keyboard = sdk.get_managed_singleton("snow.GameKeyboard"); if singletons.game_keyboard == nil then --log.error("[MHR Overlay] No game keyboard"); end return singletons.game_keyboard; end function singletons.init_scene_manager() if singletons.scene_manager ~= nil then return; end singletons.scene_manager = sdk.get_native_singleton("via.SceneManager"); if singletons.scene_manager == nil then --log.error("[MHR Overlay] No enemy manager"); end return singletons.scene_manager; end function singletons.init_game_manager() if singletons.game_manager ~= nil then return; end singletons.game_manager = sdk.get_managed_singleton("snow.SnowGameManager"); if singletons.game_manager == nil then --log.error("[MHR Overlay] No enemy manager"); end return singletons.game_manager; end function singletons.init_servant_manager() if singletons.servant_manager ~= nil then return; end singletons.servant_manager = sdk.get_managed_singleton("snow.ai.ServantManager"); if singletons.servant_manager == nil then --log.error("[MHR Overlay] No enemy manager"); end return singletons.servant_manager; end function singletons.init_otomo_manager() if singletons.otomo_manager ~= nil then return; end singletons.otomo_manager = sdk.get_managed_singleton("snow.otomo.OtomoManager"); if singletons.otomo_manager == nil then --log.error("[MHR Overlay] No enemy manager"); end return singletons.otomo_manager; end function singletons.init_module() singletons.init(); end return singletons;