scripts
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using UnityEngine.Scripting;
|
||||
|
||||
namespace UnityEngine
|
||||
{
|
||||
// Token: 0x0200048C RID: 1164
|
||||
internal sealed class UnitySynchronizationContext : SynchronizationContext
|
||||
{
|
||||
// Token: 0x06003A17 RID: 14871 RVA: 0x00065634 File Offset: 0x00063834
|
||||
public override void Send(SendOrPostCallback callback, object state)
|
||||
{
|
||||
callback(state);
|
||||
}
|
||||
|
||||
// Token: 0x06003A18 RID: 14872 RVA: 0x00065640 File Offset: 0x00063840
|
||||
public override void Post(SendOrPostCallback callback, object state)
|
||||
{
|
||||
object asyncWorkQueue = this.m_AsyncWorkQueue;
|
||||
lock (asyncWorkQueue)
|
||||
{
|
||||
this.m_AsyncWorkQueue.Enqueue(new UnitySynchronizationContext.WorkRequest(callback, state));
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06003A19 RID: 14873 RVA: 0x0006568C File Offset: 0x0006388C
|
||||
private void Exec()
|
||||
{
|
||||
object asyncWorkQueue = this.m_AsyncWorkQueue;
|
||||
lock (asyncWorkQueue)
|
||||
{
|
||||
while (this.m_AsyncWorkQueue.Count > 0)
|
||||
{
|
||||
this.m_AsyncWorkQueue.Dequeue().Invoke();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06003A1A RID: 14874 RVA: 0x000656F0 File Offset: 0x000638F0
|
||||
[RequiredByNativeCode]
|
||||
private static void InitializeSynchronizationContext()
|
||||
{
|
||||
if (SynchronizationContext.Current == null)
|
||||
{
|
||||
SynchronizationContext.SetSynchronizationContext(new UnitySynchronizationContext());
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06003A1B RID: 14875 RVA: 0x00065708 File Offset: 0x00063908
|
||||
[RequiredByNativeCode]
|
||||
private static void ExecuteTasks()
|
||||
{
|
||||
UnitySynchronizationContext unitySynchronizationContext = SynchronizationContext.Current as UnitySynchronizationContext;
|
||||
if (unitySynchronizationContext != null)
|
||||
{
|
||||
unitySynchronizationContext.Exec();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04001197 RID: 4503
|
||||
private const int kAwqInitialCapacity = 20;
|
||||
|
||||
// Token: 0x04001198 RID: 4504
|
||||
private readonly Queue<UnitySynchronizationContext.WorkRequest> m_AsyncWorkQueue = new Queue<UnitySynchronizationContext.WorkRequest>(20);
|
||||
|
||||
// Token: 0x0200048D RID: 1165
|
||||
private struct WorkRequest
|
||||
{
|
||||
// Token: 0x06003A1C RID: 14876 RVA: 0x00065730 File Offset: 0x00063930
|
||||
public WorkRequest(SendOrPostCallback callback, object state)
|
||||
{
|
||||
this.m_DelagateCallback = callback;
|
||||
this.m_DelagateState = state;
|
||||
}
|
||||
|
||||
// Token: 0x06003A1D RID: 14877 RVA: 0x00065744 File Offset: 0x00063944
|
||||
public void Invoke()
|
||||
{
|
||||
this.m_DelagateCallback(this.m_DelagateState);
|
||||
}
|
||||
|
||||
// Token: 0x04001199 RID: 4505
|
||||
private readonly SendOrPostCallback m_DelagateCallback;
|
||||
|
||||
// Token: 0x0400119A RID: 4506
|
||||
private readonly object m_DelagateState;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user