using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x020001C8 RID: 456
[Token(Token = "0x20001C8")]
public class DamagedObjectFloor_BossBig03 : AttackableObject
{
	// Token: 0x0600142E RID: 5166 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600142E")]
	[Address(RVA = "0x12F98C0", Offset = "0x12F88C0", VA = "0x1812F98C0", Slot = "4")]
	public override void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600142F RID: 5167 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600142F")]
	[Address(RVA = "0x12FA5C0", Offset = "0x12F95C0", VA = "0x1812FA5C0", Slot = "6")]
	protected override void Update()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001430 RID: 5168 RVA: 0x0002E018 File Offset: 0x0002C218
	[Token(Token = "0x6001430")]
	[Address(RVA = "0x12F9CD0", Offset = "0x12F8CD0", VA = "0x1812F9CD0", Slot = "12")]
	protected virtual void SetDamageColor()
	{
		float num = this.g_fDisTimeVal;
		int num2 = 0;
		if (num <= (float)num2)
		{
			float num3 = this.g_fAlpha;
			if (num3 <= (float)num2)
			{
				GameObject gameObject = base.gameObject;
				int num4 = 0;
				gameObject.SetActive(num4 != 0);
			}
			this.g_fAlpha = num3;
			GameObject damageObject = this.DamageObject;
			int num5 = 0;
			int childCount = damageObject.transform.childCount;
			if (num5 >= childCount)
			{
				return;
			}
			MeshRenderer component = this.DamageObject.transform.GetChild(num5).GetComponent<MeshRenderer>();
			int num6 = 0;
			if (component != num6)
			{
				Material material = component.GetMaterial();
				float num7 = this.g_fAlpha;
				material.SetFloat("_Alpha", num7);
			}
			GameObject damageObject2 = this.DamageObject;
			num5++;
		}
		if (this.DamageObject.GetComponent<SphereCollider>().enabled)
		{
			SphereCollider component2 = this.DamageObject.GetComponent<SphereCollider>();
			int num8 = 0;
			component2.enabled = num8 != 0;
		}
		float num9 = this.g_fDisTimeVal;
		this.g_fDisTimeVal = num9;
	}

	// Token: 0x06001431 RID: 5169 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001431")]
	[Address(RVA = "0x12F9F00", Offset = "0x12F8F00", VA = "0x1812F9F00")]
	public void SetDamage()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001432 RID: 5170 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001432")]
	[Address(RVA = "0x12FA1C0", Offset = "0x12F91C0", VA = "0x1812FA1C0")]
	public void SetRecovery()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001433 RID: 5171 RVA: 0x0002E114 File Offset: 0x0002C314
	[Token(Token = "0x6001433")]
	[Address(RVA = "0x12FA470", Offset = "0x12F9470", VA = "0x1812FA470", Slot = "11")]
	public override void SetTimeScale(float fTimeScale)
	{
		/*
An exception occurred when decompiling this method (06001433)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void DamagedObjectFloor_BossBig03::SetTimeScale(System.Single)

 ---> System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'length')
   at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
   at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 51
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 401
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 276
   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 112
   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: 0x06001434 RID: 5172 RVA: 0x0002E198 File Offset: 0x0002C398
	[Token(Token = "0x6001434")]
	[Address(RVA = "0x96BE70", Offset = "0x96AE70", VA = "0x18096BE70")]
	public bool GetIsDamage()
	{
		return this.g_bDamage;
	}

	// Token: 0x06001435 RID: 5173 RVA: 0x0002E1AC File Offset: 0x0002C3AC
	[Token(Token = "0x6001435")]
	[Address(RVA = "0x12FA610", Offset = "0x12F9610", VA = "0x1812FA610")]
	public DamagedObjectFloor_BossBig03()
	{
	}

	// Token: 0x04001E8E RID: 7822
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x4001E8E")]
	public GameObject DamageObject;

	// Token: 0x04001E8F RID: 7823
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x4001E8F")]
	public GameObject DamageEffectObject;

	// Token: 0x04001E90 RID: 7824
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x4001E90")]
	public GameObject HitEffectObject;

	// Token: 0x04001E91 RID: 7825
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x4001E91")]
	private float g_fOriginalMass = 1f;

	// Token: 0x04001E92 RID: 7826
	[FieldOffset(Offset = "0x84")]
	[Token(Token = "0x4001E92")]
	private float g_fOriginalAngularDrag = 0.05f;

	// Token: 0x04001E93 RID: 7827
	[FieldOffset(Offset = "0x88")]
	[Token(Token = "0x4001E93")]
	protected bool g_bDamage;

	// Token: 0x04001E94 RID: 7828
	[Token(Token = "0x4001E94")]
	protected const float g_fDisTime = 5f;

	// Token: 0x04001E95 RID: 7829
	[FieldOffset(Offset = "0x8C")]
	[Token(Token = "0x4001E95")]
	protected float g_fDisTimeVal;

	// Token: 0x04001E96 RID: 7830
	[FieldOffset(Offset = "0x90")]
	[Token(Token = "0x4001E96")]
	protected float g_fAlpha = 1f;

	// Token: 0x04001E97 RID: 7831
	[FieldOffset(Offset = "0x98")]
	[Token(Token = "0x4001E97")]
	private EffectPool g_DamageEffect;

	// Token: 0x04001E98 RID: 7832
	[FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x4001E98")]
	private EffectPool g_HitEffect;

	// Token: 0x04001E99 RID: 7833
	[FieldOffset(Offset = "0xA8")]
	[Token(Token = "0x4001E99")]
	private Vector3[] DamageObjectPosiont;

	// Token: 0x04001E9A RID: 7834
	[FieldOffset(Offset = "0xB0")]
	[Token(Token = "0x4001E9A")]
	private Quaternion[] DamageObjectRotation;
}
