Files
2026-04-10 22:50:51 +02:00

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;
}
}
}