diff --git a/Mods/HugsLib/About/About.xml b/Mods/HugsLib/About/About.xml index 86554d3..c3a5b58 100644 --- a/Mods/HugsLib/About/About.xml +++ b/Mods/HugsLib/About/About.xml @@ -5,6 +5,6 @@ 0.16.0 <color=orange><b>Important: </b> This mod should be one of the first to be loaded to work properly.</color>\n HugsLib is a library that provides shared functionality to other mods. -Version: 2.4.1 +Version: 2.4.2 \ No newline at end of file diff --git a/Mods/HugsLib/About/Version.xml b/Mods/HugsLib/About/Version.xml index 70da1a0..27f9b6a 100644 --- a/Mods/HugsLib/About/Version.xml +++ b/Mods/HugsLib/About/Version.xml @@ -1,5 +1,5 @@ - 2.4.1 + 2.4.2 UnlimitedHugs/RimworldHugsLib \ No newline at end of file diff --git a/Mods/HugsLib/Assemblies/HugsLib.dll b/Mods/HugsLib/Assemblies/HugsLib.dll index f73d821..947bade 100644 Binary files a/Mods/HugsLib/Assemblies/HugsLib.dll and b/Mods/HugsLib/Assemblies/HugsLib.dll differ diff --git a/Mods/HugsLib/Languages/Spanish/Keyed/Spanish.xml b/Mods/HugsLib/Languages/Spanish/Keyed/Spanish.xml new file mode 100644 index 0000000..f49b519 --- /dev/null +++ b/Mods/HugsLib/Languages/Spanish/Keyed/Spanish.xml @@ -0,0 +1,57 @@ + + + + Ajustes de mod + Ajustes de mod + resetear ajustes por default + Resetear todo + ¿Restablecer todos los ajustes de modificación a sus valores originales? + No se cargan mods con ajustes configurables. + + Otros + Mostrar noticias de actualizaciones de mods + Permite que los mods recién instalados resalten sus nuevas funciones en una ventana emergente al iniciar el juego. + Todas las noticias de actualización de mod + Muestra todas las noticias de actualización de mod disponibles, incluidas las que ya se han mostrado. + Mostrar ahora + Ninguno de los mods activos tiene noticias de actualización que mostrar. + + Nuevas funciones de modificación + Se han instalado las siguientes actualizaciones de modificación y éstas son las nuevas características y mejoras incluidas en ellas. \nPuede deshabilitar este diálogo en Opciones > Mod Settings + {0} v{1} + Enlace + Abre su navegador en una página donde puede obtener más información sobre esta actualización..\nDireccion: {0} + + Copiado al portapapeles. + + Copiar + Compartir registros + Confirmar + Subir los registros ahora?\n\nEsto publicará los registros de su juego en un servidor público y le dará el enlace para compartir con otros. Esto es útil si necesita ayuda para solucionar un problema o desea informar de un problema a un autor de modificaciones.\n\nNo se compartirá información privada. + Editor de registro + Cargando{0} + Obteniendo URL{0} + Carga completa! + Error en carga: {0} + Abortar + Reintentar + Abrir en el navegador + + Archivos + Abrir archivo de registro + Abrir carpeta de guardar + Abrir carpeta de Mods + + Reiniciar juego + Los cambios han sido guardados.\n\nPara activar la nueva configuración de modificación, se recomienda reiniciar el juego. + Reiniciar ahora + Reiniciar automáticamente + Reiniciando + Reiniciar después de cambiar el menú Mods + Reinicia automáticamente el juego después de haber realizado cambios en el menú Mods. + + Valor por defecto + Valor Uno + Valor Dos + + diff --git a/Mods/HugsLib/Languages/SpanishLatin/Keyed/Spanish.xml b/Mods/HugsLib/Languages/SpanishLatin/Keyed/Spanish.xml new file mode 100644 index 0000000..f49b519 --- /dev/null +++ b/Mods/HugsLib/Languages/SpanishLatin/Keyed/Spanish.xml @@ -0,0 +1,57 @@ + + + + Ajustes de mod + Ajustes de mod + resetear ajustes por default + Resetear todo + ¿Restablecer todos los ajustes de modificación a sus valores originales? + No se cargan mods con ajustes configurables. + + Otros + Mostrar noticias de actualizaciones de mods + Permite que los mods recién instalados resalten sus nuevas funciones en una ventana emergente al iniciar el juego. + Todas las noticias de actualización de mod + Muestra todas las noticias de actualización de mod disponibles, incluidas las que ya se han mostrado. + Mostrar ahora + Ninguno de los mods activos tiene noticias de actualización que mostrar. + + Nuevas funciones de modificación + Se han instalado las siguientes actualizaciones de modificación y éstas son las nuevas características y mejoras incluidas en ellas. \nPuede deshabilitar este diálogo en Opciones > Mod Settings + {0} v{1} + Enlace + Abre su navegador en una página donde puede obtener más información sobre esta actualización..\nDireccion: {0} + + Copiado al portapapeles. + + Copiar + Compartir registros + Confirmar + Subir los registros ahora?\n\nEsto publicará los registros de su juego en un servidor público y le dará el enlace para compartir con otros. Esto es útil si necesita ayuda para solucionar un problema o desea informar de un problema a un autor de modificaciones.\n\nNo se compartirá información privada. + Editor de registro + Cargando{0} + Obteniendo URL{0} + Carga completa! + Error en carga: {0} + Abortar + Reintentar + Abrir en el navegador + + Archivos + Abrir archivo de registro + Abrir carpeta de guardar + Abrir carpeta de Mods + + Reiniciar juego + Los cambios han sido guardados.\n\nPara activar la nueva configuración de modificación, se recomienda reiniciar el juego. + Reiniciar ahora + Reiniciar automáticamente + Reiniciando + Reiniciar después de cambiar el menú Mods + Reinicia automáticamente el juego después de haber realizado cambios en el menú Mods. + + Valor por defecto + Valor Uno + Valor Dos + + diff --git a/Source/Detour/DetourValidator.cs b/Source/Detour/DetourValidator.cs index 208909d..f12bc3e 100644 --- a/Source/Detour/DetourValidator.cs +++ b/Source/Detour/DetourValidator.cs @@ -200,7 +200,7 @@ private static bool DetourTargetsAreValid(Type targetA, MethodType typeA, string if (typeB == MethodType.Static) { reason = string.Format("'{0}' is static but not an extension method", nameB); return false; - } else if (targetA != targetB) { + } else if (targetB != null && !targetB.IsAssignableFrom(targetA)) { reason = string.Format("Target classes do not match :: '{0}' target is '{1}'; '{2}' target is '{3}'", nameA, FullNameOfType(targetA), nameB, FullNameOfType(targetB)); return false; diff --git a/Source/Restarter/AutoRestarter.cs b/Source/Restarter/AutoRestarter.cs index 66712bf..c87d030 100644 --- a/Source/Restarter/AutoRestarter.cs +++ b/Source/Restarter/AutoRestarter.cs @@ -1,4 +1,5 @@ -using HugsLib.GuiInject; +using System.Threading; +using HugsLib.GuiInject; using HugsLib.Settings; using HugsLib.Shell; using RimWorld; @@ -21,12 +22,15 @@ internal class AutoRestarter { public static void PerformRestart() { LongEventHandler.QueueLongEvent(() => { - ShellRestartRimWorld.Execute(); + // put up the loading screen while the game shuts down + Thread.Sleep(5000); }, "HugsLib_restart_restarting", true, null); + // execute in main thread + LongEventHandler.ExecuteWhenFinished(() => ShellRestartRimWorld.Execute()); } [WindowInjection(typeof (Page_ModsConfig), Mode = WindowInjectionManager.InjectMode.AfterContents)] - private static void DrawLogWindowButtons(Window window, Rect inRect) { + private static void DoModsDialogControls(Window window, Rect inRect) { // update mod list hash if (window.GetHashCode() != lastSeenWindowHash) { lastSeenWindowHash = window.GetHashCode();