using System;
using Cpp2IlInjected;
using DG.Tweening;
using UnityEngine;
using UnityEngine.UI;

// Token: 0x020002BD RID: 701
[Token(Token = "0x20002BD")]
public class UIInteractionPromptController : MonoBehaviour
{
	// Token: 0x06001A52 RID: 6738 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A52")]
	[Address(RVA = "0x76B940", Offset = "0x76A740", VA = "0x18076B940")]
	public void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A53 RID: 6739 RVA: 0x0003EF98 File Offset: 0x0003D198
	[Token(Token = "0x6001A53")]
	[Address(RVA = "0x76B5C0", Offset = "0x76A3C0", VA = "0x18076B5C0")]
	public void Appear(string content)
	{
		UIInteractionPrompt[] array = this.prompts;
		int num = this.promptIndex;
		UIInteractionPrompt uiinteractionPrompt = array[num];
		bool flag;
		if (uiinteractionPrompt.gameObject.activeSelf)
		{
			flag = uiinteractionPrompt.fadeInProcessor.IsPlaying();
			if (flag)
			{
				uiinteractionPrompt.fadeInProcessor.Complete();
			}
			uiinteractionPrompt.fadeOutProcessor.Restart(true, -1f);
		}
		int num2 = this.promptIndex;
		num2++;
		if (flag < false)
		{
			num2++;
		}
		this.promptIndex = num2;
		UIInteractionPrompt uiinteractionPrompt2 = this.prompts[num2];
		uiinteractionPrompt2.content.text = content;
		if (uiinteractionPrompt2.fadeOutProcessor.IsPlaying())
		{
			uiinteractionPrompt2.fadeOutProcessor.Complete();
		}
		uiinteractionPrompt2.fadeInProcessor.Restart(true, -1f);
		Game.PlayCanvasSE(UICanvasSFX.InteractionTip);
	}

	// Token: 0x06001A54 RID: 6740 RVA: 0x0003F06C File Offset: 0x0003D26C
	[Token(Token = "0x6001A54")]
	[Address(RVA = "0x76B8B0", Offset = "0x76A6B0", VA = "0x18076B8B0")]
	public void Hide()
	{
		UIInteractionPrompt[] array = this.prompts;
		int num = this.promptIndex;
		UIInteractionPrompt uiinteractionPrompt = array[num];
		if (uiinteractionPrompt.gameObject.activeSelf)
		{
			if (uiinteractionPrompt.fadeInProcessor.IsPlaying())
			{
				uiinteractionPrompt.fadeInProcessor.Complete();
			}
			uiinteractionPrompt.fadeOutProcessor.Restart(true, -1f);
			return;
		}
	}

	// Token: 0x06001A55 RID: 6741 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001A55")]
	[Address(RVA = "0x76BBF0", Offset = "0x76A9F0", VA = "0x18076BBF0")]
	public void UpdateInputIcons(ControllerDevice device)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001A56 RID: 6742 RVA: 0x0003F0D0 File Offset: 0x0003D2D0
	[Token(Token = "0x6001A56")]
	[Address(RVA = "0x76BB20", Offset = "0x76A920", VA = "0x18076BB20")]
	public void Localize(LocalizationData data)
	{
		UIInteractionPrompt[] array = this.prompts;
		int num = 0;
		int length = array.Length;
		if (num < length)
		{
			UIInteractionPrompt uiinteractionPrompt = array[num];
			GameFontPack fontPack = data.fontPack;
			Text content = uiinteractionPrompt.content;
			Font medium = fontPack.medium;
			content.font = medium;
			Text label = uiinteractionPrompt.inputIcon.label;
			Font regular = fontPack.regular;
			label.font = regular;
			num++;
		}
	}

	// Token: 0x06001A57 RID: 6743 RVA: 0x0003F144 File Offset: 0x0003D344
	[Token(Token = "0x6001A57")]
	[Address(RVA = "0x76B750", Offset = "0x76A550", VA = "0x18076B750")]
	public void Dispose()
	{
		UIInteractionPrompt[] array = this.prompts;
		int num = 0;
		int length = array.Length;
		if (num < length)
		{
			UIInteractionPrompt uiinteractionPrompt = array[num];
			Sequence fadeInProcessor = uiinteractionPrompt.fadeInProcessor;
			int num2 = 0;
			fadeInProcessor.Kill(num2 != 0);
			Sequence fadeOutProcessor = uiinteractionPrompt.fadeOutProcessor;
			int num3 = 0;
			fadeOutProcessor.Kill(num3 != 0);
			num++;
		}
		Game.RemoveDeviceChangedHandler(new Action(this.UpdateInputIcons));
		Game.RemoveKeyBindingChangedHandler(new Action(this.UpdateInputIcons));
	}

	// Token: 0x06001A58 RID: 6744 RVA: 0x0003F1C4 File Offset: 0x0003D3C4
	[Token(Token = "0x6001A58")]
	[Address(RVA = "0x76BCA0", Offset = "0x76AAA0", VA = "0x18076BCA0")]
	public UIInteractionPromptController()
	{
	}

	// Token: 0x0400242B RID: 9259
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x400242B")]
	[SerializeField]
	private UIInteractionPrompt[] prompts;

	// Token: 0x0400242C RID: 9260
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x400242C")]
	[SerializeField]
	private int promptIndex = (int)((ulong)4294967295L);
}
