using System; using System.Collections.Generic; using Cpp2IlInjected; using MarsSDK; using Newtonsoft.Json.Converters; using UnityEngine; using UnityEngine.UI; // Token: 0x020002B6 RID: 694 [Token(Token = "0x20002B6")] public class UIVideoMenu : GameCanvasBase { // Token: 0x17000102 RID: 258 // (get) Token: 0x06001A0F RID: 6671 RVA: 0x00040264 File Offset: 0x0003E464 [Token(Token = "0x17000102")] private int currentTotalPages { [Token(Token = "0x6001A0F")] [Address(RVA = "0xCC5FE0", Offset = "0xCC4FE0", VA = "0x180CC5FE0")] get { return this.videoHandlersList._size; } } // Token: 0x06001A10 RID: 6672 RVA: 0x00040284 File Offset: 0x0003E484 [Token(Token = "0x6001A10")] [Address(RVA = "0xCC4D40", Offset = "0xCC3D40", VA = "0x180CC4D40", Slot = "11")] public override void Init() { this.InitVideoHandlers(); this.InitPageDots(); this.InitUIStatus(); this.switchPageTip.Init(); LocalizationData localizationData = Game.GetLocalizationData(); string name = ((IXmlDocumentType)this).Name; } // Token: 0x06001A11 RID: 6673 RVA: 0x000402C4 File Offset: 0x0003E4C4 [Token(Token = "0x6001A11")] [Address(RVA = "0x640550", Offset = "0x63F550", VA = "0x180640550")] public void BindVideoPlayedHandler(Action handler) { /* An exception occurred when decompiling this method (06001A11) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UIVideoMenu::BindVideoPlayedHandler(System.Action`1) ---> System.Exception: Basic block has to end with unconditional control flow. {; Block_0:; stfld:class [mscorlib]System.Action`1(UIVideoMenu::videoPlayedHandler, ldloc:UIVideoMenu(this), ldloc:class [mscorlib]System.Action`1(handler)); }; at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810 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 344 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 1618 */; } // Token: 0x06001A12 RID: 6674 RVA: 0x000402D8 File Offset: 0x0003E4D8 [Token(Token = "0x6001A12")] [Address(RVA = "0xCC3500", Offset = "0xCC2500", VA = "0x180CC3500")] public void Dispose() { this.switchPageTip.Dispose(); } // Token: 0x06001A13 RID: 6675 RVA: 0x000402F8 File Offset: 0x0003E4F8 [Token(Token = "0x6001A13")] [Address(RVA = "0xCC33F0", Offset = "0xCC23F0", VA = "0x180CC33F0", Slot = "12")] protected override void Appear(Action completeHandler) { int num = this.currentPageIndex; this.previousPageIndex = num; this.isMoveTweening = false; this.videoNavigation.HideImmediate(); this.bottomNavigation.HideImmediate(); GameObject gameObject = this.interactionIcon.gameObject; int num2 = 0; gameObject.SetActive(num2 != 0); this.UpdateDefaultHandler(); this.UpdateBackHandlerNavigation(); this.UpdatePageNumAndDots(); base.Appear(completeHandler); } // Token: 0x06001A14 RID: 6676 RVA: 0x00040364 File Offset: 0x0003E564 [Token(Token = "0x6001A14")] [Address(RVA = "0x94CB50", Offset = "0x94BB50", VA = "0x18094CB50", Slot = "18")] public override void Move(Direction2D direction) { this.navigator.Move(direction); } // Token: 0x06001A15 RID: 6677 RVA: 0x00040384 File Offset: 0x0003E584 [Token(Token = "0x6001A15")] [Address(RVA = "0xCBEFA0", Offset = "0xCBDFA0", VA = "0x180CBEFA0", Slot = "19")] public override void SwitchLeftward() { this.arrowController.SwitchPageLeftward(); } // Token: 0x06001A16 RID: 6678 RVA: 0x000403A4 File Offset: 0x0003E5A4 [Token(Token = "0x6001A16")] [Address(RVA = "0xCC5950", Offset = "0xCC4950", VA = "0x180CC5950")] private int TrySwitchLeftward() { if (!this.isMoveTweening) { int num = this.currentPageIndex; if (num != 0) { this.previousPageIndex = num; this.currentPageIndex = num; this.DoMoveTween(225f); return this.currentPageIndex; } } return -1; } // Token: 0x06001A17 RID: 6679 RVA: 0x000403E8 File Offset: 0x0003E5E8 [Token(Token = "0x6001A17")] [Address(RVA = "0xCBEFC0", Offset = "0xCBDFC0", VA = "0x180CBEFC0", Slot = "20")] public override void SwitchRightward() { this.arrowController.SwitchPageRightward(); } // Token: 0x06001A18 RID: 6680 RVA: 0x00040408 File Offset: 0x0003E608 [Token(Token = "0x6001A18")] [Address(RVA = "0xCC59B0", Offset = "0xCC49B0", VA = "0x180CC59B0")] private int TrySwitchRightward() { if (!this.isMoveTweening) { int num = this.currentPageIndex; int size = this.videoHandlersList._size; if (num != size) { int num2 = this.currentPageIndex; this.previousPageIndex = num2; num2++; this.currentPageIndex = num2; this.DoMoveTween(-225f); return this.currentPageIndex; } } return -1; } // Token: 0x06001A19 RID: 6681 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A19")] [Address(RVA = "0xCC5710", Offset = "0xCC4710", VA = "0x180CC5710", Slot = "21")] public override void Submit() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A1A RID: 6682 RVA: 0x00040468 File Offset: 0x0003E668 [Token(Token = "0x6001A1A")] [Address(RVA = "0xCC34A0", Offset = "0xCC24A0", VA = "0x180CC34A0", Slot = "23")] public override void Cancel() { Game.PlayCanvasSE(UICanvasSFX.Close); base.Close(); } // Token: 0x06001A1B RID: 6683 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A1B")] [Address(RVA = "0xCC4DE0", Offset = "0xCC3DE0", VA = "0x180CC4DE0", Slot = "25")] public override void Localize(LocalizationData data) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A1C RID: 6684 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A1C")] [Address(RVA = "0xCC40A0", Offset = "0xCC30A0", VA = "0x180CC40A0")] private void InitVideoHandlers() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A1D RID: 6685 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A1D")] [Address(RVA = "0xCC3C50", Offset = "0xCC2C50", VA = "0x180CC3C50")] private void InitPageDots() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A1E RID: 6686 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A1E")] [Address(RVA = "0xCC3EB0", Offset = "0xCC2EB0", VA = "0x180CC3EB0")] private void InitUIStatus() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A1F RID: 6687 RVA: 0x00040484 File Offset: 0x0003E684 [Token(Token = "0x6001A1F")] [Address(RVA = "0xCC5230", Offset = "0xCC4230", VA = "0x180CC5230")] private void ResetUIStatus() { int num = this.currentPageIndex; this.previousPageIndex = num; this.isMoveTweening = false; this.videoNavigation.HideImmediate(); this.bottomNavigation.HideImmediate(); GameObject gameObject = this.interactionIcon.gameObject; int num2 = 0; gameObject.SetActive(num2 != 0); } // Token: 0x06001A20 RID: 6688 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A20")] [Address(RVA = "0xCC52B0", Offset = "0xCC42B0", VA = "0x180CC52B0")] private void SetupBackHandler(Direction2D direction2D, IEnumerable handlerBases) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A21 RID: 6689 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A21")] [Address(RVA = "0xCC3540", Offset = "0xCC2540", VA = "0x180CC3540")] private void DoMoveTween(float offset) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A22 RID: 6690 RVA: 0x000404D8 File Offset: 0x0003E6D8 [Token(Token = "0x6001A22")] [Address(RVA = "0xCC50A0", Offset = "0xCC40A0", VA = "0x180CC50A0")] private void MarkUIDirty() { this.UpdateDefaultHandler(); this.UpdateBackHandlerNavigation(); this.UpdatePageNumAndDots(); } // Token: 0x06001A23 RID: 6691 RVA: 0x000404F8 File Offset: 0x0003E6F8 [Token(Token = "0x6001A23")] [Address(RVA = "0xCC5D70", Offset = "0xCC4D70", VA = "0x180CC5D70")] private void UpdatePageIndex(int value) { int num = this.currentPageIndex; this.previousPageIndex = num; this.currentPageIndex = value; } // Token: 0x06001A24 RID: 6692 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A24")] [Address(RVA = "0xCC5C00", Offset = "0xCC4C00", VA = "0x180CC5C00")] private void UpdateDefaultHandler() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A25 RID: 6693 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A25")] [Address(RVA = "0xCC5AB0", Offset = "0xCC4AB0", VA = "0x180CC5AB0")] private void UpdateBackHandlerNavigation() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A26 RID: 6694 RVA: 0x0004051C File Offset: 0x0003E71C [Token(Token = "0x6001A26")] [Address(RVA = "0xCC5D90", Offset = "0xCC4D90", VA = "0x180CC5D90")] private void UpdatePageNumAndDots() { Image[] array = this.pageDots; int num = 0; if (num < array.Length) { Image image = array[num]; Sprite[] array2 = this.pageDotSprites; if (num == this.currentPageIndex) { } Sprite sprite = array2[0]; image.sprite = sprite; Image[] array3 = this.pageDots; num++; } int num2 = this.currentPageIndex; num2++; Text text = this.pageNumber; int size = this.videoHandlersList._size; string text2 = string.Format("{0} / {1}", num2, num2); text.text = text2; } // Token: 0x06001A27 RID: 6695 RVA: 0x000405B4 File Offset: 0x0003E7B4 [Token(Token = "0x6001A27")] [Address(RVA = "0xCC5140", Offset = "0xCC4140", VA = "0x180CC5140")] private void OnHandlerSelected(UIHandlerBase handler) { UINavigationEffect uinavigationEffect = this.videoNavigation; Vector2 anchoredPosition = handler.rectTransform.anchoredPosition; uinavigationEffect.UpdatePos(anchoredPosition); this.videoNavigation.Appear(); Game.PlayHandlerSE(UIHandlerSFX.Navigation); } // Token: 0x06001A28 RID: 6696 RVA: 0x000405F4 File Offset: 0x0003E7F4 [Token(Token = "0x6001A28")] [Address(RVA = "0xCBE470", Offset = "0xCBD470", VA = "0x180CBE470")] private void OnHandlerDeselected(UIHandlerBase handler) { this.videoNavigation.Hide(); } // Token: 0x06001A29 RID: 6697 RVA: 0x00040614 File Offset: 0x0003E814 [Token(Token = "0x6001A29")] [Address(RVA = "0xCC50D0", Offset = "0xCC40D0", VA = "0x180CC50D0")] private void OnBackButtonSelected(UIHandlerBase handler) { this.bottomNavigation.Appear(); Game.PlayHandlerSE(UIHandlerSFX.Navigation); } // Token: 0x06001A2A RID: 6698 RVA: 0x00040638 File Offset: 0x0003E838 [Token(Token = "0x6001A2A")] [Address(RVA = "0xCBE390", Offset = "0xCBD390", VA = "0x180CBE390")] private void OnBackButtonDeselected(UIHandlerBase handler) { this.bottomNavigation.Hide(); } // Token: 0x06001A2B RID: 6699 RVA: 0x00040658 File Offset: 0x0003E858 [Token(Token = "0x6001A2B")] [Address(RVA = "0xCC51F0", Offset = "0xCC41F0", VA = "0x180CC51F0")] private void PerformSubmitEffect() { this.interactionIcon.gameObject.SetActive(true); } // Token: 0x06001A2C RID: 6700 RVA: 0x0004067C File Offset: 0x0003E87C [Token(Token = "0x6001A2C")] [Address(RVA = "0xCC38A0", Offset = "0xCC28A0", VA = "0x180CC38A0")] private bool GetHandlerLockState(string videoName) { while (!videoName.Contains("Dream")) { if (!videoName.Contains("Tania")) { if (!videoName.Contains("Monica")) { if (!videoName.Contains("Vanessa")) { if (!videoName.Contains("Cat")) { return false; } GameCollection collection = Game.Collection; return true; } else if (Game.Collection.HasAchievementFlagUnlocked(37)) { return !Game.Collection.allVanessaPropsUnlock; } } else if (Game.Collection.HasAchievementFlagUnlocked(35)) { return !Game.Collection.allMonicaPropsUnlocked; } } else if (Game.Collection.HasAchievementFlagUnlocked(34)) { return !Game.Collection.allTaniaPropsUnlocked; } } return Game.Collection.gameCleared <= 0; } // Token: 0x06001A2D RID: 6701 RVA: 0x00040778 File Offset: 0x0003E978 [Token(Token = "0x6001A2D")] [Address(RVA = "0xCC54D0", Offset = "0xCC44D0", VA = "0x180CC54D0")] private bool ShowDreamVideoHandler() { return Game.Collection.gameCleared > 0; } // Token: 0x06001A2E RID: 6702 RVA: 0x0004079C File Offset: 0x0003E99C [Token(Token = "0x6001A2E")] [Address(RVA = "0xCC55D0", Offset = "0xCC45D0", VA = "0x180CC55D0")] private bool ShowTaniaVideoHandler() { bool flag = Game.Collection.HasAchievementFlagUnlocked(34); if (!flag) { return flag; } return Game.Collection.allTaniaPropsUnlocked; } // Token: 0x06001A2F RID: 6703 RVA: 0x000407D0 File Offset: 0x0003E9D0 [Token(Token = "0x6001A2F")] [Address(RVA = "0xCC5530", Offset = "0xCC4530", VA = "0x180CC5530")] private bool ShowMonicaVideoHandler() { bool flag = Game.Collection.HasAchievementFlagUnlocked(35); if (!flag) { return flag; } return Game.Collection.allMonicaPropsUnlocked; } // Token: 0x06001A30 RID: 6704 RVA: 0x00040804 File Offset: 0x0003EA04 [Token(Token = "0x6001A30")] [Address(RVA = "0xCC5670", Offset = "0xCC4670", VA = "0x180CC5670")] private bool ShowVanesaVideoHandler() { bool flag = Game.Collection.HasAchievementFlagUnlocked(37); if (!flag) { return flag; } return Game.Collection.allVanessaPropsUnlock; } // Token: 0x06001A31 RID: 6705 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001A31")] [Address(RVA = "0xCC5440", Offset = "0xCC4440", VA = "0x180CC5440")] private bool ShowCatVideoHandler() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001A32 RID: 6706 RVA: 0x00040838 File Offset: 0x0003EA38 [Token(Token = "0x6001A32")] [Address(RVA = "0xCC5F60", Offset = "0xCC4F60", VA = "0x180CC5F60")] public UIVideoMenu() { List list = new List(); this.videoHandlersList = list; base..ctor(); } // Token: 0x0400247D RID: 9341 [FieldOffset(Offset = "0x58")] [Token(Token = "0x400247D")] [SerializeField] private Text title; // Token: 0x0400247E RID: 9342 [FieldOffset(Offset = "0x60")] [Token(Token = "0x400247E")] [SerializeField] private RectTransform videosHandlersRoot; // Token: 0x0400247F RID: 9343 [FieldOffset(Offset = "0x68")] [Token(Token = "0x400247F")] [SerializeField] private UILabelHandler backHandler; // Token: 0x04002480 RID: 9344 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4002480")] [SerializeField] private UISwitchArrowController arrowController; // Token: 0x04002481 RID: 9345 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4002481")] [SerializeField] private UIVideoHandler videoHandlerTemplate; // Token: 0x04002482 RID: 9346 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4002482")] [SerializeField] private CanvasGroup videoGroupTemplate; // Token: 0x04002483 RID: 9347 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4002483")] [SerializeField] private Text pageNumber; // Token: 0x04002484 RID: 9348 [FieldOffset(Offset = "0x90")] [Token(Token = "0x4002484")] [SerializeField] private RectTransform pageDotsRoot; // Token: 0x04002485 RID: 9349 [FieldOffset(Offset = "0x98")] [Token(Token = "0x4002485")] [SerializeField] private Image pageDotTemplate; // Token: 0x04002486 RID: 9350 [FieldOffset(Offset = "0xA0")] [Token(Token = "0x4002486")] [SerializeField] private Sprite[] pageDotSprites; // Token: 0x04002487 RID: 9351 [FieldOffset(Offset = "0xA8")] [Token(Token = "0x4002487")] [SerializeField] private UINavigationEffect videoNavigation; // Token: 0x04002488 RID: 9352 [FieldOffset(Offset = "0xB0")] [Token(Token = "0x4002488")] [SerializeField] private UINavigationEffect bottomNavigation; // Token: 0x04002489 RID: 9353 [FieldOffset(Offset = "0xB8")] [Token(Token = "0x4002489")] [SerializeField] private Image interactionIcon; // Token: 0x0400248A RID: 9354 [FieldOffset(Offset = "0xC0")] [Token(Token = "0x400248A")] [SerializeField] private UISwitchPageTip switchPageTip; // Token: 0x0400248B RID: 9355 [FieldOffset(Offset = "0xC8")] [Token(Token = "0x400248B")] private CanvasGroup[] videoGroups; // Token: 0x0400248C RID: 9356 [FieldOffset(Offset = "0xD0")] [Token(Token = "0x400248C")] private List videoHandlersList; // Token: 0x0400248D RID: 9357 [FieldOffset(Offset = "0xD8")] [Token(Token = "0x400248D")] private Image[] pageDots; // Token: 0x0400248E RID: 9358 [FieldOffset(Offset = "0xE0")] [Token(Token = "0x400248E")] private Action videoPlayedHandler; // Token: 0x0400248F RID: 9359 [FieldOffset(Offset = "0xE8")] [Token(Token = "0x400248F")] private Dictionary videoDataMap; // Token: 0x04002490 RID: 9360 [FieldOffset(Offset = "0xF0")] [Token(Token = "0x4002490")] private bool isMoveTweening; // Token: 0x04002491 RID: 9361 [FieldOffset(Offset = "0xF4")] [Token(Token = "0x4002491")] private int previousPageIndex; // Token: 0x04002492 RID: 9362 [FieldOffset(Offset = "0xF8")] [Token(Token = "0x4002492")] private int currentPageIndex; // Token: 0x04002493 RID: 9363 [FieldOffset(Offset = "0xFC")] [Token(Token = "0x4002493")] private int currentTotalClips; // Token: 0x04002494 RID: 9364 [Token(Token = "0x4002494")] private const int PARTIAL_VIDEOS_COUNT = 8; // Token: 0x04002495 RID: 9365 [Token(Token = "0x4002495")] private const int FULL_VIDEOS_COUNT = 12; // Token: 0x04002496 RID: 9366 [Token(Token = "0x4002496")] private const int MAXIMUM_HANDLERS_LENGTH_PER_PAGE = 6; // Token: 0x04002497 RID: 9367 [Token(Token = "0x4002497")] private const int MAXIMUM_ROW_LIMITATION = 2; // Token: 0x04002498 RID: 9368 [Token(Token = "0x4002498")] private const int MAXIMUM_COLUMN_LIMITATION = 3; // Token: 0x04002499 RID: 9369 [Token(Token = "0x4002499")] private const float MOVE_DURATION = 0.6f; // Token: 0x0400249A RID: 9370 [Token(Token = "0x400249A")] private const float FADE_IN_DURATION = 0.1f; // Token: 0x0400249B RID: 9371 [Token(Token = "0x400249B")] private const float FADE_OUT_DURATION = 0.1f; }