using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using MarsSDK;
using MEC;
using UnityEngine;

// Token: 0x020002EC RID: 748
[Token(Token = "0x20002EC")]
public class UIMagicLockController
{
	// Token: 0x06001BDD RID: 7133 RVA: 0x00043A38 File Offset: 0x00041C38
	[Token(Token = "0x6001BDD")]
	[Address(RVA = "0xE758F0", Offset = "0xE748F0", VA = "0x180E758F0")]
	public void InitIceLockSystem(GameObject prefab, Transform poolRoot)
	{
		GameObjectPool<UIMagicLock> gameObjectPool = new GameObjectPool(() => prefab, poolRoot);
		this.iceLockPool = gameObjectPool;
		throw new NullReferenceException();
	}

	// Token: 0x06001BDE RID: 7134 RVA: 0x00043A74 File Offset: 0x00041C74
	[Token(Token = "0x6001BDE")]
	[Address(RVA = "0x454210", Offset = "0x453210", VA = "0x180454210")]
	public void InitFireLockSystem(UIMagicLock uiFireLock)
	{
		/*
An exception occurred when decompiling this method (06001BDE)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UIMagicLockController::InitFireLockSystem(UIMagicLock)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:UIMagicLock(UIMagicLockController::uiFireLock, ldloc:UIMagicLockController(this), ldloc:UIMagicLock(uiFireLock)); }; 
   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: 0x06001BDF RID: 7135 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BDF")]
	[Address(RVA = "0xE753D0", Offset = "0xE743D0", VA = "0x180E753D0")]
	public void AddIceLockUI(Transform source)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BE0 RID: 7136 RVA: 0x00043A88 File Offset: 0x00041C88
	[Token(Token = "0x6001BE0")]
	[Address(RVA = "0xE75B10", Offset = "0xE74B10", VA = "0x180E75B10")]
	public void RemoveIceLockUI(Transform source)
	{
		UIMagicLock[] activePoolClone = this.iceLockPool.GetActivePoolClone();
		int num = 0;
		int length = activePoolClone.Length;
		if (num < length)
		{
			UIMagicLock uimagicLock = activePoolClone[num];
			if (!uimagicLock.IsSameLockTarget(source))
			{
				num++;
			}
			uimagicLock.Dispose();
			this.iceLockPool.Return(uimagicLock);
		}
	}

	// Token: 0x06001BE1 RID: 7137 RVA: 0x00043ADC File Offset: 0x00041CDC
	[Token(Token = "0x6001BE1")]
	[Address(RVA = "0xE75C30", Offset = "0xE74C30", VA = "0x180E75C30")]
	public void SwapIceLockTarget(Transform oldTarget, Transform newTarget)
	{
		UIMagicLock[] activePoolClone = this.iceLockPool.GetActivePoolClone();
		int num = 0;
		int length = activePoolClone.Length;
		if (num < length)
		{
			UIMagicLock uimagicLock = activePoolClone[num];
			Transform lockTarget = uimagicLock.lockTarget;
			int num2 = 0;
			if (!(lockTarget == num2))
			{
				int instanceID = uimagicLock.lockTarget.GetInstanceID();
				int instanceID2 = oldTarget.GetInstanceID();
				if (instanceID == instanceID2)
				{
					num++;
				}
			}
			uimagicLock.Appear(newTarget);
		}
	}

	// Token: 0x06001BE2 RID: 7138 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BE2")]
	[Address(RVA = "0xE754E0", Offset = "0xE744E0", VA = "0x180E754E0")]
	public void ClearAllIceLockUI()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BE3 RID: 7139 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BE3")]
	[Address(RVA = "0xE752F0", Offset = "0xE742F0", VA = "0x180E752F0")]
	public void AddFireLockUI(Transform source)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BE4 RID: 7140 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BE4")]
	[Address(RVA = "0xE75A10", Offset = "0xE74A10", VA = "0x180E75A10")]
	public void RemoveFireLockUI(Transform source)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BE5 RID: 7141 RVA: 0x00043B50 File Offset: 0x00041D50
	[Token(Token = "0x6001BE5")]
	[Address(RVA = "0xE75C10", Offset = "0xE74C10", VA = "0x180E75C10")]
	public void SwapFireLockTarget(Transform newTarget)
	{
		this.uiFireLock.Appear(newTarget);
	}

	// Token: 0x06001BE6 RID: 7142 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BE6")]
	[Address(RVA = "0xE755E0", Offset = "0xE745E0", VA = "0x180E755E0")]
	public void ClearFireLockUI()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BE7 RID: 7143 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BE7")]
	[Address(RVA = "0xE756C0", Offset = "0xE746C0", VA = "0x180E756C0")]
	public void Dispose()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BE8 RID: 7144 RVA: 0x00043B70 File Offset: 0x00041D70
	[Token(Token = "0x6001BE8")]
	[Address(RVA = "0x36ABD0", Offset = "0x369BD0", VA = "0x18036ABD0")]
	public UIMagicLockController()
	{
	}

	// Token: 0x06001BE9 RID: 7145 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BE9")]
	[Address(RVA = "0xE75DF0", Offset = "0xE74DF0", VA = "0x180E75DF0")]
	[CompilerGenerated]
	private IEnumerator<float> <AddIceLockUI>g__UpdateIceLockPosition|6_0()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BEA RID: 7146 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BEA")]
	[Address(RVA = "0xE75E60", Offset = "0xE74E60", VA = "0x180E75E60")]
	[CompilerGenerated]
	private IEnumerator<float> <ClearAllIceLockUI>g__RecycleUI|9_0()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BEB RID: 7147 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BEB")]
	[Address(RVA = "0xE75D80", Offset = "0xE74D80", VA = "0x180E75D80")]
	[CompilerGenerated]
	private IEnumerator<float> <AddFireLockUI>g__UpdateFireLockPosition|10_0()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001BEC RID: 7148 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001BEC")]
	[Address(RVA = "0xE75ED0", Offset = "0xE74ED0", VA = "0x180E75ED0")]
	[CompilerGenerated]
	private IEnumerator<float> <ClearFireLockUI>g__RecycleUI|13_0()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x040025BA RID: 9658
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x40025BA")]
	private GameObjectPool<UIMagicLock> iceLockPool;

	// Token: 0x040025BB RID: 9659
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40025BB")]
	private CoroutineHandle iceLockCoroutine;

	// Token: 0x040025BC RID: 9660
	[FieldOffset(Offset = "0x1C")]
	[Token(Token = "0x40025BC")]
	private CoroutineHandle fireLockCoroutine;

	// Token: 0x040025BD RID: 9661
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x40025BD")]
	private UIMagicLock uiFireLock;
}
