public void PrepareMapping() { HandlerMapping.Add(typeof(GameMenu), typeof(GameMenuHandler)); HandlerMapping.Add(typeof(ShopMenu), typeof(ShopMenuHandler)); HandlerMapping.Add(typeof(ItemGrabMenu), typeof(ItemGrabMenuHandler)); HandlerMapping.Add(typeof(CraftingPage), typeof(CraftingMenuHandler)); HandlerMapping.Add(typeof(JunimoNoteMenu), typeof(JunimoNoteMenuHandler)); }
public bool TryRegisterMenu(Type menuType) { if (HandlerMapping.TryGetHandler(menuType, out IMenuHandler handler)) { HandlerMapping.Add(menuType, handler); Log.Debug($"API: Registered {menuType}, handled by {handler.GetType()}"); return(true); } Log.Error($"API: Don't know how to handle {menuType}, not registered!"); return(false); }
private void InterceptOtherMods() { foreach (var kvp in OtherMods.AsEnumerable()) { string modID = kvp.Key; if (!Mod.Registry.IsLoaded(modID)) { continue; } Log.Debug($"{modID} detected, registering its menus:"); foreach (var t in kvp.Value) { HandlerMapping.Add(t.Item1, t.Item2); Log.Debug($" Registered {t.Item1} to be handled by {t.Item2.Name}"); } } }