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: 0x020020D7 RID: 8407 [Token(Token = "0x20020D7")] public class SubscribeFeedbackButtonController : MonoBehaviour { // Token: 0x0600D6DA RID: 55002 RVA: 0x0031C68C File Offset: 0x0031A88C [Token(Token = "0x600D6DA")] [Address(RVA = "0xD3A050", Offset = "0xD38E50", VA = "0x180D3A050")] 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: 0x0600D6DB RID: 55003 RVA: 0x0031C7E4 File Offset: 0x0031A9E4 [Token(Token = "0x600D6DB")] [Address(RVA = "0xD3A520", Offset = "0xD39320", VA = "0x180D3A520")] private IEnumerator OKMHPIIEJNP() { /* An exception occurred when decompiling this method (0600D6DB) 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: 0x0600D6DC RID: 55004 RVA: 0x0031C808 File Offset: 0x0031AA08 [Token(Token = "0x600D6DC")] [Address(RVA = "0xD3ACF0", Offset = "0xD39AF0", VA = "0x180D3ACF0")] 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: 0x0600D6DD RID: 55005 RVA: 0x0031C84C File Offset: 0x0031AA4C [Token(Token = "0x600D6DD")] [Address(RVA = "0xD3AA70", Offset = "0xD39870", VA = "0x180D3AA70")] 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: 0x0600D6DE RID: 55006 RVA: 0x0031C940 File Offset: 0x0031AB40 [Token(Token = "0x600D6DE")] [Address(RVA = "0xD3A300", Offset = "0xD39100", VA = "0x180D3A300")] private void FODLGIJCALM(RoomOrPlaylistSpecificUIBehaviour.CMLGLFBGNNH EFDBFLPKHKA, RoomOrPlaylistSpecificUIBehaviour.NCJGCLHOAPO EEAOJHBIACA, OKLDKBKBECD GEDCEIDOKJL) { this.PICEBFBCNCL(); } // Token: 0x0600D6DF RID: 55007 RVA: 0x0031C954 File Offset: 0x0031AB54 [Token(Token = "0x600D6DF")] [Address(RVA = "0xD3A300", Offset = "0xD39100", VA = "0x180D3A300")] private void CKEHAFFPBGL() { this.PICEBFBCNCL(); } // Token: 0x0600D6E0 RID: 55008 RVA: 0x0031C968 File Offset: 0x0031AB68 [Token(Token = "0x600D6E0")] [Address(RVA = "0x80C610", Offset = "0x80B410", VA = "0x18080C610")] private static bool BLDBNAOHJIG(ChargePhysicalButton AKBHFOFHHNK, AGAJMBPABDL BBIDOHOGCJN, PlayerHand JOFEIIFPKCC) { if (BBIDOHOGCJN != 0) { } return true; } // Token: 0x0600D6E1 RID: 55009 RVA: 0x0031C97C File Offset: 0x0031AB7C [Token(Token = "0x600D6E1")] [Address(RVA = "0xD3A310", Offset = "0xD39110", VA = "0x180D3A310")] 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); throw new NullReferenceException(); } // Token: 0x0600D6E2 RID: 55010 RVA: 0x0031C9B4 File Offset: 0x0031ABB4 [Token(Token = "0x600D6E2")] [Address(RVA = "0xD3A750", Offset = "0xD39550", VA = "0x180D3A750")] 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: 0x0600D6E3 RID: 55011 RVA: 0x0031CABC File Offset: 0x0031ACBC [Token(Token = "0x600D6E3")] [Address(RVA = "0xD3A580", Offset = "0xD39380", VA = "0x180D3A580")] 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: 0x0600D6E4 RID: 55012 RVA: 0x0031CBA8 File Offset: 0x0031ADA8 [Token(Token = "0x600D6E4")] [Address(RVA = "0xD3AE50", Offset = "0xD39C50", VA = "0x180D3AE50")] public SubscribeFeedbackButtonController() { EMAPDKEOHPA emapdkeohpa = new EMAPDKEOHPA(); this.GMJKEMAMOIO = emapdkeohpa; base..ctor(); } // Token: 0x0600D6E5 RID: 55013 RVA: 0x0031CBD4 File Offset: 0x0031ADD4 [Token(Token = "0x600D6E5")] [Address(RVA = "0xD3A400", Offset = "0xD39200", VA = "0x180D3A400")] [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: 0x040089F6 RID: 35318 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40089F6")] [SerializeField] [Header("Data Sources")] private RoomOrPlaylistSpecificUIBehaviour roomDetailsProvider; // Token: 0x040089F7 RID: 35319 [FieldOffset(Offset = "0x20")] [Token(Token = "0x40089F7")] [SerializeField] private AccountSpecificUIBehaviour creatorDetailsProvider; // Token: 0x040089F8 RID: 35320 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40089F8")] [SerializeField] [Header("Subscribe To Creator")] private Transform subscribeToCreatorsRoot; // Token: 0x040089F9 RID: 35321 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40089F9")] [SerializeField] private TMP_Text subscribeLabel; // Token: 0x040089FA RID: 35322 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40089FA")] [SerializeField] private Image subscribeIconImage; // Token: 0x040089FB RID: 35323 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40089FB")] [SerializeField] private ChargePhysicalButton subscribeToCreatorButton; // Token: 0x040089FC RID: 35324 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40089FC")] [SerializeField] private PhysicalButtonLocalToggleAdapter subscribeToCreatorToggleButton; // Token: 0x040089FD RID: 35325 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40089FD")] [SerializeField] private Sprite toggledOffSprite; // Token: 0x040089FE RID: 35326 [FieldOffset(Offset = "0x58")] [Token(Token = "0x40089FE")] [SerializeField] private Sprite toggledOnSprite; // Token: 0x040089FF RID: 35327 [FieldOffset(Offset = "0x60")] [Token(Token = "0x40089FF")] [SerializeField] private string toggledOffLabel; // Token: 0x04008A00 RID: 35328 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4008A00")] [SerializeField] private string toggledOnLabel; // Token: 0x04008A01 RID: 35329 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4008A01")] [SerializeField] [Header("View All Creators")] private Transform viewAllCreatorsRoot; // Token: 0x04008A02 RID: 35330 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4008A02")] [SerializeField] private PhysicalButtonBase viewAllCreatorsButton; // Token: 0x04008A03 RID: 35331 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4008A03")] [SerializeField] [Header("Analytics")] private string amplitudeEventContextLabel = ""; // Token: 0x04008A04 RID: 35332 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4008A04")] private readonly EMAPDKEOHPA GMJKEMAMOIO; // Token: 0x020020D9 RID: 8409 [Token(Token = "0x20020D9")] [CompilerGenerated] private sealed class LAKNKOJPGHN { // Token: 0x0600D6EC RID: 55020 RVA: 0x0031CD34 File Offset: 0x0031AF34 [Token(Token = "0x600D6EC")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public LAKNKOJPGHN() { } // Token: 0x0600D6ED RID: 55021 RVA: 0x0031CD48 File Offset: 0x0031AF48 [Token(Token = "0x600D6ED")] [Address(RVA = "0xD29CC0", Offset = "0xD28AC0", VA = "0x180D29CC0")] internal void b__1(PlayerListScreen flow) { string amplitudeEventContextLabel = this.<>4__this.amplitudeEventContextLabel; List list = this.owners; flow.ShowScreen(list, "Room Owners", amplitudeEventContextLabel); } // Token: 0x04008A08 RID: 35336 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4008A08")] public List owners; // Token: 0x04008A09 RID: 35337 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4008A09")] public SubscribeFeedbackButtonController <>4__this; } } }