51 lines
1.9 KiB
C#
51 lines
1.9 KiB
C#
using FishNet.Managing.Timing;
|
|
using MonoFN.Cecil;
|
|
using System;
|
|
using UnityEngine;
|
|
|
|
namespace FishNet.CodeGenerating.Helping
|
|
{
|
|
|
|
internal class TimeManagerHelper
|
|
{
|
|
|
|
#region Reflection references.
|
|
internal MethodReference LocalTick_MethodRef;
|
|
internal MethodReference TickDelta_MethodRef;
|
|
internal MethodReference MaximumBufferedInputs_MethodRef;
|
|
internal MethodReference PhysicsMode_MethodRef;
|
|
internal MethodReference InvokeOnReconcile_MethodRef;
|
|
internal MethodReference InvokeOnReplicateReplay_MethodRef;
|
|
#endregion
|
|
|
|
|
|
internal bool ImportReferences()
|
|
{
|
|
//TimeManager infos.
|
|
Type timeManagerType = typeof(TimeManager);
|
|
foreach (System.Reflection.PropertyInfo pi in timeManagerType.GetProperties())
|
|
{
|
|
if (pi.Name == nameof(TimeManager.LocalTick))
|
|
LocalTick_MethodRef = CodegenSession.ImportReference(pi.GetMethod);
|
|
else if (pi.Name == nameof(TimeManager.MaximumBufferedInputs))
|
|
MaximumBufferedInputs_MethodRef = CodegenSession.ImportReference(pi.GetMethod);
|
|
else if (pi.Name == nameof(TimeManager.PhysicsMode))
|
|
PhysicsMode_MethodRef = CodegenSession.ImportReference(pi.GetMethod);
|
|
else if (pi.Name == nameof(TimeManager.TickDelta))
|
|
TickDelta_MethodRef = CodegenSession.ImportReference(pi.GetMethod);
|
|
}
|
|
|
|
foreach (System.Reflection.MethodInfo mi in timeManagerType.GetMethods())
|
|
{
|
|
if (mi.Name == nameof(TimeManager.InvokeOnReconcile))
|
|
InvokeOnReconcile_MethodRef = CodegenSession.ImportReference(mi);
|
|
else if (mi.Name == nameof(TimeManager.InvokeOnReplicateReplay))
|
|
InvokeOnReplicateReplay_MethodRef = CodegenSession.ImportReference(mi);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
}
|
|
}
|