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

// Token: 0x0200003E RID: 62
[Token(Token = "0x200003E")]
public class LogHistory : IDisposable
{
	// Token: 0x17000024 RID: 36
	// (get) Token: 0x060001BE RID: 446 RVA: 0x00006C58 File Offset: 0x00004E58
	// (set) Token: 0x060001BF RID: 447 RVA: 0x00006C6C File Offset: 0x00004E6C
	[Token(Token = "0x17000024")]
	public int ErrorCount
	{
		[Token(Token = "0x60001BE")]
		[Address(RVA = "0x422990", Offset = "0x421990", VA = "0x180422990")]
		get;
		[Token(Token = "0x60001BF")]
		[Address(RVA = "0x422C10", Offset = "0x421C10", VA = "0x180422C10")]
		private set;
	}

	// Token: 0x17000025 RID: 37
	// (get) Token: 0x060001C0 RID: 448 RVA: 0x00006C80 File Offset: 0x00004E80
	// (set) Token: 0x060001C1 RID: 449 RVA: 0x00006C94 File Offset: 0x00004E94
	[Token(Token = "0x17000025")]
	public int AssertCount
	{
		[Token(Token = "0x60001C0")]
		[Address(RVA = "0x422980", Offset = "0x421980", VA = "0x180422980")]
		get;
		[Token(Token = "0x60001C1")]
		[Address(RVA = "0x422C00", Offset = "0x421C00", VA = "0x180422C00")]
		private set;
	}

	// Token: 0x17000026 RID: 38
	// (get) Token: 0x060001C2 RID: 450 RVA: 0x00006CA8 File Offset: 0x00004EA8
	// (set) Token: 0x060001C3 RID: 451 RVA: 0x00006CBC File Offset: 0x00004EBC
	[Token(Token = "0x17000026")]
	public int WarningCount
	{
		[Token(Token = "0x60001C2")]
		[Address(RVA = "0x422A70", Offset = "0x421A70", VA = "0x180422A70")]
		get;
		[Token(Token = "0x60001C3")]
		[Address(RVA = "0x422C40", Offset = "0x421C40", VA = "0x180422C40")]
		private set;
	}

	// Token: 0x17000027 RID: 39
	// (get) Token: 0x060001C4 RID: 452 RVA: 0x00006CD0 File Offset: 0x00004ED0
	// (set) Token: 0x060001C5 RID: 453 RVA: 0x00006CE4 File Offset: 0x00004EE4
	[Token(Token = "0x17000027")]
	public int RegularLogCount
	{
		[Token(Token = "0x60001C4")]
		[Address(RVA = "0x422A60", Offset = "0x421A60", VA = "0x180422A60")]
		get;
		[Token(Token = "0x60001C5")]
		[Address(RVA = "0x422C30", Offset = "0x421C30", VA = "0x180422C30")]
		private set;
	}

	// Token: 0x17000028 RID: 40
	// (get) Token: 0x060001C6 RID: 454 RVA: 0x00006CF8 File Offset: 0x00004EF8
	// (set) Token: 0x060001C7 RID: 455 RVA: 0x00006D0C File Offset: 0x00004F0C
	[Token(Token = "0x17000028")]
	public int ExceptionCount
	{
		[Token(Token = "0x60001C6")]
		[Address(RVA = "0x4229A0", Offset = "0x4219A0", VA = "0x1804229A0")]
		get;
		[Token(Token = "0x60001C7")]
		[Address(RVA = "0x422C20", Offset = "0x421C20", VA = "0x180422C20")]
		private set;
	}

	// Token: 0x17000029 RID: 41
	// (get) Token: 0x060001C8 RID: 456 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x17000029")]
	public IList<LogHistoryItem> LogItems
	{
		[Token(Token = "0x60001C8")]
		[Address(RVA = "0x422A10", Offset = "0x421A10", VA = "0x180422A10")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x1700002A RID: 42
	// (get) Token: 0x060001C9 RID: 457 RVA: 0x00006D20 File Offset: 0x00004F20
	[Token(Token = "0x1700002A")]
	public static LogHistory Instance
	{
		[Token(Token = "0x60001C9")]
		[Address(RVA = "0x4229B0", Offset = "0x4219B0", VA = "0x1804229B0")]
		get
		{
			return LogHistory.instance;
		}
	}

	// Token: 0x14000001 RID: 1
	// (add) Token: 0x060001CA RID: 458 RVA: 0x00006D34 File Offset: 0x00004F34
	// (remove) Token: 0x060001CB RID: 459 RVA: 0x00006D64 File Offset: 0x00004F64
	[Token(Token = "0x14000001")]
	public event Action<LogHistoryItem> LogHistoryItemAdded
	{
		[Token(Token = "0x60001CA")]
		[Address(RVA = "0x422880", Offset = "0x421880", VA = "0x180422880")]
		add
		{
			Delegate @delegate = Delegate.Combine(this.logHistoryItemAdded, value);
			int num = 0;
			if (@delegate == 0 || @delegate != 0)
			{
				this.logHistoryItemAdded = num;
			}
			throw new InvalidCastException();
		}
		[Token(Token = "0x60001CB")]
		[Address(RVA = "0x422B00", Offset = "0x421B00", VA = "0x180422B00")]
		remove
		{
			Delegate @delegate = Delegate.Remove(this.logHistoryItemAdded, value);
			int num = 0;
			if (@delegate == 0 || @delegate != 0)
			{
				this.logHistoryItemAdded = num;
			}
			throw new InvalidCastException();
		}
	}

	// Token: 0x14000002 RID: 2
	// (add) Token: 0x060001CC RID: 460 RVA: 0x00006D94 File Offset: 0x00004F94
	// (remove) Token: 0x060001CD RID: 461 RVA: 0x00006DC4 File Offset: 0x00004FC4
	[Token(Token = "0x14000002")]
	public event Action<LogHistoryItem> LogHistoryItemRemoved
	{
		[Token(Token = "0x60001CC")]
		[Address(RVA = "0x422900", Offset = "0x421900", VA = "0x180422900")]
		add
		{
			Delegate @delegate = Delegate.Combine(this.logHistoryItemRemoved, value);
			int num = 0;
			if (@delegate == 0 || @delegate != 0)
			{
				this.logHistoryItemRemoved = num;
			}
			throw new InvalidCastException();
		}
		[Token(Token = "0x60001CD")]
		[Address(RVA = "0x422B80", Offset = "0x421B80", VA = "0x180422B80")]
		remove
		{
			Delegate @delegate = Delegate.Remove(this.logHistoryItemRemoved, value);
			int num = 0;
			if (@delegate == 0 || @delegate != 0)
			{
				this.logHistoryItemRemoved = num;
			}
			throw new InvalidCastException();
		}
	}

	// Token: 0x14000003 RID: 3
	// (add) Token: 0x060001CE RID: 462 RVA: 0x00006DF4 File Offset: 0x00004FF4
	// (remove) Token: 0x060001CF RID: 463 RVA: 0x00006E24 File Offset: 0x00005024
	[Token(Token = "0x14000003")]
	public event Action LogHistoryCleared
	{
		[Token(Token = "0x60001CE")]
		[Address(RVA = "0x422800", Offset = "0x421800", VA = "0x180422800")]
		add
		{
			Delegate @delegate = Delegate.Combine(this.logHistoryCleared, value);
			int num = 0;
			if (@delegate == 0 || @delegate != 0)
			{
				this.logHistoryCleared = num;
			}
			throw new InvalidCastException();
		}
		[Token(Token = "0x60001CF")]
		[Address(RVA = "0x422A80", Offset = "0x421A80", VA = "0x180422A80")]
		remove
		{
			Delegate @delegate = Delegate.Remove(this.logHistoryCleared, value);
			int num = 0;
			if (@delegate == 0 || @delegate != 0)
			{
				this.logHistoryCleared = num;
			}
			throw new InvalidCastException();
		}
	}

	// Token: 0x060001D0 RID: 464 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001D0")]
	[Address(RVA = "0x422310", Offset = "0x421310", VA = "0x180422310")]
	public LogHistory()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001D1 RID: 465 RVA: 0x00006E54 File Offset: 0x00005054
	[Token(Token = "0x60001D1")]
	[Address(RVA = "0x4219D0", Offset = "0x4209D0", VA = "0x1804219D0", Slot = "4")]
	public void Dispose()
	{
		Application.logMessageReceived -= this.HandleLoggingEvent;
	}

	// Token: 0x060001D2 RID: 466 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001D2")]
	[Address(RVA = "0x4218F0", Offset = "0x4208F0", VA = "0x1804218F0")]
	public void Clear()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001D3 RID: 467 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001D3")]
	[Address(RVA = "0x421F40", Offset = "0x420F40", VA = "0x180421F40")]
	public void Update()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001D4 RID: 468 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001D4")]
	[Address(RVA = "0x421AB0", Offset = "0x420AB0", VA = "0x180421AB0")]
	private string GetFilterStackTrace(string stackTrace)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001D5 RID: 469 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001D5")]
	[Address(RVA = "0x580FE0", Offset = "0x57FFE0", VA = "0x180580FE0")]
	private T[] GetSubArray<T>(T[] data, int index, int length)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001D6 RID: 470 RVA: 0x00006E74 File Offset: 0x00005074
	[Token(Token = "0x60001D6")]
	[Address(RVA = "0x421F00", Offset = "0x420F00", VA = "0x180421F00")]
	private void UpdateTypeCounter(LogType type, int count)
	{
		if (type != LogType.Error)
		{
			if (type == LogType.Error)
			{
				return;
			}
			if (type == LogType.Error)
			{
				return;
			}
			if (type == LogType.Error)
			{
				return;
			}
			if (type == LogType.Assert)
			{
				return;
			}
		}
	}

	// Token: 0x060001D7 RID: 471 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001D7")]
	[Address(RVA = "0x421CB0", Offset = "0x420CB0", VA = "0x180421CB0")]
	private void HandleLoggingEvent(string logString, string stackTrace, LogType type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001D8 RID: 472 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001D8")]
	[Address(RVA = "0x421E40", Offset = "0x420E40", VA = "0x180421E40")]
	private void HandleUnhandledException(object sender, UnhandledExceptionEventArgs e)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001D9 RID: 473 RVA: 0x000020D3 File Offset: 0x000002D3
	// Note: this type is marked as 'beforefieldinit'.
	[Token(Token = "0x60001D9")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0")]
	static LogHistory()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x04000224 RID: 548
	[Token(Token = "0x4000224")]
	private const int ITEM_LIMIT = 2000;

	// Token: 0x04000225 RID: 549
	[Token(Token = "0x4000225")]
	private static LogHistory instance;

	// Token: 0x04000226 RID: 550
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4000226")]
	private DateTime gameStartTime;

	// Token: 0x04000227 RID: 551
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4000227")]
	private object lockLogItemObject;

	// Token: 0x04000228 RID: 552
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4000228")]
	private readonly List<LogHistoryItem> deferredLogItems;

	// Token: 0x04000229 RID: 553
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4000229")]
	private readonly List<LogHistoryItem> logItems;

	// Token: 0x0400022A RID: 554
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x400022A")]
	private Action<LogHistoryItem> logHistoryItemAdded;

	// Token: 0x0400022B RID: 555
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x400022B")]
	private Action<LogHistoryItem> logHistoryItemRemoved;

	// Token: 0x0400022C RID: 556
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x400022C")]
	private Action logHistoryCleared;
}
