Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/RecRoom/Players/Watch/WatchGazeTracker.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

349 lines
11 KiB
C#

using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Players.Watch
{
// Token: 0x02002960 RID: 10592
[Token(Token = "0x2002960")]
public class WatchGazeTracker : MonoBehaviour
{
// Token: 0x06011A86 RID: 72326 RVA: 0x003FEC90 File Offset: 0x003FCE90
[Token(Token = "0x6011A86")]
[Address(RVA = "0x1354740", Offset = "0x1353740", VA = "0x181354740")]
private void Awake()
{
}
// Token: 0x06011A87 RID: 72327 RVA: 0x003FECA0 File Offset: 0x003FCEA0
[Token(Token = "0x6011A87")]
[Address(RVA = "0x1354860", Offset = "0x1353860", VA = "0x181354860")]
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: 0x06011A88 RID: 72328 RVA: 0x003FECD4 File Offset: 0x003FCED4
[Token(Token = "0x6011A88")]
[Address(RVA = "0x1354D60", Offset = "0x1353D60", VA = "0x181354D60")]
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: 0x06011A89 RID: 72329 RVA: 0x003FEF38 File Offset: 0x003FD138
[Token(Token = "0x6011A89")]
[Address(RVA = "0x1354910", Offset = "0x1353910", VA = "0x181354910")]
public bool IsGazingAtWatch()
{
bool flag;
return flag;
}
// Token: 0x06011A8A RID: 72330 RVA: 0x003FEF48 File Offset: 0x003FD148
[Token(Token = "0x6011A8A")]
[Address(RVA = "0x1354930", Offset = "0x1353930", VA = "0x181354930")]
public bool IsGazingAtWatch(out bool LINFELAENFN)
{
if (this.watchMenuProjector.EFKDJJHEMKG.IAHDANBDAAM() != 0)
{
WatchGazeTracker.GazeParameters gazeParameters = this.watchCloseParameters;
}
WatchGazeTracker.GazeParameters gazeParameters2 = this.watchOpenParameters;
PlayerHand attachedHand = this.watchMenuProjector.EKKDJEIFGMJ;
return this.LEALCCIDCDA(attachedHand, gazeParameters2, out LINFELAENFN);
}
// Token: 0x06011A8B RID: 72331 RVA: 0x003FEF94 File Offset: 0x003FD194
[Token(Token = "0x6011A8B")]
[Address(RVA = "0x1354A10", Offset = "0x1353A10", VA = "0x181354A10")]
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: 0x06011A8C RID: 72332 RVA: 0x003FF010 File Offset: 0x003FD210
[Token(Token = "0x6011A8C")]
[Address(RVA = "0x1354770", Offset = "0x1353770", VA = "0x181354770")]
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: 0x06011A8D RID: 72333 RVA: 0x003FF048 File Offset: 0x003FD248
[Token(Token = "0x6011A8D")]
[Address(RVA = "0x1355320", Offset = "0x1354320", VA = "0x181355320")]
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: 0x0400B501 RID: 46337
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B501")]
[SerializeField]
private WatchGazeTracker.GazeParameters watchOpenParameters;
// Token: 0x0400B502 RID: 46338
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400B502")]
[SerializeField]
private WatchGazeTracker.GazeParameters watchCloseParameters;
// Token: 0x0400B503 RID: 46339
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x400B503")]
[SerializeField]
private float watchOpenDwellDuration = 1f;
// Token: 0x0400B504 RID: 46340
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400B504")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
private WatchMenuProjector watchMenuProjector;
// Token: 0x0400B505 RID: 46341
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400B505")]
[SerializeField]
private PlayerHand.ALGBCDINEKF[] preventsGazeOpenMenuHandStates;
// Token: 0x0400B506 RID: 46342
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400B506")]
private PlayerHand JHMMFMAGNHK;
// Token: 0x0400B507 RID: 46343
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400B507")]
private float OANKBDBMHNC;
// Token: 0x0400B508 RID: 46344
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x400B508")]
private bool MHMKFMNGHJM;
// Token: 0x02002961 RID: 10593
[Token(Token = "0x2002961")]
[Serializable]
public struct GazeParameters
{
// Token: 0x1700315D RID: 12637
// (get) Token: 0x06011A8E RID: 72334 RVA: 0x003FF088 File Offset: 0x003FD288
// (set) Token: 0x06011A8F RID: 72335 RVA: 0x003FF09C File Offset: 0x003FD29C
[Token(Token = "0x1700315D")]
public float MaxFovDot
{
[Token(Token = "0x6011A8E")]
[Address(RVA = "0x428290", Offset = "0x427290", VA = "0x180428290")]
get;
[Token(Token = "0x6011A8F")]
[Address(RVA = "0x4284F0", Offset = "0x4274F0", VA = "0x1804284F0")]
private set;
}
// Token: 0x1700315E RID: 12638
// (get) Token: 0x06011A90 RID: 72336 RVA: 0x003FF0B0 File Offset: 0x003FD2B0
// (set) Token: 0x06011A91 RID: 72337 RVA: 0x003FF0C4 File Offset: 0x003FD2C4
[Token(Token = "0x1700315E")]
public float MaxPitchDot
{
[Token(Token = "0x6011A90")]
[Address(RVA = "0x5ABDD0", Offset = "0x5AADD0", VA = "0x1805ABDD0")]
get;
[Token(Token = "0x6011A91")]
[Address(RVA = "0x5ABE90", Offset = "0x5AAE90", VA = "0x1805ABE90")]
private set;
}
// Token: 0x1700315F RID: 12639
// (get) Token: 0x06011A92 RID: 72338 RVA: 0x003FF0D8 File Offset: 0x003FD2D8
// (set) Token: 0x06011A93 RID: 72339 RVA: 0x003FF0EC File Offset: 0x003FD2EC
[Token(Token = "0x1700315F")]
public float MaxRollDot
{
[Token(Token = "0x6011A92")]
[Address(RVA = "0x7A91E0", Offset = "0x7A81E0", VA = "0x1807A91E0")]
get;
[Token(Token = "0x6011A93")]
[Address(RVA = "0x7A9200", Offset = "0x7A8200", VA = "0x1807A9200")]
private set;
}
// Token: 0x06011A94 RID: 72340 RVA: 0x003FF100 File Offset: 0x003FD300
[Token(Token = "0x6011A94")]
[Address(RVA = "0x133D270", Offset = "0x133C270", VA = "0x18133D270")]
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: 0x0400B509 RID: 46345
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x400B509")]
[SerializeField]
private float maxFovAngle;
// Token: 0x0400B50A RID: 46346
[FieldOffset(Offset = "0x4")]
[Token(Token = "0x400B50A")]
[SerializeField]
private float maxPitchAngle;
// Token: 0x0400B50B RID: 46347
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x400B50B")]
[SerializeField]
private float maxRollAngle;
}
}
}