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

// Token: 0x020002B1 RID: 689
[Token(Token = "0x20002B1")]
public class UIEnemyHp : MonoBehaviour
{
	// Token: 0x17000121 RID: 289
	// (get) Token: 0x06001A00 RID: 6656 RVA: 0x0003E7A4 File Offset: 0x0003C9A4
	[Token(Token = "0x17000121")]
	public GameObject EnemyHpTemplate
	{
		[Token(Token = "0x6001A00")]
		[Address(RVA = "0x2B4380", Offset = "0x2B3180", VA = "0x1802B4380")]
		get
		{
			return this.enemyHpPrefab;
		}
	}

	// Token: 0x17000122 RID: 290
	// (get) Token: 0x06001A01 RID: 6657 RVA: 0x0003E7B8 File Offset: 0x0003C9B8
	[Token(Token = "0x17000122")]
	public UICombatDialogue CombatDialogue
	{
		[Token(Token = "0x6001A01")]
		[Address(RVA = "0x3147B0", Offset = "0x3135B0", VA = "0x1803147B0")]
		get
		{
			return this.combatDialogue;
		}
	}

	// Token: 0x06001A02 RID: 6658 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A02")]
	[Address(RVA = "0x7612E0", Offset = "0x7600E0", VA = "0x1807612E0")]
	public void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A03 RID: 6659 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A03")]
	[Address(RVA = "0x760EE0", Offset = "0x75FCE0", VA = "0x180760EE0")]
	public void AddEnemyHPBar(EnemiesManager.EnemyData data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A04 RID: 6660 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A04")]
	[Address(RVA = "0x761740", Offset = "0x760540", VA = "0x180761740")]
	public void SetBossHP(CharacterBaseData bossData, Func<string> bossNameHandler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A05 RID: 6661 RVA: 0x0003E7CC File Offset: 0x0003C9CC
	[Token(Token = "0x6001A05")]
	[Address(RVA = "0x760FD0", Offset = "0x75FDD0", VA = "0x180760FD0")]
	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: 0x06001A06 RID: 6662 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A06")]
	[Address(RVA = "0x7610C0", Offset = "0x75FEC0", VA = "0x1807610C0")]
	private UIEnemyHPUpdater GenerateUpdater()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A07 RID: 6663 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A07")]
	[Address(RVA = "0x761630", Offset = "0x760430", VA = "0x180761630")]
	private void ReturnUpdater(UIEnemyHPUpdater source)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A08 RID: 6664 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A08")]
	[Address(RVA = "0x7619C0", Offset = "0x7607C0", VA = "0x1807619C0")]
	private IEnumerator<float> UpdateEnemyHPBars()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A09 RID: 6665 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A09")]
	[Address(RVA = "0x7618C0", Offset = "0x7606C0", VA = "0x1807618C0")]
	private IEnumerator<float> UpdateBossHPBar()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A0A RID: 6666 RVA: 0x0003E850 File Offset: 0x0003CA50
	[Token(Token = "0x6001A0A")]
	[Address(RVA = "0x761930", Offset = "0x760730", VA = "0x180761930")]
	private void UpdateBossNameLabel()
	{
		Func<string> func = this.bossNameHandler;
		Text text = this.bossNameLabel;
		if (func == 0 || func() == 0)
		{
		}
		bool dtdValidation = ((IDtdParserAdapterWithValidation)text).DtdValidation;
	}

	// Token: 0x06001A0B RID: 6667 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A0B")]
	[Address(RVA = "0x761270", Offset = "0x760070", VA = "0x180761270")]
	private IEnumerator<float> HideBossHPBar()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A0C RID: 6668 RVA: 0x0003E888 File Offset: 0x0003CA88
	[Token(Token = "0x6001A0C")]
	[Address(RVA = "0x7615D0", Offset = "0x7603D0", VA = "0x1807615D0")]
	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: 0x06001A0D RID: 6669 RVA: 0x0003E8D8 File Offset: 0x0003CAD8
	[Token(Token = "0x6001A0D")]
	[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
	public UIEnemyHp()
	{
	}

	// Token: 0x040023CC RID: 9164
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40023CC")]
	[SerializeField]
	private GameObject enemyHpPrefab;

	// Token: 0x040023CD RID: 9165
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x40023CD")]
	[SerializeField]
	private RectTransform bossHpRoot;

	// Token: 0x040023CE RID: 9166
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x40023CE")]
	[SerializeField]
	private CanvasGroup bossHpCanvasGroup;

	// Token: 0x040023CF RID: 9167
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x40023CF")]
	[SerializeField]
	private Image bossHpImage;

	// Token: 0x040023D0 RID: 9168
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x40023D0")]
	[SerializeField]
	private Image bossHpUnderImage;

	// Token: 0x040023D1 RID: 9169
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x40023D1")]
	[SerializeField]
	private Text bossNameLabel;

	// Token: 0x040023D2 RID: 9170
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x40023D2")]
	[SerializeField]
	private UICombatDialogue combatDialogue;

	// Token: 0x040023D3 RID: 9171
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x40023D3")]
	private ObjectPool<UIEnemyHPUpdater> hpUpdaterPool;

	// Token: 0x040023D4 RID: 9172
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x40023D4")]
	private Action<UIEnemyHPUpdater> hpUpdaterProcessor;

	// Token: 0x040023D5 RID: 9173
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x40023D5")]
	private float bossHpScale;

	// Token: 0x040023D6 RID: 9174
	[FieldOffset(Offset = "0x64")]
	[Token(Token = "0x40023D6")]
	private float bossHpFrameScale;

	// Token: 0x040023D7 RID: 9175
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x40023D7")]
	private CharacterBaseData bossData;

	// Token: 0x040023D8 RID: 9176
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x40023D8")]
	private Func<string> bossNameHandler;

	// Token: 0x040023D9 RID: 9177
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x40023D9")]
	private CoroutineHandle enemyHPCoroutine;

	// Token: 0x040023DA RID: 9178
	[FieldOffset(Offset = "0x7C")]
	[Token(Token = "0x40023DA")]
	private CoroutineHandle bossHPCoroutine;

	// Token: 0x040023DB RID: 9179
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x40023DB")]
	private bool needUpdateBossName;
}
