using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using DG.Tweening;
using MarsSDK;
using MEC;
using UnityEngine;
using UnityEngine.UI;

// Token: 0x020002FE RID: 766
[Token(Token = "0x20002FE")]
public class UIEnemyHp : MonoBehaviour
{
	// Token: 0x17000133 RID: 307
	// (get) Token: 0x06001C40 RID: 7232 RVA: 0x00044288 File Offset: 0x00042488
	[Token(Token = "0x17000133")]
	public GameObject EnemyHpTemplate
	{
		[Token(Token = "0x6001C40")]
		[Address(RVA = "0x2EF530", Offset = "0x2EE530", VA = "0x1802EF530")]
		get
		{
			return this.enemyHpPrefab;
		}
	}

	// Token: 0x17000134 RID: 308
	// (get) Token: 0x06001C41 RID: 7233 RVA: 0x0004429C File Offset: 0x0004249C
	[Token(Token = "0x17000134")]
	public UICombatDialogue CombatDialogue
	{
		[Token(Token = "0x6001C41")]
		[Address(RVA = "0x3352E0", Offset = "0x3342E0", VA = "0x1803352E0")]
		get
		{
			return this.combatDialogue;
		}
	}

	// Token: 0x06001C42 RID: 7234 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001C42")]
	[Address(RVA = "0x19DC4C0", Offset = "0x19DB4C0", VA = "0x1819DC4C0")]
	public void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001C43 RID: 7235 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001C43")]
	[Address(RVA = "0x19DC0C0", Offset = "0x19DB0C0", VA = "0x1819DC0C0")]
	public void AddEnemyHPBar(EnemiesManager.EnemyData data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001C44 RID: 7236 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001C44")]
	[Address(RVA = "0x19DC920", Offset = "0x19DB920", VA = "0x1819DC920")]
	public void SetBossHP(CharacterBaseData bossData, Func<string> bossNameHandler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001C45 RID: 7237 RVA: 0x000442B0 File Offset: 0x000424B0
	[Token(Token = "0x6001C45")]
	[Address(RVA = "0x19DC1B0", Offset = "0x19DB1B0", VA = "0x1819DC1B0")]
	public void Dispose()
	{
		CoroutineHandle[] array = new CoroutineHandle[2];
		int length = array.Length;
		CoroutineHandle coroutineHandle = this.enemyHPCoroutine;
		array[0] = coroutineHandle;
		CoroutineHandle coroutineHandle2 = this.bossHPCoroutine;
		array[0] = coroutineHandle2;
		int num = Timing.KillCoroutines(array);
		UICombatDialogue uicombatDialogue = this.combatDialogue;
		Tween bossProcessor = uicombatDialogue.bossProcessor;
		if (bossProcessor != 0)
		{
			int num2 = 0;
			bossProcessor.Kill(num2 != 0);
		}
		Tween partnerProcessor = uicombatDialogue.partnerProcessor;
		if (partnerProcessor != 0)
		{
			int num3 = 0;
			partnerProcessor.Kill(num3 != 0);
		}
	}

	// Token: 0x06001C46 RID: 7238 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001C46")]
	[Address(RVA = "0x19DC2A0", Offset = "0x19DB2A0", VA = "0x1819DC2A0")]
	private UIEnemyHPUpdater GenerateUpdater()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001C47 RID: 7239 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001C47")]
	[Address(RVA = "0x19DC810", Offset = "0x19DB810", VA = "0x1819DC810")]
	private void ReturnUpdater(UIEnemyHPUpdater source)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001C48 RID: 7240 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001C48")]
	[Address(RVA = "0x19DCBA0", Offset = "0x19DBBA0", VA = "0x1819DCBA0")]
	private IEnumerator<float> UpdateEnemyHPBars()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001C49 RID: 7241 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001C49")]
	[Address(RVA = "0x19DCAA0", Offset = "0x19DBAA0", VA = "0x1819DCAA0")]
	private IEnumerator<float> UpdateBossHPBar()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001C4A RID: 7242 RVA: 0x00044334 File Offset: 0x00042534
	[Token(Token = "0x6001C4A")]
	[Address(RVA = "0x19DCB10", Offset = "0x19DBB10", VA = "0x1819DCB10")]
	private void UpdateBossNameLabel()
	{
		Func<string> func = this.bossNameHandler;
		Text text = this.bossNameLabel;
		if (func == 0 || func() == 0)
		{
		}
		((ICanvasElement)text).GraphicUpdateComplete();
	}

	// Token: 0x06001C4B RID: 7243 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001C4B")]
	[Address(RVA = "0x19DC450", Offset = "0x19DB450", VA = "0x1819DC450")]
	private IEnumerator<float> HideBossHPBar()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001C4C RID: 7244 RVA: 0x00044368 File Offset: 0x00042568
	[Token(Token = "0x6001C4C")]
	[Address(RVA = "0x19DC7B0", Offset = "0x19DB7B0", VA = "0x1819DC7B0")]
	public void Localize(LocalizationData data)
	{
		this.needUpdateBossName = true;
		GameFontPack fontPack = data.fontPack;
		Text text = this.bossNameLabel;
		Font regular = fontPack.regular;
		text.font = regular;
		UICombatDialogue uicombatDialogue = this.combatDialogue;
		GameFontPack fontPack2 = data.fontPack;
		uicombatDialogue.Localize(fontPack2);
	}

	// Token: 0x06001C4D RID: 7245 RVA: 0x000443B8 File Offset: 0x000425B8
	[Token(Token = "0x6001C4D")]
	[Address(RVA = "0x328C40", Offset = "0x327C40", VA = "0x180328C40")]
	public UIEnemyHp()
	{
	}

	// Token: 0x04002644 RID: 9796
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4002644")]
	[SerializeField]
	private GameObject enemyHpPrefab;

	// Token: 0x04002645 RID: 9797
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4002645")]
	[SerializeField]
	private RectTransform bossHpRoot;

	// Token: 0x04002646 RID: 9798
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4002646")]
	[SerializeField]
	private CanvasGroup bossHpCanvasGroup;

	// Token: 0x04002647 RID: 9799
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4002647")]
	[SerializeField]
	private Image bossHpImage;

	// Token: 0x04002648 RID: 9800
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4002648")]
	[SerializeField]
	private Image bossHpUnderImage;

	// Token: 0x04002649 RID: 9801
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4002649")]
	[SerializeField]
	private Text bossNameLabel;

	// Token: 0x0400264A RID: 9802
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x400264A")]
	[SerializeField]
	private UICombatDialogue combatDialogue;

	// Token: 0x0400264B RID: 9803
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x400264B")]
	private ObjectPool<UIEnemyHPUpdater> hpUpdaterPool;

	// Token: 0x0400264C RID: 9804
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x400264C")]
	private Action<UIEnemyHPUpdater> hpUpdaterProcessor;

	// Token: 0x0400264D RID: 9805
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x400264D")]
	private float bossHpScale;

	// Token: 0x0400264E RID: 9806
	[FieldOffset(Offset = "0x64")]
	[Token(Token = "0x400264E")]
	private float bossHpFrameScale;

	// Token: 0x0400264F RID: 9807
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x400264F")]
	private CharacterBaseData bossData;

	// Token: 0x04002650 RID: 9808
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x4002650")]
	private Func<string> bossNameHandler;

	// Token: 0x04002651 RID: 9809
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x4002651")]
	private CoroutineHandle enemyHPCoroutine;

	// Token: 0x04002652 RID: 9810
	[FieldOffset(Offset = "0x7C")]
	[Token(Token = "0x4002652")]
	private CoroutineHandle bossHPCoroutine;

	// Token: 0x04002653 RID: 9811
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x4002653")]
	private bool needUpdateBossName;
}
