using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using MEC;
using UnityEngine;

// Token: 0x02000309 RID: 777
[Token(Token = "0x2000309")]
[Serializable]
public class NobetaFaceController
{
	// Token: 0x06001EC3 RID: 7875 RVA: 0x0004A4EC File Offset: 0x000486EC
	[Token(Token = "0x6001EC3")]
	[Address(RVA = "0xECCD60", Offset = "0xECBB60", VA = "0x180ECCD60")]
	public void Launch()
	{
		int num;
		NobetaFaceController.<UpdateFace>d__9 <UpdateFace>d__ = new NobetaFaceController.<UpdateFace>d__9(num);
		num = 0;
		<UpdateFace>d__.<>4__this = this;
		CoroutineHandle coroutineHandle = MECExtensionMethods1.RunCoroutine(<UpdateFace>d__);
		this.processor = coroutineHandle;
	}

	// Token: 0x06001EC4 RID: 7876 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001EC4")]
	[Address(RVA = "0xECCFE0", Offset = "0xECBDE0", VA = "0x180ECCFE0")]
	private IEnumerator<float> UpdateFace()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001EC5 RID: 7877 RVA: 0x0004A520 File Offset: 0x00048720
	[Token(Token = "0x6001EC5")]
	[Address(RVA = "0xECCDE0", Offset = "0xECBBE0", VA = "0x180ECCDE0")]
	private void UpdateBlendShape(int index)
	{
		SkinnedMeshRenderer skinnedMeshRenderer = this.faceRenderer;
		int num = this.faceBlendShapeIndices[index];
		float blendShapeWeight = skinnedMeshRenderer.GetBlendShapeWeight(num);
		int[] array = this.maskBlendShapeIndices;
		SkinnedMeshRenderer skinnedMeshRenderer2 = this.maskRenderer;
		int num2 = array[index];
		skinnedMeshRenderer2.SetBlendShapeWeight(num2, blendShapeWeight);
	}

	// Token: 0x06001EC6 RID: 7878 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001EC6")]
	[Address(RVA = "0xECCE80", Offset = "0xECBC80", VA = "0x180ECCE80")]
	public void UpdateEyeLightScale(float value)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001EC7 RID: 7879 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001EC7")]
	[Address(RVA = "0xECCD00", Offset = "0xECBB00", VA = "0x180ECCD00")]
	public void Dispose()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001EC8 RID: 7880 RVA: 0x0004A574 File Offset: 0x00048774
	[Token(Token = "0x6001EC8")]
	[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
	public NobetaFaceController()
	{
	}

	// Token: 0x040028B1 RID: 10417
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x40028B1")]
	[SerializeField]
	private SkinnedMeshRenderer faceRenderer;

	// Token: 0x040028B2 RID: 10418
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40028B2")]
	[SerializeField]
	private SkinnedMeshRenderer maskRenderer;

	// Token: 0x040028B3 RID: 10419
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x40028B3")]
	[SerializeField]
	private Transform eyeLightLeft;

	// Token: 0x040028B4 RID: 10420
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x40028B4")]
	[SerializeField]
	private Transform eyeLightRight;

	// Token: 0x040028B5 RID: 10421
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x40028B5")]
	[SerializeField]
	private int[] faceBlendShapeIndices;

	// Token: 0x040028B6 RID: 10422
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x40028B6")]
	[SerializeField]
	private int[] maskBlendShapeIndices;

	// Token: 0x040028B7 RID: 10423
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x40028B7")]
	[SerializeField]
	private int blendShapeLength;

	// Token: 0x040028B8 RID: 10424
	[FieldOffset(Offset = "0x44")]
	[Token(Token = "0x40028B8")]
	private CoroutineHandle processor;
}
