using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x0200020C RID: 524
[Token(Token = "0x200020C")]
public class SwitchDevice : DamageObject
{
	// Token: 0x0600152A RID: 5418 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600152A")]
	[Address(RVA = "0x98B540", Offset = "0x98A540", VA = "0x18098B540", Slot = "4")]
	public override void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600152B RID: 5419 RVA: 0x000302DC File Offset: 0x0002E4DC
	[Token(Token = "0x600152B")]
	[Address(RVA = "0x98BBE0", Offset = "0x98ABE0", VA = "0x18098BBE0", Slot = "5")]
	protected override void OnEnable()
	{
		base.OnEnable();
		NPCManage componentInChildren = this.Original.GetComponentInChildren<NPCManage>(true);
		int num = 0;
		if (componentInChildren != num)
		{
			componentInChildren.SetLockPoint(true);
			return;
		}
	}

	// Token: 0x0600152C RID: 5420 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600152C")]
	[Address(RVA = "0x98C360", Offset = "0x98B360", VA = "0x18098C360", Slot = "6")]
	protected override void Update()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600152D RID: 5421 RVA: 0x00030318 File Offset: 0x0002E518
	[Token(Token = "0x600152D")]
	[Address(RVA = "0x98BB30", Offset = "0x98AB30", VA = "0x18098BB30", Slot = "7")]
	protected override void OnDisable()
	{
		base.OnDisable();
		NPCManage componentInChildren = this.Original.GetComponentInChildren<NPCManage>(true);
		int num = 0;
		if (componentInChildren != num)
		{
			int num2 = 0;
			componentInChildren.SetLockPoint(num2 != 0);
			return;
		}
	}

	// Token: 0x0600152E RID: 5422 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600152E")]
	[Address(RVA = "0x98B290", Offset = "0x98A290", VA = "0x18098B290", Slot = "9")]
	public override void HitPhysical(AttackData AD)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600152F RID: 5423 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600152F")]
	[Address(RVA = "0x98B370", Offset = "0x98A370", VA = "0x18098B370", Slot = "13")]
	public override void HitPhysical(float fStrength)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001530 RID: 5424 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001530")]
	[Address(RVA = "0x98AFD0", Offset = "0x989FD0", VA = "0x18098AFD0", Slot = "10")]
	public override void HitMagic(AttackData AD)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001531 RID: 5425 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001531")]
	[Address(RVA = "0x98BE00", Offset = "0x98AE00", VA = "0x18098BE00")]
	public void Open()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001532 RID: 5426 RVA: 0x00030354 File Offset: 0x0002E554
	[Token(Token = "0x6001532")]
	[Address(RVA = "0x98BC90", Offset = "0x98AC90", VA = "0x18098BC90")]
	private void OpenOtherDevice()
	{
		if (this.ReleaseSceneEvent.Length > 0)
		{
			int num = 0;
			SceneEvent sceneEvent = this.ReleaseSceneEvent[num];
			int num2 = 0;
			if (sceneEvent != num2 && !this.ReleaseSceneEvent[num].GetIsOpenEvent())
			{
				this.ReleaseSceneEvent[num].OpenEvent();
			}
			num++;
		}
	}

	// Token: 0x06001533 RID: 5427 RVA: 0x000303BC File Offset: 0x0002E5BC
	[Token(Token = "0x6001533")]
	[Address(RVA = "0x98BF20", Offset = "0x98AF20", VA = "0x18098BF20")]
	protected void ReleaseDevice()
	{
		int length = this.ReleaseSceneEvent.Length;
		int num = 0;
		if (length > 0)
		{
			SceneEvent sceneEvent = this.ReleaseSceneEvent[num];
			int num2 = 0;
			if (!(sceneEvent != num2))
			{
				Debug.Log(base.name + ":找不到解除場景裝置");
			}
			this.ReleaseSceneEvent[num].ReleaseEvent();
			num++;
		}
		if (this.OpenSceneEvent.Length > 0)
		{
			SceneEvent sceneEvent2 = this.OpenSceneEvent[num];
			int num3 = 0;
			string text;
			if (!(sceneEvent2 != num3))
			{
				text = base.name + ":找不到開啟場景裝置";
				Debug.Log(text);
			}
			this.OpenSceneEvent[text].OpenEvent();
			num++;
		}
		if (this.KillEnemy.Length > 0)
		{
			NPCManage npcmanage = this.KillEnemy[num];
			int num4 = 0;
			string text2;
			if (!(npcmanage != num4))
			{
				text2 = base.name + ":找不到怪物";
				Debug.Log(text2);
			}
			this.KillEnemy[text2].SetAIStatus(AI_NPC.AIStatus.Death);
			num++;
		}
		BoxCollider boxCollider = this.bcPlayerBlock;
		int num5 = 0;
		boxCollider.enabled = num5 != 0;
	}

	// Token: 0x06001534 RID: 5428 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001534")]
	[Address(RVA = "0x98AF80", Offset = "0x989F80", VA = "0x18098AF80")]
	public Vector3 GetCenter()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001535 RID: 5429 RVA: 0x000304F0 File Offset: 0x0002E6F0
	[Token(Token = "0x6001535")]
	[Address(RVA = "0x98C320", Offset = "0x98B320", VA = "0x18098C320", Slot = "11")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		Common.SetEffectTimeScale(this.PS, fTimeScale);
	}

	// Token: 0x06001536 RID: 5430 RVA: 0x00030510 File Offset: 0x0002E710
	[Token(Token = "0x6001536")]
	[Address(RVA = "0x98D3E0", Offset = "0x98C3E0", VA = "0x18098D3E0")]
	public SwitchDevice()
	{
	}

	// Token: 0x04002024 RID: 8228
	[FieldOffset(Offset = "0x108")]
	[Token(Token = "0x4002024")]
	public ParticleSystem PS;

	// Token: 0x04002025 RID: 8229
	[FieldOffset(Offset = "0x110")]
	[Token(Token = "0x4002025")]
	public GameObject DamageEffect;

	// Token: 0x04002026 RID: 8230
	[FieldOffset(Offset = "0x118")]
	[Token(Token = "0x4002026")]
	public GameObject ShowEffect;

	// Token: 0x04002027 RID: 8231
	[FieldOffset(Offset = "0x120")]
	[Token(Token = "0x4002027")]
	public SceneEvent[] ReleaseSceneEvent;

	// Token: 0x04002028 RID: 8232
	[FieldOffset(Offset = "0x128")]
	[Token(Token = "0x4002028")]
	public SceneEvent[] OpenSceneEvent;

	// Token: 0x04002029 RID: 8233
	[FieldOffset(Offset = "0x130")]
	[Token(Token = "0x4002029")]
	public NPCManage[] KillEnemy;

	// Token: 0x0400202A RID: 8234
	[FieldOffset(Offset = "0x138")]
	[Token(Token = "0x400202A")]
	public bool Passive;

	// Token: 0x0400202B RID: 8235
	[FieldOffset(Offset = "0x13C")]
	[Token(Token = "0x400202B")]
	public float AutoCureHP;

	// Token: 0x0400202C RID: 8236
	[FieldOffset(Offset = "0x140")]
	[Token(Token = "0x400202C")]
	protected BoxCollider bcPlayerBlock;

	// Token: 0x0400202D RID: 8237
	[FieldOffset(Offset = "0x148")]
	[Token(Token = "0x400202D")]
	private Material g_Mat;

	// Token: 0x0400202E RID: 8238
	[FieldOffset(Offset = "0x150")]
	[Token(Token = "0x400202E")]
	private float g_fTime;

	// Token: 0x0400202F RID: 8239
	[FieldOffset(Offset = "0x158")]
	[Token(Token = "0x400202F")]
	protected new EffectPool g_DamageEffect;

	// Token: 0x04002030 RID: 8240
	[FieldOffset(Offset = "0x160")]
	[Token(Token = "0x4002030")]
	protected EffectPool g_ShowEffect;

	// Token: 0x04002031 RID: 8241
	[FieldOffset(Offset = "0x168")]
	[Token(Token = "0x4002031")]
	protected Vector3 g_v3DamageEffectPos;

	// Token: 0x04002032 RID: 8242
	[FieldOffset(Offset = "0x174")]
	[Token(Token = "0x4002032")]
	protected Color g_AlbedoColor;

	// Token: 0x04002033 RID: 8243
	[FieldOffset(Offset = "0x184")]
	[Token(Token = "0x4002033")]
	protected Color g_EmissionColor;

	// Token: 0x04002034 RID: 8244
	[Token(Token = "0x4002034")]
	private const float g_ColorSpeed = 4f;

	// Token: 0x04002035 RID: 8245
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x4002035")]
	private bool g_bOpenOtherDevice;

	// Token: 0x04002036 RID: 8246
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x4002036")]
	private float g_fOpenOtherDeviceTime;

	// Token: 0x04002037 RID: 8247
	[FieldOffset(Offset = "0x19C")]
	[Token(Token = "0x4002037")]
	private float g_fVolume;

	// Token: 0x04002038 RID: 8248
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x4002038")]
	protected bool g_bSound = true;
}
