486 lines
15 KiB
C#
486 lines
15 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using RecRoom;
|
|
using RecRoom.Async;
|
|
using RecRoom.Avatar;
|
|
using RecRoom.Avatar.Data.Runtime;
|
|
using RecRoom.Avatar.Outfit;
|
|
using RecRoom.Core.Imposters;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace RRUI.Data
|
|
{
|
|
// Token: 0x02000B42 RID: 2882
|
|
[Token(Token = "0x2000B42")]
|
|
[StructLayout(3)]
|
|
public class OutfitItemModelController : ModelController<OutfitItemModel>
|
|
{
|
|
// Token: 0x060047F9 RID: 18425 RVA: 0x00111BAC File Offset: 0x0010FDAC
|
|
[Token(Token = "0x60047F9")]
|
|
[Address(RVA = "0x195D470", Offset = "0x195BE70", VA = "0x18195D470")]
|
|
public OutfitItemModelController()
|
|
{
|
|
}
|
|
|
|
// Token: 0x02000B43 RID: 2883
|
|
[Token(Token = "0x2000B43")]
|
|
[Serializable]
|
|
private class NameTextImpl : TextControllerImpl<OutfitItemModel>
|
|
{
|
|
// Token: 0x060047FA RID: 18426 RVA: 0x00111BC0 File Offset: 0x0010FDC0
|
|
[Token(Token = "0x60047FA")]
|
|
[Address(RVA = "0x1959A10", Offset = "0x1958410", VA = "0x181959A10", Slot = "27")]
|
|
protected override void DMAHGBLDMFA()
|
|
{
|
|
APAODCKMEKF apaodckmekf;
|
|
if (NetworkedSingletonMonoBehaviour.ONCPNMDGGKG == 0 || apaodckmekf == 0 || apaodckmekf.<FLFHILBLCOG>k__BackingField.FriendlyName == 0)
|
|
{
|
|
}
|
|
bool flag;
|
|
if (flag)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x060047FB RID: 18427 RVA: 0x00111BF4 File Offset: 0x0010FDF4
|
|
[Token(Token = "0x60047FB")]
|
|
[Address(RVA = "0x1959B20", Offset = "0x1958520", VA = "0x181959B20")]
|
|
public NameTextImpl()
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000B44 RID: 2884
|
|
[Token(Token = "0x2000B44")]
|
|
[Serializable]
|
|
private class PriceTagTextImpl : TextControllerImpl<OutfitItemModel>
|
|
{
|
|
// Token: 0x060047FC RID: 18428 RVA: 0x00111C08 File Offset: 0x0010FE08
|
|
[Token(Token = "0x60047FC")]
|
|
[Address(RVA = "0x19630E0", Offset = "0x1961AE0", VA = "0x1819630E0", Slot = "27")]
|
|
protected override void DMAHGBLDMFA()
|
|
{
|
|
OutfitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
|
|
APAODCKMEKF apaodckmekf;
|
|
bool <FPECCGKDEMF>k__BackingField = apaodckmekf.<FPECCGKDEMF>k__BackingField;
|
|
OutfitManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
|
|
APAODCKMEKF apaodckmekf2;
|
|
if (apaodckmekf2.OBOHLOOLMKN)
|
|
{
|
|
if (<FPECCGKDEMF>k__BackingField)
|
|
{
|
|
if (!this.hideIfOwned)
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
APAODCKMEKF apaodckmekf3;
|
|
int num = apaodckmekf3.IMJHDGFLNKF;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060047FD RID: 18429 RVA: 0x00111C54 File Offset: 0x0010FE54
|
|
[Token(Token = "0x60047FD")]
|
|
[Address(RVA = "0x19632F0", Offset = "0x1961CF0", VA = "0x1819632F0")]
|
|
public PriceTagTextImpl()
|
|
{
|
|
}
|
|
|
|
// Token: 0x040036B7 RID: 14007
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x40036B7")]
|
|
[SerializeField]
|
|
private bool hideIfOwned;
|
|
}
|
|
|
|
// Token: 0x02000B45 RID: 2885
|
|
[Token(Token = "0x2000B45")]
|
|
[Serializable]
|
|
private class NewBadgeImageImpl : ImageControllerImpl<OutfitItemModel>
|
|
{
|
|
// Token: 0x060047FE RID: 18430 RVA: 0x00111C68 File Offset: 0x0010FE68
|
|
[Token(Token = "0x60047FE")]
|
|
[Address(RVA = "0x1959B60", Offset = "0x1958560", VA = "0x181959B60", Slot = "27")]
|
|
protected override void DMAHGBLDMFA()
|
|
{
|
|
OutfitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
|
|
int num = 0;
|
|
APAODCKMEKF apaodckmekf;
|
|
if (!(instance == num) && apaodckmekf != 0)
|
|
{
|
|
APAODCKMEKF apaodckmekf2;
|
|
bool flag = apaodckmekf2.PDPOGMFOACI;
|
|
return;
|
|
}
|
|
int num2 = 0;
|
|
instance.enabled = num2 != 0;
|
|
}
|
|
|
|
// Token: 0x060047FF RID: 18431 RVA: 0x00111CA8 File Offset: 0x0010FEA8
|
|
[Token(Token = "0x60047FF")]
|
|
[Address(RVA = "0x1959C60", Offset = "0x1958660", VA = "0x181959C60")]
|
|
public NewBadgeImageImpl()
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000B46 RID: 2886
|
|
[Token(Token = "0x2000B46")]
|
|
[Serializable]
|
|
private class OutfitImposterRenderImpl : ControllerImplementation<OutfitItemModel>
|
|
{
|
|
// Token: 0x17000CB2 RID: 3250
|
|
// (get) Token: 0x06004800 RID: 18432 RVA: 0x00111CBC File Offset: 0x0010FEBC
|
|
[Token(Token = "0x17000CB2")]
|
|
private AvatarItem? CurrentAvatarItem
|
|
{
|
|
[Token(Token = "0x6004800")]
|
|
[Address(RVA = "0x195C4E0", Offset = "0x195AEE0", VA = "0x18195C4E0")]
|
|
get
|
|
{
|
|
APAODCKMEKF apaodckmekf;
|
|
if (NetworkedSingletonMonoBehaviour.ONCPNMDGGKG != 0 && apaodckmekf != 0)
|
|
{
|
|
AvatarItem <ILOHMGPEJAL>k__BackingField = apaodckmekf.<ILOHMGPEJAL>k__BackingField;
|
|
}
|
|
int num = 0;
|
|
this.<Model>k__BackingField = num;
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000CB3 RID: 3251
|
|
// (get) Token: 0x06004801 RID: 18433 RVA: 0x00111CEC File Offset: 0x0010FEEC
|
|
[Token(Token = "0x17000CB3")]
|
|
private ColorVault.ColorToGuid CurrentAvatarItemHairColor
|
|
{
|
|
[Token(Token = "0x6004801")]
|
|
[Address(RVA = "0x195C330", Offset = "0x195AD30", VA = "0x18195C330")]
|
|
get
|
|
{
|
|
int num = 0;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
if (0 != 0)
|
|
{
|
|
}
|
|
ColorVault.ColorToGuid colorToGuid;
|
|
return colorToGuid;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004802 RID: 18434 RVA: 0x00111D10 File Offset: 0x0010FF10
|
|
[Token(Token = "0x6004802")]
|
|
[Address(RVA = "0x195BFB0", Offset = "0x195A9B0", VA = "0x18195BFB0", Slot = "22")]
|
|
protected override void OFFLOPLJBBG()
|
|
{
|
|
base.OFFLOPLJBBG();
|
|
ActionEvent localPlayerCreatedEvent = Player.LocalPlayerCreatedEvent;
|
|
Action action = new Action(this.PBNBLKMLMAD);
|
|
Player.LocalPlayerCreatedEvent = localPlayerCreatedEvent + action;
|
|
}
|
|
|
|
// Token: 0x06004803 RID: 18435 RVA: 0x00111D74 File Offset: 0x0010FF74
|
|
[Token(Token = "0x6004803")]
|
|
[Address(RVA = "0x195BD20", Offset = "0x195A720", VA = "0x18195BD20")]
|
|
protected void PBNBLKMLMAD()
|
|
{
|
|
OutfitRenderSetup outfitRenderSetup = this.outfitRenderPrefab;
|
|
float z = this.ArbitraryOutfitImposterSpawnPosition.z;
|
|
Quaternion identity = Quaternion.identity;
|
|
OutfitRenderSetup outfitRenderSetup2;
|
|
this.outfitRenderInstance = outfitRenderSetup2;
|
|
this.BMDKACIAHIK();
|
|
bool subscribeToDefaultModelEvents = ((MIGKLLCFKNJ)this).OFMCMEJOOJN;
|
|
}
|
|
|
|
// Token: 0x06004804 RID: 18436 RVA: 0x00111DB0 File Offset: 0x0010FFB0
|
|
[Token(Token = "0x6004804")]
|
|
[Address(RVA = "0x195BE20", Offset = "0x195A820", VA = "0x18195BE20", Slot = "25")]
|
|
protected override void MDDAPCCABNK()
|
|
{
|
|
base.MDDAPCCABNK();
|
|
OutfitRenderSetup outfitRenderSetup = this.outfitRenderInstance;
|
|
int num = 0;
|
|
if (outfitRenderSetup != num)
|
|
{
|
|
global::UnityEngine.Object.Destroy(this.outfitRenderInstance.gameObject);
|
|
}
|
|
RenderTexture renderTexture = this.renderTexture;
|
|
this.outfitRenderInstance = (ulong)0L;
|
|
int num2 = 0;
|
|
if (renderTexture != num2)
|
|
{
|
|
SafeDestroy.Asset(this.renderTexture);
|
|
}
|
|
ActionEvent localPlayerCreatedEvent = Player.LocalPlayerCreatedEvent;
|
|
Action action = new Action(this.PBNBLKMLMAD);
|
|
Player.LocalPlayerCreatedEvent = localPlayerCreatedEvent - action;
|
|
}
|
|
|
|
// Token: 0x06004805 RID: 18437 RVA: 0x00111E38 File Offset: 0x00110038
|
|
[Token(Token = "0x6004805")]
|
|
[Address(RVA = "0x195C1C0", Offset = "0x195ABC0", VA = "0x18195C1C0", Slot = "23")]
|
|
protected override void PPAOALHOODL()
|
|
{
|
|
base.PPAOALHOODL();
|
|
RenderTexture renderTexture = this.renderTexture;
|
|
int num = 0;
|
|
if (renderTexture == num)
|
|
{
|
|
RenderTexture renderTexture2 = JODFIHBJHJM.JGHJHCOJJEH(180, 180);
|
|
RawImage rawImage = this.rawImage;
|
|
this.renderTexture = renderTexture2;
|
|
rawImage.texture = renderTexture2;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004806 RID: 18438 RVA: 0x00111E8C File Offset: 0x0011008C
|
|
[Token(Token = "0x6004806")]
|
|
[Address(RVA = "0x195BBB0", Offset = "0x195A5B0", VA = "0x18195BBB0", Slot = "27")]
|
|
protected override void DMAHGBLDMFA()
|
|
{
|
|
bool flag;
|
|
if (!flag)
|
|
{
|
|
OutfitRenderSetup outfitRenderSetup = this.outfitRenderInstance;
|
|
int num = 0;
|
|
if (!(outfitRenderSetup == num))
|
|
{
|
|
AvatarItem? avatarItem = this.lastDrawnAvatarItem;
|
|
bool flag2;
|
|
if (!flag2)
|
|
{
|
|
ColorVault.ColorToGuid colorToGuid = this.lastDrawnHairColor;
|
|
ColorVault.ColorToGuid currentAvatarItemHairColor = this.CurrentAvatarItemHairColor;
|
|
if (!ColorVault.ColorToGuid.BDBLGMKABNK(colorToGuid, currentAvatarItemHairColor))
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
this.BMDKACIAHIK();
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004807 RID: 18439 RVA: 0x00111EE0 File Offset: 0x001100E0
|
|
[Token(Token = "0x6004807")]
|
|
[Address(RVA = "0x195BD20", Offset = "0x195A720", VA = "0x18195BD20")]
|
|
private void EMIBAIPHEOD()
|
|
{
|
|
OutfitRenderSetup outfitRenderSetup = this.outfitRenderPrefab;
|
|
float z = this.ArbitraryOutfitImposterSpawnPosition.z;
|
|
Quaternion identity = Quaternion.identity;
|
|
OutfitRenderSetup outfitRenderSetup2;
|
|
this.outfitRenderInstance = outfitRenderSetup2;
|
|
this.BMDKACIAHIK();
|
|
bool subscribeToDefaultModelEvents = ((MIGKLLCFKNJ)this).OFMCMEJOOJN;
|
|
}
|
|
|
|
// Token: 0x06004808 RID: 18440 RVA: 0x00111F1C File Offset: 0x0011011C
|
|
[Token(Token = "0x6004808")]
|
|
[Address(RVA = "0x195BA10", Offset = "0x195A410", VA = "0x18195BA10")]
|
|
private void BMDKACIAHIK()
|
|
{
|
|
ColorVault.ColorToGuid currentAvatarItemHairColor = this.CurrentAvatarItemHairColor;
|
|
AvatarItem? avatarItemToRender;
|
|
AvatarItem? avatarItemToRender2 = avatarItemToRender;
|
|
ColorVault.ColorToGuid avatarHairColorToRender = currentAvatarItemHairColor;
|
|
RawImage rawImage = this.rawImage;
|
|
this.lastDrawnAvatarItem = avatarItemToRender2;
|
|
ColorVault.ColorToGuid avatarHairColorToRender2 = avatarHairColorToRender;
|
|
this.lastDrawnHairColor = avatarHairColorToRender2;
|
|
int num = 0;
|
|
rawImage.enabled = num != 0;
|
|
OutfitRenderSetup outfitRenderSetup = this.outfitRenderInstance;
|
|
Action action = delegate
|
|
{
|
|
};
|
|
}
|
|
|
|
// Token: 0x06004809 RID: 18441 RVA: 0x00111F94 File Offset: 0x00110194
|
|
[Token(Token = "0x6004809")]
|
|
[Address(RVA = "0x195C290", Offset = "0x195AC90", VA = "0x18195C290")]
|
|
public OutfitImposterRenderImpl()
|
|
{
|
|
float z = Vector3.down.z;
|
|
Vector3 vector;
|
|
float z2 = vector.z;
|
|
this.ArbitraryOutfitImposterSpawnPosition.z = z2;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0600480A RID: 18442 RVA: 0x00111FC8 File Offset: 0x001101C8
|
|
[Token(Token = "0x600480A")]
|
|
[Address(RVA = "0x195B980", Offset = "0x195A380", VA = "0x18195B980")]
|
|
[CompilerGenerated]
|
|
private void BDIJLOJMNOB()
|
|
{
|
|
RawImage rawImage = this.rawImage;
|
|
this.queuedRenderPromise = (ulong)0L;
|
|
int num = 0;
|
|
if (rawImage != num)
|
|
{
|
|
this.rawImage.enabled = true;
|
|
}
|
|
}
|
|
|
|
// Token: 0x040036B8 RID: 14008
|
|
[Token(Token = "0x40036B8")]
|
|
private const int OUTFIT_RENDER_WIDTH = 180;
|
|
|
|
// Token: 0x040036B9 RID: 14009
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40036B9")]
|
|
private Vector3 ArbitraryOutfitImposterSpawnPosition;
|
|
|
|
// Token: 0x040036BA RID: 14010
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x40036BA")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
|
|
private RawImage rawImage;
|
|
|
|
// Token: 0x040036BB RID: 14011
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x40036BB")]
|
|
[SerializeField]
|
|
private OutfitRenderSetup outfitRenderPrefab;
|
|
|
|
// Token: 0x040036BC RID: 14012
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x40036BC")]
|
|
[SerializeField]
|
|
private ImposterRenderConfig imposterConfig;
|
|
|
|
// Token: 0x040036BD RID: 14013
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x40036BD")]
|
|
[SerializeField]
|
|
[Tooltip("Outfit renders are staggered. Queue items you are wearing sooner than the long grid of clothes you own.")]
|
|
private bool prioritiseThisRenderInQueue;
|
|
|
|
// Token: 0x040036BE RID: 14014
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x40036BE")]
|
|
private OutfitRenderSetup outfitRenderInstance;
|
|
|
|
// Token: 0x040036BF RID: 14015
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x40036BF")]
|
|
private AvatarItem? lastDrawnAvatarItem;
|
|
|
|
// Token: 0x040036C0 RID: 14016
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x40036C0")]
|
|
private ColorVault.ColorToGuid lastDrawnHairColor;
|
|
|
|
// Token: 0x040036C1 RID: 14017
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x40036C1")]
|
|
private RenderTexture renderTexture;
|
|
|
|
// Token: 0x040036C2 RID: 14018
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x40036C2")]
|
|
private CancelablePromise queuedRenderPromise;
|
|
|
|
// Token: 0x02000B47 RID: 2887
|
|
[Token(Token = "0x2000B47")]
|
|
[CompilerGenerated]
|
|
private sealed class FJMBLPKONGC
|
|
{
|
|
// Token: 0x0600480B RID: 18443 RVA: 0x0003C3EA File Offset: 0x0003A5EA
|
|
[Token(Token = "0x600480B")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public FJMBLPKONGC()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600480C RID: 18444 RVA: 0x0003C3EA File Offset: 0x0003A5EA
|
|
[Token(Token = "0x600480C")]
|
|
[Address(RVA = "0x1958620", Offset = "0x1957020", VA = "0x181958620")]
|
|
internal void <UpdateOutfitImposterAvatarItem>b__0()
|
|
{
|
|
}
|
|
|
|
// Token: 0x040036C3 RID: 14019
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40036C3")]
|
|
public AvatarItem? avatarItemToRender;
|
|
|
|
// Token: 0x040036C4 RID: 14020
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40036C4")]
|
|
public ColorVault.ColorToGuid avatarHairColorToRender;
|
|
|
|
// Token: 0x040036C5 RID: 14021
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40036C5")]
|
|
public OutfitItemModelController.OutfitImposterRenderImpl <>4__this;
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000B48 RID: 2888
|
|
[Token(Token = "0x2000B48")]
|
|
[Serializable]
|
|
private class ToggleEquipImpl : ToggleControllerImpl<OutfitItemModel>
|
|
{
|
|
// Token: 0x0600480D RID: 18445 RVA: 0x00112004 File Offset: 0x00110204
|
|
[Token(Token = "0x600480D")]
|
|
[Address(RVA = "0x1969B40", Offset = "0x1968540", VA = "0x181969B40", Slot = "27")]
|
|
protected override void DMAHGBLDMFA()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600480E RID: 18446 RVA: 0x00112018 File Offset: 0x00110218
|
|
[Token(Token = "0x600480E")]
|
|
[Address(RVA = "0x1969B90", Offset = "0x1968590", VA = "0x181969B90", Slot = "29")]
|
|
protected override void IKNMALNFPII()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600480F RID: 18447 RVA: 0x0011202C File Offset: 0x0011022C
|
|
[Token(Token = "0x600480F")]
|
|
[Address(RVA = "0x1969BD0", Offset = "0x19685D0", VA = "0x181969BD0")]
|
|
public ToggleEquipImpl()
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000B49 RID: 2889
|
|
[Token(Token = "0x2000B49")]
|
|
[Serializable]
|
|
private class ToggleConditionalImpl : ToggleControllerImpl<OutfitItemModel>
|
|
{
|
|
// Token: 0x06004810 RID: 18448 RVA: 0x00112040 File Offset: 0x00110240
|
|
[Token(Token = "0x6004810")]
|
|
[Address(RVA = "0x1969A70", Offset = "0x1968470", VA = "0x181969A70", Slot = "27")]
|
|
protected override void DMAHGBLDMFA()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004811 RID: 18449 RVA: 0x00112054 File Offset: 0x00110254
|
|
[Token(Token = "0x6004811")]
|
|
[Address(RVA = "0x1969AC0", Offset = "0x19684C0", VA = "0x181969AC0", Slot = "29")]
|
|
protected override void IKNMALNFPII()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004812 RID: 18450 RVA: 0x00112068 File Offset: 0x00110268
|
|
[Token(Token = "0x6004812")]
|
|
[Address(RVA = "0x1969B00", Offset = "0x1968500", VA = "0x181969B00")]
|
|
public ToggleConditionalImpl()
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|