using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x020001CF RID: 463
[Token(Token = "0x20001CF")]
public class SwitchDevice : DamageObject
{
	// Token: 0x06001376 RID: 4982 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001376")]
	[Address(RVA = "0xABAA20", Offset = "0xAB9820", VA = "0x180ABAA20", Slot = "4")]
	public override void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001377 RID: 4983 RVA: 0x0002CA58 File Offset: 0x0002AC58
	[Token(Token = "0x6001377")]
	[Address(RVA = "0xABB0C0", Offset = "0xAB9EC0", VA = "0x180ABB0C0", 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: 0x06001378 RID: 4984 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001378")]
	[Address(RVA = "0xABB800", Offset = "0xABA600", VA = "0x180ABB800", Slot = "6")]
	protected override void Update()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001379 RID: 4985 RVA: 0x0002CA94 File Offset: 0x0002AC94
	[Token(Token = "0x6001379")]
	[Address(RVA = "0xABB010", Offset = "0xAB9E10", VA = "0x180ABB010", 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: 0x0600137A RID: 4986 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600137A")]
	[Address(RVA = "0xABA770", Offset = "0xAB9570", VA = "0x180ABA770", Slot = "9")]
	public override void HitPhysical(AttackData AD)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600137B RID: 4987 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600137B")]
	[Address(RVA = "0xABA850", Offset = "0xAB9650", VA = "0x180ABA850", Slot = "13")]
	public override void HitPhysical(float fStrength)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600137C RID: 4988 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600137C")]
	[Address(RVA = "0xABA4B0", Offset = "0xAB92B0", VA = "0x180ABA4B0", Slot = "10")]
	public override void HitMagic(AttackData AD)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600137D RID: 4989 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600137D")]
	[Address(RVA = "0xABB2E0", Offset = "0xABA0E0", VA = "0x180ABB2E0")]
	public void Open()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600137E RID: 4990 RVA: 0x0002CAD0 File Offset: 0x0002ACD0
	[Token(Token = "0x600137E")]
	[Address(RVA = "0xABB170", Offset = "0xAB9F70", VA = "0x180ABB170")]
	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: 0x0600137F RID: 4991 RVA: 0x0002CB38 File Offset: 0x0002AD38
	[Token(Token = "0x600137F")]
	[Address(RVA = "0xABB400", Offset = "0xABA200", VA = "0x180ABB400")]
	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: 0x06001380 RID: 4992 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001380")]
	[Address(RVA = "0xABA460", Offset = "0xAB9260", VA = "0x180ABA460")]
	public Vector3 GetCenter()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001381 RID: 4993 RVA: 0x0002CC6C File Offset: 0x0002AE6C
	[Token(Token = "0x6001381")]
	[Address(RVA = "0xABC880", Offset = "0xABB680", VA = "0x180ABC880")]
	public SwitchDevice()
	{
	}

	// Token: 0x04001E4E RID: 7758
	[FieldOffset(Offset = "0xE0")]
	[Token(Token = "0x4001E4E")]
	public ParticleSystem PS;

	// Token: 0x04001E4F RID: 7759
	[FieldOffset(Offset = "0xE8")]
	[Token(Token = "0x4001E4F")]
	public GameObject DamageEffect;

	// Token: 0x04001E50 RID: 7760
	[FieldOffset(Offset = "0xF0")]
	[Token(Token = "0x4001E50")]
	public GameObject ShowEffect;

	// Token: 0x04001E51 RID: 7761
	[FieldOffset(Offset = "0xF8")]
	[Token(Token = "0x4001E51")]
	public SceneEvent[] ReleaseSceneEvent;

	// Token: 0x04001E52 RID: 7762
	[FieldOffset(Offset = "0x100")]
	[Token(Token = "0x4001E52")]
	public SceneEvent[] OpenSceneEvent;

	// Token: 0x04001E53 RID: 7763
	[FieldOffset(Offset = "0x108")]
	[Token(Token = "0x4001E53")]
	public NPCManage[] KillEnemy;

	// Token: 0x04001E54 RID: 7764
	[FieldOffset(Offset = "0x110")]
	[Token(Token = "0x4001E54")]
	public bool Passive;

	// Token: 0x04001E55 RID: 7765
	[FieldOffset(Offset = "0x114")]
	[Token(Token = "0x4001E55")]
	public float AutoCureHP;

	// Token: 0x04001E56 RID: 7766
	[FieldOffset(Offset = "0x118")]
	[Token(Token = "0x4001E56")]
	protected BoxCollider bcPlayerBlock;

	// Token: 0x04001E57 RID: 7767
	[FieldOffset(Offset = "0x120")]
	[Token(Token = "0x4001E57")]
	private Material g_Mat;

	// Token: 0x04001E58 RID: 7768
	[FieldOffset(Offset = "0x128")]
	[Token(Token = "0x4001E58")]
	private float g_fTime;

	// Token: 0x04001E59 RID: 7769
	[FieldOffset(Offset = "0x130")]
	[Token(Token = "0x4001E59")]
	protected new EffectPool g_DamageEffect;

	// Token: 0x04001E5A RID: 7770
	[FieldOffset(Offset = "0x138")]
	[Token(Token = "0x4001E5A")]
	protected EffectPool g_ShowEffect;

	// Token: 0x04001E5B RID: 7771
	[FieldOffset(Offset = "0x140")]
	[Token(Token = "0x4001E5B")]
	protected Vector3 g_v3DamageEffectPos;

	// Token: 0x04001E5C RID: 7772
	[FieldOffset(Offset = "0x14C")]
	[Token(Token = "0x4001E5C")]
	protected Color g_AlbedoColor;

	// Token: 0x04001E5D RID: 7773
	[FieldOffset(Offset = "0x15C")]
	[Token(Token = "0x4001E5D")]
	protected Color g_EmissionColor;

	// Token: 0x04001E5E RID: 7774
	[Token(Token = "0x4001E5E")]
	private const float g_ColorSpeed = 4f;

	// Token: 0x04001E5F RID: 7775
	[FieldOffset(Offset = "0x16C")]
	[Token(Token = "0x4001E5F")]
	private bool g_bOpenOtherDevice;

	// Token: 0x04001E60 RID: 7776
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x4001E60")]
	private float g_fOpenOtherDeviceTime;

	// Token: 0x04001E61 RID: 7777
	[FieldOffset(Offset = "0x174")]
	[Token(Token = "0x4001E61")]
	private float g_fVolume;

	// Token: 0x04001E62 RID: 7778
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x4001E62")]
	protected bool g_bSound = true;
}
