71 lines
1.8 KiB
C#
71 lines
1.8 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Threading;
|
|
using AOT;
|
|
|
|
namespace Sony.NP
|
|
{
|
|
// Token: 0x0200013A RID: 314
|
|
internal static class NpRequestsThread
|
|
{
|
|
// Token: 0x0600066F RID: 1647
|
|
[DllImport("UnityNpToolkit2")]
|
|
private static extern bool PrxPollFirstRequest();
|
|
|
|
// Token: 0x06000670 RID: 1648 RVA: 0x000124C7 File Offset: 0x000114C7
|
|
public static void Start()
|
|
{
|
|
NpRequestsThread.stopThread = false;
|
|
NpRequestsThread.requestsThread = new Thread(new ThreadStart(NpRequestsThread.RunProc));
|
|
NpRequestsThread.requestsThread.Name = "Requests Thread";
|
|
NpRequestsThread.requestsThread.Start();
|
|
}
|
|
|
|
// Token: 0x06000671 RID: 1649 RVA: 0x00012504 File Offset: 0x00011504
|
|
private static void RunProc()
|
|
{
|
|
NpRequestsThread.workLoad.WaitOne();
|
|
while (!NpRequestsThread.stopThread)
|
|
{
|
|
if (NpRequestsThread.PrxPollFirstRequest())
|
|
{
|
|
NpRequestsThread.workLoad.WaitOne();
|
|
}
|
|
else
|
|
{
|
|
Thread.Sleep(1000);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000672 RID: 1650 RVA: 0x00012555 File Offset: 0x00011555
|
|
public static void Execute()
|
|
{
|
|
NpRequestsThread.workLoad.Release();
|
|
}
|
|
|
|
// Token: 0x06000673 RID: 1651 RVA: 0x00012563 File Offset: 0x00011563
|
|
public static void Stop()
|
|
{
|
|
NpRequestsThread.stopThread = true;
|
|
NpRequestsThread.workLoad.Release();
|
|
}
|
|
|
|
// Token: 0x06000674 RID: 1652 RVA: 0x00012577 File Offset: 0x00011577
|
|
[MonoPInvokeCallback(typeof(Main.OnPrxCallbackEvent))]
|
|
public static void OnPrxNpRequestEvent()
|
|
{
|
|
NpRequestsThread.Execute();
|
|
}
|
|
|
|
// Token: 0x04000632 RID: 1586
|
|
private static Thread requestsThread;
|
|
|
|
// Token: 0x04000633 RID: 1587
|
|
private static bool stopThread = false;
|
|
|
|
// Token: 0x04000634 RID: 1588
|
|
private static Semaphore workLoad = new Semaphore(0, 1000);
|
|
}
|
|
}
|