using System; using System.Collections.Generic; using Cpp2IlInjected; using MarsSDK; using Newtonsoft.Json.Converters; using UnityEngine; using UnityEngine.UI; // Token: 0x02000274 RID: 628 [Token(Token = "0x2000274")] public class UIVideoMenu : GameCanvasBase { // Token: 0x170000E9 RID: 233 // (get) Token: 0x0600180D RID: 6157 RVA: 0x0003B260 File Offset: 0x00039460 [Token(Token = "0x170000E9")] private int currentTotalPages { [Token(Token = "0x600180D")] [Address(RVA = "0x9641A0", Offset = "0x9629A0", VA = "0x1809641A0")] get { return this.videoHandlersList._size; } } // Token: 0x0600180E RID: 6158 RVA: 0x0003B280 File Offset: 0x00039480 [Token(Token = "0x600180E")] [Address(RVA = "0x962F10", Offset = "0x961710", VA = "0x180962F10", 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: 0x0600180F RID: 6159 RVA: 0x0003B2C0 File Offset: 0x000394C0 [Token(Token = "0x600180F")] [Address(RVA = "0x4CE630", Offset = "0x4CCE30", VA = "0x1804CE630")] public void BindVideoPlayedHandler(Action handler) { /* An exception occurred when decompiling this method (0600180F) 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: 0x06001810 RID: 6160 RVA: 0x0003B2D4 File Offset: 0x000394D4 [Token(Token = "0x6001810")] [Address(RVA = "0x9616D0", Offset = "0x95FED0", VA = "0x1809616D0")] public void Dispose() { this.switchPageTip.Dispose(); } // Token: 0x06001811 RID: 6161 RVA: 0x0003B2F4 File Offset: 0x000394F4 [Token(Token = "0x6001811")] [Address(RVA = "0x9615C0", Offset = "0x95FDC0", VA = "0x1809615C0", 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: 0x06001812 RID: 6162 RVA: 0x0003B360 File Offset: 0x00039560 [Token(Token = "0x6001812")] [Address(RVA = "0x7B1840", Offset = "0x7B0040", VA = "0x1807B1840", Slot = "18")] public override void Move(Direction2D direction) { this.navigator.Move(direction); } // Token: 0x06001813 RID: 6163 RVA: 0x0003B380 File Offset: 0x00039580 [Token(Token = "0x6001813")] [Address(RVA = "0x95D250", Offset = "0x95BA50", VA = "0x18095D250", Slot = "19")] public override void SwitchLeftward() { this.arrowController.SwitchPageLeftward(); } // Token: 0x06001814 RID: 6164 RVA: 0x0003B3A0 File Offset: 0x000395A0 [Token(Token = "0x6001814")] [Address(RVA = "0x963B20", Offset = "0x962320", VA = "0x180963B20")] 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: 0x06001815 RID: 6165 RVA: 0x0003B3E4 File Offset: 0x000395E4 [Token(Token = "0x6001815")] [Address(RVA = "0x95D270", Offset = "0x95BA70", VA = "0x18095D270", Slot = "20")] public override void SwitchRightward() { this.arrowController.SwitchPageRightward(); } // Token: 0x06001816 RID: 6166 RVA: 0x0003B404 File Offset: 0x00039604 [Token(Token = "0x6001816")] [Address(RVA = "0x963B80", Offset = "0x962380", VA = "0x180963B80")] 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: 0x06001817 RID: 6167 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001817")] [Address(RVA = "0x9638E0", Offset = "0x9620E0", VA = "0x1809638E0", Slot = "21")] public override void Submit() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001818 RID: 6168 RVA: 0x0003B464 File Offset: 0x00039664 [Token(Token = "0x6001818")] [Address(RVA = "0x961670", Offset = "0x95FE70", VA = "0x180961670", Slot = "23")] public override void Cancel() { Game.PlayCanvasSE(UICanvasSFX.Close); base.Close(); } // Token: 0x06001819 RID: 6169 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001819")] [Address(RVA = "0x962FB0", Offset = "0x9617B0", VA = "0x180962FB0", Slot = "25")] public override void Localize(LocalizationData data) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600181A RID: 6170 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600181A")] [Address(RVA = "0x962270", Offset = "0x960A70", VA = "0x180962270")] private void InitVideoHandlers() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600181B RID: 6171 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600181B")] [Address(RVA = "0x961E20", Offset = "0x960620", VA = "0x180961E20")] private void InitPageDots() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600181C RID: 6172 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600181C")] [Address(RVA = "0x962080", Offset = "0x960880", VA = "0x180962080")] private void InitUIStatus() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600181D RID: 6173 RVA: 0x0003B480 File Offset: 0x00039680 [Token(Token = "0x600181D")] [Address(RVA = "0x963400", Offset = "0x961C00", VA = "0x180963400")] 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: 0x0600181E RID: 6174 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600181E")] [Address(RVA = "0x963480", Offset = "0x961C80", VA = "0x180963480")] private void SetupBackHandler(Direction2D direction2D, IEnumerable handlerBases) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600181F RID: 6175 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600181F")] [Address(RVA = "0x961710", Offset = "0x95FF10", VA = "0x180961710")] private void DoMoveTween(float offset) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001820 RID: 6176 RVA: 0x0003B4D4 File Offset: 0x000396D4 [Token(Token = "0x6001820")] [Address(RVA = "0x963270", Offset = "0x961A70", VA = "0x180963270")] private void MarkUIDirty() { this.UpdateDefaultHandler(); this.UpdateBackHandlerNavigation(); this.UpdatePageNumAndDots(); } // Token: 0x06001821 RID: 6177 RVA: 0x0003B4F4 File Offset: 0x000396F4 [Token(Token = "0x6001821")] [Address(RVA = "0x963F30", Offset = "0x962730", VA = "0x180963F30")] private void UpdatePageIndex(int value) { int num = this.currentPageIndex; this.previousPageIndex = num; this.currentPageIndex = value; } // Token: 0x06001822 RID: 6178 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001822")] [Address(RVA = "0x963DC0", Offset = "0x9625C0", VA = "0x180963DC0")] private void UpdateDefaultHandler() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001823 RID: 6179 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001823")] [Address(RVA = "0x963C70", Offset = "0x962470", VA = "0x180963C70")] private void UpdateBackHandlerNavigation() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001824 RID: 6180 RVA: 0x0003B518 File Offset: 0x00039718 [Token(Token = "0x6001824")] [Address(RVA = "0x963F50", Offset = "0x962750", VA = "0x180963F50")] 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: 0x06001825 RID: 6181 RVA: 0x0003B5B0 File Offset: 0x000397B0 [Token(Token = "0x6001825")] [Address(RVA = "0x963310", Offset = "0x961B10", VA = "0x180963310")] 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: 0x06001826 RID: 6182 RVA: 0x0003B5F0 File Offset: 0x000397F0 [Token(Token = "0x6001826")] [Address(RVA = "0x7B1860", Offset = "0x7B0060", VA = "0x1807B1860")] private void OnHandlerDeselected(UIHandlerBase handler) { this.videoNavigation.Hide(); } // Token: 0x06001827 RID: 6183 RVA: 0x0003B610 File Offset: 0x00039810 [Token(Token = "0x6001827")] [Address(RVA = "0x9632A0", Offset = "0x961AA0", VA = "0x1809632A0")] private void OnBackButtonSelected(UIHandlerBase handler) { this.bottomNavigation.Appear(); Game.PlayHandlerSE(UIHandlerSFX.Navigation); } // Token: 0x06001828 RID: 6184 RVA: 0x0003B634 File Offset: 0x00039834 [Token(Token = "0x6001828")] [Address(RVA = "0x95C620", Offset = "0x95AE20", VA = "0x18095C620")] private void OnBackButtonDeselected(UIHandlerBase handler) { this.bottomNavigation.Hide(); } // Token: 0x06001829 RID: 6185 RVA: 0x0003B654 File Offset: 0x00039854 [Token(Token = "0x6001829")] [Address(RVA = "0x9633C0", Offset = "0x961BC0", VA = "0x1809633C0")] private void PerformSubmitEffect() { this.interactionIcon.gameObject.SetActive(true); } // Token: 0x0600182A RID: 6186 RVA: 0x0003B678 File Offset: 0x00039878 [Token(Token = "0x600182A")] [Address(RVA = "0x961A70", Offset = "0x960270", VA = "0x180961A70")] 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: 0x0600182B RID: 6187 RVA: 0x0003B774 File Offset: 0x00039974 [Token(Token = "0x600182B")] [Address(RVA = "0x9636A0", Offset = "0x961EA0", VA = "0x1809636A0")] private bool ShowDreamVideoHandler() { return Game.Collection.gameCleared > 0; } // Token: 0x0600182C RID: 6188 RVA: 0x0003B798 File Offset: 0x00039998 [Token(Token = "0x600182C")] [Address(RVA = "0x9637A0", Offset = "0x961FA0", VA = "0x1809637A0")] private bool ShowTaniaVideoHandler() { bool flag = Game.Collection.HasAchievementFlagUnlocked(34); if (!flag) { return flag; } return Game.Collection.allTaniaPropsUnlocked; } // Token: 0x0600182D RID: 6189 RVA: 0x0003B7CC File Offset: 0x000399CC [Token(Token = "0x600182D")] [Address(RVA = "0x963700", Offset = "0x961F00", VA = "0x180963700")] private bool ShowMonicaVideoHandler() { bool flag = Game.Collection.HasAchievementFlagUnlocked(35); if (!flag) { return flag; } return Game.Collection.allMonicaPropsUnlocked; } // Token: 0x0600182E RID: 6190 RVA: 0x0003B800 File Offset: 0x00039A00 [Token(Token = "0x600182E")] [Address(RVA = "0x963840", Offset = "0x962040", VA = "0x180963840")] private bool ShowVanesaVideoHandler() { bool flag = Game.Collection.HasAchievementFlagUnlocked(37); if (!flag) { return flag; } return Game.Collection.allVanessaPropsUnlock; } // Token: 0x0600182F RID: 6191 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600182F")] [Address(RVA = "0x963610", Offset = "0x961E10", VA = "0x180963610")] private bool ShowCatVideoHandler() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001830 RID: 6192 RVA: 0x0003B834 File Offset: 0x00039A34 [Token(Token = "0x6001830")] [Address(RVA = "0x964120", Offset = "0x962920", VA = "0x180964120")] public UIVideoMenu() { List list = new List(); this.videoHandlersList = list; base..ctor(); } // Token: 0x04002263 RID: 8803 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4002263")] [SerializeField] private Text title; // Token: 0x04002264 RID: 8804 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4002264")] [SerializeField] private RectTransform videosHandlersRoot; // Token: 0x04002265 RID: 8805 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4002265")] [SerializeField] private UILabelHandler backHandler; // Token: 0x04002266 RID: 8806 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4002266")] [SerializeField] private UISwitchArrowController arrowController; // Token: 0x04002267 RID: 8807 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4002267")] [SerializeField] private UIVideoHandler videoHandlerTemplate; // Token: 0x04002268 RID: 8808 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4002268")] [SerializeField] private CanvasGroup videoGroupTemplate; // Token: 0x04002269 RID: 8809 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4002269")] [SerializeField] private Text pageNumber; // Token: 0x0400226A RID: 8810 [FieldOffset(Offset = "0x90")] [Token(Token = "0x400226A")] [SerializeField] private RectTransform pageDotsRoot; // Token: 0x0400226B RID: 8811 [FieldOffset(Offset = "0x98")] [Token(Token = "0x400226B")] [SerializeField] private Image pageDotTemplate; // Token: 0x0400226C RID: 8812 [FieldOffset(Offset = "0xA0")] [Token(Token = "0x400226C")] [SerializeField] private Sprite[] pageDotSprites; // Token: 0x0400226D RID: 8813 [FieldOffset(Offset = "0xA8")] [Token(Token = "0x400226D")] [SerializeField] private UINavigationEffect videoNavigation; // Token: 0x0400226E RID: 8814 [FieldOffset(Offset = "0xB0")] [Token(Token = "0x400226E")] [SerializeField] private UINavigationEffect bottomNavigation; // Token: 0x0400226F RID: 8815 [FieldOffset(Offset = "0xB8")] [Token(Token = "0x400226F")] [SerializeField] private Image interactionIcon; // Token: 0x04002270 RID: 8816 [FieldOffset(Offset = "0xC0")] [Token(Token = "0x4002270")] [SerializeField] private UISwitchPageTip switchPageTip; // Token: 0x04002271 RID: 8817 [FieldOffset(Offset = "0xC8")] [Token(Token = "0x4002271")] private CanvasGroup[] videoGroups; // Token: 0x04002272 RID: 8818 [FieldOffset(Offset = "0xD0")] [Token(Token = "0x4002272")] private List videoHandlersList; // Token: 0x04002273 RID: 8819 [FieldOffset(Offset = "0xD8")] [Token(Token = "0x4002273")] private Image[] pageDots; // Token: 0x04002274 RID: 8820 [FieldOffset(Offset = "0xE0")] [Token(Token = "0x4002274")] private Action videoPlayedHandler; // Token: 0x04002275 RID: 8821 [FieldOffset(Offset = "0xE8")] [Token(Token = "0x4002275")] private Dictionary videoDataMap; // Token: 0x04002276 RID: 8822 [FieldOffset(Offset = "0xF0")] [Token(Token = "0x4002276")] private bool isMoveTweening; // Token: 0x04002277 RID: 8823 [FieldOffset(Offset = "0xF4")] [Token(Token = "0x4002277")] private int previousPageIndex; // Token: 0x04002278 RID: 8824 [FieldOffset(Offset = "0xF8")] [Token(Token = "0x4002278")] private int currentPageIndex; // Token: 0x04002279 RID: 8825 [FieldOffset(Offset = "0xFC")] [Token(Token = "0x4002279")] private int currentTotalClips; // Token: 0x0400227A RID: 8826 [Token(Token = "0x400227A")] private const int PARTIAL_VIDEOS_COUNT = 8; // Token: 0x0400227B RID: 8827 [Token(Token = "0x400227B")] private const int FULL_VIDEOS_COUNT = 12; // Token: 0x0400227C RID: 8828 [Token(Token = "0x400227C")] private const int MAXIMUM_HANDLERS_LENGTH_PER_PAGE = 6; // Token: 0x0400227D RID: 8829 [Token(Token = "0x400227D")] private const int MAXIMUM_ROW_LIMITATION = 2; // Token: 0x0400227E RID: 8830 [Token(Token = "0x400227E")] private const int MAXIMUM_COLUMN_LIMITATION = 3; // Token: 0x0400227F RID: 8831 [Token(Token = "0x400227F")] private const float MOVE_DURATION = 0.6f; // Token: 0x04002280 RID: 8832 [Token(Token = "0x4002280")] private const float FADE_IN_DURATION = 0.1f; // Token: 0x04002281 RID: 8833 [Token(Token = "0x4002281")] private const float FADE_OUT_DURATION = 0.1f; }