public static void Init(IntPtr addTickerAddr, IntPtr isInGameThreadAddr, FSimpleDelegate onRuntimeChanged) { isInGameThread = (Del_IsInGameThread)Marshal.GetDelegateForFunctionPointer(isInGameThreadAddr, typeof(Del_IsInGameThread)); Debug.Assert(IsInGameThread(), "USharp should only be loaded from the game thread"); addStaticTicker = (Del_AddStaticTicker)Marshal.GetDelegateForFunctionPointer(addTickerAddr, typeof(Del_AddStaticTicker)); ticker = Tick; addStaticTicker(ticker, 0.0f); OnRuntimeChanged = onRuntimeChanged; }
public static void Init(IntPtr asyncTaskAddr, IntPtr isInGameThreadAddr) { asyncTask = (Del_AsyncTask)Marshal.GetDelegateForFunctionPointer(asyncTaskAddr, typeof(Del_AsyncTask)); isInGameThread = (Del_IsInGameThread)Marshal.GetDelegateForFunctionPointer(isInGameThreadAddr, typeof(Del_IsInGameThread)); }