using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x020001C6 RID: 454
[Token(Token = "0x20001C6")]
public class ScriptSceneEventEnable : MonoBehaviour
{
	// Token: 0x170000BD RID: 189
	// (get) Token: 0x0600135B RID: 4955 RVA: 0x0002C758 File Offset: 0x0002A958
	[Token(Token = "0x170000BD")]
	private GameSave GameSave
	{
		[Token(Token = "0x600135B")]
		[Address(RVA = "0x4442B0", Offset = "0x4430B0", VA = "0x1804442B0")]
		get
		{
			return Game.GameSave;
		}
	}

	// Token: 0x170000BE RID: 190
	// (get) Token: 0x0600135C RID: 4956 RVA: 0x0002C76C File Offset: 0x0002A96C
	[Token(Token = "0x170000BE")]
	private StageFlagData Flags
	{
		[Token(Token = "0x600135C")]
		[Address(RVA = "0x444250", Offset = "0x443050", VA = "0x180444250")]
		get
		{
			return Game.GameSave.flags;
		}
	}

	// Token: 0x0600135D RID: 4957 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600135D")]
	[Address(RVA = "0x440BA0", Offset = "0x43F9A0", VA = "0x180440BA0")]
	public void CloseScriptEvent()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600135E RID: 4958 RVA: 0x0002C78C File Offset: 0x0002A98C
	[Token(Token = "0x600135E")]
	[Address(RVA = "0x4440D0", Offset = "0x442ED0", VA = "0x1804440D0")]
	private void Close()
	{
		SceneEvent[] @event = this.Event;
		int num = 0;
		if (num < @event.Length)
		{
			GameObject gameObject = @event[num].gameObject;
			int num2 = 0;
			gameObject.SetActive(num2 != 0);
			SceneEvent[] event2 = this.Event;
			num++;
		}
		AttackableObject[] checkAttackableObject = this.CheckAttackableObject;
		if (num < checkAttackableObject.Length)
		{
			GameObject gameObject2 = checkAttackableObject[num].gameObject;
			int num3 = 0;
			gameObject2.SetActive(num3 != 0);
			AttackableObject[] checkAttackableObject2 = this.CheckAttackableObject;
			num++;
			while (checkAttackableObject2 != 0)
			{
			}
		}
		DoorSwitch[] switchOn = this.SwitchOn;
		if (num < switchOn.Length)
		{
			switchOn[num].SaveSwitchOn();
			DoorSwitch[] switchOn2 = this.SwitchOn;
			num++;
			while (switchOn2 != 0)
			{
			}
		}
	}

	// Token: 0x0600135F RID: 4959 RVA: 0x0002C844 File Offset: 0x0002AA44
	[Token(Token = "0x600135F")]
	[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
	public ScriptSceneEventEnable()
	{
	}

	// Token: 0x04001E2A RID: 7722
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001E2A")]
	public SaveSystem.ScriptType EventType;

	// Token: 0x04001E2B RID: 7723
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001E2B")]
	public SceneEvent[] Event;

	// Token: 0x04001E2C RID: 7724
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4001E2C")]
	public AttackableObject[] CheckAttackableObject;

	// Token: 0x04001E2D RID: 7725
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4001E2D")]
	public DoorSwitch[] SwitchOn;

	// Token: 0x04001E2E RID: 7726
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001E2E")]
	public GameObject[] Special;
}
