22 lines
648 B
C#
22 lines
648 B
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace PkmnLibSharp.Utilities
|
|
{
|
|
public static class SignalHandler
|
|
{
|
|
public delegate void SignalDelegate(string s);
|
|
private delegate void InternalSignalDelegate(IntPtr ptr);
|
|
|
|
private static InternalSignalDelegate? _internalSignalDelegate;
|
|
|
|
public static void SetSignalListener(SignalDelegate del)
|
|
{
|
|
_internalSignalDelegate = ptr =>
|
|
{
|
|
del(ptr.PtrString()!);
|
|
};
|
|
Arbutils.Generated.C.SetSignalCallback(Marshal.GetFunctionPointerForDelegate(_internalSignalDelegate));
|
|
}
|
|
}
|
|
} |