using System; using Cpp2IlInjected; using UnityEngine; // Token: 0x02000225 RID: 549 [Token(Token = "0x2000225")] public class ScriptMode { // Token: 0x06001593 RID: 5523 RVA: 0x00030C90 File Offset: 0x0002EE90 [Token(Token = "0x6001593")] [Address(RVA = "0x5179A0", Offset = "0x5169A0", VA = "0x1805179A0")] public void Init() { NobetaAnimatorController animatorController = Game.GetPlayerManager().GetAnimatorController(); this.g_PlayerAni = animatorController; PlayerCamera camera = Game.GetPlayerManager().GetCamera(); this.g_CameraEff = camera; this.g_bSwitchScene = false; this.g_iSkipID = (int)((ulong)0L); this.g_iVoiceIndex = (int)((ulong)4294967294L); } // Token: 0x06001594 RID: 5524 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001594")] [Address(RVA = "0x51AEB0", Offset = "0x519EB0", VA = "0x18051AEB0")] public void Update(float fDeltaTime) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001595 RID: 5525 RVA: 0x00030CEC File Offset: 0x0002EEEC [Token(Token = "0x6001595")] [Address(RVA = "0x517FC0", Offset = "0x516FC0", VA = "0x180517FC0")] public void ReceiveConfirm() { int num = this.g_iStepMax; if (this.g_iStep >= num || this.g_bAutoStep) { return; } if (!this.g_bDialog) { Game.SetDialogArrowEnable(false); int num2 = this.g_iStep; num2++; this.g_iStep = num2; this.RunStep(num2); return; } string text = this.g_sDialogText; int stringLength = text.m_stringLength; int num3 = 0; string text2 = this.g_sDialogSpeaker; this.g_sDialogTextNum = stringLength; string text3 = text.Substring(num3, stringLength); Game.SetDialogText(text2, text3); this.g_bDialog = false; while (this.g_bAutoStep) { } Game.SetDialogArrowEnable(true); } // Token: 0x06001596 RID: 5526 RVA: 0x00030D8C File Offset: 0x0002EF8C [Token(Token = "0x6001596")] [Address(RVA = "0x51AE10", Offset = "0x519E10", VA = "0x18051AE10")] public void SkipScript() { int num = this.g_iSkipID; if (num > 1) { this.g_iStep = num; this.RunStep(num); return; } } // Token: 0x06001597 RID: 5527 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001597")] [Address(RVA = "0x5180F0", Offset = "0x5170F0", VA = "0x1805180F0")] public void RunStep(int iStep) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001598 RID: 5528 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001598")] [Address(RVA = "0x51AE30", Offset = "0x519E30", VA = "0x18051AE30")] private void UpdateDialogueContents(string[] content) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001599 RID: 5529 RVA: 0x00030DB4 File Offset: 0x0002EFB4 [Token(Token = "0x6001599")] [Address(RVA = "0x517A60", Offset = "0x516A60", VA = "0x180517A60")] public bool LoadScript(LoadScript LS) { string scriptName = LS.ScriptName; string text = "Script/" + scriptName; SceneEvent[] @event = LS.Event; this.g_Event = @event; Transform[] camera = LS.Camera; this.g_Camera = camera; Transform[] playerPosition = LS.PlayerPosition; this.g_Position = playerPosition; CSVData csvdata = new CSVData(text); this.g_ScriptData = csvdata; CSVData csvdata2 = this.g_ScriptData; if (csvdata2.loadDataCompleted) { int columnLength = csvdata2.GetColumnLength(); this.g_iStepMax = columnLength; if (columnLength > 1) { CSVData csvdata3 = this.g_ScriptData; int num = 0; int num2 = 0; string @string = csvdata3.GetString(num2, num); string text2 = this.g_sVersionText; if (!(@string != text2)) { if (string.IsNullOrEmpty(LS.ScriptLanugageFileName)) { } GameTextDataAdvance storyText = Game.GetStoryText(LS.ScriptLanugageFileName); this.dialogueText = storyText; this.g_iStep = (int)((ulong)1L); this.g_bStop = false; this.RunStep(1); return true; } } } Debug.LogError("無法讀取腳本:" + text); throw new NullReferenceException(); } // Token: 0x0600159A RID: 5530 RVA: 0x00030EBC File Offset: 0x0002F0BC [Token(Token = "0x600159A")] [Address(RVA = "0x475600", Offset = "0x474600", VA = "0x180475600")] public void GetVoice(VoiceController Voice) { /* An exception occurred when decompiling this method (0600159A) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void ScriptMode::GetVoice(VoiceController) ---> System.Exception: Basic block has to end with unconditional control flow. {; Block_0:; stfld:VoiceController(ScriptMode::g_Voice, ldloc:ScriptMode(this), ldloc:VoiceController(Voice)); }; 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: 0x0600159B RID: 5531 RVA: 0x00030ED0 File Offset: 0x0002F0D0 [Token(Token = "0x600159B")] [Address(RVA = "0x517990", Offset = "0x516990", VA = "0x180517990")] public bool GetIsSkip() { return this.g_iSkipID > 0; } // Token: 0x0600159C RID: 5532 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600159C")] [Address(RVA = "0x517CA0", Offset = "0x516CA0", VA = "0x180517CA0")] private float ParseFloat(string content) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600159D RID: 5533 RVA: 0x00030EE8 File Offset: 0x0002F0E8 [Token(Token = "0x600159D")] [Address(RVA = "0x51B430", Offset = "0x51A430", VA = "0x18051B430")] public ScriptMode() { } // Token: 0x040020AD RID: 8365 [FieldOffset(Offset = "0x10")] [Token(Token = "0x40020AD")] private NobetaAnimatorController g_PlayerAni; // Token: 0x040020AE RID: 8366 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40020AE")] private VoiceController g_Voice; // Token: 0x040020AF RID: 8367 [FieldOffset(Offset = "0x20")] [Token(Token = "0x40020AF")] private PlayerCamera g_CameraEff; // Token: 0x040020B0 RID: 8368 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40020B0")] private SceneEvent[] g_Event; // Token: 0x040020B1 RID: 8369 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40020B1")] private Transform[] g_Camera; // Token: 0x040020B2 RID: 8370 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40020B2")] private Transform[] g_Position; // Token: 0x040020B3 RID: 8371 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40020B3")] private CSVData g_ScriptData; // Token: 0x040020B4 RID: 8372 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40020B4")] private GameTextDataAdvance dialogueText; // Token: 0x040020B5 RID: 8373 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40020B5")] private int g_iStep; // Token: 0x040020B6 RID: 8374 [FieldOffset(Offset = "0x54")] [Token(Token = "0x40020B6")] private int g_iStepMax; // Token: 0x040020B7 RID: 8375 [FieldOffset(Offset = "0x58")] [Token(Token = "0x40020B7")] private bool g_bAutoStep; // Token: 0x040020B8 RID: 8376 [FieldOffset(Offset = "0x5C")] [Token(Token = "0x40020B8")] private float g_fAutoStep; // Token: 0x040020B9 RID: 8377 [FieldOffset(Offset = "0x60")] [Token(Token = "0x40020B9")] private bool g_bMove; // Token: 0x040020BA RID: 8378 [FieldOffset(Offset = "0x64")] [Token(Token = "0x40020BA")] private int g_iMoveSpeed; // Token: 0x040020BB RID: 8379 [FieldOffset(Offset = "0x68")] [Token(Token = "0x40020BB")] private Vector3 g_v3MovePosition; // Token: 0x040020BC RID: 8380 [FieldOffset(Offset = "0x74")] [Token(Token = "0x40020BC")] private bool g_bDialog; // Token: 0x040020BD RID: 8381 [FieldOffset(Offset = "0x78")] [Token(Token = "0x40020BD")] private string g_sDialogText; // Token: 0x040020BE RID: 8382 [FieldOffset(Offset = "0x80")] [Token(Token = "0x40020BE")] private string g_sDialogSpeaker; // Token: 0x040020BF RID: 8383 [FieldOffset(Offset = "0x88")] [Token(Token = "0x40020BF")] private int g_sDialogTextNum; // Token: 0x040020C0 RID: 8384 [FieldOffset(Offset = "0x8C")] [Token(Token = "0x40020C0")] private float g_fDialogSpeed; // Token: 0x040020C1 RID: 8385 [FieldOffset(Offset = "0x90")] [Token(Token = "0x40020C1")] private float g_fDialogSpeedVal; // Token: 0x040020C2 RID: 8386 [FieldOffset(Offset = "0x98")] [Token(Token = "0x40020C2")] private NPCManage[] g_EnemySpeak; // Token: 0x040020C3 RID: 8387 [FieldOffset(Offset = "0xA0")] [Token(Token = "0x40020C3")] private NPC g_NPCSpeak; // Token: 0x040020C4 RID: 8388 [FieldOffset(Offset = "0xA8")] [Token(Token = "0x40020C4")] private int g_iVoiceIndex; // Token: 0x040020C5 RID: 8389 [FieldOffset(Offset = "0xAC")] [Token(Token = "0x40020C5")] private int g_iSkipID; // Token: 0x040020C6 RID: 8390 [FieldOffset(Offset = "0xB0")] [Token(Token = "0x40020C6")] private bool g_bSwitchScene; // Token: 0x040020C7 RID: 8391 [FieldOffset(Offset = "0xB1")] [Token(Token = "0x40020C7")] private bool g_bStop; // Token: 0x040020C8 RID: 8392 [FieldOffset(Offset = "0xB2")] [Token(Token = "0x40020C8")] private bool g_bAniSpeak; // Token: 0x040020C9 RID: 8393 [FieldOffset(Offset = "0xB8")] [Token(Token = "0x40020C9")] private AudioSource g_asSpeakVoice; // Token: 0x040020CA RID: 8394 [FieldOffset(Offset = "0xC0")] [Token(Token = "0x40020CA")] private string g_sVersionText = "V011"; }