355 lines
12 KiB
C#
355 lines
12 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Players.Watch
|
|
{
|
|
// Token: 0x02002877 RID: 10359
|
|
[Token(Token = "0x2002877")]
|
|
public class WatchGazeTracker : MonoBehaviour
|
|
{
|
|
// Token: 0x06011651 RID: 71249 RVA: 0x003F53AC File Offset: 0x003F35AC
|
|
[Token(Token = "0x6011651")]
|
|
[Address(RVA = "0x7DDC20", Offset = "0x7DCA20", VA = "0x1807DDC20")]
|
|
private void Awake()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06011652 RID: 71250 RVA: 0x003F53BC File Offset: 0x003F35BC
|
|
[Token(Token = "0x6011652")]
|
|
[Address(RVA = "0x7DDD40", Offset = "0x7DCB40", VA = "0x1807DDD40")]
|
|
private bool CPHDGEDJMDG(PlayerHand ONFJHABGCIP)
|
|
{
|
|
int num = 0;
|
|
if (!(ONFJHABGCIP == num))
|
|
{
|
|
PlayerHand.ALGBCDINEKF[] array = this.preventsGazeOpenMenuHandStates;
|
|
PlayerHand.ALGBCDINEKF currentHandState = ONFJHABGCIP.CHNPKMIOAGG;
|
|
bool flag;
|
|
return !flag;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06011653 RID: 71251 RVA: 0x003F53F0 File Offset: 0x003F35F0
|
|
[Token(Token = "0x6011653")]
|
|
[Address(RVA = "0x7DE290", Offset = "0x7DD090", VA = "0x1807DE290")]
|
|
public void UpdateWatchDwelling()
|
|
{
|
|
int num7;
|
|
for (;;)
|
|
{
|
|
PlayerHand jhmmfmagnhk = this.JHMMFMAGNHK;
|
|
int num = 0;
|
|
if (!(jhmmfmagnhk == num))
|
|
{
|
|
float num2 = this.OANKBDBMHNC;
|
|
float num3 = this.watchOpenDwellDuration;
|
|
float num4 = Time.time;
|
|
num4 = num2;
|
|
float num5 = Mathf.InverseLerp(num4, num3, num4);
|
|
WatchMenuProjector watchMenuProjector = this.watchMenuProjector;
|
|
num2 = num5;
|
|
WatchVisual <NEHKABOEJKI>k__BackingField = watchMenuProjector.<NEHKABOEJKI>k__BackingField;
|
|
Renderer dwellVisual = <NEHKABOEJKI>k__BackingField.dwellVisual;
|
|
int num6 = 0;
|
|
if (dwellVisual != num6)
|
|
{
|
|
<NEHKABOEJKI>k__BackingField.dwellVisual.enabled = true;
|
|
Material[] materialArray = <NEHKABOEJKI>k__BackingField.dwellVisual.GetMaterialArray();
|
|
int dwellVisualMaterialIndex = <NEHKABOEJKI>k__BackingField.dwellVisualMaterialIndex;
|
|
Material material = materialArray[dwellVisualMaterialIndex];
|
|
int idlmodlpido = <NEHKABOEJKI>k__BackingField.IDLMODLPIDO;
|
|
num4 = num2;
|
|
num4 = Mathf.Lerp((float)0, num3, num4);
|
|
material.SetFloatImpl(idlmodlpido, num4);
|
|
}
|
|
PlayerHand jhmmfmagnhk2 = this.JHMMFMAGNHK;
|
|
bool flag = this.CPHDGEDJMDG(jhmmfmagnhk2);
|
|
num7 = 0;
|
|
if (flag)
|
|
{
|
|
WatchGazeTracker.GazeParameters gazeParameters = this.watchCloseParameters;
|
|
bool flag2;
|
|
if (flag2)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
this.JHMMFMAGNHK = num7;
|
|
}
|
|
this.watchMenuProjector.<NEHKABOEJKI>k__BackingField.ResetDwellVisual();
|
|
WatchMenuProjector watchMenuProjector2 = this.watchMenuProjector;
|
|
WatchGazeTracker.GazeParameters gazeParameters2 = this.watchOpenParameters;
|
|
Player <LCBGICCHKJE>k__BackingField = watchMenuProjector2.<LCBGICCHKJE>k__BackingField;
|
|
bool flag3;
|
|
bool flag4;
|
|
PlayerHand leftHand;
|
|
if (flag3 || flag4)
|
|
{
|
|
leftHand = <LCBGICCHKJE>k__BackingField.leftHand;
|
|
}
|
|
int num8 = 0;
|
|
if (leftHand == num8)
|
|
{
|
|
goto IL_24A;
|
|
}
|
|
if (this.CPHDGEDJMDG(leftHand))
|
|
{
|
|
while (!this.MHMKFMNGHJM)
|
|
{
|
|
}
|
|
this.JHMMFMAGNHK = leftHand;
|
|
float time = Time.time;
|
|
WatchMenuProjector watchMenuProjector3 = this.watchMenuProjector;
|
|
PlayerHand jhmmfmagnhk3 = this.JHMMFMAGNHK;
|
|
this.OANKBDBMHNC = time;
|
|
PlayerHand attachedHand = watchMenuProjector3.EKKDJEIFGMJ;
|
|
if (jhmmfmagnhk3 != attachedHand)
|
|
{
|
|
goto Block_9;
|
|
}
|
|
}
|
|
}
|
|
WatchVisual <NEHKABOEJKI>k__BackingField2 = this.watchMenuProjector.<NEHKABOEJKI>k__BackingField;
|
|
KHINMMJIENE khinmmjiene;
|
|
if (khinmmjiene == 0 || (<NEHKABOEJKI>k__BackingField2._tapToOpenWatch.BOJCHEEMADH ? 1 : 0) != num7)
|
|
{
|
|
WatchMenuProjector watchMenuProjector4 = this.watchMenuProjector;
|
|
PlayerHand jhmmfmagnhk4 = this.JHMMFMAGNHK;
|
|
if (watchMenuProjector4.EFKDJJHEMKG.IAHDANBDAAM() == 0)
|
|
{
|
|
HCKAGCOEFNM<bool, Vector3, Quaternion, float> eoohemglpoc = watchMenuProjector4.EOOHEMGLPOC;
|
|
int num9 = 0;
|
|
eoohemglpoc.IOFAAIEOLKL(num9);
|
|
watchMenuProjector4.EKKDJEIFGMJ = jhmmfmagnhk4;
|
|
KLLMCPFPIIE<bool> efkdjjhemkg = watchMenuProjector4.EFKDJJHEMKG;
|
|
}
|
|
this.JHMMFMAGNHK = num7;
|
|
this.MHMKFMNGHJM = num7 != 0;
|
|
<NEHKABOEJKI>k__BackingField2.ResetDwellVisual();
|
|
TapToOpenWatch tapToOpenWatch = <NEHKABOEJKI>k__BackingField2._tapToOpenWatch;
|
|
int num10 = 0;
|
|
tapToOpenWatch.EILLILEAEIO = num10 != 0;
|
|
}
|
|
return;
|
|
Block_9:
|
|
WatchMenuProjector watchMenuProjector5 = this.watchMenuProjector;
|
|
PlayerHand jhmmfmagnhk5 = this.JHMMFMAGNHK;
|
|
watchMenuProjector5.EKKDJEIFGMJ = jhmmfmagnhk5;
|
|
IL_24A:
|
|
this.MHMKFMNGHJM = true;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06011654 RID: 71252 RVA: 0x003F5654 File Offset: 0x003F3854
|
|
[Token(Token = "0x6011654")]
|
|
[Address(RVA = "0x7DDDF0", Offset = "0x7DCBF0", VA = "0x1807DDDF0")]
|
|
public bool IsGazingAtWatch()
|
|
{
|
|
bool flag;
|
|
return flag;
|
|
}
|
|
|
|
// Token: 0x06011655 RID: 71253 RVA: 0x003F5664 File Offset: 0x003F3864
|
|
[Token(Token = "0x6011655")]
|
|
[Address(RVA = "0x7DDE10", Offset = "0x7DCC10", VA = "0x1807DDE10")]
|
|
public bool IsGazingAtWatch(out bool LINFELAENFN)
|
|
{
|
|
if (this.watchMenuProjector.EFKDJJHEMKG.IAHDANBDAAM() != 0)
|
|
{
|
|
WatchGazeTracker.GazeParameters gazeParameters = this.watchCloseParameters;
|
|
}
|
|
WatchGazeTracker.GazeParameters gazeParameters2 = this.watchOpenParameters;
|
|
WatchMenuProjector watchMenuProjector = this.watchMenuProjector;
|
|
bool flag = watchMenuProjector.AHJHBAGFMGM.IAHDANBDAAM() != null;
|
|
Player <LCBGICCHKJE>k__BackingField = watchMenuProjector.<LCBGICCHKJE>k__BackingField;
|
|
if (flag)
|
|
{
|
|
}
|
|
PlayerHand rightHand = <LCBGICCHKJE>k__BackingField.rightHand;
|
|
return this.LEALCCIDCDA(rightHand, gazeParameters2, out LINFELAENFN);
|
|
}
|
|
|
|
// Token: 0x06011656 RID: 71254 RVA: 0x003F56CC File Offset: 0x003F38CC
|
|
[Token(Token = "0x6011656")]
|
|
[Address(RVA = "0x7DDF40", Offset = "0x7DCD40", VA = "0x1807DDF40")]
|
|
private bool LEALCCIDCDA(PlayerHand ONFJHABGCIP, WatchGazeTracker.GazeParameters KDMGDPJLIBN, out bool LINFELAENFN)
|
|
{
|
|
int num = 0;
|
|
if (!(ONFJHABGCIP == num))
|
|
{
|
|
Player <LCBGICCHKJE>k__BackingField = this.watchMenuProjector.<LCBGICCHKJE>k__BackingField;
|
|
Transform watchFaceTransform = ONFJHABGCIP.watchFaceTransform;
|
|
Transform transform = <LCBGICCHKJE>k__BackingField.head.transform;
|
|
Transform transform2 = <LCBGICCHKJE>k__BackingField.head.transform;
|
|
Transform watchFaceTransform2 = ONFJHABGCIP.watchFaceTransform;
|
|
Transform watchFaceTransform3 = ONFJHABGCIP.watchFaceTransform;
|
|
Transform transform3 = <LCBGICCHKJE>k__BackingField.head.transform;
|
|
Vector3 vector;
|
|
LINFELAENFN.m_value = vector != null;
|
|
if (vector != 0)
|
|
{
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06011657 RID: 71255 RVA: 0x003F5748 File Offset: 0x003F3948
|
|
[Token(Token = "0x6011657")]
|
|
[Address(RVA = "0x7DDC50", Offset = "0x7DCA50", VA = "0x1807DDC50")]
|
|
private PlayerHand BDHEDNELDEN(WatchGazeTracker.GazeParameters KOHCNJJMNIN)
|
|
{
|
|
Player <LCBGICCHKJE>k__BackingField = this.watchMenuProjector.<LCBGICCHKJE>k__BackingField;
|
|
bool flag;
|
|
if (!flag)
|
|
{
|
|
bool flag2;
|
|
if (!flag2)
|
|
{
|
|
}
|
|
return <LCBGICCHKJE>k__BackingField.rightHand;
|
|
}
|
|
return <LCBGICCHKJE>k__BackingField.leftHand;
|
|
}
|
|
|
|
// Token: 0x06011658 RID: 71256 RVA: 0x003F5780 File Offset: 0x003F3980
|
|
[Token(Token = "0x6011658")]
|
|
[Address(RVA = "0x7DE850", Offset = "0x7DD650", VA = "0x1807DE850")]
|
|
public WatchGazeTracker()
|
|
{
|
|
PlayerHand.ALGBCDINEKF[] array = new PlayerHand.ALGBCDINEKF[3];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.B16D2F56AC5C9F3BFA8636DD8D30EC16B72A22FB).FieldHandle);
|
|
this.preventsGazeOpenMenuHandStates = array;
|
|
this.MHMKFMNGHJM = true;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400B2F3 RID: 45811
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400B2F3")]
|
|
[SerializeField]
|
|
private WatchGazeTracker.GazeParameters watchOpenParameters;
|
|
|
|
// Token: 0x0400B2F4 RID: 45812
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400B2F4")]
|
|
[SerializeField]
|
|
private WatchGazeTracker.GazeParameters watchCloseParameters;
|
|
|
|
// Token: 0x0400B2F5 RID: 45813
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400B2F5")]
|
|
[SerializeField]
|
|
private float watchOpenDwellDuration = 1f;
|
|
|
|
// Token: 0x0400B2F6 RID: 45814
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400B2F6")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
|
|
private WatchMenuProjector watchMenuProjector;
|
|
|
|
// Token: 0x0400B2F7 RID: 45815
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400B2F7")]
|
|
[SerializeField]
|
|
private PlayerHand.ALGBCDINEKF[] preventsGazeOpenMenuHandStates;
|
|
|
|
// Token: 0x0400B2F8 RID: 45816
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400B2F8")]
|
|
private PlayerHand JHMMFMAGNHK;
|
|
|
|
// Token: 0x0400B2F9 RID: 45817
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400B2F9")]
|
|
private float OANKBDBMHNC;
|
|
|
|
// Token: 0x0400B2FA RID: 45818
|
|
[FieldOffset(Offset = "0x6C")]
|
|
[Token(Token = "0x400B2FA")]
|
|
private bool MHMKFMNGHJM;
|
|
|
|
// Token: 0x02002878 RID: 10360
|
|
[Token(Token = "0x2002878")]
|
|
[Serializable]
|
|
public struct GazeParameters
|
|
{
|
|
// Token: 0x170030AE RID: 12462
|
|
// (get) Token: 0x06011659 RID: 71257 RVA: 0x003F57C0 File Offset: 0x003F39C0
|
|
// (set) Token: 0x0601165A RID: 71258 RVA: 0x003F57D4 File Offset: 0x003F39D4
|
|
[Token(Token = "0x170030AE")]
|
|
public float MaxFovDot
|
|
{
|
|
[Token(Token = "0x6011659")]
|
|
[Address(RVA = "0x7C3050", Offset = "0x7C1E50", VA = "0x1807C3050")]
|
|
get;
|
|
[Token(Token = "0x601165A")]
|
|
[Address(RVA = "0x7C3060", Offset = "0x7C1E60", VA = "0x1807C3060")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x170030AF RID: 12463
|
|
// (get) Token: 0x0601165B RID: 71259 RVA: 0x003F57E8 File Offset: 0x003F39E8
|
|
// (set) Token: 0x0601165C RID: 71260 RVA: 0x003F57FC File Offset: 0x003F39FC
|
|
[Token(Token = "0x170030AF")]
|
|
public float MaxPitchDot
|
|
{
|
|
[Token(Token = "0x601165B")]
|
|
[Address(RVA = "0x7630B0", Offset = "0x761EB0", VA = "0x1807630B0")]
|
|
get;
|
|
[Token(Token = "0x601165C")]
|
|
[Address(RVA = "0x7630C0", Offset = "0x761EC0", VA = "0x1807630C0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x170030B0 RID: 12464
|
|
// (get) Token: 0x0601165D RID: 71261 RVA: 0x003F5810 File Offset: 0x003F3A10
|
|
// (set) Token: 0x0601165E RID: 71262 RVA: 0x003F5824 File Offset: 0x003F3A24
|
|
[Token(Token = "0x170030B0")]
|
|
public float MaxRollDot
|
|
{
|
|
[Token(Token = "0x601165D")]
|
|
[Address(RVA = "0x763220", Offset = "0x762020", VA = "0x180763220")]
|
|
get;
|
|
[Token(Token = "0x601165E")]
|
|
[Address(RVA = "0x762DC0", Offset = "0x761BC0", VA = "0x180762DC0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x0601165F RID: 71263 RVA: 0x003F5838 File Offset: 0x003F3A38
|
|
[Token(Token = "0x601165F")]
|
|
[Address(RVA = "0x7C2FB0", Offset = "0x7C1DB0", VA = "0x1807C2FB0")]
|
|
public void LECMHMNLJMG()
|
|
{
|
|
float num;
|
|
this.<MaxFovDot>k__BackingField = num;
|
|
float num2 = this.maxPitchAngle * 0.017453292f;
|
|
this.<MaxPitchDot>k__BackingField = num2;
|
|
float num3 = this.maxRollAngle * 0.017453292f;
|
|
this.<MaxRollDot>k__BackingField = num3;
|
|
}
|
|
|
|
// Token: 0x0400B2FB RID: 45819
|
|
[FieldOffset(Offset = "0x0")]
|
|
[Token(Token = "0x400B2FB")]
|
|
[SerializeField]
|
|
private float maxFovAngle;
|
|
|
|
// Token: 0x0400B2FC RID: 45820
|
|
[FieldOffset(Offset = "0x4")]
|
|
[Token(Token = "0x400B2FC")]
|
|
[SerializeField]
|
|
private float maxPitchAngle;
|
|
|
|
// Token: 0x0400B2FD RID: 45821
|
|
[FieldOffset(Offset = "0x8")]
|
|
[Token(Token = "0x400B2FD")]
|
|
[SerializeField]
|
|
private float maxRollAngle;
|
|
}
|
|
}
|
|
}
|