using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using AGUI.StackedUI; using CodeStage.AntiCheat.ObscuredTypes; using Cpp2IlInjected; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; namespace RecRoom { // Token: 0x020021C5 RID: 8645 [Token(Token = "0x20021C5")] public class SubscribeFeedbackButtonController : MonoBehaviour { // Token: 0x0600DAFC RID: 56060 RVA: 0x00325C48 File Offset: 0x00323E48 [Token(Token = "0x600DAFC")] [Address(RVA = "0x145B450", Offset = "0x145A450", VA = "0x18145B450")] private void Awake() { ChargePhysicalButton chargePhysicalButton = this.subscribeToCreatorButton; bool isButtonEnabled = chargePhysicalButton.HFNAIHCPBNN; int num = 0; chargePhysicalButton.EFEGGLIACKH = num != 0; bool isButtonEnabled2 = this.viewAllCreatorsButton.HFNAIHCPBNN; PhysicalButtonBase.PhysicalButtonPressEvent pressEvent = this.viewAllCreatorsButton.pressEvent; UnityAction unityAction = new UnityAction(this.PDDBEJLIPGF); pressEvent.AddListener(unityAction); GameObject gameObject = this.subscribeToCreatorsRoot.gameObject; int num2 = 0; gameObject.SetActive(num2 != 0); GameObject gameObject2 = this.viewAllCreatorsRoot.gameObject; int num3 = 0; gameObject2.SetActive(num3 != 0); ChargePhysicalButton chargePhysicalButton2 = this.subscribeToCreatorButton; ChargePhysicalButton.DHLBGCGFOKM dhlbgcgfokm = new ChargePhysicalButton.DHLBGCGFOKM(this.FLEJIKFEAPC); chargePhysicalButton2.IFBBCJAFNKL += dhlbgcgfokm; ChargePhysicalButton chargePhysicalButton3 = this.subscribeToCreatorButton; int num4; ChargePhysicalButton.LAIOCMMEABH laiocmmeabh = new ChargePhysicalButton.LAIOCMMEABH(num4.BLDBNAOHJIG); num4 = 0; chargePhysicalButton3.AddCustomChargeCondition(laiocmmeabh); RoomOrPlaylistSpecificUIBehaviour roomOrPlaylistSpecificUIBehaviour = this.roomDetailsProvider; NBPOLJHGGLE roomOrPlaylistDetailsUpdated = roomOrPlaylistSpecificUIBehaviour.RoomOrPlaylistDetailsUpdated; Action action = new Action(this.FODLGIJCALM); NBPOLJHGGLE nbpoljhggle = NBPOLJHGGLE.BPJDFPACLMK(roomOrPlaylistDetailsUpdated, action); roomOrPlaylistSpecificUIBehaviour.RoomOrPlaylistDetailsUpdated = nbpoljhggle; AccountSpecificUIBehaviour accountSpecificUIBehaviour = this.creatorDetailsProvider; OKNNKFGFODL playerAccountUpdated = accountSpecificUIBehaviour.PlayerAccountUpdated; Action action2 = new Action(this.CKEHAFFPBGL); OKNNKFGFODL oknnkfgfodl = OKNNKFGFODL.BPJDFPACLMK(playerAccountUpdated, action2); accountSpecificUIBehaviour.PlayerAccountUpdated = oknnkfgfodl; SubscribeFeedbackButtonController.EIBFLBCCOKG eibflbccokg; eibflbccokg.System.IDisposable.Dispose(); eibflbccokg.<>1__state = (int)((ulong)0L); eibflbccokg.<>4__this = this; Coroutine coroutine = base.StartCoroutine(eibflbccokg); } // Token: 0x0600DAFD RID: 56061 RVA: 0x00325DA0 File Offset: 0x00323FA0 [Token(Token = "0x600DAFD")] [Address(RVA = "0x145B990", Offset = "0x145A990", VA = "0x18145B990")] private IEnumerator OKMHPIIEJNP() { /* An exception occurred when decompiling this method (0600DAFD) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.SubscribeFeedbackButtonController::OKMHPIIEJNP() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(EIBFLBCCOKG::System.IDisposable.Dispose, ldloc:EIBFLBCCOKG(var_0)) stfld:int32(EIBFLBCCOKG::<>1__state, ldloc:EIBFLBCCOKG(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:SubscribeFeedbackButtonController(EIBFLBCCOKG::<>4__this, ldloc:EIBFLBCCOKG(var_0), ldloc:SubscribeFeedbackButtonController(this)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x0600DAFE RID: 56062 RVA: 0x00325DC4 File Offset: 0x00323FC4 [Token(Token = "0x600DAFE")] [Address(RVA = "0x145C160", Offset = "0x145B160", VA = "0x18145C160")] private void PLDFGPMIAPN() { int num = 0; if (this.creatorDetailsProvider.GEAFMCJMKBM != 0) { int? k__BackingField = this.creatorDetailsProvider.k__BackingField; } ChargePhysicalButton chargePhysicalButton = this.subscribeToCreatorButton; bool isButtonEnabled = chargePhysicalButton.HFNAIHCPBNN; chargePhysicalButton.EFEGGLIACKH = num != 0; } // Token: 0x0600DAFF RID: 56063 RVA: 0x00325E08 File Offset: 0x00324008 [Token(Token = "0x600DAFF")] [Address(RVA = "0x145BEE0", Offset = "0x145AEE0", VA = "0x18145BEE0")] private void PICEBFBCNCL() { RoomOrPlaylistSpecificUIBehaviour roomOrPlaylistSpecificUIBehaviour = this.roomDetailsProvider; int num = 0; RoomOrPlaylistSpecificUIBehaviour.CMLGLFBGNNH k__BackingField = roomOrPlaylistSpecificUIBehaviour.k__BackingField; if (k__BackingField != 0) { IReadOnlyList k__BackingField = k__BackingField.k__BackingField; GameObject gameObject = this.subscribeToCreatorsRoot.gameObject; bool flag = roomOrPlaylistSpecificUIBehaviour == 0; gameObject.SetActive(flag); GameObject gameObject2 = this.viewAllCreatorsRoot.gameObject; bool flag2 = roomOrPlaylistSpecificUIBehaviour > 0; gameObject2.SetActive(flag2); } bool isButtonEnabled = this.viewAllCreatorsButton.HFNAIHCPBNN; this.PLDFGPMIAPN(); AccountSpecificUIBehaviour accountSpecificUIBehaviour = this.creatorDetailsProvider; if (accountSpecificUIBehaviour.k__BackingField != 0 && accountSpecificUIBehaviour.DLLAJGDMFHI != 0 && this.creatorDetailsProvider.GEAFMCJMKBM != 0 && this.subscribeToCreatorButton.EFEGGLIACKH) { int? k__BackingField = this.creatorDetailsProvider.k__BackingField; int num2; PMGCJEPKFOF pmgcjepkfof = JDJGIBLMFKK.DPFECPNKKEL(num2); Action action = new Action(this.IEMDEGMGHNM); if (num < this) { num += num; if (num == this) { pmgcjepkfof += pmgcjepkfof; num += 19; throw new NullReferenceException(); } num++; } } } // Token: 0x0600DB00 RID: 56064 RVA: 0x00325EFC File Offset: 0x003240FC [Token(Token = "0x600DB00")] [Address(RVA = "0x145B700", Offset = "0x145A700", VA = "0x18145B700")] private void FODLGIJCALM(RoomOrPlaylistSpecificUIBehaviour.CMLGLFBGNNH EFDBFLPKHKA, RoomOrPlaylistSpecificUIBehaviour.NCJGCLHOAPO EEAOJHBIACA, OKLDKBKBECD GEDCEIDOKJL) { this.PICEBFBCNCL(); } // Token: 0x0600DB01 RID: 56065 RVA: 0x00325F10 File Offset: 0x00324110 [Token(Token = "0x600DB01")] [Address(RVA = "0x145B700", Offset = "0x145A700", VA = "0x18145B700")] private void CKEHAFFPBGL() { this.PICEBFBCNCL(); } // Token: 0x0600DB02 RID: 56066 RVA: 0x00325F24 File Offset: 0x00324124 [Token(Token = "0x600DB02")] [Address(RVA = "0x1279560", Offset = "0x1278560", VA = "0x181279560")] private static bool BLDBNAOHJIG(ChargePhysicalButton AKBHFOFHHNK, AGAJMBPABDL BBIDOHOGCJN, PlayerHand JOFEIIFPKCC) { if (BBIDOHOGCJN != 0) { } return true; } // Token: 0x0600DB03 RID: 56067 RVA: 0x00325F38 File Offset: 0x00324138 [Token(Token = "0x600DB03")] [Address(RVA = "0x145B710", Offset = "0x145A710", VA = "0x18145B710")] private void FLEJIKFEAPC(ChargePhysicalButton LKDLEHGHCAD) { int k__BackingField = this.creatorDetailsProvider.DLLAJGDMFHI.k__BackingField; FEIJAKCMJKH.BCEJDLNDEJO bcejdlndejo = FEIJAKCMJKH.BCEJDLNDEJO.PLFHINDPFIF(); Action action = new Action(this.PICEBFBCNCL); int num = 0; num += num; num++; DABKFAIHBBP dabkfaihbbp; bool flag = dabkfaihbbp.OAPDALMAPME; } // Token: 0x0600DB04 RID: 56068 RVA: 0x00325F8C File Offset: 0x0032418C [Token(Token = "0x600DB04")] [Address(RVA = "0x145BBC0", Offset = "0x145ABC0", VA = "0x18145BBC0")] private void PDDBEJLIPGF(PhysicalButtonBase AKBHFOFHHNK, Player JGOCAKIAFPE) { int num = 0; if (JGOCAKIAFPE != num) { } Player k__BackingField = Player.k__BackingField; RoomOrPlaylistSpecificUIBehaviour roomOrPlaylistSpecificUIBehaviour = this.roomDetailsProvider; PlayerUI playerUI = k__BackingField.playerUI; RoomOrPlaylistSpecificUIBehaviour.CMLGLFBGNNH k__BackingField = roomOrPlaylistSpecificUIBehaviour.k__BackingField; int num2 = 0; if (!(playerUI == num2) && k__BackingField != 0) { List list = new List(); int k__BackingField = k__BackingField.k__BackingField; list.Add(k__BackingField); List owners = list; IReadOnlyList k__BackingField = k__BackingField.k__BackingField; if (list > 0) { List owners3 = owners; IReadOnlyList k__BackingField2 = k__BackingField.k__BackingField; Func func; if (SubscribeFeedbackButtonController.<>c.<>9__23_0 == 0) { func = delegate(ObscuredInt obscuredInt) { bool fakeValueActive = obscuredInt.fakeValueActive; int num4; return num4; }; SubscribeFeedbackButtonController.<>c.<>9__23_0 = func; } IEnumerable enumerable = Enumerable.Select(k__BackingField2, func); owners3.AddRange(enumerable); } EMAPDKEOHPA gmjkemamoio = this.GMJKEMAMOIO; string text = this.amplitudeEventContextLabel; Action action = delegate(PlayerListScreen flow) { string text2 = this.amplitudeEventContextLabel; List owners2 = owners; flow.ShowScreen(owners2, "Room Owners", text2); }; int num3 = 0; gmjkemamoio.HEFAJPDICFB((NDAHJCGIABD.CBNALAKCIPM)num3, text, action); } } // Token: 0x0600DB05 RID: 56069 RVA: 0x00326094 File Offset: 0x00324294 [Token(Token = "0x600DB05")] [Address(RVA = "0x145B9F0", Offset = "0x145A9F0", VA = "0x18145B9F0")] private void OnDestroy() { EMAPDKEOHPA gmjkemamoio = this.GMJKEMAMOIO; if (gmjkemamoio != 0) { gmjkemamoio.Dispose(); } PhysicalButtonBase.PhysicalButtonPressEvent pressEvent = this.viewAllCreatorsButton.pressEvent; UnityAction unityAction = new UnityAction(this.PDDBEJLIPGF); pressEvent.RemoveListener(unityAction); ChargePhysicalButton chargePhysicalButton = this.subscribeToCreatorButton; int num; ChargePhysicalButton.LAIOCMMEABH laiocmmeabh = new ChargePhysicalButton.LAIOCMMEABH(num.BLDBNAOHJIG); num = 0; chargePhysicalButton.RemoveCustomChargeCondition(laiocmmeabh); ChargePhysicalButton chargePhysicalButton2 = this.subscribeToCreatorButton; ChargePhysicalButton.DHLBGCGFOKM dhlbgcgfokm = new ChargePhysicalButton.DHLBGCGFOKM(this.FLEJIKFEAPC); chargePhysicalButton2.IFBBCJAFNKL -= dhlbgcgfokm; RoomOrPlaylistSpecificUIBehaviour roomOrPlaylistSpecificUIBehaviour = this.roomDetailsProvider; NBPOLJHGGLE roomOrPlaylistDetailsUpdated = roomOrPlaylistSpecificUIBehaviour.RoomOrPlaylistDetailsUpdated; Action action = new Action(this.FODLGIJCALM); NBPOLJHGGLE nbpoljhggle = NBPOLJHGGLE.GMNMHGMFGOL(roomOrPlaylistDetailsUpdated, action); roomOrPlaylistSpecificUIBehaviour.RoomOrPlaylistDetailsUpdated = nbpoljhggle; AccountSpecificUIBehaviour accountSpecificUIBehaviour = this.creatorDetailsProvider; OKNNKFGFODL playerAccountUpdated = accountSpecificUIBehaviour.PlayerAccountUpdated; Action action2 = new Action(this.CKEHAFFPBGL); OKNNKFGFODL oknnkfgfodl = OKNNKFGFODL.GMNMHGMFGOL(playerAccountUpdated, action2); accountSpecificUIBehaviour.PlayerAccountUpdated = oknnkfgfodl; } // Token: 0x0600DB06 RID: 56070 RVA: 0x00326180 File Offset: 0x00324380 [Token(Token = "0x600DB06")] [Address(RVA = "0x145C2C0", Offset = "0x145B2C0", VA = "0x18145C2C0")] public SubscribeFeedbackButtonController() { EMAPDKEOHPA emapdkeohpa = new EMAPDKEOHPA(); this.GMJKEMAMOIO = emapdkeohpa; base..ctor(); } // Token: 0x0600DB07 RID: 56071 RVA: 0x003261AC File Offset: 0x003243AC [Token(Token = "0x600DB07")] [Address(RVA = "0x145B870", Offset = "0x145A870", VA = "0x18145B870")] [CompilerGenerated] private void IEMDEGMGHNM(bool FALMOMEIDBM) { Image image = this.subscribeIconImage; if (!FALMOMEIDBM) { Sprite sprite = this.toggledOffSprite; image.sprite = sprite; TMP_Text tmp_Text = this.subscribeLabel; } Sprite sprite2 = this.toggledOnSprite; image.sprite = sprite2; string text = this.subscribeLabel.text; PhysicalButtonLocalToggleAdapter physicalButtonLocalToggleAdapter = this.subscribeToCreatorToggleButton; int num = 0; if (physicalButtonLocalToggleAdapter != num) { ChargePhysicalButton chargePhysicalButton = this.subscribeToCreatorButton; PhysicalButtonLocalToggleAdapter physicalButtonLocalToggleAdapter2 = this.subscribeToCreatorToggleButton; bool activated = chargePhysicalButton.EFEGGLIACKH; physicalButtonLocalToggleAdapter2.IBIEKAOHAMD = true; } } // Token: 0x04008BDE RID: 35806 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008BDE")] [SerializeField] [Header("Data Sources")] private RoomOrPlaylistSpecificUIBehaviour roomDetailsProvider; // Token: 0x04008BDF RID: 35807 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4008BDF")] [SerializeField] private AccountSpecificUIBehaviour creatorDetailsProvider; // Token: 0x04008BE0 RID: 35808 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4008BE0")] [SerializeField] [Header("Subscribe To Creator")] private Transform subscribeToCreatorsRoot; // Token: 0x04008BE1 RID: 35809 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4008BE1")] [SerializeField] private TMP_Text subscribeLabel; // Token: 0x04008BE2 RID: 35810 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4008BE2")] [SerializeField] private Image subscribeIconImage; // Token: 0x04008BE3 RID: 35811 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4008BE3")] [SerializeField] private ChargePhysicalButton subscribeToCreatorButton; // Token: 0x04008BE4 RID: 35812 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4008BE4")] [SerializeField] private PhysicalButtonLocalToggleAdapter subscribeToCreatorToggleButton; // Token: 0x04008BE5 RID: 35813 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4008BE5")] [SerializeField] private Sprite toggledOffSprite; // Token: 0x04008BE6 RID: 35814 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4008BE6")] [SerializeField] private Sprite toggledOnSprite; // Token: 0x04008BE7 RID: 35815 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4008BE7")] [SerializeField] private string toggledOffLabel; // Token: 0x04008BE8 RID: 35816 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4008BE8")] [SerializeField] private string toggledOnLabel; // Token: 0x04008BE9 RID: 35817 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4008BE9")] [SerializeField] [Header("View All Creators")] private Transform viewAllCreatorsRoot; // Token: 0x04008BEA RID: 35818 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4008BEA")] [SerializeField] private PhysicalButtonBase viewAllCreatorsButton; // Token: 0x04008BEB RID: 35819 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4008BEB")] [SerializeField] [Header("Analytics")] private string amplitudeEventContextLabel = ""; // Token: 0x04008BEC RID: 35820 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4008BEC")] private readonly EMAPDKEOHPA GMJKEMAMOIO; // Token: 0x020021C7 RID: 8647 [Token(Token = "0x20021C7")] [CompilerGenerated] private sealed class LAKNKOJPGHN { // Token: 0x0600DB0E RID: 56078 RVA: 0x0032630C File Offset: 0x0032450C [Token(Token = "0x600DB0E")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public LAKNKOJPGHN() { } // Token: 0x0600DB0F RID: 56079 RVA: 0x00326320 File Offset: 0x00324520 [Token(Token = "0x600DB0F")] [Address(RVA = "0x144C890", Offset = "0x144B890", VA = "0x18144C890")] internal void b__1(PlayerListScreen flow) { string amplitudeEventContextLabel = this.<>4__this.amplitudeEventContextLabel; List list = this.owners; flow.ShowScreen(list, "Room Owners", amplitudeEventContextLabel); } // Token: 0x04008BF0 RID: 35824 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4008BF0")] public List owners; // Token: 0x04008BF1 RID: 35825 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008BF1")] public SubscribeFeedbackButtonController <>4__this; } } }