Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/RRUI/Data/OutfitItemModelController.cs
T
2026-04-08 23:40:05 +02:00

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()
{
}
}
}
}