using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using Microsoft.CSharp.RuntimeBinder;
using Microsoft.Office.Interop.Excel;

namespace SL200_RTLogViewer
{
	// Token: 0x02000008 RID: 8
	public class TrackInfo
	{
		// Token: 0x06000028 RID: 40 RVA: 0x000045EF File Offset: 0x000027EF
		private TrackInfo()
		{
		}

		// Token: 0x06000029 RID: 41 RVA: 0x000045FC File Offset: 0x000027FC
		~TrackInfo()
		{
		}

		// Token: 0x0600002A RID: 42 RVA: 0x00004628 File Offset: 0x00002828
		public static void SetInfo()
		{
		}

		// Token: 0x0600002B RID: 43 RVA: 0x0000462C File Offset: 0x0000282C
		private static void SetTrackInfo()
		{
			string filename = System.Windows.Forms.Application.StartupPath + "\\TrackInfo.xlsx";
			Microsoft.Office.Interop.Excel.Application application = (Microsoft.Office.Interop.Excel.Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("00024500-0000-0000-C000-000000000046")));
			try
			{
				Workbook workbook = application.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
				if (TrackInfo.<>o__5.<>p__0 == null)
				{
					TrackInfo.<>o__5.<>p__0 = CallSite<Func<CallSite, object, Worksheet>>.Create(Binder.Convert(CSharpBinderFlags.None, typeof(Worksheet), typeof(TrackInfo)));
				}
				Worksheet worksheet = TrackInfo.<>o__5.<>p__0.Target(TrackInfo.<>o__5.<>p__0, workbook.Sheets["상선TC2"]);
				if (TrackInfo.<>o__5.<>p__1 == null)
				{
					TrackInfo.<>o__5.<>p__1 = CallSite<Func<CallSite, object, Worksheet>>.Create(Binder.Convert(CSharpBinderFlags.None, typeof(Worksheet), typeof(TrackInfo)));
				}
				Worksheet worksheet2 = TrackInfo.<>o__5.<>p__1.Target(TrackInfo.<>o__5.<>p__1, workbook.Sheets["하선TC1"]);
				Range usedRange = worksheet.UsedRange;
				for (int i = 2; i <= usedRange.Rows.Count; i++)
				{
					List<StationInfo> tc2_LIst = TrackInfo.TC2_LIst;
					if (TrackInfo.<>o__5.<>p__11 == null)
					{
						TrackInfo.<>o__5.<>p__11 = CallSite<Func<CallSite, Type, object, object, object, DoorDirection, object, StationInfo>>.Create(Binder.InvokeConstructor(CSharpBinderFlags.None, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, Type, object, object, object, DoorDirection, object, StationInfo> target = TrackInfo.<>o__5.<>p__11.Target;
					CallSite <>p__ = TrackInfo.<>o__5.<>p__11;
					Type typeFromHandle = typeof(StationInfo);
					if (TrackInfo.<>o__5.<>p__3 == null)
					{
						TrackInfo.<>o__5.<>p__3 = CallSite<Func<CallSite, Type, object, object>>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToDouble", null, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, Type, object, object> target2 = TrackInfo.<>o__5.<>p__3.Target;
					CallSite <>p__2 = TrackInfo.<>o__5.<>p__3;
					Type typeFromHandle2 = typeof(Convert);
					if (TrackInfo.<>o__5.<>p__2 == null)
					{
						TrackInfo.<>o__5.<>p__2 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					object arg = target2(<>p__2, typeFromHandle2, TrackInfo.<>o__5.<>p__2.Target(TrackInfo.<>o__5.<>p__2, usedRange.Cells[i, 1]) ?? 0.0);
					if (TrackInfo.<>o__5.<>p__5 == null)
					{
						TrackInfo.<>o__5.<>p__5 = CallSite<Func<CallSite, Type, object, object>>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToInt16", null, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, Type, object, object> target3 = TrackInfo.<>o__5.<>p__5.Target;
					CallSite <>p__3 = TrackInfo.<>o__5.<>p__5;
					Type typeFromHandle3 = typeof(Convert);
					if (TrackInfo.<>o__5.<>p__4 == null)
					{
						TrackInfo.<>o__5.<>p__4 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					object arg2 = target3(<>p__3, typeFromHandle3, TrackInfo.<>o__5.<>p__4.Target(TrackInfo.<>o__5.<>p__4, usedRange.Cells[i, 2]) ?? 0);
					if (TrackInfo.<>o__5.<>p__6 == null)
					{
						TrackInfo.<>o__5.<>p__6 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					object arg3 = TrackInfo.<>o__5.<>p__6.Target(TrackInfo.<>o__5.<>p__6, usedRange.Cells[i, 3]) ?? string.Empty;
					if (TrackInfo.<>o__5.<>p__8 == null)
					{
						TrackInfo.<>o__5.<>p__8 = CallSite<Func<CallSite, object, bool>>.Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, object, bool> target4 = TrackInfo.<>o__5.<>p__8.Target;
					CallSite <>p__4 = TrackInfo.<>o__5.<>p__8;
					if (TrackInfo.<>o__5.<>p__7 == null)
					{
						TrackInfo.<>o__5.<>p__7 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					DoorDirection arg4 = target4(<>p__4, TrackInfo.<>o__5.<>p__7.Target(TrackInfo.<>o__5.<>p__7, usedRange.Cells[i, 4]) ?? (string.Empty == "DW")) ? DoorDirection.DW : DoorDirection.DE;
					if (TrackInfo.<>o__5.<>p__10 == null)
					{
						TrackInfo.<>o__5.<>p__10 = CallSite<Func<CallSite, Type, object, object>>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToInt16", null, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, Type, object, object> target5 = TrackInfo.<>o__5.<>p__10.Target;
					CallSite <>p__5 = TrackInfo.<>o__5.<>p__10;
					Type typeFromHandle4 = typeof(Convert);
					if (TrackInfo.<>o__5.<>p__9 == null)
					{
						TrackInfo.<>o__5.<>p__9 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					tc2_LIst.Add(target(<>p__, typeFromHandle, arg, arg2, arg3, arg4, target5(<>p__5, typeFromHandle4, TrackInfo.<>o__5.<>p__9.Target(TrackInfo.<>o__5.<>p__9, usedRange.Cells[i, 5]) ?? 0)));
				}
				usedRange = worksheet2.UsedRange;
				for (int j = 2; j <= usedRange.Rows.Count; j++)
				{
					List<StationInfo> tc1_LIst = TrackInfo.TC1_LIst;
					if (TrackInfo.<>o__5.<>p__21 == null)
					{
						TrackInfo.<>o__5.<>p__21 = CallSite<Func<CallSite, Type, object, object, object, DoorDirection, object, StationInfo>>.Create(Binder.InvokeConstructor(CSharpBinderFlags.None, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, Type, object, object, object, DoorDirection, object, StationInfo> target6 = TrackInfo.<>o__5.<>p__21.Target;
					CallSite <>p__6 = TrackInfo.<>o__5.<>p__21;
					Type typeFromHandle5 = typeof(StationInfo);
					if (TrackInfo.<>o__5.<>p__13 == null)
					{
						TrackInfo.<>o__5.<>p__13 = CallSite<Func<CallSite, Type, object, object>>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToDouble", null, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, Type, object, object> target7 = TrackInfo.<>o__5.<>p__13.Target;
					CallSite <>p__7 = TrackInfo.<>o__5.<>p__13;
					Type typeFromHandle6 = typeof(Convert);
					if (TrackInfo.<>o__5.<>p__12 == null)
					{
						TrackInfo.<>o__5.<>p__12 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					object arg5 = target7(<>p__7, typeFromHandle6, TrackInfo.<>o__5.<>p__12.Target(TrackInfo.<>o__5.<>p__12, usedRange.Cells[j, 1]) ?? 0);
					if (TrackInfo.<>o__5.<>p__15 == null)
					{
						TrackInfo.<>o__5.<>p__15 = CallSite<Func<CallSite, Type, object, object>>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToInt16", null, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, Type, object, object> target8 = TrackInfo.<>o__5.<>p__15.Target;
					CallSite <>p__8 = TrackInfo.<>o__5.<>p__15;
					Type typeFromHandle7 = typeof(Convert);
					if (TrackInfo.<>o__5.<>p__14 == null)
					{
						TrackInfo.<>o__5.<>p__14 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					object arg6 = target8(<>p__8, typeFromHandle7, TrackInfo.<>o__5.<>p__14.Target(TrackInfo.<>o__5.<>p__14, usedRange.Cells[j, 2]) ?? 0);
					if (TrackInfo.<>o__5.<>p__16 == null)
					{
						TrackInfo.<>o__5.<>p__16 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					object arg7 = TrackInfo.<>o__5.<>p__16.Target(TrackInfo.<>o__5.<>p__16, usedRange.Cells[j, 3]) ?? string.Empty;
					if (TrackInfo.<>o__5.<>p__18 == null)
					{
						TrackInfo.<>o__5.<>p__18 = CallSite<Func<CallSite, object, bool>>.Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, object, bool> target9 = TrackInfo.<>o__5.<>p__18.Target;
					CallSite <>p__9 = TrackInfo.<>o__5.<>p__18;
					if (TrackInfo.<>o__5.<>p__17 == null)
					{
						TrackInfo.<>o__5.<>p__17 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					DoorDirection arg8 = target9(<>p__9, TrackInfo.<>o__5.<>p__17.Target(TrackInfo.<>o__5.<>p__17, usedRange.Cells[j, 4]) ?? (string.Empty == "DW")) ? DoorDirection.DW : DoorDirection.DE;
					if (TrackInfo.<>o__5.<>p__20 == null)
					{
						TrackInfo.<>o__5.<>p__20 = CallSite<Func<CallSite, Type, object, object>>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToInt16", null, typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null),
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					Func<CallSite, Type, object, object> target10 = TrackInfo.<>o__5.<>p__20.Target;
					CallSite <>p__10 = TrackInfo.<>o__5.<>p__20;
					Type typeFromHandle8 = typeof(Convert);
					if (TrackInfo.<>o__5.<>p__19 == null)
					{
						TrackInfo.<>o__5.<>p__19 = CallSite<Func<CallSite, object, object>>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[]
						{
							CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
						}));
					}
					tc1_LIst.Add(target6(<>p__6, typeFromHandle5, arg5, arg6, arg7, arg8, target10(<>p__10, typeFromHandle8, TrackInfo.<>o__5.<>p__19.Target(TrackInfo.<>o__5.<>p__19, usedRange.Cells[j, 5]) ?? 0)));
				}
				Console.WriteLine("역정보 로딩 완료");
			}
			catch (Exception ex)
			{
				Console.WriteLine(ex.Message);
			}
			finally
			{
			}
		}

		// Token: 0x0600002C RID: 44 RVA: 0x000050AC File Offset: 0x000032AC
		public static void setINFO2()
		{
			Microsoft.Office.Interop.Excel.Application application = (Microsoft.Office.Interop.Excel.Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("00024500-0000-0000-C000-000000000046")));
			string filename = System.Windows.Forms.Application.StartupPath + "\\TrackInfo.xlsx";
			try
			{
				Workbook workbook = application.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
				if (TrackInfo.<>o__6.<>p__0 == null)
				{
					TrackInfo.<>o__6.<>p__0 = CallSite<Func<CallSite, object, Worksheet>>.Create(Binder.Convert(CSharpBinderFlags.ConvertExplicit, typeof(Worksheet), typeof(TrackInfo)));
				}
				Worksheet worksheet = TrackInfo.<>o__6.<>p__0.Target(TrackInfo.<>o__6.<>p__0, workbook.Sheets["상선TC2"]);
				if (TrackInfo.<>o__6.<>p__1 == null)
				{
					TrackInfo.<>o__6.<>p__1 = CallSite<Func<CallSite, object, Worksheet>>.Create(Binder.Convert(CSharpBinderFlags.ConvertExplicit, typeof(Worksheet), typeof(TrackInfo)));
				}
				Worksheet worksheet2 = TrackInfo.<>o__6.<>p__1.Target(TrackInfo.<>o__6.<>p__1, workbook.Sheets["하선TC1"]);
				TrackInfo.AddDataToList(worksheet, TrackInfo.TC2_LIst);
				TrackInfo.AddDataToList(worksheet2, TrackInfo.TC1_LIst);
			}
			catch (Exception ex)
			{
				Console.WriteLine("An error occurred: " + ex.Message);
			}
			finally
			{
				bool flag = application != null;
				if (flag)
				{
					application.Quit();
					TrackInfo.ReleaseObject(application);
				}
			}
		}

		// Token: 0x0600002D RID: 45 RVA: 0x00005274 File Offset: 0x00003474
		private static void AddDataToList(Worksheet worksheet, List<StationInfo> stationList)
		{
			Range usedRange = worksheet.UsedRange;
			if (TrackInfo.<>o__7.<>p__0 == null)
			{
				TrackInfo.<>o__7.<>p__0 = CallSite<Func<CallSite, object, object[,]>>.Create(Binder.Convert(CSharpBinderFlags.ConvertExplicit, typeof(object[,]), typeof(TrackInfo)));
			}
			object[,] array = TrackInfo.<>o__7.<>p__0.Target(TrackInfo.<>o__7.<>p__0, usedRange.get_Value(Type.Missing));
			for (int i = 2; i <= usedRange.Rows.Count; i++)
			{
				stationList.Add(new StationInfo(Convert.ToDouble(array[i, 1]), (int)Convert.ToInt16(array[i, 2]), array[i, 3].ToString(), (array[i, 5].ToString() == "DW") ? DoorDirection.DW : DoorDirection.DE, (int)Convert.ToInt16(array[i, 4])));
			}
		}

		// Token: 0x0600002E RID: 46 RVA: 0x00005354 File Offset: 0x00003554
		private static void ReleaseObject(object obj)
		{
			try
			{
				Marshal.ReleaseComObject(obj);
				obj = null;
			}
			catch (Exception ex)
			{
				obj = null;
				Console.WriteLine("An error occurred while releasing the object: " + ex.Message);
			}
			finally
			{
				GC.Collect();
			}
		}

		// Token: 0x0600002F RID: 47 RVA: 0x000053B8 File Offset: 0x000035B8
		public static double GetStationDistance(string StationName, bool IsTC1)
		{
			double result = 0.0;
			if (IsTC1)
			{
				for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++)
				{
					bool flag = StationName == TrackInfo.TC1_LIst[i].StationName;
					if (flag)
					{
						result = TrackInfo.TC1_LIst[i].Pos;
					}
				}
			}
			else
			{
				for (int j = 0; j < TrackInfo.TC2_LIst.Count; j++)
				{
					bool flag2 = StationName == TrackInfo.TC2_LIst[j].StationName;
					if (flag2)
					{
						result = TrackInfo.TC2_LIst[j].Pos;
					}
				}
			}
			return result;
		}

		// Token: 0x06000030 RID: 48 RVA: 0x00005480 File Offset: 0x00003680
		public static int GetStationNo(string StationName)
		{
			int result = 0;
			for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++)
			{
				bool flag = StationName == TrackInfo.TC1_LIst[i].StationName;
				if (flag)
				{
					result = TrackInfo.TC1_LIst[i].StationCode;
					break;
				}
			}
			return result;
		}

		// Token: 0x06000031 RID: 49 RVA: 0x000054E0 File Offset: 0x000036E0
		public static string GetStationName(int stationNo)
		{
			string result = "";
			for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++)
			{
				bool flag = stationNo == TrackInfo.TC1_LIst[i].StationCode;
				if (flag)
				{
					result = TrackInfo.TC1_LIst[i].StationName;
					break;
				}
			}
			return result;
		}

		// Token: 0x06000032 RID: 50 RVA: 0x00005544 File Offset: 0x00003744
		public static DoorDirection GetDoorDir(string StationName, bool IsTC1)
		{
			DoorDirection result = DoorDirection.DW;
			if (IsTC1)
			{
				for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++)
				{
					bool flag = StationName == TrackInfo.TC1_LIst[i].StationName;
					if (flag)
					{
						result = TrackInfo.TC1_LIst[i].NextDoorDir;
					}
				}
			}
			else
			{
				for (int j = 0; j < TrackInfo.TC2_LIst.Count; j++)
				{
					bool flag2 = StationName == TrackInfo.TC2_LIst[j].StationName;
					if (flag2)
					{
						result = TrackInfo.TC2_LIst[j].NextDoorDir;
					}
				}
			}
			return result;
		}

		// Token: 0x06000033 RID: 51 RVA: 0x00005604 File Offset: 0x00003804
		public static DoorDirection GetDoorDir(int StationNo, bool IsTC1)
		{
			DoorDirection result = DoorDirection.DW;
			if (IsTC1)
			{
				for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++)
				{
					bool flag = StationNo == TrackInfo.TC1_LIst[i].StationCode;
					if (flag)
					{
						result = TrackInfo.TC1_LIst[i].NextDoorDir;
					}
				}
			}
			else
			{
				for (int j = 0; j < TrackInfo.TC2_LIst.Count; j++)
				{
					bool flag2 = StationNo == TrackInfo.TC2_LIst[j].StationCode;
					if (flag2)
					{
						result = TrackInfo.TC2_LIst[j].NextDoorDir;
					}
				}
			}
			return result;
		}

		// Token: 0x04000025 RID: 37
		public static List<StationInfo> TC1_LIst = new List<StationInfo>();

		// Token: 0x04000026 RID: 38
		public static List<StationInfo> TC2_LIst = new List<StationInfo>();
	}
}
