mirror of
https://github.com/sp-tarkov/modules.git
synced 2025-02-13 02:10:45 -05:00
Added patch failure handling, thanks to Drakia
This commit is contained in:
parent
fa423cb9be
commit
27c0d3f0ae
@ -32,6 +32,7 @@ namespace Aki.Core
|
||||
{
|
||||
Logger.LogError($"A PATCH IN {GetType().Name} FAILED. SUBSEQUENT PATCHES HAVE NOT LOADED");
|
||||
Logger.LogError($"{GetType().Name}: {ex}");
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
|
@ -80,6 +80,8 @@ namespace Aki.Custom
|
||||
{
|
||||
Logger.LogError($"A PATCH IN {GetType().Name} FAILED. SUBSEQUENT PATCHES HAVE NOT LOADED");
|
||||
Logger.LogError($"{GetType().Name}: {ex}");
|
||||
MessageBoxHelper.Show($"A PATCH IN {GetType().Name} FAILED. SUBSEQUENT PATCHES HAVE NOT LOADED, CHECK LOG FOR MORE DETAILS", "ERROR", MessageBoxHelper.MessageBoxType.OK);
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
|
56
project/Aki.Custom/Utils/MessageBoxHelper.cs
Normal file
56
project/Aki.Custom/Utils/MessageBoxHelper.cs
Normal file
@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Aki.Custom.Utils
|
||||
{
|
||||
public class MessageBoxHelper
|
||||
{
|
||||
public enum MessageBoxType : uint
|
||||
{
|
||||
ABORTRETRYIGNORE = (uint)(0x00000002L | 0x00000010L),
|
||||
CANCELTRYCONTINUE = (uint)(0x00000006L | 0x00000030L),
|
||||
HELP = (uint)(0x00004000L | 0x00000040L),
|
||||
OK = (uint)(0x00000000L | 0x00000040L),
|
||||
OKCANCEL = (uint)(0x00000001L | 0x00000040L),
|
||||
RETRYCANCEL = (uint)0x00000005L,
|
||||
YESNO = (uint)(0x00000004L | 0x00000040L),
|
||||
YESNOCANCEL = (uint)(0x00000003L | 0x00000040L),
|
||||
DEFAULT = (uint)(0x00000000L | 0x00000010L)
|
||||
}
|
||||
|
||||
public enum MessageBoxResult
|
||||
{
|
||||
ERROR = -1,
|
||||
OK = 1,
|
||||
CANCEL = 2,
|
||||
ABORT = 3,
|
||||
RETRY = 4,
|
||||
IGNORE = 5,
|
||||
YES = 6,
|
||||
NO = 7,
|
||||
TRY_AGAIN = 10
|
||||
}
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
private static extern IntPtr GetActiveWindow();
|
||||
[DllImport("user32.dll", SetLastError = true)]
|
||||
static extern int MessageBox(IntPtr hwnd, String lpText, String lpCaption, uint uType);
|
||||
|
||||
public static IntPtr GetWindowHandle()
|
||||
{
|
||||
return GetActiveWindow();
|
||||
}
|
||||
|
||||
public static MessageBoxResult Show(string text, string caption, MessageBoxType type = MessageBoxType.DEFAULT)
|
||||
{
|
||||
try
|
||||
{
|
||||
return (MessageBoxResult)MessageBox(GetWindowHandle(), text, caption, (uint)type); ;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return MessageBoxResult.ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user