2020-07-31 12:19:21 +00:00
|
|
|
using Arbutils.Generated;
|
2020-05-02 20:58:08 +00:00
|
|
|
|
|
|
|
namespace PkmnLibSharp.Utilities
|
|
|
|
{
|
|
|
|
internal static class ResultChecker
|
|
|
|
{
|
|
|
|
internal static void Assert(this byte result)
|
|
|
|
{
|
2020-07-19 10:33:22 +00:00
|
|
|
switch (result)
|
2020-05-02 20:58:08 +00:00
|
|
|
{
|
2020-07-19 10:33:22 +00:00
|
|
|
case 0: return;
|
|
|
|
case 1:
|
2020-08-17 16:51:07 +00:00
|
|
|
throw new NativeException("Arbutils", C.GetLastException().PtrString()!, null);
|
2020-07-19 10:33:22 +00:00
|
|
|
case 2:
|
2021-01-31 11:48:02 +00:00
|
|
|
{
|
2020-08-17 16:51:07 +00:00
|
|
|
var message = Creaturelib.Generated.C.GetLastException().PtrString()!;
|
|
|
|
var stack = Creaturelib.Generated.C.GetLastExceptionStacktrace().PtrString();
|
|
|
|
throw new NativeException("CreatureLibLibrary", message, stack);
|
2021-01-31 11:48:02 +00:00
|
|
|
}
|
2020-07-31 12:19:21 +00:00
|
|
|
case 4:
|
2021-01-31 11:48:02 +00:00
|
|
|
{
|
|
|
|
var message = Pkmnlib.Generated.C.GetLastException().PtrString()!;
|
|
|
|
var stack = Pkmnlib.Generated.C.GetLastExceptionStacktrace().PtrString();
|
|
|
|
throw new NativeException("PkmnLib", message, stack);
|
|
|
|
}
|
2020-05-02 20:58:08 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|