using System; using Cpp2IlInjected; using RootMotion.FinalIK; using UnityEngine; using UnityEngine.AI; // Token: 0x020000C1 RID: 193 [Token(Token = "0x20000C1")] public class NPC_GhostB : NPC { // Token: 0x06000847 RID: 2119 RVA: 0x00012104 File Offset: 0x00010304 [Token(Token = "0x6000847")] [Address(RVA = "0xF14BD0", Offset = "0xF13BD0", VA = "0x180F14BD0", Slot = "4")] public override void Init() { Animator component = base.GetComponent(); this.g_Ani = component; MoveController moveController = new MoveController(); this.g_Move = moveController; MoveController g_Move = this.g_Move; Transform transform = base.transform; g_Move.Init(transform); this.g_Move.gravity = 10f; this.g_Move.SetDragRotation(0.6f); NavMeshPath navMeshPath = new NavMeshPath(); this.g_NavPath = navMeshPath; float g_fWalkSpeed = this.g_fWalkSpeed; this.g_fNavMoveSpeed = g_fWalkSpeed; Transform transform2 = base.transform.Find("IK"); int num = 0; bool flag = transform2 != num; int num2 = 0; if (flag) { LookAtIK component2 = transform2.GetComponent(); this.g_LookAt = component2; Transform target = this.g_LookAt.solver.target; this.g_LookAtTarget = target; this.g_LookAtTargetSet = num2; } this.g_bLookAtEnable = num2 != 0; this.g_fLookAtWeight = (float)num2; Transform transform3 = base.transform.Find("Dialogue"); int num3 = 0; Dialogue g_Dialog; if (!(transform3 == num3)) { Dialogue component3 = transform3.GetComponent(); this.g_Dialog = component3; g_Dialog = this.g_Dialog; int num4 = 0; if (g_Dialog == num4) { Debug.LogError("Dialogue錯誤"); } this.g_Dialog.Init(); GameObject gameObject = this.g_Dialog.gameObject; int num5 = 0; gameObject.SetActive(num5 != 0); } this.g_Dialog = g_Dialog; GameObject semoveObject = this.SEMoveObject; int num6 = 0; if (semoveObject != num6) { GameObject semoveObject2 = this.SEMoveObject; Transform transform4 = base.transform; SoundEffect soundEffectOfPrefabs = Common.GetSoundEffectOfPrefabs(semoveObject2, transform4); this.g_SEMove = soundEffectOfPrefabs; Game.BindStageTimeScale(this.g_SEMove); this.g_SEMove.DistanceMin = 6f; this.g_SEMove.DistanceMax = 30f; } } // Token: 0x06000848 RID: 2120 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6000848")] [Address(RVA = "0xF150E0", Offset = "0xF140E0", VA = "0x180F150E0", Slot = "6")] protected override void Update() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06000849 RID: 2121 RVA: 0x000122D8 File Offset: 0x000104D8 [Token(Token = "0x6000849")] [Address(RVA = "0xF15040", Offset = "0xF14040", VA = "0x180F15040", Slot = "5")] protected override void OnEnable() { base.OnEnable(); SoundEffect soundEffect = this.g_SEMove; int num = 0; if (soundEffect != num) { this.g_SEMove.PlayRandom(1f, 1f); } } // Token: 0x0600084A RID: 2122 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600084A")] [Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0")] public void PlayFireMagicShot() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600084B RID: 2123 RVA: 0x0001231C File Offset: 0x0001051C [Token(Token = "0x600084B")] [Address(RVA = "0xF12AD0", Offset = "0xF11AD0", VA = "0x180F12AD0")] public NPC_GhostB() { } // Token: 0x04000965 RID: 2405 [FieldOffset(Offset = "0x108")] [Token(Token = "0x4000965")] public GameObject SEMoveObject; // Token: 0x04000966 RID: 2406 [FieldOffset(Offset = "0x110")] [Token(Token = "0x4000966")] public GameObject SEChargeObject; // Token: 0x04000967 RID: 2407 [FieldOffset(Offset = "0x118")] [Token(Token = "0x4000967")] private SoundEffect g_SEMove; // Token: 0x04000968 RID: 2408 [FieldOffset(Offset = "0x120")] [Token(Token = "0x4000968")] private SoundEffect g_SECharge; }